Page 3 of 3

Re: Join several dataloggers and calculate values in Node-Red

Posted: Sunday 01 May 2022 16:02
by PieterS
Back again... The flow is doing very well. Upload to PVoutput.org is working OK. But in Domoticz is useless. Cannot explain why every night at around 3:00 there is a very big negative value.. Not related to the score of the day before. And I don't know if this is caused by Node-Red or just Domoticz...
Image
And this are the scores of PVoutput. Just single production. I don't have a P1-meter, so not even able to read consumption..
Image

In the DASHBOARD: The actual power is correct. The dayly production is wrong..

Image

And very strange is that in the list of "Devices" the dayproduction shows the right actual value....

Image

Probably not related to Node-Red. Guess I have to open a new question for this problem.

Running Domoticz version 2022.1 Build 14166 in a virtual machine..

One last question to @Firewizard: is there a log where I can read the value that Node-Red sends a big value in the middle of the night?

Re: Join several dataloggers and calculate values in Node-Red

Posted: Sunday 01 May 2022 20:31
by FireWizard
hello @PieterS,

You wrote:
But in Domoticz is useless. Cannot explain why every night at around 3:00 there is a very big negative value.. Not related to the score of the day before. And I don't know if this is caused by Node-Red or just Domoticz...
This is strange indeed. We use as virtual sensor "Electric (Instant + Counter)", don't we?
It just happened to me about a week ago that I had the same with another user. However, he has a Fronius inverter.
That should not make any difference with your application.

His inverter had the issue at 21:00 h. We have explained that the it is on the limit of production/no production as approx. 21:00h it is currently getting dark. In his case he has put the Energy read to "From device". When he changed that to "Computed" it was solved.

How is your setting?

See his picture below

Energy_Fronius.jpg
Energy_Fronius.jpg (27.17 KiB) Viewed 4840 times
In the DASHBOARD: The actual power is correct. The daily production is wrong..
This is probably caused by that negative spike.
One last question to @Firewizard: is there a log where I can read the value that Node-Red sends a big value in the middle of the night?
Yes, there is a command node-red-log, but I do not think that you will find every command, send to the next node. I we want to track, whether a negative value comes from Node-RED or one of the connected inverters, we should write the command to a file.
We can read that file with a text editor the day after.

If you need some support with that let me know.

Regards

Re: Join several dataloggers and calculate values in Node-Red

Posted: Monday 02 May 2022 21:10
by PieterS
hello @Firewizard,

Thanks for reply.
This is strange indeed. We use as virtual sensor "Electric (Instant + Counter)", don't we?
Yes, I made a virtual sensor as you described. In the beginning with setting computed. But than I had negative values, so I changed.
But yesterday-evening I changed to Computed. Last night no problems! :o

Image

I will see tomorrow if the problem is solved..
Yes, there is a command node-red-log, but I do not think that you will find every command, send to the next node. I we want to track, whether a negative value comes from Node-RED or one of the connected inverters, we should write the command to a file.
We can read that file with a text editor the day after.

If you need some support with that let me know.
I thought about the flow and sending data to Domoticz... It is arranged by a time switch node, related to sun-rise and sun-set. So it is not possible that an inverter can cause this issue..

I will keep you informed within a few weeks.

Best regards

Re: Join several dataloggers and calculate values in Node-Red

Posted: Tuesday 03 May 2022 9:43
by sammyke007
@PieterS and @Firewizard, same problem here.

I created a dummy electric (instant + usage) device that gets it data over MQTT from HASS (because HASS has a perfectly running plugin for my Huawei inverter).

It's working perfectly fine, but every morning at exact 06:00 I get a big negative value (seems to be the total production of the day before?).
Changing to "computed" instead of "from device" works for you @PieterS?

Like you say, if I go the see in the "Devices" menu, it shows the correct value however. Very strange.

I guess that the inverter "resets" the daily yield and thus changes from eg: 32,5kwh to 0kwh at 06:00 resulting in a big negative value. Other brand inverters can do this at other times (at night/after sunset/...).
Searching a way to filter out this big "reset" each morning.

Re: Join several dataloggers and calculate values in Node-Red

Posted: Tuesday 03 May 2022 17:07
by FireWizard
Hello @sammyke007,
Like you say, if I go the see in the "Devices" menu, it shows the correct value however. Very strange.
Did you look at the devices at 06:00? I do not think so

Summing up:

