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.
    • paul53
      paul53 @mickym last edited by

      @mickym sagte: in Wattminuten ausgegeben.

      Wmin sind nicht W/min.

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

        @mickym Sorry, nur kein Stress.
        Bin ja froh, das du dich da so engagierst 😎

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

          @paul53 Ok dann muss man es halt anders umrechnen - ich habe ja nur mal einen Korrekturfaktor eingebaut. Wie müsste der denn dann aussehen?

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

            @mickym sagte: ich habe ja nur mal einen Korrekturfaktor eingebaut. Wie müsste der denn dann aussehen?

            Der passt schon mit den korrekten Maßeinheiten Wmin und Wh: Wh = Wmin / 60

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

              @paul53 Ja genau so habe ich es ja gemacht mit 1/60 = Faktor 0,0167.

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

                So hier nochmal die Parameter der Subflownode erläutert:

                9d1e71b1-b9fc-4bb8-8f54-88f1182347f5-image.png

                Der Flow folgt gleich mit einem Beispiel:

                Parameter:

                counterSource : Hier gibt man den Datenpunkt des Zählers an, der überwacht werden soll.
                baseTopic : Hier gibt man den Basispfad ein, unter dem die Datenpunkte für Zählerstände und Verbrauchswerte abgespeichert werden sollen.
                changeFactor : Hier kann man einen Wert eingeben mit dem die ermittelten Differenzen der Zählerstände multipliziert werden sollen.
                counterOffset : Hier gibt einen Wert eingeben, der auf den aktuellen Zählerstand addiert wird, um ggf. einen Reset des Zählers zu kompensieren.

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

                  So als Basis für den Scheduler - der täglich, wöchentlich etc. triggert dient also die cronplus node.

                  Zum Initialisieren betätigt man einmal die trigger -all Inject Node, das ist aber nur alles zum Testen - die Datenpunkte werden sonst bei Bedarf angelegt. Ich hab das mal aus den Shellies mit meinen beiden FritzBoxen nun gemacht.

                  91d8c581-6021-4b0d-8379-631a75b2d339-image.png

                  Hier der Flow für den Scheduler:

                  [{"id":"bb070f61d47fcdfd","type":"cronplus","z":"289f539dcc33814e","name":"","outputField":"payload","timeZone":"","storeName":"","commandResponseMsgOutput":"output1","defaultLocation":"","defaultLocationType":"default","outputs":1,"options":[{"name":"daily","topic":"täglich","payloadType":"default","payload":"","expressionType":"cron","expression":"59 59 23 * * * *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"},{"name":"weekly","topic":"wöchentlich","payloadType":"default","payload":"","expressionType":"cron","expression":"59 59 23 * * 6 *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"},{"name":"monthly","topic":"monatlich","payloadType":"default","payload":"","expressionType":"cron","expression":"59 59 23 L * *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"},{"name":"yearly","topic":"jährlich","payloadType":"default","payload":"","expressionType":"cron","expression":"59 59 23 31 12 * *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"}],"x":300,"y":5480,"wires":[["fd9141731c825484","bf383941346e9ae4"]]},{"id":"f1b0b23ecc796e87","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"trigger-all","x":100,"y":5420,"wires":[["bb070f61d47fcdfd"]]},{"id":"54b71782eaa202fa","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"trigger","payload":"daily","payloadType":"str","x":110,"y":5480,"wires":[["bb070f61d47fcdfd"]]},{"id":"d8046ce919ab4e18","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"trigger","payload":"weekly","payloadType":"str","x":110,"y":5520,"wires":[["bb070f61d47fcdfd"]]}]
                  

                  Die cronplus Node muss man sich installieren: https://flows.nodered.org/node/node-red-contrib-cron-plus

                  Nun der Subflow als eigene Node:
                  52e8900b-f3bc-4a4e-9b1b-924d4b7abd55-image.png

                  [{"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":"897ac0a3992b06da","type":"subflow:dea0daa6098ba7f9","z":"289f539dcc33814e","name":"","x":710,"y":5780,"wires":[[]]}]
                  

                  Sobald Du diese Node importiert hast, hast Du unter Deinen Subflows eine neue Node, die Du immer wieder verwenden kannst:
                  e9502e93-0db0-4fcb-a302-b60356dd5f95-image.png

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

                    Hier nun ein Beispiel mit dem gleichen Scheduler und 2 Geräten:

                    85536878-770b-4151-b856-d24d835828e4-image.png

                    und nun ein Beispiel eine Fritzbox mit den Parametern:

                    2ab2b9eb-04b2-4b3e-9746-6ed0dbbc2bcc-image.png

                    Daraus ergibt nach triggern aller Scheduler folgende Datenstruktur mit dem Auslesen der Zählerstände:

                    0b2ad0ac-3b56-4a52-ac97-86faf4f743c4-image.png

                    Die Differenzen ergeben sich dann aus den jeweils gespeicherten Zählerständen mit der entsprecehenden Umrechnung.

                    Nach dem testweise triggern des daily Triggers ergeben sich dann folgende Werte:

                    2d7e22e8-ae21-44ba-a539-32a507294f8e-image.png

                    Wie gesagt sollte man dann aber die Zählerstände wieder zurücksetzen, damit man dann korrekte Werte enthält - die manuellen Trigger dienen ja nur zum Testen.

                    Nachtrag: Einmal alle Scheduler zu triggern macht insofern Sinn, dass alle Zählerstände erfasst werden und damit nicht erst beim nächsten kompletten Zyklus. Für die Jahresstatistik ist das sicherlich sinnvoll. 😉

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

                      Wie gesagt ich hab den Flow nun so gebaut, dass er gleichzeit den Verbrauch des jeweiligen Events ausgibt:

                      913bbd88-f6e5-4dbf-9e89-afdda8e0c8b1-image.png

                      Somit kann man sich ggf. bei negativen Werten aufgrund von Zählerresets - diese Zählerstände manuell korrigieren und dann einen Offset in die Node eintragen.

                      Will man alles zurücksetzen, dann einfach alle Datenpunkte löschen und dann einmal alle Schedulerevents triggern, um die Zählerstände neu einzulesen.

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

                        Es ist übrigens auch ganz einfach neue Schedule-Events nachzutragen:

                        1743499f-1eea-4bfc-913e-32f684d1c018-image.png

                        Die Datenpunkte werden dann automatisch erzeugt:

                        2cd8f1aa-30ff-4d00-a270-faf7dbaca539-image.png

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

                          @mickym
                          Bin beeindruckt 👍 👍 👍

                          Vielen Dank schonmal.
                          Werde diese Woche mal einen Testlauf machen 🤘

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

                            @frankthegreat Ja dann schau mal - wenn Du nicht initialisierst, dann musst Du halt 2 Perioden abwarten - damit eine vollständige Periode berechnet wird. Sprich wenn Du nicht alles triggerst, werden die Zählerstände erst mit dem ersten Eintreten des Ereignisses erfasst.

                            11cad739-9ccc-49ab-8588-207341fd779d-image.png

                            Na mal schauen, ob es das so tut. Das Stundenergebnis umgerechnet - schaut aber gut aus und entspricht den Wh, die für die Geräte berichtet werden.

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

                              Ggf. ist es sinnvoller - die Trigger alle gegen 0:00:00 starten zu lassen. Dann muss man die Scheduler halt entsprechend ändern:

                              b4ece280-c0d9-4e82-b0c1-8dfaad691ca2-image.png

                              M 1 Reply Last reply Reply Quote 0
                              • C
                                CäptnBlaubär @frankthegreat last edited by

                                @frankthegreat
                                Sourceanalytix (V0.4.14) hat auch mich, einen nicht unerheblichen Teil, meiner Zeit gekostet 😕
                                Sourceanalytix (in meinem Fall Ermittlung der Solarproduktion, Eigenverbrauch, etc) )scheint die Differenz zum vorherigen Wert scheinbar erst zu ermitteln, wenn sich der zu triggernde Wert ändert, d.h. der zuletzt gelesene Wert wird beibehalten, und zwar unabhängig davon ob ein Tageswechsel stattgefunden hat. (Es soll ja eine neue Version in Arbeit sein)
                                Somit steht im currentday-Datenpunkt nach 00:00 Uhr immer noch der Tageswert des vorangegangenen Tages, bis eben der Datenpunkt bei aufgehender Sonne wieder weitergezählt wird.
                                Meine Lösung:
                                ->Blockly mit Addition von 1 Watt auf den betreffenden Datenpunkt um 00:01 Uhr.
                                Wenn's supergenau sein soll kann das 1 Watt ja nach Sonnenaufgang wieder abgezogen werden.
                                Damit werden auch alle untergeordneten Datenpunkte für Monat, Jahr, Quartal, etc tagesgenau aktualisiert.

                                frankthegreat 1 Reply Last reply Reply Quote 0
                                • frankthegreat
                                  frankthegreat @CäptnBlaubär last edited by

                                  @cäptnblaubär
                                  Jepp, hab mit Sourceanalytics auch einiges an Zeit investiert. Ergebnis war aber ernüchternd 😠
                                  Von der Sache her ein guter Adapter mit jeder Menge DP's.
                                  Mir kommt es ja auch nicht auf Milli-Watt-Genauigkeit an 😬

                                  Aber der Tageszähler sollte schon täglich um 0:00 oder 'ne Sekunde vorher wieder auf 0 springen. Die anderen Zähler hab ich zwar nicht probiert, vermutlich machen die das aber auch nicht.
                                  Von daher ist der SA Adapter leider nicht zu gebrauchen. Schade um die viele Zeit, die der Entwickler da investiert hat 😒

                                  ? 1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @frankthegreat last edited by

                                    mir hat das enorm geholfen. danke

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

                                      @mickym
                                      Hallo @mickym ,
                                      kurz zu mir: Ich habe keinerlei Erfahrung mit Node-red und bin gerade über diesen Thread gestolpert und versuche die Programmierung nachzuvollziehen.
                                      Ich habe deinen Flow installiert. Die Datenpunkte sind auch angelegt worden.
                                      Ich stolpere aber an (mindesten) zwei Stellen:
                                      Wie kann ich die Schedules erweitern? Ich hätte gerne zusätzlich stündlich und jährlich.
                                      Weiter benötige ich eine Kostenauswertung getrennt nach Gerät.

                                      Mein Stand ist der Import des letzten Flows.

                                      Viele Grüße
                                      Martin

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

                                        @martybr
                                        Das habe ich nun angepasst. Ist das so in Ordnung?

                                        [
                                            {
                                                "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": "59 59 23 * * * *",
                                                        "location": "",
                                                        "offset": "0",
                                                        "solarType": "all",
                                                        "solarEvents": "sunrise,sunset"
                                                    },
                                                    {
                                                        "name": "weekly",
                                                        "topic": "wöchentlich",
                                                        "payloadType": "default",
                                                        "payload": "",
                                                        "expressionType": "cron",
                                                        "expression": "59 59 23 * * 6 *",
                                                        "location": "",
                                                        "offset": "0",
                                                        "solarType": "all",
                                                        "solarEvents": "sunrise,sunset"
                                                    },
                                                    {
                                                        "name": "monthly",
                                                        "topic": "monatlich",
                                                        "payloadType": "default",
                                                        "payload": "",
                                                        "expressionType": "cron",
                                                        "expression": "59 59 23 L * *",
                                                        "location": "",
                                                        "offset": "0",
                                                        "solarType": "all",
                                                        "solarEvents": "sunrise,sunset"
                                                    },
                                                    {
                                                        "name": "yearly",
                                                        "topic": "jährlich",
                                                        "payloadType": "default",
                                                        "payload": "",
                                                        "expressionType": "cron",
                                                        "expression": "59 59 23 31 12 * *",
                                                        "location": "",
                                                        "offset": "0",
                                                        "solarType": "all",
                                                        "solarEvents": "sunrise,sunset"
                                                    }
                                                ],
                                                "x": 340,
                                                "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": 60,
                                                "wires": [
                                                    [
                                                        "bb070f61d47fcdfd"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "54b71782eaa202fa",
                                                "type": "inject",
                                                "z": "b6a02d4027b9655a",
                                                "name": "",
                                                "props": [
                                                    {
                                                        "p": "payload"
                                                    },
                                                    {
                                                        "p": "topic",
                                                        "vt": "str"
                                                    }
                                                ],
                                                "repeat": "",
                                                "crontab": "",
                                                "once": false,
                                                "onceDelay": 0.1,
                                                "topic": "trigger",
                                                "payload": "daily",
                                                "payloadType": "str",
                                                "x": 110,
                                                "y": 180,
                                                "wires": [
                                                    [
                                                        "bb070f61d47fcdfd"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "d8046ce919ab4e18",
                                                "type": "inject",
                                                "z": "b6a02d4027b9655a",
                                                "name": "",
                                                "props": [
                                                    {
                                                        "p": "payload"
                                                    },
                                                    {
                                                        "p": "topic",
                                                        "vt": "str"
                                                    }
                                                ],
                                                "repeat": "",
                                                "crontab": "",
                                                "once": false,
                                                "onceDelay": 0.1,
                                                "topic": "trigger",
                                                "payload": "weekly",
                                                "payloadType": "str",
                                                "x": 110,
                                                "y": 240,
                                                "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": 570,
                                                "y": 80,
                                                "wires": [
                                                    []
                                                ]
                                            },
                                            {
                                                "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": 570,
                                                "y": 160,
                                                "wires": [
                                                    []
                                                ]
                                            },
                                            {
                                                "id": "3bdc50cc2fcf8f69",
                                                "type": "inject",
                                                "z": "b6a02d4027b9655a",
                                                "name": "",
                                                "props": [
                                                    {
                                                        "p": "payload"
                                                    },
                                                    {
                                                        "p": "topic",
                                                        "vt": "str"
                                                    }
                                                ],
                                                "repeat": "",
                                                "crontab": "",
                                                "once": false,
                                                "onceDelay": 0.1,
                                                "topic": "trigger",
                                                "payload": "hour",
                                                "payloadType": "str",
                                                "x": 110,
                                                "y": 120,
                                                "wires": [
                                                    [
                                                        "bb070f61d47fcdfd"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "361255190e614223",
                                                "type": "inject",
                                                "z": "b6a02d4027b9655a",
                                                "name": "",
                                                "props": [
                                                    {
                                                        "p": "payload"
                                                    },
                                                    {
                                                        "p": "topic",
                                                        "vt": "str"
                                                    }
                                                ],
                                                "repeat": "",
                                                "crontab": "",
                                                "once": false,
                                                "onceDelay": 0.1,
                                                "topic": "trigger",
                                                "payload": "month",
                                                "payloadType": "str",
                                                "x": 110,
                                                "y": 300,
                                                "wires": [
                                                    [
                                                        "bb070f61d47fcdfd"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "e9bd0262aa73e1c0",
                                                "type": "inject",
                                                "z": "b6a02d4027b9655a",
                                                "name": "",
                                                "props": [
                                                    {
                                                        "p": "payload"
                                                    },
                                                    {
                                                        "p": "topic",
                                                        "vt": "str"
                                                    }
                                                ],
                                                "repeat": "",
                                                "crontab": "",
                                                "once": false,
                                                "onceDelay": 0.1,
                                                "topic": "trigger",
                                                "payload": "year",
                                                "payloadType": "str",
                                                "x": 110,
                                                "y": 360,
                                                "wires": [
                                                    [
                                                        "bb070f61d47fcdfd"
                                                    ]
                                                ]
                                            }
                                        ]
                                        

                                        Bildschirmfoto 2024-04-10 um 12.46.24.png

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

                                          Nein - die Inject Nodes mit dem manuellen Trigger brauchst Du eigentlich nicht, wenn Du erst alles mit allen Triggern initialisiert hast. ]

                                          Wie Du die cron-Plus Node um Stunden erweiterst habe ich doch hier gezeigt:
                                          https://forum.iobroker.net/post/1148049
                                          bzw. mit 0:00 als Startzeit was ich persönlich schöner finde hier:
                                          https://forum.iobroker.net/post/1148199

                                          Aber für Dich gerne nochmal die Node mit einem Stundentrigger:

                                          [{"id":"bb070f61d47fcdfd","type":"cronplus","z":"289f539dcc33814e","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":300,"y":5480,"wires":[["fd9141731c825484","bf383941346e9ae4"]]}]
                                          

                                          Wenn Du manuell einen bestimmten Trigger auslösen möchtest, dann musst Du den Namen des Schedulers in die payload schreiben:

                                          9c3edf08-6847-4160-8965-9ead52f67af6-image.png

                                          Ich hab Dir das korrespondierende reingeschrieben.

                                          Die Subflows Nodes sind soweit in Ordnung. Jährlich war schon in der urspünglichen Node enthalten - das siehst Du an den Schedulern - NICHT an den Inject Nodes - die sind NUR zum TESTEN des jeweiligen Schedulers.!!!!

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

                                            @martybr sagte in Tageszähler Stromverbrauch:

                                            Weiter benötige ich eine Kostenauswertung getrennt nach Gerät.

                                            Ich will den Flow selbst nicht weiter aufblähen, aber Du kannst den Flow natürlich beliebige erweitern. Du kannst ja über die iobroker-In Nodes einen weiteren Flow anstoßen, wenn der Datenpunkt getriggert oder geschrieben wurde bzw. deswegen habe ich es ja gemacht wird ja jeder Verbrauch auch ausgegeben.

                                            In diesem Post siehst Du doch, dass jeder Verbrauch auch nochmal ausgegeben wird:
                                            https://forum.iobroker.net/post/1148046

                                            6d3f7ccf-0394-45fd-9da0-296243df6a34-image.png

                                            Da ich das ja die bisherige Einheit Wattstunden war Wh - musst ggf. halt umrechnen auf kWh ( und durch 1000 dividieren) und dann halt mit dem cent Preis multiplizieren.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            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