Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Victron Photovoltaik Anlage Daten für ioBroker auslesen!

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    675

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Victron Photovoltaik Anlage Daten für ioBroker auslesen!

Scheduled Pinned Locked Moved Unsolved ioBroker Allgemein
230 Posts 45 Posters 73.8k Views 41 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.
  • mickymM mickym

    @jacke Wenn Du NodeRed benutzt habe ich einen tollen Subflow für Dich:

    https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

    Ein JSON String ist die beste und am wenigsten aufwendige Art Daten zu übertragen. Man kann alles in einzelnen Datenpunkte zerlegen. Das aber zu lassen und die JS Objekte in NodeRed direkt zu verarbeiten hat viele Vorteile, auch wenn es Dir am Anfang kryptischer aussieht. JSON Strings sind zudem ein Standard um Daten zwischen verschiedenen Systemen auszutauschen.

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    wrote on last edited by mickym
    #132

    @mickym Die Zerlegung eines JSON Strings siehst Du in dem Thread als 6. Beispiel. ;) Und ein Adapter der MQTT Nachrichten interpretiert ist kein MQTT-Adapter mehr. Ich bin froh, dass er das nicht tut.

    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.

    1 Reply Last reply
    0
    • F fuci

      @mlapp Vielen Dank für deine Vorarbeit. Meine Zählerdaten liegen bereits von der bestehenden Anlage im ioBroker vor. Diese möchte ich auf die von dir beschrieben Weise gern auf die Venus übertragen. Der Zähler muss ja auf dem Victron System (bei mir ein Raspberry PI 3) emuliert werden, oder? Hast du den Code nur für deine Config angepasst?

      Wie hast du die Struktur für deinen Hauszaehler angelegt?

      Kannst du vielleicht dein Skript zur Übertragung deiner Werte als Beispiel zur Verfügung stellen?

      Vielen Dank für deinen Einsatz.
      Ben

      M Offline
      M Offline
      mlapp
      wrote on last edited by mlapp
      #133

      @fuci said in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

      Wie hast du die Struktur für deinen Hauszaehler angelegt?

      Kannst du vielleicht dein Skript zur Übertragung deiner Werte als Beispiel zur Verfügung stellen?

      Die Struktur hab ich im Broker von Hand erzeugt. Sind teilweise Ordner, Kanäle oder dann die Datenpunkt (alle numerisch)

      Hier das Script:
      var Einspeisung, CurrentL1, CurrentL2, CurrentL3;

      on({id: "sonoff.0.StromzählerHaus.SM_16_7_0"/StromzählerHaus SM 16_7_0/, change: "any"}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      CurrentL1 = Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_36_7_0").val) / getState("smartmeter.1.1-0:32_7_0__255.value").val)*100)/100;
      CurrentL2 = Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_56_7_0").val) / getState("smartmeter.1.1-0:52_7_0__255.value").val)*100)/100;
      CurrentL3 = Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_76_7_0").val) / getState("smartmeter.1.1-0:72_7_0__255.value").val)*100)/100;
      setState("mqtt.0.Hauszähler.sdm1-1.Voltage.L1"/Voltage.L1/, getState("smartmeter.1.1-0:32_7_0__255.value").val);
      setState("mqtt.0.Hauszähler.sdm1-1.Voltage.L2"/Voltage.L2/, getState("smartmeter.1.1-0:52_7_0__255.value").val);
      setState("mqtt.0.Hauszähler.sdm1-1.Voltage.L3"/Voltage.L3/, getState("smartmeter.1.1-0:72_7_0__255.value").val);
      setState("mqtt.0.Hauszähler.sdm1-1.Current.L1"/Current.L1/, CurrentL1);
      setState("mqtt.0.Hauszähler.sdm1-1.Current.L2"/Current.L2/, CurrentL2);
      setState("mqtt.0.Hauszähler.sdm1-1.Current.L3"/Current.L3/, CurrentL3);
      setState("mqtt.0.Hauszähler.sdm1-1.Current"/Current/, (parseFloat(CurrentL1) + parseFloat(CurrentL2) + CurrentL3));
      setState("mqtt.0.Hauszähler.sdm1-1.Power.L1"/Power.L1/, getState("sonoff.0.StromzählerHaus.SM_36_7_0").val);
      setState("mqtt.0.Hauszähler.sdm1-1.Power.L2"/Power.L2/, getState("sonoff.0.StromzählerHaus.SM_56_7_0").val);
      setState("mqtt.0.Hauszähler.sdm1-1.Power.L3"/Power.L3/, getState("sonoff.0.StromzählerHaus.SM_76_7_0").val);
      setState("mqtt.0.Hauszähler.sdm1-1.Power"/Power/, getState("sonoff.0.StromzählerHaus.SM_16_7_0").val);
      setState("mqtt.0.Hauszähler.sdm1-1.Import"/Import/, Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_1_8_0").val) / 1000)*100)/100);
      setState("mqtt.0.Hauszähler.sdm1-1.Export"/Export/, Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_2_8_0").val) / 1000)*100)/100);
      // Ab hier Werte für Display füllen
      setState("mqtt.0.Spannung"/Spannung/, getState("smartmeter.1.1-0:32_7_0__255.value").val);
      setState("mqtt.0.Strom"/Strom/, Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_16_7_0").val) / getState("smartmeter.1.1-0:32_7_0__255.value").val)*100)/100);
      setState("mqtt.0.Leistung"/Leistung/, getState("sonoff.0.StromzählerHaus.SM_16_7_0").val);
      setState("mqtt.0.SoC"/SoC/, 76.456);
      setState("mqtt.0.BMSTemp"/BMSTemp/, getState("zigbee.0.00158d0001c2a13e.temperature").val);
      });

      Hoffe das hilft weiter :-)

      F 1 Reply Last reply
      0
      • J Offline
        J Offline
        Jacke
        wrote on last edited by
        #134

        @mickym said in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

        Wenn Du NodeRed benutzt habe ich einen tollen Subflow für Dich:

        https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

        Ein JSON String ist die beste und am wenigsten aufwendige Art Daten zu übertragen. Man kann alles in einzelnen Datenpunkte zerlegen. Das aber zu lassen und die JS Objekte in NodeRed direkt zu verarbeiten hat viele Vorteile, auch wenn es Dir am Anfang kryptischer aussieht. JSON Strings sind zudem ein Standard um Daten zwischen verschiedenen Systemen auszutauschen.

        Habe es mal getestet irgendetwas funktioniert beim erstellen des Subflows nicht ich bekomme immer die Fehlermeldung.

        node red cannot read properties of undefined reading length

        mickymM 1 Reply Last reply
        0
        • M mlapp

          @fuci said in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

          Wie hast du die Struktur für deinen Hauszaehler angelegt?

          Kannst du vielleicht dein Skript zur Übertragung deiner Werte als Beispiel zur Verfügung stellen?

          Die Struktur hab ich im Broker von Hand erzeugt. Sind teilweise Ordner, Kanäle oder dann die Datenpunkt (alle numerisch)

          Hier das Script:
          var Einspeisung, CurrentL1, CurrentL2, CurrentL3;

          on({id: "sonoff.0.StromzählerHaus.SM_16_7_0"/StromzählerHaus SM 16_7_0/, change: "any"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          CurrentL1 = Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_36_7_0").val) / getState("smartmeter.1.1-0:32_7_0__255.value").val)*100)/100;
          CurrentL2 = Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_56_7_0").val) / getState("smartmeter.1.1-0:52_7_0__255.value").val)*100)/100;
          CurrentL3 = Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_76_7_0").val) / getState("smartmeter.1.1-0:72_7_0__255.value").val)*100)/100;
          setState("mqtt.0.Hauszähler.sdm1-1.Voltage.L1"/Voltage.L1/, getState("smartmeter.1.1-0:32_7_0__255.value").val);
          setState("mqtt.0.Hauszähler.sdm1-1.Voltage.L2"/Voltage.L2/, getState("smartmeter.1.1-0:52_7_0__255.value").val);
          setState("mqtt.0.Hauszähler.sdm1-1.Voltage.L3"/Voltage.L3/, getState("smartmeter.1.1-0:72_7_0__255.value").val);
          setState("mqtt.0.Hauszähler.sdm1-1.Current.L1"/Current.L1/, CurrentL1);
          setState("mqtt.0.Hauszähler.sdm1-1.Current.L2"/Current.L2/, CurrentL2);
          setState("mqtt.0.Hauszähler.sdm1-1.Current.L3"/Current.L3/, CurrentL3);
          setState("mqtt.0.Hauszähler.sdm1-1.Current"/Current/, (parseFloat(CurrentL1) + parseFloat(CurrentL2) + CurrentL3));
          setState("mqtt.0.Hauszähler.sdm1-1.Power.L1"/Power.L1/, getState("sonoff.0.StromzählerHaus.SM_36_7_0").val);
          setState("mqtt.0.Hauszähler.sdm1-1.Power.L2"/Power.L2/, getState("sonoff.0.StromzählerHaus.SM_56_7_0").val);
          setState("mqtt.0.Hauszähler.sdm1-1.Power.L3"/Power.L3/, getState("sonoff.0.StromzählerHaus.SM_76_7_0").val);
          setState("mqtt.0.Hauszähler.sdm1-1.Power"/Power/, getState("sonoff.0.StromzählerHaus.SM_16_7_0").val);
          setState("mqtt.0.Hauszähler.sdm1-1.Import"/Import/, Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_1_8_0").val) / 1000)*100)/100);
          setState("mqtt.0.Hauszähler.sdm1-1.Export"/Export/, Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_2_8_0").val) / 1000)*100)/100);
          // Ab hier Werte für Display füllen
          setState("mqtt.0.Spannung"/Spannung/, getState("smartmeter.1.1-0:32_7_0__255.value").val);
          setState("mqtt.0.Strom"/Strom/, Math.round((parseFloat(getState("sonoff.0.StromzählerHaus.SM_16_7_0").val) / getState("smartmeter.1.1-0:32_7_0__255.value").val)*100)/100);
          setState("mqtt.0.Leistung"/Leistung/, getState("sonoff.0.StromzählerHaus.SM_16_7_0").val);
          setState("mqtt.0.SoC"/SoC/, 76.456);
          setState("mqtt.0.BMSTemp"/BMSTemp/, getState("zigbee.0.00158d0001c2a13e.temperature").val);
          });

          Hoffe das hilft weiter :-)

          F Offline
          F Offline
          fuci
          wrote on last edited by
          #135

          @mlapp said in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

          sdm1-1.Voltage.L1

          9faa55da-781b-4553-b139-d29d59468654-image.png

          Vielen Dank für deine Hilfe. Bis hierhin habe ich es nun gebracht... Lasten kann er negativ wohl nicht vertragen.

          Wie bist du damit verfahren?
          Hast du weitere Werte emuliert?

          M 2 Replies Last reply
          0
          • J Jacke

            @mickym said in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

            Wenn Du NodeRed benutzt habe ich einen tollen Subflow für Dich:

            https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

            Ein JSON String ist die beste und am wenigsten aufwendige Art Daten zu übertragen. Man kann alles in einzelnen Datenpunkte zerlegen. Das aber zu lassen und die JS Objekte in NodeRed direkt zu verarbeiten hat viele Vorteile, auch wenn es Dir am Anfang kryptischer aussieht. JSON Strings sind zudem ein Standard um Daten zwischen verschiedenen Systemen auszutauschen.

            Habe es mal getestet irgendetwas funktioniert beim erstellen des Subflows nicht ich bekomme immer die Fehlermeldung.

            node red cannot read properties of undefined reading length

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            wrote on last edited by
            #136

            @jacke Der Subflow exisistiert doch schon. Sonst poste mal den JSON String hier in Code-Tags und kann es selbst versuchen.

            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.

            1 Reply Last reply
            0
            • F fuci

              @mlapp said in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

              sdm1-1.Voltage.L1

              9faa55da-781b-4553-b139-d29d59468654-image.png

              Vielen Dank für deine Hilfe. Bis hierhin habe ich es nun gebracht... Lasten kann er negativ wohl nicht vertragen.

              Wie bist du damit verfahren?
              Hast du weitere Werte emuliert?

              M Offline
              M Offline
              mlapp
              wrote on last edited by
              #137

              @fuci
              negative Werte sind im Code abgefangen und werden auf 0 gesetzt.
              Das hab ich auskommentiert und neu kompiliert, sonst bringt das ja nichts.
              Das System muss doch wissen, wenn ein PV Überschuss vorliegt.
              Keine Ahnung warum das so gemacht wurde.

              1 Reply Last reply
              0
              • J Offline
                J Offline
                Jacke
                wrote on last edited by Jacke
                #138

                @mickym ich habe es so verstanden das ich den Code aus dem Link unter Punkt 1 als subflow importieren muss.

                28.3.2022, 23:47:46node: abcde12346788
                N/abcde12345678/vebus/289/Energy/AcIn1ToInverter : msg.payload : string[29]
                "{"value": 28.635589599609375}"
                
                mickymM 1 Reply Last reply
                0
                • J Jacke

                  @mickym ich habe es so verstanden das ich den Code aus dem Link unter Punkt 1 als subflow importieren muss.

                  28.3.2022, 23:47:46node: abcde12346788
                  N/abcde12345678/vebus/289/Energy/AcIn1ToInverter : msg.payload : string[29]
                  "{"value": 28.635589599609375}"
                  
                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  wrote on last edited by
                  #139

                  @jacke Ich hab die Versionen mal bereinigt. HIer ist die aktuelle Version:

                  Das was Du importierst ist kein JSON String - entweder Du steckst das sowieso in eine String Feld dann brauchst Du die Anführungszeichen nicht - oder Du definierst einen String in Javascript - dann musst das aber in einfache Anführungszeichen stecken.

                  Importiere den Flow wie hier
                  20447e6a-b6ac-485b-b1f9-17fad50ebb08-image.png

                  und Du bekommst das Ergebnis:

                  9a9ca0a8-9e0d-4f3c-a6a6-6f4022fb7407-image.png

                  [
                     {
                         "id": "6e802f1553b18149",
                         "type": "subflow",
                         "name": "JSON or Obj to IOBroker",
                         "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the top-value of the node (environment variable top) is used. \n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der top-Wert (Umgebungsvariable top) der Node verwendet. <br>\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. ",
                         "category": "",
                         "in": [
                             {
                                 "x": 60,
                                 "y": 160,
                                 "wires": [
                                     {
                                         "id": "e023fe88445ce43e"
                                     }
                                 ]
                             }
                         ],
                         "out": [
                             {
                                 "x": 2120,
                                 "y": 280,
                                 "wires": [
                                     {
                                         "id": "f5d52c6a57d08904",
                                         "port": 0
                                     },
                                     {
                                         "id": "74c895ce724750de",
                                         "port": 0
                                     }
                                 ]
                             }
                         ],
                         "env": [
                             {
                                 "name": "top",
                                 "type": "str",
                                 "value": "objRoot"
                             }
                         ],
                         "meta": {},
                         "color": "#E2D96E",
                         "icon": "node-red/batch.svg"
                     },
                     {
                         "id": "3e11e8338f694832",
                         "type": "split",
                         "z": "6e802f1553b18149",
                         "name": "split object",
                         "splt": "\\n",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "key",
                         "x": 1170,
                         "y": 160,
                         "wires": [
                             [
                                 "0562a4249c8b856b"
                             ]
                         ]
                     },
                     {
                         "id": "0562a4249c8b856b",
                         "type": "change",
                         "z": "6e802f1553b18149",
                         "name": "add key to topic",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "stateName",
                                 "pt": "msg",
                                 "to": "key",
                                 "tot": "msg"
                             },
                             {
                                 "t": "set",
                                 "p": "topic",
                                 "pt": "msg",
                                 "to": "topic  & '.' & key",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "change",
                                 "p": "topic",
                                 "pt": "msg",
                                 "from": " ",
                                 "fromt": "str",
                                 "to": "_",
                                 "tot": "str"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1360,
                         "y": 160,
                         "wires": [
                             [
                                 "ddc90985bef0fafa"
                             ]
                         ]
                     },
                     {
                         "id": "ddc90985bef0fafa",
                         "type": "switch",
                         "z": "6e802f1553b18149",
                         "name": "is type?",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "istype",
                                 "v": "array",
                                 "vt": "array"
                             },
                             {
                                 "t": "istype",
                                 "v": "object",
                                 "vt": "object"
                             },
                             {
                                 "t": "else"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 3,
                         "x": 1540,
                         "y": 160,
                         "wires": [
                             [
                                 "bfce19b206660fbe"
                             ],
                             [
                                 "3e11e8338f694832"
                             ],
                             [
                                 "1a8c03d866b85b12"
                             ]
                         ]
                     },
                     {
                         "id": "bfce19b206660fbe",
                         "type": "split",
                         "z": "6e802f1553b18149",
                         "name": "split array",
                         "splt": "\\n",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "",
                         "x": 580,
                         "y": 280,
                         "wires": [
                             [
                                 "e89927810c6d75ec"
                             ]
                         ]
                     },
                     {
                         "id": "e89927810c6d75ec",
                         "type": "change",
                         "z": "6e802f1553b18149",
                         "name": "add index to topic",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "topic",
                                 "pt": "msg",
                                 "to": "topic  & '.' & parts.index",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 770,
                         "y": 280,
                         "wires": [
                             [
                                 "a4d1a5d04564dc77"
                             ]
                         ]
                     },
                     {
                         "id": "f5d52c6a57d08904",
                         "type": "change",
                         "z": "6e802f1553b18149",
                         "name": "finalize msg.topic",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "top",
                                 "pt": "msg",
                                 "to": "'0_userdata.0.' & top",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "topic",
                                 "pt": "msg",
                                 "to": "top & topic",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "change",
                                 "p": "topic",
                                 "pt": "msg",
                                 "from": "..",
                                 "fromt": "str",
                                 "to": ".",
                                 "tot": "str"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1970,
                         "y": 240,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "c863dd7d651b2272",
                         "type": "switch",
                         "z": "6e802f1553b18149",
                         "name": "is type?",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "istype",
                                 "v": "json",
                                 "vt": "json"
                             },
                             {
                                 "t": "istype",
                                 "v": "object",
                                 "vt": "object"
                             },
                             {
                                 "t": "istype",
                                 "v": "array",
                                 "vt": "array"
                             },
                             {
                                 "t": "else"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 4,
                         "x": 400,
                         "y": 160,
                         "wires": [
                             [
                                 "158930afddd0780b"
                             ],
                             [
                                 "3e11e8338f694832"
                             ],
                             [
                                 "bfce19b206660fbe"
                             ],
                             [
                                 "a4d1a5d04564dc77"
                             ]
                         ]
                     },
                     {
                         "id": "158930afddd0780b",
                         "type": "json",
                         "z": "6e802f1553b18149",
                         "name": "",
                         "property": "payload",
                         "action": "",
                         "pretty": false,
                         "x": 570,
                         "y": 120,
                         "wires": [
                             [
                                 "3649300b4c233b10"
                             ]
                         ]
                     },
                     {
                         "id": "1a8c03d866b85b12",
                         "type": "switch",
                         "z": "6e802f1553b18149",
                         "name": "is msg.top != null",
                         "property": "top",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "nnull"
                             },
                             {
                                 "t": "null"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 1750,
                         "y": 280,
                         "wires": [
                             [
                                 "f5d52c6a57d08904"
                             ],
                             [
                                 "74c895ce724750de"
                             ]
                         ]
                     },
                     {
                         "id": "e023fe88445ce43e",
                         "type": "change",
                         "z": "6e802f1553b18149",
                         "name": "",
                         "rules": [
                             {
                                 "t": "delete",
                                 "p": "topic",
                                 "pt": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 210,
                         "y": 160,
                         "wires": [
                             [
                                 "c863dd7d651b2272"
                             ]
                         ]
                     },
                     {
                         "id": "3649300b4c233b10",
                         "type": "switch",
                         "z": "6e802f1553b18149",
                         "name": "is array?",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "istype",
                                 "v": "array",
                                 "vt": "array"
                             },
                             {
                                 "t": "else"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 700,
                         "y": 120,
                         "wires": [
                             [
                                 "bfce19b206660fbe"
                             ],
                             [
                                 "3e11e8338f694832"
                             ]
                         ]
                     },
                     {
                         "id": "1b8480cd2df7ba3f",
                         "type": "comment",
                         "z": "6e802f1553b18149",
                         "name": "Array",
                         "info": "",
                         "x": 400,
                         "y": 280,
                         "wires": []
                     },
                     {
                         "id": "b3541807672be040",
                         "type": "comment",
                         "z": "6e802f1553b18149",
                         "name": "object",
                         "info": "",
                         "x": 1140,
                         "y": 100,
                         "wires": []
                     },
                     {
                         "id": "a4d1a5d04564dc77",
                         "type": "switch",
                         "z": "6e802f1553b18149",
                         "name": "is type?",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "istype",
                                 "v": "object",
                                 "vt": "object"
                             },
                             {
                                 "t": "istype",
                                 "v": "array",
                                 "vt": "array"
                             },
                             {
                                 "t": "else"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 3,
                         "x": 960,
                         "y": 280,
                         "wires": [
                             [
                                 "3e11e8338f694832"
                             ],
                             [
                                 "bfce19b206660fbe"
                             ],
                             [
                                 "1a8c03d866b85b12"
                             ]
                         ]
                     },
                     {
                         "id": "74c895ce724750de",
                         "type": "change",
                         "z": "6e802f1553b18149",
                         "name": "finalize msg.topic",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "top",
                                 "pt": "msg",
                                 "to": "top",
                                 "tot": "env"
                             },
                             {
                                 "t": "set",
                                 "p": "top",
                                 "pt": "msg",
                                 "to": "'0_userdata.0.' & top",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "topic",
                                 "pt": "msg",
                                 "to": "top & topic",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "change",
                                 "p": "topic",
                                 "pt": "msg",
                                 "from": "..",
                                 "fromt": "str",
                                 "to": ".",
                                 "tot": "str"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1970,
                         "y": 320,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "d96bb7472b11a9ff",
                         "type": "subflow:6e802f1553b18149",
                         "z": "54b226bc.0793e8",
                         "name": "",
                         "env": [
                             {
                                 "name": "top",
                                 "value": "Jacke",
                                 "type": "str"
                             }
                         ],
                         "x": 730,
                         "y": 2920,
                         "wires": [
                             [
                                 "69d943768e3840cd"
                             ]
                         ]
                     },
                     {
                         "id": "0325ef3a2336e7f0",
                         "type": "inject",
                         "z": "54b226bc.0793e8",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "{\"value\": 28.635589599609375}",
                         "payloadType": "str",
                         "x": 510,
                         "y": 2920,
                         "wires": [
                             [
                                 "d96bb7472b11a9ff"
                             ]
                         ]
                     },
                     {
                         "id": "69d943768e3840cd",
                         "type": "ioBroker out",
                         "z": "54b226bc.0793e8",
                         "name": "",
                         "topic": "",
                         "ack": "true",
                         "autoCreate": "true",
                         "stateName": "",
                         "role": "",
                         "payloadType": "",
                         "readonly": "false",
                         "stateUnit": "",
                         "stateMin": "",
                         "stateMax": "",
                         "x": 960,
                         "y": 2920,
                         "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.

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    e-i-k-e
                    wrote on last edited by e-i-k-e
                    #140

                    Hallo,

                    ich verwende zwei nicht Victron MPPT Laderegler von Epever Xtra.

                    Die Laderegler lese ich aktuell über Solaranzeige aus und erhalte verschiedenen Werte über MQTT in ioBroker.

                    Hat jemand eine Idee wie ich diese Werte in VenosOS übertragen und darstellen könnte?

                    M 1 Reply Last reply
                    0
                    • F fuci

                      @mlapp said in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

                      sdm1-1.Voltage.L1

                      9faa55da-781b-4553-b139-d29d59468654-image.png

                      Vielen Dank für deine Hilfe. Bis hierhin habe ich es nun gebracht... Lasten kann er negativ wohl nicht vertragen.

                      Wie bist du damit verfahren?
                      Hast du weitere Werte emuliert?

                      M Offline
                      M Offline
                      mlapp
                      wrote on last edited by
                      #141

                      @fuci
                      Ich hab mir den Code im Projekt angepasst und neu kompiliert.
                      Meiner Meinung nach muss er natürlich auch negative Werte mitbekommen, damit er weiß mit welcher Leistung die Akkus geladen werden können.

                      1 Reply Last reply
                      0
                      • E e-i-k-e

                        Hallo,

                        ich verwende zwei nicht Victron MPPT Laderegler von Epever Xtra.

                        Die Laderegler lese ich aktuell über Solaranzeige aus und erhalte verschiedenen Werte über MQTT in ioBroker.

                        Hat jemand eine Idee wie ich diese Werte in VenosOS übertragen und darstellen könnte?

                        M Offline
                        M Offline
                        mlapp
                        wrote on last edited by
                        #142

                        @e-i-k-e
                        Ich würde mir auf Github mal die ganzen Projekte ansehen.
                        Für Stromzähler gibt es eine MQTT-DBus Bridge.
                        Ich könnte mir gut vorstellen, dass es sowas auch für die Laderegler geben könnte.
                        Das war bisher allerdings nicht mein Thema, von daher kann ich dir nicht sagen ob es sowas wirklich schon gibt.
                        Such auf Github einfach nach Victron. Da gibts dann über 200 Projekte.

                        E 1 Reply Last reply
                        0
                        • M mlapp

                          @e-i-k-e
                          Ich würde mir auf Github mal die ganzen Projekte ansehen.
                          Für Stromzähler gibt es eine MQTT-DBus Bridge.
                          Ich könnte mir gut vorstellen, dass es sowas auch für die Laderegler geben könnte.
                          Das war bisher allerdings nicht mein Thema, von daher kann ich dir nicht sagen ob es sowas wirklich schon gibt.
                          Such auf Github einfach nach Victron. Da gibts dann über 200 Projekte.

                          E Offline
                          E Offline
                          e-i-k-e
                          wrote on last edited by
                          #143

                          @mlapp sagte in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

                          @e-i-k-e
                          Ich würde mir auf Github mal die ganzen Projekte ansehen.
                          Für Stromzähler gibt es eine MQTT-DBus Bridge.
                          Ich könnte mir gut vorstellen, dass es sowas auch für die Laderegler geben könnte.
                          Das war bisher allerdings nicht mein Thema, von daher kann ich dir nicht sagen ob es sowas wirklich schon gibt.
                          Such auf Github einfach nach Victron. Da gibts dann über 200 Projekte.

                          Ich konnte leider nichts passendes finden. Wundert mich aber tatsächlich selber.
                          Soll hier jemand eine Idee oder Lösung dafür haben, wäre ich über einen Tipp sehr dankbar! :)

                          D 1 Reply Last reply
                          0
                          • E e-i-k-e

                            @mlapp sagte in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

                            @e-i-k-e
                            Ich würde mir auf Github mal die ganzen Projekte ansehen.
                            Für Stromzähler gibt es eine MQTT-DBus Bridge.
                            Ich könnte mir gut vorstellen, dass es sowas auch für die Laderegler geben könnte.
                            Das war bisher allerdings nicht mein Thema, von daher kann ich dir nicht sagen ob es sowas wirklich schon gibt.
                            Such auf Github einfach nach Victron. Da gibts dann über 200 Projekte.

                            Ich konnte leider nichts passendes finden. Wundert mich aber tatsächlich selber.
                            Soll hier jemand eine Idee oder Lösung dafür haben, wäre ich über einen Tipp sehr dankbar! :)

                            D Offline
                            D Offline
                            dan11hh
                            wrote on last edited by
                            #144

                            Moin Zusammen!
                            Ich bin kurz davor mir ein Victron WR zu bestellen um ein lifepo4 Pack als PV Speicher zu betreiben. Den EM24 wollte ich mir sparen und hatte vor VenusOS als Docker auf meiner Disksstation zu installieren. Der Plan: Aktuell bekommt der ioBroker per MQTT die Verbrauchs/Erzeugungswerte meines SolarEdge WR bzw. Hausanschlusses von meiner OpenWB (diese bekommt sie vom SE Modbus Zähler). Nun möchte ich auch dem Victron WR diese Werte zur Verfügung stellen. Soviel ich verstanden habe, muss ich den Umweg über das Venus OS gehen.

                            Mein Problem: Ich würde Venus OS gerne einen anderen Port (standard wohl 80) zuweisen. In welche Conf. Datei kann ich das anpassen? Kennt sich da jemand aus? Hintergrund: Ich möchte den Docker Container im gleichen Subnetz wie die Diskstation laufen lassen.

                            1000 DANK!!!!

                            lobomauL S 2 Replies Last reply
                            0
                            • D dan11hh

                              Moin Zusammen!
                              Ich bin kurz davor mir ein Victron WR zu bestellen um ein lifepo4 Pack als PV Speicher zu betreiben. Den EM24 wollte ich mir sparen und hatte vor VenusOS als Docker auf meiner Disksstation zu installieren. Der Plan: Aktuell bekommt der ioBroker per MQTT die Verbrauchs/Erzeugungswerte meines SolarEdge WR bzw. Hausanschlusses von meiner OpenWB (diese bekommt sie vom SE Modbus Zähler). Nun möchte ich auch dem Victron WR diese Werte zur Verfügung stellen. Soviel ich verstanden habe, muss ich den Umweg über das Venus OS gehen.

                              Mein Problem: Ich würde Venus OS gerne einen anderen Port (standard wohl 80) zuweisen. In welche Conf. Datei kann ich das anpassen? Kennt sich da jemand aus? Hintergrund: Ich möchte den Docker Container im gleichen Subnetz wie die Diskstation laufen lassen.

                              1000 DANK!!!!

                              lobomauL Offline
                              lobomauL Offline
                              lobomau
                              wrote on last edited by
                              #145

                              @dan11hh Hab da selbst eine Frage. Welche Victron WR meinst du? Könnte man wenn man nur einen SmartSolar WR betreibt und sonst keine Victron Komponente diesen über VenusOS auslesen und Werte ändern?
                              Z.B.:
                              3292c0aa-5b6e-4581-aa13-5d6a5cd79b26-image.png

                              Host: NUC8i3 mit Proxmox:

                              • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                              • Slave: Pi4
                              HomoranH D 2 Replies Last reply
                              0
                              • lobomauL lobomau

                                @dan11hh Hab da selbst eine Frage. Welche Victron WR meinst du? Könnte man wenn man nur einen SmartSolar WR betreibt und sonst keine Victron Komponente diesen über VenusOS auslesen und Werte ändern?
                                Z.B.:
                                3292c0aa-5b6e-4581-aa13-5d6a5cd79b26-image.png

                                HomoranH Do not disturb
                                HomoranH Do not disturb
                                Homoran
                                Global Moderator Administrators
                                wrote on last edited by
                                #146

                                @lobomau sagte in Victron Photovoltaik Anlage Daten für ioBroker auslesen!:

                                Könnte man wenn man nur einen SmartSolar WR betreibt und sonst keine Victron Komponente diesen über VenusOS auslesen und Werte ändern?

                                zumindest auslesen müsste schon mit VE-direkt gehen
                                Ändern weiß ich nicht.
                                Habe (noch) keinen Smartsolar MPPT

                                kein Support per PN! - Fragen im Forum stellen -
                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                1 Reply Last reply
                                1
                                • lobomauL lobomau

                                  @dan11hh Hab da selbst eine Frage. Welche Victron WR meinst du? Könnte man wenn man nur einen SmartSolar WR betreibt und sonst keine Victron Komponente diesen über VenusOS auslesen und Werte ändern?
                                  Z.B.:
                                  3292c0aa-5b6e-4581-aa13-5d6a5cd79b26-image.png

                                  D Offline
                                  D Offline
                                  dan11hh
                                  wrote on last edited by
                                  #147

                                  @lobomau
                                  Das sollte gehen. Guck mal bei VanLife die machen das meine ich so.
                                  Ich habe einen MulitPlus II 5000 bestellt (noch nicht da).
                                  Bin jetzt übrigens weg von der gekapselten Docker Lösung und lasse Venus OS direkt auf eine RP4 laufen. Soweit funktioniert alles.

                                  1 Reply Last reply
                                  1
                                  • S Offline
                                    S Offline
                                    stundenblume
                                    wrote on last edited by
                                    #148

                                    @e-i-k-e und alle anderen die Geräte an das VenusOS anbinden wollen:

                                    Jemand hat einen universellen Treiber für den DBus von Victron geschrieben. Damit kann man "beliebige" Geräte per MQTT am Victron System anmelden und anschließend mit Daten füttern.

                                    Ich habe zB eine Tasmota Zwishcensteckdose als PV-Inverter konfiguriert, sende meine Homematic Temperatur und Luftfeuchtigkeit an das System, sogar ein Fake Grid-Meter ist im Einsatz.

                                    Grüße

                                    Sebastian

                                    1 Reply Last reply
                                    0
                                    • D dan11hh

                                      Moin Zusammen!
                                      Ich bin kurz davor mir ein Victron WR zu bestellen um ein lifepo4 Pack als PV Speicher zu betreiben. Den EM24 wollte ich mir sparen und hatte vor VenusOS als Docker auf meiner Disksstation zu installieren. Der Plan: Aktuell bekommt der ioBroker per MQTT die Verbrauchs/Erzeugungswerte meines SolarEdge WR bzw. Hausanschlusses von meiner OpenWB (diese bekommt sie vom SE Modbus Zähler). Nun möchte ich auch dem Victron WR diese Werte zur Verfügung stellen. Soviel ich verstanden habe, muss ich den Umweg über das Venus OS gehen.

                                      Mein Problem: Ich würde Venus OS gerne einen anderen Port (standard wohl 80) zuweisen. In welche Conf. Datei kann ich das anpassen? Kennt sich da jemand aus? Hintergrund: Ich möchte den Docker Container im gleichen Subnetz wie die Diskstation laufen lassen.

                                      1000 DANK!!!!

                                      S Offline
                                      S Offline
                                      stundenblume
                                      wrote on last edited by
                                      #149

                                      @dan11hh

                                      Möchtest Du ESS nutzen?

                                      Mit diesem Treiber ist es möglich die Daten vom Hausanschluss und des WR in das Victron System zu bekommen.

                                      Grüße

                                      Sebastian

                                      D 1 Reply Last reply
                                      0
                                      • S stundenblume

                                        @dan11hh

                                        Möchtest Du ESS nutzen?

                                        Mit diesem Treiber ist es möglich die Daten vom Hausanschluss und des WR in das Victron System zu bekommen.

                                        Grüße

                                        Sebastian

                                        D Offline
                                        D Offline
                                        dan11hh
                                        wrote on last edited by
                                        #150

                                        @stundenblume Solange der Treiber nicht die Daten meines SE WR per Modbus auslesen will. Das geht nämlich nicht, weil ich den Zugang schon für die OpenWB brauche, bei SE geht leider nur eine Verbindung. Ich guck mir das mal an...Danke.

                                        S 1 Reply Last reply
                                        0
                                        • D dan11hh

                                          @stundenblume Solange der Treiber nicht die Daten meines SE WR per Modbus auslesen will. Das geht nämlich nicht, weil ich den Zugang schon für die OpenWB brauche, bei SE geht leider nur eine Verbindung. Ich guck mir das mal an...Danke.

                                          S Offline
                                          S Offline
                                          stundenblume
                                          wrote on last edited by
                                          #151

                                          @dan11hh
                                          Kommst Du nicht von ioBroker an die Daten bei OpenWB? Dann kannst Du die Daten via ioBroker in das Victron System schreiben.

                                          I 1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          473

                                          Online

                                          32.7k

                                          Users

                                          82.6k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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