- 3 users are reporting negative spikes @sammyke007, @PieterS and @phenix56
- Sensor used Electric (instant + counter)
- Data received by MQTT on topic domoticz/in
- Random times, but at hh:00
- Configuration of sensor: "From device"
- No negative spikes, if configured as "Computed".

Any other users? Or any other remarks?
Let me know.

Regards

Re: Join several dataloggers and calculate values in Node-Red

Posted: Tuesday 03 May 2022 17:34
by sammyke007
I think I found a possible "solution".

The "Daily Yield" gets reset to 0 everyday. It seems to happen at a different time with each different brand of inverters. Say I've got a Daily Yield of "30"kWh on 02/05/22, then it would reset to "0"kWh at 06:00. This negative reset value of -30 seems to be included in the calculations. I don't know if this is a bug or by design?

If you use "Total Yield" however, the data never gets negative, it get's bigger everyday (eg. Total Yield= 130kWh + 30kWh today = 160kWh). This one only increases.
I guess Domoticz counts the difference each day itself.

I hope this doesn't sound too complicated?
So the negative spike will probably be as big as the daily usage of the day before, because it resets to 0.

Re: Join several dataloggers and calculate values in Node-Red

Posted: Tuesday 03 May 2022 18:57
by FireWizard
Hello @sammyke007
The "Daily Yield" gets reset to 0 everyday. It seems to happen at a different time with each different brand of inverters. Say I've got a Daily Yield of "30"kWh on 02/05/22, then it would reset to "0"kWh at 06:00. This negative reset value of -30 seems to be included in the calculations. I don't know if this is a bug or by design?

If you use "Total Yield" however, the data never gets negative, it get's bigger everyday (eg. Total Yield= 130kWh + 30kWh today = 160kWh). This one only increases.
I guess Domoticz counts the difference each day itself.

I hope this doesn't sound too complicated?
So the negative spike will probably be as big as the daily usage of the day before, because it resets to 0.
You are completely right. Perfect.
We should not send the Daily yield to Domoticz but the Total yield.

In case of "Computed", this value is completely ignored, as it is calculated by Domoticz, while in case of "From device", the Daily yield is also calculated by Domoticz, but based on the Total yield.

And sorry for that, I should have remembered that.
See: viewtopic.php?p=221565&hilit=energy+ins ... er#p221565

About 3 years ago I had a long discussion with Rens van Waardenberg, waaren (RIP).

Indeed a day_counter has to be reset every day/night and this works only by subtracting the previous Day yield. So it is not a bug, but by design.

What to do?

In all MQTT messages to Domoticz , we should replace the last value in the svalue part from "Daily yield" to "Total Yield"

For @PieterS, I will correct my latest flow, while i will PM @phenix56 and send an update.

Regards

Re: Join several dataloggers and calculate values in Node-Red

Posted: Tuesday 03 May 2022 19:39
by FireWizard
Hello @PieterS,

As mentioned in my previous post, I updated your flow.
I changed for every inverter the "day value" to the "total value".
Can you test it? Configure your sensor as "From device" instead of "Computed".

The flow below:

Code: Select all

