Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Tageszähler Stromverbrauch

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Tageszähler Stromverbrauch

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MartyBr @mickym last edited by

      @mickym Bisher habe ich solche Berechnungen nur in Blockly gemacht. Kannst du mir einen Denkanstoß in Richtung Node-red geben? Wie gesagt, ich habe Node-red erst heute installiert und möchte mich anhand eines Beispiels in die Materie einarbeiten.

      mickym 1 Reply Last reply Reply Quote 0
      • M
        MartyBr @mickym last edited by

        @mickym
        Das ist ja wirklich extrem übersichtlich! Vielen Dank dafür.

        1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @MartyBr last edited by mickym

          @martybr Wie Du an der Debugausgabe siehst enthält das ausgegebene Nachrichtenobjekt eine payload:

          51378a27-9093-464a-b1d1-8c41b687e92b-image.png

          und der topic war täglich - also ist das der tägliche Verbrauch der hier in der Debug node ausgegeben wird.

          adc7c6b8-3394-42be-b028-ae31270ba281-image.png

          Nun simuliere ich mal mit einer Inject-Node einen täglichen Verbrauch von 150,25 Wh.

          2bc851c7-5e57-43e8-b640-5a52de23e00e-image.png

          Nun nimmst Du einfach eine ChangeNode und modifizierst Deine payload - indem Du durch 1000 teilst und mit dem kWh Preis multiplizierst. Das Ergebnis wird nun in der Debug Node Kosten ausgegeben. Wenn der kWh Preis 0,325 € ist.

          Das Ergebnis kannst Du dann natürlich irgendwo im iobroker speichern.

          Wenn Du Dich aber nicht weiter mit NodeRed beschäftigen willst und doch lieber puzzelst, kannst Du ja mit Blockly die Datenpunkte weiter verarbeiten.

          M 1 Reply Last reply Reply Quote 0
          • M
            MartyBr @mickym last edited by

            @mickym
            Nein, mit Blockly läuft das ja. Ich will es ja gerade aufgrund der Übersichtlichkeit in Node-red machen!
            Hänge ich den Change-node nun nach dem Subflow? Wie kann ich die Datenstruktur anlegen?

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @MartyBr last edited by mickym

              @martybr Nun ja Du kannst die Change Node wie gesagt an den Subflow hängen und dann ggf. das topic so verändern, dass die Datenpunkte automatisch geschrieben werden.

              Ich habe Dir ja gerade gezeigt wie Du die payload veränderst, Du kannst das natürlich auch das topic entsprechend verändern.

              Wenn Du Dir in der DebugNode das komplette Nachrichtenobjekt ausgeben lässt, dann siehst Du ja folgendes:

              f5e7ff56-2fad-4501-9a25-bd88cf4f394f-image.png

              So neben der payload - kannst Du auch das topic modifizieren. Wenn Du bis jetzt bei Deinem Strombezug
              0_userdata.0.Test.Strombezug als Basis angegeben hast, dann solltest Du ja darunter nun 2 Ordner mit den Zähler und Verbrauch haben.
              Nun kannst Du ja für die Kosten noch einen Ordner Kosten nehmen und das topic entsprechend dran hängen.

              c672bcda-e7c5-45ce-9dda-dae342ae6428-image.png

              Wie Du in der letzten Debugausgabe nun siehst wurde das topic täglich nun mit dem vollständigen Pfad ergänzt.
              Also: 0_userdata.0.Test.Strombezug.Kosten.täglich

              In einer iobroker-Out Node kannst Du nun die payload in den Datenpunkt schreiben - und da kein topic angegeben wurde, wird automatisch das topic des Nachrichtenobjektes genommen.

              Hier mal die Konfiguration der iobroker-Out Node:

              2999a1d0-efa9-4d79-9759-fbf2e46c27f3-image.png

              Type ist hier "value" - das entspricht im Blocky was bestätigt schreiben (oder aktualisiere). Wenn Du type command nutzt wird unbestätigt als ohne ACK Flag geschrieben (also steuere). Dann kannst Du auch gleich die Einheit und den Datentyp mitgeben.

              Wie Du siehst wurde mit dieser Konfiguration die payload in einen Datenpunkt geschrieben:

              93a9d5c4-079a-4997-bdfa-bb56b990af57-image.png

              und zwar unter : 0_userdata.0.Test.Strombezug.Kosten.täglich

              Hier wieder zum Import zum Spielen:

              [{"id":"e03388c41fb02646","type":"inject","z":"143ca7a65ecb3e5b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"täglich","payload":"150.25","payloadType":"num","x":550,"y":260,"wires":[["1504ed0e4a1e90ef","bdc3de400373783c"]]},{"id":"1504ed0e4a1e90ef","type":"debug","z":"143ca7a65ecb3e5b","name":"täglicher Verbrauch in Wh","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":790,"y":260,"wires":[]},{"id":"bdc3de400373783c","type":"change","z":"143ca7a65ecb3e5b","name":"berechne Preis von kWh","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload/1000 * 0.325","tot":"jsonata"},{"t":"set","p":"topic","pt":"msg","to":"\"0_userdata.0.Test.Strombezug.Kosten.\" & topic","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":790,"y":320,"wires":[["f287b278474feccf","24bf979302b25be9"]]},{"id":"f287b278474feccf","type":"debug","z":"143ca7a65ecb3e5b","name":"Kosten","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1000,"y":380,"wires":[]},{"id":"24bf979302b25be9","type":"ioBroker out","z":"143ca7a65ecb3e5b","name":"","topic":"","ack":"true","autoCreate":"true","stateName":"","role":"","payloadType":"number","readonly":"false","stateUnit":"€","stateMin":"","stateMax":"","x":1020,"y":320,"wires":[]}]
              

              M 1 Reply Last reply Reply Quote 0
              • M
                MartyBr @mickym last edited by

                @mickym
                Das sieht schon sehr gut aus.

                Ich habe auch die Einspeisung eingetragen, da gerade kein Strombezug erfolgt.

                Hier der komplette Flow:

                [
                    {
                        "id": "dea0daa6098ba7f9",
                        "type": "subflow",
                        "name": "Verbrauchszähler",
                        "info": "## Parameter:\r\n\r\n\r\n`counterSource` : Hier gibt man den Datenpunkt des Zählers an, der überwacht werden soll. <br>\r\n`baseTopic` : Hier gibt man den Basispfad ein, unter dem die Datenpunkte für Zählerstände und Verbrauchswerte abgespeichert werden sollen. <br>\r\n`changeFactor` : Hier kann man einen Wert eingeben mit dem die ermittelten Differenzen der Zählerstände multipliziert werden sollen. <br>\r\n`counterOffset` : Hier gibt einen Wert eingeben, der auf den aktuellen Zählerstand addiert wird, um ggf. einen Reset des Zählers zu kompensieren. <br>",
                        "category": "",
                        "in": [
                            {
                                "x": 60,
                                "y": 140,
                                "wires": [
                                    {
                                        "id": "e5bc5007405e7a46"
                                    }
                                ]
                            }
                        ],
                        "out": [
                            {
                                "x": 1600,
                                "y": 220,
                                "wires": [
                                    {
                                        "id": "f009873d7eb21eef",
                                        "port": 0
                                    }
                                ]
                            }
                        ],
                        "env": [
                            {
                                "name": "counterSource",
                                "type": "str",
                                "value": ""
                            },
                            {
                                "name": "baseTopic",
                                "type": "str",
                                "value": "0_userdata.0.Test.Gerät1"
                            },
                            {
                                "name": "changeFactor",
                                "type": "num",
                                "value": "1"
                            },
                            {
                                "name": "counterOffset",
                                "type": "num",
                                "value": "0"
                            }
                        ],
                        "meta": {},
                        "color": "#DDAA99"
                    },
                    {
                        "id": "4d38b16657026f40",
                        "type": "ioBroker get",
                        "z": "dea0daa6098ba7f9",
                        "name": "Aktueller Zähler",
                        "topic": "",
                        "attrname": "current",
                        "payloadType": "value",
                        "errOnInvalidState": "nothing",
                        "x": 400,
                        "y": 140,
                        "wires": [
                            [
                                "a2654ab97236c877"
                            ]
                        ]
                    },
                    {
                        "id": "90df61e86d3b840c",
                        "type": "change",
                        "z": "dea0daa6098ba7f9",
                        "name": "ermittle Verbrauch",
                        "rules": [
                            {
                                "t": "set",
                                "p": "payload",
                                "pt": "msg",
                                "to": "current - payload",
                                "tot": "jsonata"
                            },
                            {
                                "t": "set",
                                "p": "factor",
                                "pt": "msg",
                                "to": "changeFactor",
                                "tot": "env"
                            },
                            {
                                "t": "set",
                                "p": "payload",
                                "pt": "msg",
                                "to": "payload * factor",
                                "tot": "jsonata"
                            },
                            {
                                "t": "set",
                                "p": "topic",
                                "pt": "msg",
                                "to": "consumption",
                                "tot": "msg"
                            }
                        ],
                        "action": "",
                        "property": "",
                        "from": "",
                        "to": "",
                        "reg": false,
                        "x": 1210,
                        "y": 140,
                        "wires": [
                            [
                                "a00ead7de4cf452b",
                                "f009873d7eb21eef"
                            ]
                        ]
                    },
                    {
                        "id": "a00ead7de4cf452b",
                        "type": "ioBroker out",
                        "z": "dea0daa6098ba7f9",
                        "name": "Verbrauch",
                        "topic": "",
                        "ack": "true",
                        "autoCreate": "true",
                        "stateName": "",
                        "role": "",
                        "payloadType": "number",
                        "readonly": "false",
                        "stateUnit": "",
                        "stateMin": "",
                        "stateMax": "",
                        "x": 1450,
                        "y": 140,
                        "wires": []
                    },
                    {
                        "id": "cba5d50c245cea3d",
                        "type": "change",
                        "z": "dea0daa6098ba7f9",
                        "name": "Basistopics",
                        "rules": [
                            {
                                "t": "set",
                                "p": "base",
                                "pt": "msg",
                                "to": "baseTopic",
                                "tot": "env"
                            },
                            {
                                "t": "set",
                                "p": "topic",
                                "pt": "msg",
                                "to": "base & \".Zähler.\" & payload.config.topic",
                                "tot": "jsonata"
                            },
                            {
                                "t": "set",
                                "p": "consumption",
                                "pt": "msg",
                                "to": "base & \".Verbrauch.\" & payload.config.topic",
                                "tot": "jsonata"
                            },
                            {
                                "t": "set",
                                "p": "schedulerTopic",
                                "pt": "flow",
                                "to": "payload.config.topic",
                                "tot": "msg"
                            }
                        ],
                        "action": "",
                        "property": "",
                        "from": "",
                        "to": "",
                        "reg": false,
                        "x": 810,
                        "y": 140,
                        "wires": [
                            [
                                "a07be4046c224cbf"
                            ]
                        ]
                    },
                    {
                        "id": "a07be4046c224cbf",
                        "type": "ioBroker get",
                        "z": "dea0daa6098ba7f9",
                        "name": "Lese Zähler",
                        "topic": "",
                        "attrname": "payload",
                        "payloadType": "value",
                        "errOnInvalidState": "false",
                        "x": 990,
                        "y": 140,
                        "wires": [
                            [
                                "90df61e86d3b840c",
                                "b6eb7ae3096fbfdf"
                            ]
                        ]
                    },
                    {
                        "id": "1c947b18a0aa183f",
                        "type": "ioBroker out",
                        "z": "dea0daa6098ba7f9",
                        "name": "Schreibe Zähler",
                        "topic": "",
                        "ack": "true",
                        "autoCreate": "true",
                        "stateName": "",
                        "role": "",
                        "payloadType": "number",
                        "readonly": "false",
                        "stateUnit": "",
                        "stateMin": "",
                        "stateMax": "",
                        "x": 1460,
                        "y": 80,
                        "wires": []
                    },
                    {
                        "id": "b6eb7ae3096fbfdf",
                        "type": "change",
                        "z": "dea0daa6098ba7f9",
                        "name": "Update Zähler",
                        "rules": [
                            {
                                "t": "set",
                                "p": "payload",
                                "pt": "msg",
                                "to": "current",
                                "tot": "msg"
                            }
                        ],
                        "action": "",
                        "property": "",
                        "from": "",
                        "to": "",
                        "reg": false,
                        "x": 1220,
                        "y": 80,
                        "wires": [
                            [
                                "1c947b18a0aa183f"
                            ]
                        ]
                    },
                    {
                        "id": "e5bc5007405e7a46",
                        "type": "change",
                        "z": "dea0daa6098ba7f9",
                        "name": "",
                        "rules": [
                            {
                                "t": "set",
                                "p": "topic",
                                "pt": "msg",
                                "to": "counterSource",
                                "tot": "env"
                            }
                        ],
                        "action": "",
                        "property": "",
                        "from": "",
                        "to": "",
                        "reg": false,
                        "x": 200,
                        "y": 140,
                        "wires": [
                            [
                                "4d38b16657026f40"
                            ]
                        ]
                    },
                    {
                        "id": "f009873d7eb21eef",
                        "type": "change",
                        "z": "dea0daa6098ba7f9",
                        "name": "",
                        "rules": [
                            {
                                "t": "set",
                                "p": "topic",
                                "pt": "msg",
                                "to": "schedulerTopic",
                                "tot": "flow"
                            }
                        ],
                        "action": "",
                        "property": "",
                        "from": "",
                        "to": "",
                        "reg": false,
                        "x": 1460,
                        "y": 220,
                        "wires": [
                            []
                        ]
                    },
                    {
                        "id": "a2654ab97236c877",
                        "type": "change",
                        "z": "dea0daa6098ba7f9",
                        "name": "Counter Offset",
                        "rules": [
                            {
                                "t": "set",
                                "p": "offset",
                                "pt": "msg",
                                "to": "counterOffset",
                                "tot": "env"
                            },
                            {
                                "t": "set",
                                "p": "current",
                                "pt": "msg",
                                "to": "current + offset",
                                "tot": "jsonata"
                            }
                        ],
                        "action": "",
                        "property": "",
                        "from": "",
                        "to": "",
                        "reg": false,
                        "x": 600,
                        "y": 140,
                        "wires": [
                            [
                                "cba5d50c245cea3d"
                            ]
                        ]
                    },
                    {
                        "id": "b6a02d4027b9655a",
                        "type": "tab",
                        "label": "Energiezähler",
                        "disabled": false,
                        "info": "",
                        "env": []
                    },
                    {
                        "id": "bb070f61d47fcdfd",
                        "type": "cronplus",
                        "z": "b6a02d4027b9655a",
                        "name": "",
                        "outputField": "payload",
                        "timeZone": "",
                        "storeName": "",
                        "commandResponseMsgOutput": "output1",
                        "defaultLocation": "",
                        "defaultLocationType": "default",
                        "outputs": 1,
                        "options": [
                            {
                                "name": "daily",
                                "topic": "täglich",
                                "payloadType": "default",
                                "payload": "",
                                "expressionType": "cron",
                                "expression": "0 0 0 * * * *",
                                "location": "",
                                "offset": "0",
                                "solarType": "all",
                                "solarEvents": "sunrise,sunset"
                            },
                            {
                                "name": "weekly",
                                "topic": "wöchentlich",
                                "payloadType": "default",
                                "payload": "",
                                "expressionType": "cron",
                                "expression": "0 0 0 * * 1 *",
                                "location": "",
                                "offset": "0",
                                "solarType": "all",
                                "solarEvents": "sunrise,sunset"
                            },
                            {
                                "name": "monthly",
                                "topic": "monatlich",
                                "payloadType": "default",
                                "payload": "",
                                "expressionType": "cron",
                                "expression": "0 0 0 1 * *",
                                "location": "",
                                "offset": "0",
                                "solarType": "all",
                                "solarEvents": "sunrise,sunset"
                            },
                            {
                                "name": "yearly",
                                "topic": "jährlich",
                                "payloadType": "default",
                                "payload": "",
                                "expressionType": "cron",
                                "expression": "0 0 0 1 1 * *",
                                "location": "",
                                "offset": "0",
                                "solarType": "all",
                                "solarEvents": "sunrise,sunset"
                            },
                            {
                                "name": "hourly",
                                "topic": "stündlich",
                                "payloadType": "default",
                                "payload": "",
                                "expressionType": "cron",
                                "expression": "0 0 * * * * *",
                                "location": "",
                                "offset": "0",
                                "solarType": "all",
                                "solarEvents": "sunrise,sunset"
                            }
                        ],
                        "x": 260,
                        "y": 120,
                        "wires": [
                            [
                                "897ac0a3992b06da",
                                "cf229178dca653c1"
                            ]
                        ]
                    },
                    {
                        "id": "f1b0b23ecc796e87",
                        "type": "inject",
                        "z": "b6a02d4027b9655a",
                        "name": "",
                        "props": [
                            {
                                "p": "topic",
                                "vt": "str"
                            }
                        ],
                        "repeat": "",
                        "crontab": "",
                        "once": false,
                        "onceDelay": 0.1,
                        "topic": "trigger-all",
                        "x": 100,
                        "y": 120,
                        "wires": [
                            [
                                "bb070f61d47fcdfd"
                            ]
                        ]
                    },
                    {
                        "id": "897ac0a3992b06da",
                        "type": "subflow:dea0daa6098ba7f9",
                        "z": "b6a02d4027b9655a",
                        "name": "Strombezug",
                        "env": [
                            {
                                "name": "counterSource",
                                "value": "alias.0.Verbrauch.Strom.HWR.Strom_Bezug",
                                "type": "str"
                            },
                            {
                                "name": "baseTopic",
                                "value": "0_userdata.0.Test.Strombezug",
                                "type": "str"
                            }
                        ],
                        "x": 450,
                        "y": 80,
                        "wires": [
                            [
                                "42acf696bed0fcbd"
                            ]
                        ]
                    },
                    {
                        "id": "cf229178dca653c1",
                        "type": "subflow:dea0daa6098ba7f9",
                        "z": "b6a02d4027b9655a",
                        "name": "Einspeisung",
                        "env": [
                            {
                                "name": "counterSource",
                                "value": "alias.0.Verbrauch.Strom.HWR.Strom_Einspeisung",
                                "type": "str"
                            },
                            {
                                "name": "baseTopic",
                                "value": "0_userdata.0.Test.Stromeinspeisung",
                                "type": "str"
                            }
                        ],
                        "x": 450,
                        "y": 160,
                        "wires": [
                            [
                                "f3f26be174740b51"
                            ]
                        ]
                    },
                    {
                        "id": "41276c4bdde5667d",
                        "type": "ioBroker out",
                        "z": "b6a02d4027b9655a",
                        "name": "",
                        "topic": "",
                        "ack": "true",
                        "autoCreate": "true",
                        "stateName": "",
                        "role": "",
                        "payloadType": "number",
                        "readonly": "false",
                        "stateUnit": "€",
                        "stateMin": "",
                        "stateMax": "",
                        "x": 960,
                        "y": 80,
                        "wires": []
                    },
                    {
                        "id": "42acf696bed0fcbd",
                        "type": "change",
                        "z": "b6a02d4027b9655a",
                        "name": "berechne Preis von kWh",
                        "rules": [
                            {
                                "t": "set",
                                "p": "payload",
                                "pt": "msg",
                                "to": "payload * 0.425",
                                "tot": "jsonata"
                            },
                            {
                                "t": "set",
                                "p": "topic",
                                "pt": "msg",
                                "to": "\"0_userdata.0.Test.Strombezug.Kosten.\" & topic",
                                "tot": "jsonata"
                            }
                        ],
                        "action": "",
                        "property": "",
                        "from": "",
                        "to": "",
                        "reg": false,
                        "x": 670,
                        "y": 80,
                        "wires": [
                            [
                                "4445a621b7b8914a",
                                "41276c4bdde5667d"
                            ]
                        ]
                    },
                    {
                        "id": "4445a621b7b8914a",
                        "type": "debug",
                        "z": "b6a02d4027b9655a",
                        "name": "Kosten",
                        "active": false,
                        "tosidebar": true,
                        "console": false,
                        "tostatus": false,
                        "complete": "true",
                        "targetType": "full",
                        "statusVal": "",
                        "statusType": "auto",
                        "x": 900,
                        "y": 180,
                        "wires": []
                    },
                    {
                        "id": "f3f26be174740b51",
                        "type": "change",
                        "z": "b6a02d4027b9655a",
                        "name": "berechne Preis von kWh",
                        "rules": [
                            {
                                "t": "set",
                                "p": "payload",
                                "pt": "msg",
                                "to": "payload * 0.08",
                                "tot": "jsonata"
                            },
                            {
                                "t": "set",
                                "p": "topic",
                                "pt": "msg",
                                "to": "\"0_userdata.0.Test.Stromeinspeisung.Kosten.\" & topic",
                                "tot": "jsonata"
                            }
                        ],
                        "action": "",
                        "property": "",
                        "from": "",
                        "to": "",
                        "reg": false,
                        "x": 630,
                        "y": 260,
                        "wires": [
                            [
                                "945bd735a62776f4",
                                "308d7f57c2f460d4"
                            ]
                        ]
                    },
                    {
                        "id": "945bd735a62776f4",
                        "type": "ioBroker out",
                        "z": "b6a02d4027b9655a",
                        "name": "",
                        "topic": "",
                        "ack": "true",
                        "autoCreate": "true",
                        "stateName": "",
                        "role": "",
                        "payloadType": "number",
                        "readonly": "false",
                        "stateUnit": "€",
                        "stateMin": "",
                        "stateMax": "",
                        "x": 900,
                        "y": 260,
                        "wires": []
                    },
                    {
                        "id": "308d7f57c2f460d4",
                        "type": "debug",
                        "z": "b6a02d4027b9655a",
                        "name": "Kosten",
                        "active": false,
                        "tosidebar": true,
                        "console": false,
                        "tostatus": false,
                        "complete": "true",
                        "targetType": "full",
                        "statusVal": "",
                        "statusType": "auto",
                        "x": 900,
                        "y": 340,
                        "wires": []
                    }
                ]
                

                Die anderen Datenpunkte kommen wahrscheinlich später dazu, wenn der Cron plus entsprechende Trigger bekommt?

                Vielen Dank erst mal für deine Mühe. Ich schaue mir das mal genau an.
                Ich hatte bei meinen Experimenten immer das Problem, dass der Change keine "Number" aus dem Payload erzeugen konnte. Aber jetzt habe ich ja einen Hinweis, wie es richtig gemacht wird.

                Danke noch mal für deine Hilfe!

                1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active last edited by mickym

                  Na schaut doch gut und übersichtlich aus. Um 15 Uhr sollte dann ja der erste Datenpunkt auftauchen, wenn Du alles einmal getriggert hattest.

                  An der Optik Deiner Flows kann man noch bissi arbeiten. 😉

                  f877a28c-17d4-4fd1-9062-d95382ca67c8-image.png

                  In der Hilfe zur cronplus Node - kannst Du Dich ja in die Details einlesen. Und Du musst halt überprüfen welche Einheit bei der Kostenberechnung ausgespuckt werden, ob kWh oder Wh. Aber das findest Du alles selbst raus.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    MartyBr @mickym last edited by

                    @mickym
                    Genau. Ich baue jetzt noch die PV dazu. Hier brauche ich keine Kosten erfassen. Dann schaue ich mal, ob ich das auch schön grafisch umsetzen kann.

                    P.S.
                    Ja, bin aber schon froh, dass "mein" erster Flow läuft 😉

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @MartyBr last edited by

                      @martybr Na Du siehst ja an dem Thread wie sich der Subflow so langsam entwickelt hat. Ich brauch da ja auch meine Zeit.

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        MartyBr @mickym last edited by

                        @mickym
                        das ist eine ganz neue Materie für mich. Ich möchte mich aber in Node-red einarbeiten.
                        Das Potential scheint ja recht vielversprechend zu sein. Es gibt ja viele Codes, wie der z.B. der Cron-plus, die man integrieren kann.
                        Da steht mir noch viel Arbeit vor der Tür!

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @MartyBr last edited by mickym

                          @martybr Du wirst sehen wie mächtig das ist - und dahinter steht eine viel größere Community - die NodeRed mit weiteren Nodes aufgebohrt haben. Ich hoffe es hat um 15 Uhr alles funktioniert.

                          Ich verstehe halt nicht, warum die Mehrheit lieber puzzelt - auch wenn sich da in letzter Zeit bzgl. Objektverarbeitung viel getan hat.

                          NodeRed stammt halt von der IBM, Blockly von Google. 😉

                          Es macht aber nicht jede Node Sinn zu installieren. Ich schau immer das soviel wie möglich mit Hausmitteln geht. 😉

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MartyBr @mickym last edited by

                            @mickym
                            Ich sehe das genau so.

                            Der stündliche Wert bei der Stromeinspeisung ist geschrieben worden. Der Flow scheint damit zulaufen.
                            Ich Frage habe ich noch: Beim Schreiben der Kosten wird die Einheit € mitgegeben. Beim Verbrauch nicht. Muss/soll ich jetzt im ioBroker die Unit der Datenpunkte ändern oder kann man ein Topic "unit": "kWh" mitgeben?

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @MartyBr last edited by mickym

                              @martybr Du kannst es am Besten in den Datenpunkten ändern. Ich hab es deswegen nicht im Flow gemacht - damit dieser für alle möglichen Einheiten verwendet werden kann. Also ändere es am Besten selbst. Wenn Du nur kWh hast - also alle Datenpunkte sollen diese Einheit , dann kannst du auch noch mal alle Datenpunkte löschen und den Subflow selbst ändern. (Die Einheit wird nur beim Anlegen der Datenpunkte mitgegeben).

                              Wie gesagt wenn Du den Subflow änderst auf die Subflow Node klicken:

                              f6e754a8-2406-4a55-b366-6e22b67c2dc9-image.png

                              Dann den Subflow bearbeiten:
                              ad0e6e65-853d-44fd-add2-e19a9f79866f-image.png

                              Dann kannst Du ggf. in den iobroker Out Nodes das mitgeben. Ansonsten würde ich es einmal lieber manuell eintragen in dem Datenpunkt, da Du dann den Subflow auch für andere Einheiten - wie beispielsweise Liter oder was weiß ich verwenden kannst.

                              98f9d094-579f-4295-a98a-0283a3e4ba4f-image.png

                              Ich könnte den Subflow auch noch anpassen und die Einheit als Parameter mitgeben - aber ehrlich gesagt, ist in meinen Augen der Aufwand vertretbar, dass man die Einheit wenn man will selbst einträgt.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MartyBr @mickym last edited by

                                @mickym
                                Alles klar. Da ich noch andere Zähler benutzen möchte, dann ändere ich die unit im ioBroker .

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @MartyBr last edited by mickym

                                  @martybr Also den Subflow habe ich eigentlich aus einem Blockyl von @paul53 entwickelt.
                                  https://forum.iobroker.net/post/1025319
                                  Ich will mich da nicht mit fremden Federn schmücken.
                                  Den kann man sicher auch als Unterprogramm laufen lassen und parametrisieren, wenn du lieber bei Blockly bleiben willst.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MartyBr @mickym last edited by

                                    @mickym
                                    jetzt habe ich Blut geleckt! Ich versuche mal einige Scripte in Node-Red zu erstellen. Ich besorge mir zuerst mal Literatur für die Einarbeitung. Aktuell bin ja absoluter Laie.

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @MartyBr last edited by

                                      @martybr Ja mach das - Du kannst ja auch mal ein Blockly Skript mal in NodeRed umsetzen, um die Unterschiede zu sehen. Nur aufpassen, dass Du nicht beides gleichzeitig laufen lässt. 😉
                                      Melde Dich halt ggf. in einem eigenen Thread.

                                      Hier hatte ich mal ein paar Videolinks zusammengestellt: https://forum.iobroker.net/post/470328

                                      Generell - finde ich die Tutorialvideos von Steve sehr empfehlenswert.

                                      Und falls Du Fragen hast, versuche ich ja hier zu unterstützen.

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MartyBr @mickym last edited by

                                        @mickym 👍

                                        1 Reply Last reply Reply Quote 0
                                        • frankthegreat
                                          frankthegreat @mickym last edited by

                                          @mickym sagte in Tageszähler Stromverbrauch:

                                          @frankthegreat Ja dann schau mal - wenn Du nicht initialisierst, dann musst Du halt 2 Perioden abwarten - damit eine vollständige Periode berechnet wird.

                                          Nach einer Woche Testlauf gibt's hier mal ein fettes "RESPEKT" 👏 👏 👏
                                          Super Sache, die du hier aus dem Hut gezogen hast.

                                          Logisch aufgebaut, leicht erweiterbar, DP's werden automatisch angelegt. Und wie ich sehe, gibt's schon wieder Verbesserungen und der Subflow wird auch von anderen genutzt. 👍

                                          Nochmal ein herzliches Dankeschön für deinen Einsatz.

                                          1 Reply Last reply Reply Quote 1
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          1.1k
                                          Online

                                          31.7k
                                          Users

                                          79.7k
                                          Topics

                                          1.3m
                                          Posts

                                          6
                                          57
                                          3091
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo