Insert values with a future date

Hello, could you enter data in influxdb2 with tomorrow’s date? I am putting the data into influxdb2 from node-red with the “Stackhero-InfluxDB-v2-write” node, and I would like to put several values that will be recorded tomorrow. Would this be possible? how would it be done?

Hello. I wanted to comment that it is possible to enter data in influxdb with future dates. I have created a grafana dashboard in which the kWh price data appears for the entire current day. I get these data through an api from the electricity distribution company.
In node-red I take the data of the daily electricity prices, and through the “Stackhero-InfluxDB-v2-write” node I insert them into influxdb2. The “Stackhero-InfluxDB-v2-write” node requires that the data to be inserted has a certain format.
In short, I have to insert in influxdb2 the price of the kWh for each hour of the day. The time must be in UNIX format. I give you the code that takes the data from the API and introduces it into the stakhero node:

var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
var date_00 = year + "-" + month + "-" + day + "T" + "00:00:00.000Z"
var price = msg.payload;
var prices = {
    bucket: 'energymeter',
    precision: 'ms',
    data: [
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[0].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (0 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[1].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (1 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[2].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (2 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[3].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (3 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[4].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (4 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[5].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (5 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[6].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (6 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[7].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (7 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[8].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (8 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[9].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (9 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[10].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (10 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[11].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (11 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[12].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (12 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[13].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (13 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[14].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (14 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[15].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (15 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[16].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (16 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[17].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (17 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[18].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (18 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[19].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (19 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[20].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (20 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[21].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (21 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[22].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (22 * 60 * 60 * 1000) - (3600000))
        },
        {
            measurement: 'PRICE_IMPORT',
            fields: {
                'COST_IMP_KWH': parseFloat(price.KWH[23].PC.replace(',', '.')) / 1000
            },
            timestamp: ((Date.parse(date_00)) + (23 * 60 * 60 * 1000) - (3600000))
        },
    ]
}

msg.payload = prices;
return msg
1 Like

Thank you for sharing. Very useful!