[
    {
        "id": "4c9f255573e89019",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "f459f57f0c5746e9",
        "type": "mqtt in",
        "z": "4c9f255573e89019",
        "name": "MQTT In Growatt",
        "topic": "energy/growatt",
        "qos": "0",
        "datatype": "json",
        "broker": "f9f13036.e28b58",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 270,
        "y": 40,
        "wires": [
            [
                "93a6265c9704e392"
            ]
        ]
    },
    {
        "id": "78923483c2aa04c6",
        "type": "mqtt in",
        "z": "4c9f255573e89019",
        "name": "MQTT In SMA",
        "topic": "energy/sma",
        "qos": "2",
        "datatype": "json",
        "broker": "f9f13036.e28b58",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 260,
        "y": 180,
        "wires": [
            [
                "fc15b7c977b0244f"
            ]
        ]
    },
    {
        "id": "757f32fc9dcba9fc",
        "type": "mqtt in",
        "z": "4c9f255573e89019",
        "name": "MQTT In Omnik (Power)",
        "topic": "energy/omnik/NLDN1020138B1009/ac_power",
        "qos": "0",
        "datatype": "auto",
        "broker": "f9f13036.e28b58",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 290,
        "y": 320,
        "wires": [
            [
                "233ead4f9fa70e29"
            ]
        ]
    },
    {
        "id": "93a6265c9704e392",
        "type": "change",
        "z": "4c9f255573e89019",
        "name": "Store Data 1",
        "rules": [
            {
                "t": "set",
                "p": "growatt_power",
                "pt": "flow",
                "to": "payload.values.pvpowerout",
                "tot": "msg"
            },
            {
                "t": "set",
                "p": "growatt_energy",
                "pt": "flow",
                "to": "payload.values.pvenergytotal",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 490,
        "y": 80,
        "wires": [
            [
                "646239bb4e28e2a3"
            ]
        ]
    },
    {
        "id": "fc15b7c977b0244f",
        "type": "change",
        "z": "4c9f255573e89019",
        "name": "Store Data 2",
        "rules": [
            {
                "t": "set",
                "p": "sma_power",
                "pt": "flow",
                "to": "payload.PAC1",
                "tot": "msg"
            },
            {
                "t": "set",
                "p": "sma_energy",
                "pt": "flow",
                "to": "payload.ETotal",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 490,
        "y": 220,
        "wires": [
            [
                "a14f389999ff4f13"
            ]
        ]
    },
    {
        "id": "7c2c907eac473fde",
        "type": "change",
        "z": "4c9f255573e89019",
        "name": "Store Data 3",
        "rules": [
            {
                "t": "set",
                "p": "omnik_power",
                "pt": "flow",
                "to": "payload[\"energy/omnik/NLDN1020138B1009/ac_power\"]",
                "tot": "msg"
            },
            {
                "t": "set",
                "p": "omnik_energy",
                "pt": "flow",
                "to": "payload[\"energy/omnik/NLDN1020138B1009/e_total\"]",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 730,
        "y": 360,
        "wires": [
            [
                "ca0f1675abc53316"
            ]
        ]
    },
    {
        "id": "85bda728286247c9",
        "type": "inject",
        "z": "4c9f255573e89019",
        "name": "5 Min Tick",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "300",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 270,
        "y": 720,
        "wires": [
            [
                "16dc6bc6e7313a27",
                "dfbc1db8562a1b2d",
                "9a7747a2f6150e99"
            ]
        ]
    },
    {
        "id": "a6399e43a4a46139",
        "type": "function",
        "z": "4c9f255573e89019",
        "name": "Function",
        "func": "var msg1 = {};\nvar msg2 = {};\nvar msg3 = {};\n\n\nlet growatt_power = flow.get(\"growatt_power\");\nlet sma_power = flow.get(\"sma_power\");\nlet omnik_power = parseFloat(flow.get(\"omnik_power\"));\n\nlet growatt_energy = flow.get(\"growatt_energy\");\nlet sma_energy = flow.get(\"sma_energy\");\nlet omnik_energy = parseFloat(flow.get(\"omnik_energy\"));\n\nlet total_power = growatt_power/10 + sma_power + omnik_power; //v2\nlet total_energy = growatt_energy*100 + sma_energy*1000 + omnik_energy*1000; //v1\n\nmsg1.payload = { \"command\": \"udevice\", \"idx\": 16, \"nvalue\": 0, \"svalue\": total_power + \";\" + total_energy };\nmsg2.payload = total_energy;\nmsg3.payload = total_power;\n\nreturn [msg1,msg2,msg3];",
        "outputs": 3,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 680,
        "y": 480,
        "wires": [
            [
                "8d0bce4ab027b9f6",
                "1f19337be4e5fdb0"
            ],
            [
                "e2638ceab6273728"
            ],
            [
                "42bd2f24e28e6849"
            ]
        ]
    },
    {
        "id": "8d0bce4ab027b9f6",
        "type": "debug",
        "z": "4c9f255573e89019",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 890,
        "y": 440,
        "wires": []
    },
    {
        "id": "b7a1b8f0930a8cb4",
        "type": "inject",
        "z": "4c9f255573e89019",
        "name": "Set to 0",
        "props": [
            {
                "p": "payload.values.pvpowerout",
                "v": "0",
                "vt": "num"
            },
            {
                "p": "payload.values.pvenergytotal",
                "v": "0",
                "vt": "num"
            }
        ],
        "repeat": "",
        "crontab": "00 00 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 240,
        "y": 120,
        "wires": [
            [
                "93a6265c9704e392"
            ]
        ]
    },
    {
        "id": "5aa2c2b741e69c78",
        "type": "inject",
        "z": "4c9f255573e89019",
        "name": "Set to 0",
        "props": [
            {
                "p": "payload.PAC1",
                "v": "0",
                "vt": "num"
            },
            {
                "p": "payload.ETotal",
                "v": "0",
                "vt": "num"
            }
        ],
        "repeat": "",
        "crontab": "00 00 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 240,
        "y": 260,
        "wires": [
            [
                "fc15b7c977b0244f"
            ]
        ]
    },
    {
        "id": "33a0ff3c796d3e4a",
        "type": "inject",
        "z": "4c9f255573e89019",
        "name": "Set to 0",
        "props": [
            {
                "p": "payload[\"energy/omnik/NLDN1020138B1009/ac_power\"]",
                "v": "0",
                "vt": "num"
            },
            {
                "p": "payload[\"energy/omnik/NLDN1020138B1009/e_total\"]",
                "v": "0",
                "vt": "num"
            }
        ],
        "repeat": "",
        "crontab": "00 00 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 540,
        "y": 420,
        "wires": [
            [
                "7c2c907eac473fde"
            ]
        ]
    },
    {
        "id": "646239bb4e28e2a3",
        "type": "debug",
        "z": "4c9f255573e89019",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 690,
        "y": 80,
        "wires": []
    },
    {
        "id": "a14f389999ff4f13",
        "type": "debug",
        "z": "4c9f255573e89019",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 690,
        "y": 220,
        "wires": []
    },
    {
        "id": "ca0f1675abc53316",
        "type": "debug",
        "z": "4c9f255573e89019",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 930,
        "y": 360,
        "wires": []
    },
    {
        "id": "233ead4f9fa70e29",
        "type": "join",
        "z": "4c9f255573e89019",
        "name": "",
        "mode": "custom",
        "build": "object",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "accumulate": true,
        "timeout": "",
        "count": "2",
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 510,
        "y": 360,
        "wires": [
            [
                "7c2c907eac473fde"
            ]
        ]
    },
    {
        "id": "5e509b8e055839bc",
        "type": "mqtt in",
        "z": "4c9f255573e89019",
        "name": "MQTT In Omnik (Energy)",
        "topic": "energy/omnik/NLDN1020138B1009/e_today",
        "qos": "0",
        "datatype": "auto",
        "broker": "f9f13036.e28b58",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 290,
        "y": 400,
        "wires": [
            [
                "233ead4f9fa70e29"
            ]
        ]
    },
    {
        "id": "1f19337be4e5fdb0",
        "type": "mqtt out",
        "z": "4c9f255573e89019",
        "name": "To Domoticz",
        "topic": "domoticz/in",
        "qos": "0",
        "retain": "false",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "f9f13036.e28b58",
        "x": 890,
        "y": 500,
        "wires": []
    },
    {
        "id": "2fc002c2638d7336",
        "type": "join",
        "z": "4c9f255573e89019",
        "name": "",
        "mode": "custom",
        "build": "object",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "accumulate": false,
        "timeout": "",
        "count": "4",
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 670,
        "y": 720,
        "wires": [
            [
                "56f118eea5b28066",
                "fb4543e971312205"
            ]
        ]
    },
    {
        "id": "e2638ceab6273728",
        "type": "change",
        "z": "4c9f255573e89019",
        "name": "V1",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "v1",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 670,
        "y": 580,
        "wires": [
            [
                "2fc002c2638d7336",
                "6b1e59e9c36465dd"
            ]
        ]
    },
    {
        "id": "42bd2f24e28e6849",
        "type": "change",
        "z": "4c9f255573e89019",
        "name": "V2",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "v2",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 670,
        "y": 640,
        "wires": [
            [
                "2fc002c2638d7336",
                "a4d36530bf0d95b1"
            ]
        ]
    },
    {
        "id": "56f118eea5b28066",
        "type": "function",
        "z": "4c9f255573e89019",
        "name": "Set API key here !",
        "func": "msg.action = msg.payload;\nmsg.headers = { \n 'X-Pvoutput-Apikey': 'xxxxxxxxxxxxxxxxxxx',\n 'X-Pvoutput-SystemId': 'xxxxxx',\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 870,
        "y": 720,
        "wires": [
            [
                "ed064d299a17e86a"
            ]
        ]
    },
    {
        "id": "ed064d299a17e86a",
        "type": "function",
        "z": "4c9f255573e89019",
        "name": "Set up data",
        "func": "msg.action = msg.payload;\n\nmsg.url = \"http://pvoutput.org/service/r2/addstatus.jsp\";\n\n\n\nreturn msg;\n\n",
        "outputs": 1,
        "noerr": 0,
        "x": 1090,
        "y": 720,
        "wires": [
            [
                "6f68c015253b3261"
            ]
        ]
    },
    {
        "id": "6f68c015253b3261",
        "type": "http request",
        "z": "4c9f255573e89019",
        "name": "Post",
        "method": "POST",
        "ret": "txt",
        "paytoqs": false,
        "url": "",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "x": 1270,
        "y": 720,
        "wires": [
            [
                "3749eb27153bd365"
            ]
        ]
    },
    {
        "id": "3749eb27153bd365",
        "type": "debug",
        "z": "4c9f255573e89019",
        "name": "headercheck",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 1290,
        "y": 780,
        "wires": []
    },
    {
        "id": "6b1e59e9c36465dd",
        "type": "debug",
        "z": "4c9f255573e89019",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 890,
        "y": 580,
        "wires": []
    },
    {
        "id": "a4d36530bf0d95b1",
        "type": "debug",
        "z": "4c9f255573e89019",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 890,
        "y": 640,
        "wires": []
    },
    {
        "id": "fb4543e971312205",
        "type": "debug",
        "z": "4c9f255573e89019",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 850,
        "y": 780,
        "wires": []
    },
    {
        "id": "16dc6bc6e7313a27",
        "type": "time-switch",
        "z": "4c9f255573e89019",
        "name": "Day Time switch",
        "lat": "52.179281",
        "lon": "5.606528",
        "startTime": "sunrise",
        "endTime": "sunset",
        "startOffset": "-30",
        "endOffset": "+30",
        "x": 480,
        "y": 500,
        "wires": [
            [
                "a6399e43a4a46139"
            ],
            []
        ]
    },
    {
        "id": "dfbc1db8562a1b2d",
        "type": "moment",
        "z": "4c9f255573e89019",
        "name": "Date",
        "topic": "d",
        "input": "",
        "inputType": "date",
        "inTz": "Europe/Amsterdam",
        "adjAmount": 0,
        "adjType": "days",
        "adjDir": "add",
        "format": "YYYYMMDD",
        "locale": "C",
        "output": "payload",
        "outputType": "msg",
        "outTz": "Europe/Amsterdam",
        "x": 450,
        "y": 700,
        "wires": [
            [
                "2fc002c2638d7336"
            ]
        ]
    },
    {
        "id": "9a7747a2f6150e99",
        "type": "moment",
        "z": "4c9f255573e89019",
        "name": "Time",
        "topic": "t",
        "input": "",
        "inputType": "date",
        "inTz": "Europe/Amsterdam",
        "adjAmount": 0,
        "adjType": "days",
        "adjDir": "add",
        "format": "HH:mm",
        "locale": "C",
        "output": "payload",
        "outputType": "msg",
        "outTz": "Europe/Amsterdam",
        "x": 450,
        "y": 740,
        "wires": [
            [
                "2fc002c2638d7336"
            ]
        ]
    },
    {
        "id": "f9f13036.e28b58",
        "type": "mqtt-broker",
        "name": "localhost",
        "broker": "127.0.0.1",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthRetain": "false",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "sessionExpiry": ""
    }
]
Let me know the result.

Regards

Re: Join several dataloggers and calculate values in Node-Red

Posted: Tuesday 03 May 2022 21:16
by PieterS
Hello @FireWizard,

Thanks for your attention and new flow. I am not able to make changes to Node-Red and Domoticz at this moment. Will pick it up later and let you know the results.

By the way, as you can see, the negative value is not every night. Two nights at a row: no negative pile. Possible due to editing the device Energy read to Computed...?
I can not relate the negative value to the positive value of the day before. You can check it if you compare the results of PVoutput.org and the grapic of Domoticz in my reply of sunday 01 May 20:31.
Very curious behaviour, in my opinion.

Besides that: Node-Red does not send data to Domoticz during the night, because of the time-node..

Best regards,

Pieter

Re: Join several dataloggers and calculate values in Node-Red

Posted: Wednesday 04 May 2022 17:22
by sammyke007
Seems to work fine with the total yield instead of the daily yield!