Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    476

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Victron Photovoltaik Anlage Daten für ioBroker auslesen!

Geplant Angeheftet Gesperrt Verschoben Ungelöst ioBroker Allgemein
230 Beiträge 45 Kommentatoren 69.8k Aufrufe 41 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    Jacke
    schrieb am zuletzt editiert von
    #126

    Ist glaube ich 2.84 aber über 2.8
    Ich scheitere daran die Datenpunkte anzulegen.
    16484081272418088241254618298839.jpg
    Sagen wir Mal ich möchte den Punkt hinzufügen. Wol lege ich ihn an.
    16484081838666608265803271198733.jpg
    Das einzige was bisher ankommt.
    16484082235907299878299388709213.jpg

    mickymM 1 Antwort Letzte Antwort
    0
    • E Offline
      E Offline
      e-i-k-e
      schrieb am zuletzt editiert von e-i-k-e
      #127

      Abend,

      ich suche den passenden Register um bei MP2 die aktuelle einspeisende Leistungen auszulesen.
      Ich hatte zuvor die 442 (Battery Power) verwendet. Aber seitdem ich meine BMS integriert habe, springt dieser Wert extrem.

      Edit: 866 VE.Bus charge power (System) ?

      1 Antwort Letzte Antwort
      0
      • J Jacke

        Ist glaube ich 2.84 aber über 2.8
        Ich scheitere daran die Datenpunkte anzulegen.
        16484081272418088241254618298839.jpg
        Sagen wir Mal ich möchte den Punkt hinzufügen. Wol lege ich ihn an.
        16484081838666608265803271198733.jpg
        Das einzige was bisher ankommt.
        16484082235907299878299388709213.jpg

        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #128

        @jacke Ich denke Du verstehst das mqtt Prinzip nicht. Du brauchst einen Broker. Subscriben und Publishen tun nur Clients. Wenn Dein mqtt-Adapter ein Broker ist - subscribed der nichts - sondern Du legst im mqtt Baum einfach die topics an, die Du brauchst. Das Root-Topic ist immer die mqtt.0 hierarchie. Wenn Du Node Red benutzt und den Mqtt Adapter als Broker kannst auch mit den Mqtt-Out Nodes die topics direkt publishen.

        Ihr müsst aber selbst wissen auf welche topics Eure Hardware hört und dort published ihr. Eure Hardware subscribed automatisch. Das steht in der Beschreibung zu Eurer Hardware.

        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 Antwort Letzte Antwort
        0
        • J Offline
          J Offline
          Jacke
          schrieb am zuletzt editiert von
          #129

          So funktioniert jetzt. In der Beschreibung stand das SSL verwendet wird.
          Ich habe den Haken bei SSL rausgenommen und tada,
          Mit # bekomme ich alle Werte oder kann nur bestimmte topics abonnieren.
          Aber ja von mqtt habe ich keinen Plan bis zu dieser Woche noch nichts mit am Hut gehabt.
          Jemand eine Empfehlung für ein gutes Tutorial, am liebsten in Textform.
          Wäre mega wenn der Adapter direkt aus den Strings Objekte machen würde. So muss wieder ein extra Skript her.

          mickymM 1 Antwort Letzte Antwort
          0
          • J Jacke

            So funktioniert jetzt. In der Beschreibung stand das SSL verwendet wird.
            Ich habe den Haken bei SSL rausgenommen und tada,
            Mit # bekomme ich alle Werte oder kann nur bestimmte topics abonnieren.
            Aber ja von mqtt habe ich keinen Plan bis zu dieser Woche noch nichts mit am Hut gehabt.
            Jemand eine Empfehlung für ein gutes Tutorial, am liebsten in Textform.
            Wäre mega wenn der Adapter direkt aus den Strings Objekte machen würde. So muss wieder ein extra Skript her.

            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #130

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

            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.

            mickymM 1 Antwort Letzte Antwort
            0
            • J Offline
              J Offline
              Jacke
              schrieb am zuletzt editiert von
              #131

              @mickym
              Vielen Dank das werde ich mir Mal morgen anschauen.

              Sicherlich wird es seinen Sinn haben das es json Strings sind, ich meine es wurde sich ja anbieten bei einem Adapter für den iobroker das er direkt die Daten im passenden Format ablegt.

              Eine. Schönen Sonntag noch. Ich habe heute genug meiner Unwissenheit entdeckt. Meine Siemens Stel7 Welt ist da im Moment noch etwas einfacher.

              1 Antwort Letzte Antwort
              0
              • 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 Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  0
                  • J Offline
                    J Offline
                    Jacke
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antworten Letzte Antwort
                      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 Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • J Offline
                            J Offline
                            Jacke
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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 Online
                              mickymM Online
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • E Offline
                                E Offline
                                e-i-k-e
                                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antworten Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          660

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe