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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)

NEWS

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

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

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

[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)

Geplant Angeheftet Gesperrt Verschoben Node-Red
574 Beiträge 110 Kommentatoren 223.2k Aufrufe 108 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.
  • mickymM mickym

    @firebowl sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

    @mickym Glaub ich hab's:

    725121b6-4ac4-4144-ad31-d9f5307aff05-image.png

    Also noch sieht node-red einfach viel ui komplex für mich aus. ;)
    Kann mir aber gut vorstellen, dass ich viele meine Blocklys darüber schöner oder besser abbilden könnte.

    Sehr gut - damit sollte es gehen - wenn nicht immer Objekte rauskommen (die JSON node konvertiert standardmässig in beide Richtungen) - dann kannst Du ihr auch sagen, die soll grundsätzlich nur Zeichenfolgen erzeugen:

    2dd2cd3e-2acd-45e9-a4b7-5ee251860510-image.png

    Wenn Du den Datenpunkt nun als Typ String definierst, dann solllten die Logeinträge weg sein. So wie es aussieht ist das aber nur eine Zahl in einem Array. Also

    [41.35] - wenn das immer so ist dann ändere ggf. den buffer parser - wobei ich keine Ahnung habe was da rein kommt, sonst nimmst Du statt der JSON Node eine Change Node - dann musst du den Datenpunkt aber als Zahl definieren.

    Dann machst Du aus dem Array eine normale Zahl:

    e1fd3f84-70a9-48d1-81c6-dae8c94dc271-image.png

    ggf. kannst Du auch in dem Buffer-Parser nachschauen, dass Du nicht versehentlich values als Array ausgeben lässt:

    a2da45f8-14d3-4097-bda1-09456899f965-image.png

    dann lieber auf key/value umstellen,dann brauchst Du gar keine Konvertierung.

    B Online
    B Online
    badsnoopy667
    schrieb am zuletzt editiert von badsnoopy667
    #263

    @mickym Du kannst mir bestimmt helfen:

    Ich möchte gerne den Flow zu Datenabfrage kurzzeitig "anhalten" können. Hintergrund: Wenn ich den Befehl an den Wechselrichter sende, die Batterieentladung zu drosseln (beim Laden des eAutos), kommt dieser Befehl oft nur sehr verzögert durch weil die Kommunikation mit dem WR schon ausgelastet ist.
    Halte ich den Datenabfrage Flow an, geht der Befehl sofort durch.

    Meine Idee: Ich möchte hinter die "5 Sek. Intervall" - Node gerne eine Switch Node setzen, die prüft, ob ein ioBroker Datenpunkt, nennen wir ihn 0_userdata.0.Huawei.Battery.Abfrage_Sperre, auf false steht. Nur dann soll die Abfrage durchgeführt werden. Bei true soll einfach nichts passieren. Ich bin dafür leider zu doof. ;-)
    Hast Du eine Idee, wie das am Besten geht? Danke schonmal!

    Alternativ: Wenn es eine einfache Möglichkeit gibt, aus einem anderen Flow herraus einen Flow zu deaktivieren und nach z.B. 30 Sekunden wieder zu aktivieren, gerne auch das!

    mickymM 1 Antwort Letzte Antwort
    0
    • B badsnoopy667

      @mickym Du kannst mir bestimmt helfen:

      Ich möchte gerne den Flow zu Datenabfrage kurzzeitig "anhalten" können. Hintergrund: Wenn ich den Befehl an den Wechselrichter sende, die Batterieentladung zu drosseln (beim Laden des eAutos), kommt dieser Befehl oft nur sehr verzögert durch weil die Kommunikation mit dem WR schon ausgelastet ist.
      Halte ich den Datenabfrage Flow an, geht der Befehl sofort durch.

      Meine Idee: Ich möchte hinter die "5 Sek. Intervall" - Node gerne eine Switch Node setzen, die prüft, ob ein ioBroker Datenpunkt, nennen wir ihn 0_userdata.0.Huawei.Battery.Abfrage_Sperre, auf false steht. Nur dann soll die Abfrage durchgeführt werden. Bei true soll einfach nichts passieren. Ich bin dafür leider zu doof. ;-)
      Hast Du eine Idee, wie das am Besten geht? Danke schonmal!

      Alternativ: Wenn es eine einfache Möglichkeit gibt, aus einem anderen Flow herraus einen Flow zu deaktivieren und nach z.B. 30 Sekunden wieder zu aktivieren, gerne auch das!

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

      @badsnoopy667 sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

      Ich möchte hinter die "5 Sek. Intervall" - Node gerne eine Switch Node setzen, die prüft, ob ein ioBroker Datenpunkt, nennen wir ihn 0_userdata.0.Huawei.Battery.Abfrage_Sperre, auf false steht. Nur dann soll die Abfrage durchgeführt werden. Bei true soll einfach nichts passieren. Ich bin dafür leider zu doof.
      Hast Du eine Idee, wie das am Besten geht? Danke schonmal!

      Du kannst einfach mit einer get-Node den Datenpunkt abfragen und in einer anschliessenden switch Node entscheiden, ob die Nachrichten weitergereicht werden oder nicht.

      Alternativ: Wenn es eine einfache Möglichkeit gibt, aus einem anderen Flow herraus einen Flow zu deaktivieren und nach z.B. 30 Sekunden wieder zu aktivieren, gerne auch das!

      Über Kontextvariablen kannst Du ebenfalls über eine Switch-Node einen Flow blockieren oder freigeben.

      Ich möchte gerne den Flow zu Datenabfrage kurzzeitig "anhalten" können. Hintergrund: Wenn ich den Befehl an den Wechselrichter sende, die Batterieentladung zu drosseln (beim Laden des eAutos), kommt dieser Befehl oft nur sehr verzögert durch weil die Kommunikation mit dem WR schon ausgelastet ist.

      Halte ich den Datenabfrage Flow an, geht der Befehl sofort durch.

      Du kannst auch einfach alle Nachrichten um eine Anzahl von Sekunden verzögern, in dem Du eine delay Node dazwischen klemmst.

      Ich denke ich würde die 2. Möglichkeit über Kontextvariablen bevorzugen. Ich mach Dir ein theoretisches Beispiel.

      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.

      B 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @badsnoopy667 sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

        Ich möchte hinter die "5 Sek. Intervall" - Node gerne eine Switch Node setzen, die prüft, ob ein ioBroker Datenpunkt, nennen wir ihn 0_userdata.0.Huawei.Battery.Abfrage_Sperre, auf false steht. Nur dann soll die Abfrage durchgeführt werden. Bei true soll einfach nichts passieren. Ich bin dafür leider zu doof.
        Hast Du eine Idee, wie das am Besten geht? Danke schonmal!

        Du kannst einfach mit einer get-Node den Datenpunkt abfragen und in einer anschliessenden switch Node entscheiden, ob die Nachrichten weitergereicht werden oder nicht.

        Alternativ: Wenn es eine einfache Möglichkeit gibt, aus einem anderen Flow herraus einen Flow zu deaktivieren und nach z.B. 30 Sekunden wieder zu aktivieren, gerne auch das!

        Über Kontextvariablen kannst Du ebenfalls über eine Switch-Node einen Flow blockieren oder freigeben.

        Ich möchte gerne den Flow zu Datenabfrage kurzzeitig "anhalten" können. Hintergrund: Wenn ich den Befehl an den Wechselrichter sende, die Batterieentladung zu drosseln (beim Laden des eAutos), kommt dieser Befehl oft nur sehr verzögert durch weil die Kommunikation mit dem WR schon ausgelastet ist.

        Halte ich den Datenabfrage Flow an, geht der Befehl sofort durch.

        Du kannst auch einfach alle Nachrichten um eine Anzahl von Sekunden verzögern, in dem Du eine delay Node dazwischen klemmst.

        Ich denke ich würde die 2. Möglichkeit über Kontextvariablen bevorzugen. Ich mach Dir ein theoretisches Beispiel.

        B Online
        B Online
        badsnoopy667
        schrieb am zuletzt editiert von
        #265

        @mickym
        Super, danke schonmal!
        Für die 2. Möglichkeit müsste das dann in etwa so aussehen:
        Wenn Datenpunkt "Battery_Discharge_Power_SET" geändert wurde, dann halte Flow "Modbus TCP" an.
        Sende dann den neuen Wert aus dem SET Datenpunkt an den WR (Diesen Teil habe ich ja schon), warte 30 Sekunden und Starte dann den "Modbus TCP" Flow wieder.

        mickymM 2 Antworten Letzte Antwort
        0
        • B badsnoopy667

          @mickym
          Super, danke schonmal!
          Für die 2. Möglichkeit müsste das dann in etwa so aussehen:
          Wenn Datenpunkt "Battery_Discharge_Power_SET" geändert wurde, dann halte Flow "Modbus TCP" an.
          Sende dann den neuen Wert aus dem SET Datenpunkt an den WR (Diesen Teil habe ich ja schon), warte 30 Sekunden und Starte dann den "Modbus TCP" Flow wieder.

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

          @badsnoopy667

          c3f9c48a-9f76-4d98-a34f-7d0d0496ed48-image.png

          [
             {
                 "id": "b392cab7e92fdcc5",
                 "type": "comment",
                 "z": "702aafcb19d928ac",
                 "name": "Wenn ich den Befehl an den Wechselrichter sende, die Batterieentladung zu drosseln (beim Laden des eAutos),",
                 "info": "",
                 "x": 480,
                 "y": 100,
                 "wires": []
             },
             {
                 "id": "a4b541ada4dbff5b",
                 "type": "inject",
                 "z": "702aafcb19d928ac",
                 "name": "Drossele ;)",
                 "props": [
                     {
                         "p": "payload"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "drosseln",
                 "payloadType": "str",
                 "x": 340,
                 "y": 240,
                 "wires": [
                     [
                         "7f67d6a08eb47568"
                     ]
                 ]
             },
             {
                 "id": "7f67d6a08eb47568",
                 "type": "change",
                 "z": "702aafcb19d928ac",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "pause",
                         "pt": "flow",
                         "to": "true",
                         "tot": "bool"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 530,
                 "y": 240,
                 "wires": [
                     [
                         "7782c00477972ce8",
                         "70cefd961ae5a1df"
                     ]
                 ]
             },
             {
                 "id": "7782c00477972ce8",
                 "type": "debug",
                 "z": "702aafcb19d928ac",
                 "name": "wird gedrosselt",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 740,
                 "y": 240,
                 "wires": []
             },
             {
                 "id": "70cefd961ae5a1df",
                 "type": "trigger",
                 "z": "702aafcb19d928ac",
                 "name": "",
                 "op1": "",
                 "op2": "false",
                 "op1type": "nul",
                 "op2type": "bool",
                 "duration": "30",
                 "extend": false,
                 "overrideDelay": false,
                 "units": "s",
                 "reset": "",
                 "bytopic": "all",
                 "topic": "topic",
                 "outputs": 1,
                 "x": 730,
                 "y": 180,
                 "wires": [
                     [
                         "df0ab2949c6f434e"
                     ]
                 ]
             },
             {
                 "id": "df0ab2949c6f434e",
                 "type": "change",
                 "z": "702aafcb19d928ac",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "pause",
                         "pt": "flow",
                         "to": "payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 930,
                 "y": 180,
                 "wires": [
                     []
                 ]
             },
             {
                 "id": "fb55f931ec42672a",
                 "type": "inject",
                 "z": "702aafcb19d928ac",
                 "name": "Abfrage",
                 "props": [
                     {
                         "p": "payload"
                     }
                 ],
                 "repeat": "5",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "",
                 "payloadType": "date",
                 "x": 340,
                 "y": 380,
                 "wires": [
                     [
                         "adcd90f6a30cee7e"
                     ]
                 ]
             },
             {
                 "id": "ed5f7870769bdc0e",
                 "type": "comment",
                 "z": "702aafcb19d928ac",
                 "name": "Halte ich den Datenabfrage Flow an, geht der Befehl sofort durch.",
                 "info": "",
                 "x": 330,
                 "y": 300,
                 "wires": []
             },
             {
                 "id": "adcd90f6a30cee7e",
                 "type": "switch",
                 "z": "702aafcb19d928ac",
                 "name": "Pause ?",
                 "property": "pause",
                 "propertyType": "flow",
                 "rules": [
                     {
                         "t": "false"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 1,
                 "x": 500,
                 "y": 380,
                 "wires": [
                     [
                         "7d524fe2d7ae45a8"
                     ]
                 ]
             },
             {
                 "id": "7d524fe2d7ae45a8",
                 "type": "debug",
                 "z": "702aafcb19d928ac",
                 "name": "es wird abgefragt ....",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 720,
                 "y": 380,
                 "wires": []
             }
          ]
          

          Wenn Du den Flow über einen DP im iobroker steuern willst, dann so:

          cfc2e9fb-10a9-4d1a-96e6-ffd041151c26-image.png

          [
             {
                 "id": "28b45bfa3f89e574",
                 "type": "inject",
                 "z": "2f30279e53882e25",
                 "name": "",
                 "props": [
                     {
                         "p": "payload"
                     }
                 ],
                 "repeat": "5",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "",
                 "payloadType": "date",
                 "x": 370,
                 "y": 180,
                 "wires": [
                     [
                         "8c2db9f4fba55e12"
                     ]
                 ]
             },
             {
                 "id": "d213a463ebfcb035",
                 "type": "comment",
                 "z": "2f30279e53882e25",
                 "name": "Über iobroker Datenpunkt",
                 "info": "",
                 "x": 350,
                 "y": 100,
                 "wires": []
             },
             {
                 "id": "8c2db9f4fba55e12",
                 "type": "ioBroker get",
                 "z": "2f30279e53882e25",
                 "name": "block?",
                 "topic": "0_userdata.0.Test.aktiv",
                 "attrname": "block",
                 "payloadType": "value",
                 "errOnInvalidState": "nothing",
                 "x": 530,
                 "y": 180,
                 "wires": [
                     [
                         "92c013e426392176"
                     ]
                 ]
             },
             {
                 "id": "92c013e426392176",
                 "type": "switch",
                 "z": "2f30279e53882e25",
                 "name": "",
                 "property": "block",
                 "propertyType": "msg",
                 "rules": [
                     {
                         "t": "false"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 1,
                 "x": 670,
                 "y": 180,
                 "wires": [
                     [
                         "2687c381ceab8786"
                     ]
                 ]
             },
             {
                 "id": "2687c381ceab8786",
                 "type": "debug",
                 "z": "2f30279e53882e25",
                 "name": "Abfrage",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 820,
                 "y": 180,
                 "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.

          B 1 Antwort Letzte Antwort
          1
          • B badsnoopy667

            @mickym
            Super, danke schonmal!
            Für die 2. Möglichkeit müsste das dann in etwa so aussehen:
            Wenn Datenpunkt "Battery_Discharge_Power_SET" geändert wurde, dann halte Flow "Modbus TCP" an.
            Sende dann den neuen Wert aus dem SET Datenpunkt an den WR (Diesen Teil habe ich ja schon), warte 30 Sekunden und Starte dann den "Modbus TCP" Flow wieder.

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

            @badsnoopy667 sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

            Battery_Discharge_Power_SET

            @badsnoopy667 sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

            @mickym
            Super, danke schonmal!
            Für die 2. Möglichkeit müsste das dann in etwa so aussehen:
            Wenn Datenpunkt "Battery_Discharge_Power_SET" geändert wurde, dann halte Flow "Modbus TCP" an.
            Sende dann den neuen Wert aus dem SET Datenpunkt an den WR (Diesen Teil habe ich ja schon), warte 30 Sekunden und Starte dann den "Modbus TCP" Flow wieder.

            Nun dann ist eine einfache Delay Node auch ausreichend wenn der Flow eh durch SET getriggert wird.

            4787a107-5bc8-4f7b-bff3-130d22423ee3-image.png

            Man kann auch den Wert aus dem SET Datenpunkt zwischenspeichern und dann auslesen.

            75c6e32c-2815-40b8-b891-f4604b64299f-image.png

            [
               {
                   "id": "a55c82d5a44953b9",
                   "type": "ioBroker in",
                   "z": "2f30279e53882e25",
                   "name": "Battery_Discharge_Power_SET",
                   "topic": "0_userdata.0.Test.Zahl",
                   "payloadType": "value",
                   "onlyack": "",
                   "func": "all",
                   "gap": "",
                   "fireOnStart": "false",
                   "outFormat": "MQTT",
                   "x": 370,
                   "y": 180,
                   "wires": [
                       [
                           "e7da92a0b7653af9"
                       ]
                   ]
               },
               {
                   "id": "f3e7849bcb369d63",
                   "type": "debug",
                   "z": "2f30279e53882e25",
                   "name": "setze Wert",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 990,
                   "y": 320,
                   "wires": []
               },
               {
                   "id": "5e288d024c5be6ee",
                   "type": "comment",
                   "z": "2f30279e53882e25",
                   "name": "Wert zwischenspeichern",
                   "info": "",
                   "x": 330,
                   "y": 100,
                   "wires": []
               },
               {
                   "id": "e7da92a0b7653af9",
                   "type": "trigger",
                   "z": "2f30279e53882e25",
                   "name": "",
                   "op1": "false",
                   "op2": "",
                   "op1type": "bool",
                   "op2type": "pay",
                   "duration": "30",
                   "extend": false,
                   "overrideDelay": false,
                   "units": "s",
                   "reset": "",
                   "bytopic": "all",
                   "topic": "topic",
                   "outputs": 1,
                   "x": 630,
                   "y": 180,
                   "wires": [
                       [
                           "540bd249bf4be993"
                       ]
                   ]
               },
               {
                   "id": "540bd249bf4be993",
                   "type": "change",
                   "z": "2f30279e53882e25",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "Battery_Discharge_Power_SET",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 900,
                   "y": 180,
                   "wires": [
                       []
                   ]
               },
               {
                   "id": "3a3ef09b0e0b7874",
                   "type": "inject",
                   "z": "2f30279e53882e25",
                   "name": "Abfrage",
                   "props": [
                       {
                           "p": "payload"
                       },
                       {
                           "p": "topic",
                           "vt": "str"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "0",
                   "payloadType": "num",
                   "x": 270,
                   "y": 320,
                   "wires": [
                       [
                           "a6ddae275fa49953"
                       ]
                   ]
               },
               {
                   "id": "a6ddae275fa49953",
                   "type": "switch",
                   "z": "2f30279e53882e25",
                   "name": "Battery_Discharge_Power_SET = Zahl?",
                   "property": "Battery_Discharge_Power_SET",
                   "propertyType": "flow",
                   "rules": [
                       {
                           "t": "istype",
                           "v": "number",
                           "vt": "number"
                       }
                   ],
                   "checkall": "true",
                   "repair": false,
                   "outputs": 1,
                   "x": 540,
                   "y": 320,
                   "wires": [
                       [
                           "7e08d903d092ff11"
                       ]
                   ]
               },
               {
                   "id": "7e08d903d092ff11",
                   "type": "change",
                   "z": "2f30279e53882e25",
                   "name": "Hole Wert",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "Battery_Discharge_Power_SET",
                           "tot": "flow"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 800,
                   "y": 320,
                   "wires": [
                       [
                           "f3e7849bcb369d63"
                       ]
                   ]
               },
               {
                   "id": "dd7987ebd180bc62",
                   "type": "comment",
                   "z": "2f30279e53882e25",
                   "name": "Wert abrufen, wenn Zahl",
                   "info": "",
                   "x": 350,
                   "y": 260,
                   "wires": []
               }
            ]
            

            So nun fällt mir glaube ich nichts mehr ein. ;)

            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
            • mickymM mickym

              @badsnoopy667

              c3f9c48a-9f76-4d98-a34f-7d0d0496ed48-image.png

              [
                 {
                     "id": "b392cab7e92fdcc5",
                     "type": "comment",
                     "z": "702aafcb19d928ac",
                     "name": "Wenn ich den Befehl an den Wechselrichter sende, die Batterieentladung zu drosseln (beim Laden des eAutos),",
                     "info": "",
                     "x": 480,
                     "y": 100,
                     "wires": []
                 },
                 {
                     "id": "a4b541ada4dbff5b",
                     "type": "inject",
                     "z": "702aafcb19d928ac",
                     "name": "Drossele ;)",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "drosseln",
                     "payloadType": "str",
                     "x": 340,
                     "y": 240,
                     "wires": [
                         [
                             "7f67d6a08eb47568"
                         ]
                     ]
                 },
                 {
                     "id": "7f67d6a08eb47568",
                     "type": "change",
                     "z": "702aafcb19d928ac",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "pause",
                             "pt": "flow",
                             "to": "true",
                             "tot": "bool"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 530,
                     "y": 240,
                     "wires": [
                         [
                             "7782c00477972ce8",
                             "70cefd961ae5a1df"
                         ]
                     ]
                 },
                 {
                     "id": "7782c00477972ce8",
                     "type": "debug",
                     "z": "702aafcb19d928ac",
                     "name": "wird gedrosselt",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 740,
                     "y": 240,
                     "wires": []
                 },
                 {
                     "id": "70cefd961ae5a1df",
                     "type": "trigger",
                     "z": "702aafcb19d928ac",
                     "name": "",
                     "op1": "",
                     "op2": "false",
                     "op1type": "nul",
                     "op2type": "bool",
                     "duration": "30",
                     "extend": false,
                     "overrideDelay": false,
                     "units": "s",
                     "reset": "",
                     "bytopic": "all",
                     "topic": "topic",
                     "outputs": 1,
                     "x": 730,
                     "y": 180,
                     "wires": [
                         [
                             "df0ab2949c6f434e"
                         ]
                     ]
                 },
                 {
                     "id": "df0ab2949c6f434e",
                     "type": "change",
                     "z": "702aafcb19d928ac",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "pause",
                             "pt": "flow",
                             "to": "payload",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 930,
                     "y": 180,
                     "wires": [
                         []
                     ]
                 },
                 {
                     "id": "fb55f931ec42672a",
                     "type": "inject",
                     "z": "702aafcb19d928ac",
                     "name": "Abfrage",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "5",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "",
                     "payloadType": "date",
                     "x": 340,
                     "y": 380,
                     "wires": [
                         [
                             "adcd90f6a30cee7e"
                         ]
                     ]
                 },
                 {
                     "id": "ed5f7870769bdc0e",
                     "type": "comment",
                     "z": "702aafcb19d928ac",
                     "name": "Halte ich den Datenabfrage Flow an, geht der Befehl sofort durch.",
                     "info": "",
                     "x": 330,
                     "y": 300,
                     "wires": []
                 },
                 {
                     "id": "adcd90f6a30cee7e",
                     "type": "switch",
                     "z": "702aafcb19d928ac",
                     "name": "Pause ?",
                     "property": "pause",
                     "propertyType": "flow",
                     "rules": [
                         {
                             "t": "false"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 1,
                     "x": 500,
                     "y": 380,
                     "wires": [
                         [
                             "7d524fe2d7ae45a8"
                         ]
                     ]
                 },
                 {
                     "id": "7d524fe2d7ae45a8",
                     "type": "debug",
                     "z": "702aafcb19d928ac",
                     "name": "es wird abgefragt ....",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 720,
                     "y": 380,
                     "wires": []
                 }
              ]
              

              Wenn Du den Flow über einen DP im iobroker steuern willst, dann so:

              cfc2e9fb-10a9-4d1a-96e6-ffd041151c26-image.png

              [
                 {
                     "id": "28b45bfa3f89e574",
                     "type": "inject",
                     "z": "2f30279e53882e25",
                     "name": "",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "5",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "",
                     "payloadType": "date",
                     "x": 370,
                     "y": 180,
                     "wires": [
                         [
                             "8c2db9f4fba55e12"
                         ]
                     ]
                 },
                 {
                     "id": "d213a463ebfcb035",
                     "type": "comment",
                     "z": "2f30279e53882e25",
                     "name": "Über iobroker Datenpunkt",
                     "info": "",
                     "x": 350,
                     "y": 100,
                     "wires": []
                 },
                 {
                     "id": "8c2db9f4fba55e12",
                     "type": "ioBroker get",
                     "z": "2f30279e53882e25",
                     "name": "block?",
                     "topic": "0_userdata.0.Test.aktiv",
                     "attrname": "block",
                     "payloadType": "value",
                     "errOnInvalidState": "nothing",
                     "x": 530,
                     "y": 180,
                     "wires": [
                         [
                             "92c013e426392176"
                         ]
                     ]
                 },
                 {
                     "id": "92c013e426392176",
                     "type": "switch",
                     "z": "2f30279e53882e25",
                     "name": "",
                     "property": "block",
                     "propertyType": "msg",
                     "rules": [
                         {
                             "t": "false"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 1,
                     "x": 670,
                     "y": 180,
                     "wires": [
                         [
                             "2687c381ceab8786"
                         ]
                     ]
                 },
                 {
                     "id": "2687c381ceab8786",
                     "type": "debug",
                     "z": "2f30279e53882e25",
                     "name": "Abfrage",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 820,
                     "y": 180,
                     "wires": []
                 }
              ]
              

              B Online
              B Online
              badsnoopy667
              schrieb am zuletzt editiert von badsnoopy667
              #268

              @mickym
              Ich habe jetzt Deinen Vorschlag aus dem ersten Screenshot genommen. Wo trage ich denn da den Namen des Flows ein, der gestoppt werden soll? Das muss doch irgendwo in diesem gelben Node sein, oder? Habe schon versucht das flow.pause durch flow.Modbus_TCP zu ersetzen, aber da passiert nix...

              @mickym Warte mal mit dem Antworten, ich glaube ich versteh gerade so langsam was hier passiert ;)

              Ich glaube ich habe es jetzt hinbekommen. Ich habe alles (Lesen und Schreiben) in einen Flow gepackt und dann diese Pausen Variable dazwischen gebastelt:

              modbus_pause.png

              Es scheint zu funktionieren! Vielen Dank schonmal für die schnelle Hilfe!!

              mickymM 1 Antwort Letzte Antwort
              0
              • B badsnoopy667

                @mickym
                Ich habe jetzt Deinen Vorschlag aus dem ersten Screenshot genommen. Wo trage ich denn da den Namen des Flows ein, der gestoppt werden soll? Das muss doch irgendwo in diesem gelben Node sein, oder? Habe schon versucht das flow.pause durch flow.Modbus_TCP zu ersetzen, aber da passiert nix...

                @mickym Warte mal mit dem Antworten, ich glaube ich versteh gerade so langsam was hier passiert ;)

                Ich glaube ich habe es jetzt hinbekommen. Ich habe alles (Lesen und Schreiben) in einen Flow gepackt und dann diese Pausen Variable dazwischen gebastelt:

                modbus_pause.png

                Es scheint zu funktionieren! Vielen Dank schonmal für die schnelle Hilfe!!

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

                @badsnoopy667 Gut - dann denke ich, es ist verstanden. :) - Weiterhin viel Spaß mit dem Flow. ;) Im Prinzip gehts aber unten auch einfacher. Meine erste Change sollte quasi Deine Function Node sein. ;) Ich kannte Deinen kompletten Flow nicht. ;)

                Du kannst deshalb die erste Change Node weglassen.

                93221346-d1c3-4050-8c62-7b988006e494-image.png

                Und mit dem Initialisieren der Kontextvariablen hast Du ja gecheckt.
                Du kannst Dir die Kontextvariablen über das Menü anschauen:

                46211867-2de6-4cc7-b88e-6756a4cb2011-image.png

                Die trigger Node kann true und false ja gleichzeitig setzen:

                197173e6-235f-4784-9074-b7207418423e-image.png

                Du solltest dann auch noch den Haken setzen - dass bei Eingang neuer Nachrichten verzögert wird. Damit wenn beide iobroker-In Nodes hintereinander triggern - immer die 15 s eingehalten werden.

                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.

                B 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @badsnoopy667 Gut - dann denke ich, es ist verstanden. :) - Weiterhin viel Spaß mit dem Flow. ;) Im Prinzip gehts aber unten auch einfacher. Meine erste Change sollte quasi Deine Function Node sein. ;) Ich kannte Deinen kompletten Flow nicht. ;)

                  Du kannst deshalb die erste Change Node weglassen.

                  93221346-d1c3-4050-8c62-7b988006e494-image.png

                  Und mit dem Initialisieren der Kontextvariablen hast Du ja gecheckt.
                  Du kannst Dir die Kontextvariablen über das Menü anschauen:

                  46211867-2de6-4cc7-b88e-6756a4cb2011-image.png

                  Die trigger Node kann true und false ja gleichzeitig setzen:

                  197173e6-235f-4784-9074-b7207418423e-image.png

                  Du solltest dann auch noch den Haken setzen - dass bei Eingang neuer Nachrichten verzögert wird. Damit wenn beide iobroker-In Nodes hintereinander triggern - immer die 15 s eingehalten werden.

                  B Online
                  B Online
                  badsnoopy667
                  schrieb am zuletzt editiert von
                  #270

                  @mickym said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                  Die trigger Node kann true und false ja gleichzeitig setzen:

                  Ahhh, jetzt weiß ich was Du meinst mit dem weglassen! Ja, das sollte gehen. Hatte nicht verstanden wo dann das true für die Pause herkommen soll. Aber das kommt dann aus dem Trigger.
                  Ja, bestimmt sehr mächtig dieses node-red, aber ich komm damit noch nicht so ganz zu rande. Ich weiß ja, was ich will, ich kann's nur nicht zusammenklicken.

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • B badsnoopy667

                    @mickym said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                    Die trigger Node kann true und false ja gleichzeitig setzen:

                    Ahhh, jetzt weiß ich was Du meinst mit dem weglassen! Ja, das sollte gehen. Hatte nicht verstanden wo dann das true für die Pause herkommen soll. Aber das kommt dann aus dem Trigger.
                    Ja, bestimmt sehr mächtig dieses node-red, aber ich komm damit noch nicht so ganz zu rande. Ich weiß ja, was ich will, ich kann's nur nicht zusammenklicken.

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

                    @badsnoopy667 sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                    Ja, bestimmt sehr mächtig dieses node-red, aber ich komm damit noch nicht so ganz zu rande. Ich weiß ja, was ich will, ich kann's nur nicht zusammenklicken.

                    Wird schon. ;)

                    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
                    • T Offline
                      T Offline
                      tilo
                      schrieb am zuletzt editiert von tilo
                      #272

                      Hallo zusammen, vielen Dank für die umfangreichen Infos zu Node-Red und dem Huawei sun WR. Leider ist Node-Red für mich noch relativ neu. Auf den ersten Blick sieht alles erfolgsversprechend aus. Leider bekomme ich auch den Fehler "Encrypted credentials not found" bzw. "Verschlüsselte Credentials nicht gefunden". Darüber hinaus sollten alle Einstellungen ok sein (ID auf "1") ....

                      Kann jemand einen Tipp geben?

                      Die Antwort von mickym habe ich noch nicht umgesetzt. (https://forum.iobroker.net/post/971530) kann es daran liegen?

                      Müssen die Datenpunke per Hand angelegt werden (Auto-Create in Node-Red)? Leider werden keine Objekte unter "0_userdata" angelegt.

                      Screenshot 2023-04-28 at 08-17-23 Node-RED 192.168.101.242.png

                      (Dumme) Frage: über welchen Weg kann ich die setting.js editieren.

                      Vielen Dank schon einmal.

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        tilo
                        schrieb am zuletzt editiert von
                        #273

                        @tilo Das Ändern unter /opt/iobroker-data/node-red/settings.js hat leider kein Erfolg gebracht. Gibt es da noch ein passendes GEgenstück zu?

                        1 Antwort Letzte Antwort
                        0
                        • T tilo

                          Hallo zusammen, vielen Dank für die umfangreichen Infos zu Node-Red und dem Huawei sun WR. Leider ist Node-Red für mich noch relativ neu. Auf den ersten Blick sieht alles erfolgsversprechend aus. Leider bekomme ich auch den Fehler "Encrypted credentials not found" bzw. "Verschlüsselte Credentials nicht gefunden". Darüber hinaus sollten alle Einstellungen ok sein (ID auf "1") ....

                          Kann jemand einen Tipp geben?

                          Die Antwort von mickym habe ich noch nicht umgesetzt. (https://forum.iobroker.net/post/971530) kann es daran liegen?

                          Müssen die Datenpunke per Hand angelegt werden (Auto-Create in Node-Red)? Leider werden keine Objekte unter "0_userdata" angelegt.

                          Screenshot 2023-04-28 at 08-17-23 Node-RED 192.168.101.242.png

                          (Dumme) Frage: über welchen Weg kann ich die setting.js editieren.

                          Vielen Dank schon einmal.

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

                          @tilo Wie gesagt sollte man an der settings.js nicht selbst rumfuhrwerken, sonst muss man es bei jedem Adapterupdate machen. Du kannst höchstens mal eine Anfrage auf github stellen.

                          Die settings.js wird in der Regel durch die Adapterkonfiguration verändert und sollte nicht manuell verändert werden. Muss man nur machen, wenn es keine entsprechenden Einträge gibt. Bei Dir scheint entweder die flow-credentials nicht lesbar zu sein, weil der Schlüssel verkehrt ist.

                          Auch wenn man den Schlüssel aus der settings js rauskopiert muss der irgendwo anders im iobroker abgespeichert sein. ICH WEISS ABER AUCH NICHT WO. :thinking_face: :confused:

                          Dieser Schlüssel ist aber fix (%%credentialSecret%%), weil er über eine variable aus dem iobroker gesetzt wird:

                          6b69c48a-5b0c-4dfc-bb84-72aa79123a99-image.png

                          Diese template settings.js würde ich aber nicht editieren, wenn Du nicht weißt was Du tust und ist gerade für Anfänger nicht empfehlenswert.

                          Die template Datei settings.js, die bei jedem Start verwendet wird liegt unter: /opt/iobroker/node_modules/iobroker.node-red

                          Meine Empfehlung - gerade als Anfänger wäre aber. Exportiere Dir alle Flows oder sichere Dir die flows.json weg - lösche die Instanz des Adapters, erstelle sie neu - importiere oder kopiere die flows.json wieder in das data Verzeichnis und gib Deine Credentials neu ein. Gerade wenn Du Anfänger bist und noch nicht soviele Flows hast, ist das sicher sinnvoller.

                          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 Offline
                            F Offline
                            floriw2000
                            schrieb am zuletzt editiert von floriw2000
                            #275

                            Hallo zusammen,

                            ich habe das gleiche Problem. Frische iobroker Docker Installation.

                            Ich habe den node-red Adapter installiert, die Dongle-IP und die Unit-ID angepasst, jedoch bekomme ich keine Daten geliefert. Obwohl ich die Einstellung "Erstellung von Fremdobjekten zulassen" aktiviert habe, werden keine Objekte angelegt. Ich bin mir nicht sicher ob der Flow überhaupt läuft. Im Log sehe ich nur die folgenden Meldungen:

                            node-red.0
                            2023-05-04 22:26:05.053	warn	4 May 22:26:05 - [warn] Verschlüsselte Credentials nicht gefunden
                            
                            node-red.0
                            2023-05-04 22:26:04.998	warn	4 May 22:26:04 - [warn] Projekte deaktiviert: editorTheme.projects.enabled=false
                            

                            Testweise habe ich auch ein Objekt manuell angelegt. Zudem habe ich den node-red Adapter schon mehrfach neu installiert. Hat leider nichts gebracht.

                            Was mache ich falsch? Was kann ich noch probieren?

                            Danke und Grüße
                            Florian

                            F 1 Antwort Letzte Antwort
                            0
                            • F floriw2000

                              Hallo zusammen,

                              ich habe das gleiche Problem. Frische iobroker Docker Installation.

                              Ich habe den node-red Adapter installiert, die Dongle-IP und die Unit-ID angepasst, jedoch bekomme ich keine Daten geliefert. Obwohl ich die Einstellung "Erstellung von Fremdobjekten zulassen" aktiviert habe, werden keine Objekte angelegt. Ich bin mir nicht sicher ob der Flow überhaupt läuft. Im Log sehe ich nur die folgenden Meldungen:

                              node-red.0
                              2023-05-04 22:26:05.053	warn	4 May 22:26:05 - [warn] Verschlüsselte Credentials nicht gefunden
                              
                              node-red.0
                              2023-05-04 22:26:04.998	warn	4 May 22:26:04 - [warn] Projekte deaktiviert: editorTheme.projects.enabled=false
                              

                              Testweise habe ich auch ein Objekt manuell angelegt. Zudem habe ich den node-red Adapter schon mehrfach neu installiert. Hat leider nichts gebracht.

                              Was mache ich falsch? Was kann ich noch probieren?

                              Danke und Grüße
                              Florian

                              F Offline
                              F Offline
                              floriw2000
                              schrieb am zuletzt editiert von
                              #276

                              @floriw2000 Der Fehler saß natürlich vor dem Bildschirm. Ich hatte nur in den "Globale-Konfigurations-Nodes" die Unit-Id auf 1 gesetzt und nicht, wie oben sehr schön beschrieben, in allen modbus Nodes. :upside_down_face:

                              Jetzt läuft alles und die Objekte wurden angelegt, obwohl die Warnung mit "Verschlüsselte Credentials nicht gefunden" weiterhin besteht.

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • F floriw2000

                                @floriw2000 Der Fehler saß natürlich vor dem Bildschirm. Ich hatte nur in den "Globale-Konfigurations-Nodes" die Unit-Id auf 1 gesetzt und nicht, wie oben sehr schön beschrieben, in allen modbus Nodes. :upside_down_face:

                                Jetzt läuft alles und die Objekte wurden angelegt, obwohl die Warnung mit "Verschlüsselte Credentials nicht gefunden" weiterhin besteht.

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

                                @floriw2000 sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                                Jetzt läuft alles und die Objekte wurden angelegt, obwohl die Warnung mit "Verschlüsselte Credentials nicht gefunden" weiterhin besteht.

                                Ihr müsst halt die ganzen Konfigurationen nochmal neu eintragen - dann könnt ihr die beiden Dateien löschen und Adapter neu starten.

                                07c432bf-4505-4553-b1bf-93d1396a53b1-image.png

                                befindet sich im persönlichen Node-Red Verzeichnis:

                                /opt/iobroker/iobroker-data/node-red
                                

                                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
                                • Christof LewandowskiC Offline
                                  Christof LewandowskiC Offline
                                  Christof Lewandowski
                                  schrieb am zuletzt editiert von
                                  #278

                                  Hab alles nach Anleitung konfiguriert, doch bekomme immer die Meldung:

                                  7.5.2023, 11:58:08node: 30000
                                  msg : error
                                  "Error: Port Not Open"
                                  

                                  Hab natürlich die IP Adresse des Wechselrichters in der globalen Konfig gesetzt, als auch die ID auf 1 (auch in den einzelnen Modbus-Gettern. Auch ein Port Test auf Port 502 ist erfolgreich.
                                  Jemand noch zufällig eine Idee?

                                  Nutzen den WLAN Dongle mit einem 10 KTL-M1 und 10kW Speicher.

                                  FragMikeF Christof LewandowskiC 2 Antworten Letzte Antwort
                                  0
                                  • Christof LewandowskiC Christof Lewandowski

                                    Hab alles nach Anleitung konfiguriert, doch bekomme immer die Meldung:

                                    7.5.2023, 11:58:08node: 30000
                                    msg : error
                                    "Error: Port Not Open"
                                    

                                    Hab natürlich die IP Adresse des Wechselrichters in der globalen Konfig gesetzt, als auch die ID auf 1 (auch in den einzelnen Modbus-Gettern. Auch ein Port Test auf Port 502 ist erfolgreich.
                                    Jemand noch zufällig eine Idee?

                                    Nutzen den WLAN Dongle mit einem 10 KTL-M1 und 10kW Speicher.

                                    FragMikeF Offline
                                    FragMikeF Offline
                                    FragMike
                                    schrieb am zuletzt editiert von FragMike
                                    #279

                                    Hallo zusammen,
                                    Ich stehe kurz vor Unterzeichnung mit Solateur. Es wird dann wohl Huawei werden. Eine Frage ist jedoch noch offen....gibt es nun einen zuverlässigen Weg (Iobroker, API, widget, script)
                                    alle wichtigen Werte zuverlässig in Iobroker zu bekommen und auch Einfluss auf das Ladeverhalten vom Speicher zu haben?
                                    Dumm, wenn ich nachher hier was eingebaut bekomme und es andauernd rumzickt😉

                                    B 1 Antwort Letzte Antwort
                                    0
                                    • Christof LewandowskiC Christof Lewandowski

                                      Hab alles nach Anleitung konfiguriert, doch bekomme immer die Meldung:

                                      7.5.2023, 11:58:08node: 30000
                                      msg : error
                                      "Error: Port Not Open"
                                      

                                      Hab natürlich die IP Adresse des Wechselrichters in der globalen Konfig gesetzt, als auch die ID auf 1 (auch in den einzelnen Modbus-Gettern. Auch ein Port Test auf Port 502 ist erfolgreich.
                                      Jemand noch zufällig eine Idee?

                                      Nutzen den WLAN Dongle mit einem 10 KTL-M1 und 10kW Speicher.

                                      Christof LewandowskiC Offline
                                      Christof LewandowskiC Offline
                                      Christof Lewandowski
                                      schrieb am zuletzt editiert von
                                      #280

                                      @christof-lewandowski said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                                      Hab alles nach Anleitung konfiguriert, doch bekomme immer die Meldung:

                                      7.5.2023, 11:58:08node: 30000
                                      msg : error
                                      "Error: Port Not Open"
                                      

                                      Hab natürlich die IP Adresse des Wechselrichters in der globalen Konfig gesetzt, als auch die ID auf 1 (auch in den einzelnen Modbus-Gettern. Auch ein Port Test auf Port 502 ist erfolgreich.
                                      Jemand noch zufällig eine Idee?

                                      Nutzen den WLAN Dongle mit einem 10 KTL-M1 und 10kW Speicher.

                                      Komischerweise kommen diese Meldungen nicht mehr, funktionieren tut es trotzdem noch nicht :D

                                      @christof-lewandowski said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):

                                      Hab alles nach Anleitung konfiguriert, doch bekomme immer die Meldung:

                                      7.5.2023, 11:58:08node: 30000
                                      msg : error
                                      "Error: Port Not Open"
                                      

                                      Hab natürlich die IP Adresse des Wechselrichters in der globalen Konfig gesetzt, als auch die ID auf 1 (auch in den einzelnen Modbus-Gettern. Auch ein Port Test auf Port 502 ist erfolgreich.
                                      Jemand noch zufällig eine Idee?

                                      Nutzen den WLAN Dongle mit einem 10 KTL-M1 und 10kW Speicher.

                                      Die Meldungen sind zwar weg, funktionieren tut es trotzdem noch nicht :D.
                                      Hab nun die Meldung:

                                      "Getter -> Inject while node is not ready for input."
                                      

                                      ModbusTCP im Dongle ist aktiviert. WEiß jemand, ob nur eine Verbindung möglich ist? Hab noch ein Mgmt System im EInsatz, was ebenfalls über ModbusTCP die Daten abgreift.

                                      AtifanA 1 Antwort Letzte Antwort
                                      0
                                      • FragMikeF FragMike

                                        Hallo zusammen,
                                        Ich stehe kurz vor Unterzeichnung mit Solateur. Es wird dann wohl Huawei werden. Eine Frage ist jedoch noch offen....gibt es nun einen zuverlässigen Weg (Iobroker, API, widget, script)
                                        alle wichtigen Werte zuverlässig in Iobroker zu bekommen und auch Einfluss auf das Ladeverhalten vom Speicher zu haben?
                                        Dumm, wenn ich nachher hier was eingebaut bekomme und es andauernd rumzickt😉

                                        B Online
                                        B Online
                                        badsnoopy667
                                        schrieb am zuletzt editiert von
                                        #281

                                        @fragmike
                                        Bei mir funktioniert es jetzt seit über einem Jahr zuverlässig mit der in Post 1 beschriebenen Methode.
                                        Ab und zu (vll. einmal in zwei Wochen) kommen "komische" Werte vom WR, z.b. Akkustand = 244353455673 oder sowas. Aber dann nur für ein paar Minuten, gerne Nachts, wenn der Akku leer ist. Zur Not kann man so unplausible Daten ja rausfiltern.

                                        Die ganzen Monats- / Jahreswerte könnte man (nachdem man die unplausiblen Daten rausgefiltert hat) mit dem sourceanalytix Adapter aufsummieren. Das mache ich aktuell aber nicht, die gucke ich weiterhin in der App nach.

                                        Akku-Entladeleistung begrenzen geht auch gut. Was ich noch nicht hinbekommen habe ist den Akku auf Befehl aus dem Netz zu laden. Das scheint relativ kompliziert über Modbus zu sein. Gehen sollte es eigentlich, denn das entsprechende Register gibt es. Aber Huawei ist da sehr zurückhaltend mit der Beschreibung, was man denn nun in das Register schreiben muss.

                                        FragMikeF 1 Antwort Letzte Antwort
                                        1
                                        • B badsnoopy667

                                          @fragmike
                                          Bei mir funktioniert es jetzt seit über einem Jahr zuverlässig mit der in Post 1 beschriebenen Methode.
                                          Ab und zu (vll. einmal in zwei Wochen) kommen "komische" Werte vom WR, z.b. Akkustand = 244353455673 oder sowas. Aber dann nur für ein paar Minuten, gerne Nachts, wenn der Akku leer ist. Zur Not kann man so unplausible Daten ja rausfiltern.

                                          Die ganzen Monats- / Jahreswerte könnte man (nachdem man die unplausiblen Daten rausgefiltert hat) mit dem sourceanalytix Adapter aufsummieren. Das mache ich aktuell aber nicht, die gucke ich weiterhin in der App nach.

                                          Akku-Entladeleistung begrenzen geht auch gut. Was ich noch nicht hinbekommen habe ist den Akku auf Befehl aus dem Netz zu laden. Das scheint relativ kompliziert über Modbus zu sein. Gehen sollte es eigentlich, denn das entsprechende Register gibt es. Aber Huawei ist da sehr zurückhaltend mit der Beschreibung, was man denn nun in das Register schreiben muss.

                                          FragMikeF Offline
                                          FragMikeF Offline
                                          FragMike
                                          schrieb am zuletzt editiert von
                                          #282

                                          @badsnoopy667 Super.. genau das wollte ich hören 😊👍

                                          J 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          796

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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