Join several dataloggers and calculate values in Node-Red Topic is solved

Moderator: leecollings

PieterS
Posts: 195
Joined: Wednesday 31 May 2017 16:06
Target OS: NAS (Synology & others)
Domoticz version: 2024.7
Location: NL
Contact:

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

Post 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?
Synology with Domoticz build (V2024.7) in Docker
User avatar
FireWizard
Posts: 1745
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

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

Post 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 2714 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
PieterS
Posts: 195
Joined: Wednesday 31 May 2017 16:06
Target OS: NAS (Synology & others)
Domoticz version: 2024.7
Location: NL
Contact:

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

Post 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
Synology with Domoticz build (V2024.7) in Docker
sammyke007
Posts: 204
Joined: Monday 08 May 2017 20:48
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: Belgium
Contact:

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

Post 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.
User avatar
FireWizard
Posts: 1745
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

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

Post 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
sammyke007
Posts: 204
Joined: Monday 08 May 2017 20:48
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: Belgium
Contact:

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

Post 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.
User avatar
FireWizard
Posts: 1745
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

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

Post 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
User avatar
FireWizard
Posts: 1745
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

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

Post 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
PieterS
Posts: 195
Joined: Wednesday 31 May 2017 16:06
Target OS: NAS (Synology & others)
Domoticz version: 2024.7
Location: NL
Contact:

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

Post 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
Synology with Domoticz build (V2024.7) in Docker
sammyke007
Posts: 204
Joined: Monday 08 May 2017 20:48
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: Belgium
Contact:

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

Post by sammyke007 »

Seems to work fine with the total yield instead of the daily yield!
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest