Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Tageszähler Stromverbrauch

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Tageszähler Stromverbrauch

Tageszähler Stromverbrauch

Scheduled Pinned Locked Moved Node-Red
57 Posts 6 Posters 6.2k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M MartyBr

    @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?

    mickymM Online
    mickymM Online
    mickym
    Most Active
    wrote on last edited by mickym
    #43

    @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":[]}]
    

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    M 1 Reply Last reply
    0
    • mickymM 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 Offline
      M Offline
      MartyBr
      wrote on last edited by
      #44

      @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!

      Gruß
      Martin


      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
      Raspeberry mit USB Leseköpfen für Smartmeter
      Homematic und Homematic IP

      1 Reply Last reply
      0
      • mickymM Online
        mickymM Online
        mickym
        Most Active
        wrote on last edited by mickym
        #45

        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.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        M 1 Reply Last reply
        0
        • mickymM 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 Offline
          M Offline
          MartyBr
          wrote on last edited by
          #46

          @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 😉

          Gruß
          Martin


          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
          Raspeberry mit USB Leseköpfen für Smartmeter
          Homematic und Homematic IP

          mickymM 1 Reply Last reply
          0
          • M MartyBr

            @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 😉

            mickymM Online
            mickymM Online
            mickym
            Most Active
            wrote on last edited by
            #47

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

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            M 1 Reply Last reply
            0
            • mickymM mickym

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

              M Offline
              M Offline
              MartyBr
              wrote on last edited by
              #48

              @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!

              Gruß
              Martin


              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
              Raspeberry mit USB Leseköpfen für Smartmeter
              Homematic und Homematic IP

              mickymM 1 Reply Last reply
              0
              • M MartyBr

                @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!

                mickymM Online
                mickymM Online
                mickym
                Most Active
                wrote on last edited by mickym
                #49

                @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. 😉

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                M 1 Reply Last reply
                0
                • mickymM 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 Offline
                  M Offline
                  MartyBr
                  wrote on last edited by
                  #50

                  @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?

                  Gruß
                  Martin


                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                  Raspeberry mit USB Leseköpfen für Smartmeter
                  Homematic und Homematic IP

                  mickymM 1 Reply Last reply
                  0
                  • M MartyBr

                    @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?

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    wrote on last edited by mickym
                    #51

                    @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.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    M 1 Reply Last reply
                    0
                    • mickymM 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 Offline
                      M Offline
                      MartyBr
                      wrote on last edited by
                      #52

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

                      Gruß
                      Martin


                      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                      Raspeberry mit USB Leseköpfen für Smartmeter
                      Homematic und Homematic IP

                      mickymM 1 Reply Last reply
                      0
                      • M MartyBr

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

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        wrote on last edited by mickym
                        #53

                        @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.

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        M 1 Reply Last reply
                        0
                        • mickymM 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 Offline
                          M Offline
                          MartyBr
                          wrote on last edited by
                          #54

                          @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.

                          Gruß
                          Martin


                          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                          Raspeberry mit USB Leseköpfen für Smartmeter
                          Homematic und Homematic IP

                          mickymM 1 Reply Last reply
                          0
                          • M MartyBr

                            @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.

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            wrote on last edited by
                            #55

                            @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.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            M 1 Reply Last reply
                            0
                            • mickymM mickym

                              @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 Offline
                              M Offline
                              MartyBr
                              wrote on last edited by
                              #56

                              @mickym 👍

                              Gruß
                              Martin


                              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                              Raspeberry mit USB Leseköpfen für Smartmeter
                              Homematic und Homematic IP

                              1 Reply Last reply
                              0
                              • mickymM mickym

                                @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.

                                frankthegreatF Offline
                                frankthegreatF Offline
                                frankthegreat
                                wrote on last edited by
                                #57

                                @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
                                1
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                604

                                Online

                                32.4k

                                Users

                                81.3k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe