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. Node-RED Nodes für externe ioBroker Integration

NEWS

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

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

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

Node-RED Nodes für externe ioBroker Integration

Geplant Angeheftet Gesperrt Verschoben Node-Red
communicationnode-red
131 Beiträge 6 Kommentatoren 14.1k Aufrufe 6 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.
  • Marc BergM Marc Berg

    @rewenode

    Danke und geht schon ... :-)

    Mit der v0.10.0 sind die Enum-Funktionalitäten nun integriert. Da ich auch noch kräftig an der Code-Struktur geschraubt habe, zunächst nur als Beta über Github.

    In der v0.11 gibt es später noch einen "SendTo" Node und dann ist auch erstmal gut mit neuen Funktionen.

    R Offline
    R Offline
    rewenode
    schrieb am zuletzt editiert von
    #63

    @marc-berg Habe mir die CHANGELOG auf Github durchgelesen. Klingt großartig:+1:
    Inzwischen habe ich mir auch wieder einen ioB-Testcontainer erstellt und mit einigen Daten gefüllt um mal etwas intensiver testen zu können.
    Kannst du mir noch kurz sagen, wie ich die contrib-nodes im ioB Container direkt aus Guthub installieren kann?

    R 1 Antwort Letzte Antwort
    0
    • Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      schrieb am zuletzt editiert von
      #64

      @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

      wie ich die contrib-nodes im ioB Container direkt aus Guthub installieren kann?

      .tgz aus dem Release runter-

      a8936104-7526-49ae-afd1-21f1c29346bc-grafik.png

      und hier hochladen:

      5c9ddd95-be59-4741-ac24-4caed67bd017-grafik.png

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      R 1 Antwort Letzte Antwort
      0
      • R rewenode

        @marc-berg Habe mir die CHANGELOG auf Github durchgelesen. Klingt großartig:+1:
        Inzwischen habe ich mir auch wieder einen ioB-Testcontainer erstellt und mit einigen Daten gefüllt um mal etwas intensiver testen zu können.
        Kannst du mir noch kurz sagen, wie ich die contrib-nodes im ioB Container direkt aus Guthub installieren kann?

        R Offline
        R Offline
        rewenode
        schrieb am zuletzt editiert von
        #65

        @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

        Kannst du mir noch kurz sagen, wie ich die contrib-nodes im ioB Container direkt aus Guthub installieren kann?

        Ah, ich seh schon die 0.10 in der Palette. Danke :grinning:

        1 Antwort Letzte Antwort
        0
        • Marc BergM Marc Berg

          @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

          wie ich die contrib-nodes im ioB Container direkt aus Guthub installieren kann?

          .tgz aus dem Release runter-

          a8936104-7526-49ae-afd1-21f1c29346bc-grafik.png

          und hier hochladen:

          5c9ddd95-be59-4741-ac24-4caed67bd017-grafik.png

          R Offline
          R Offline
          rewenode
          schrieb am zuletzt editiert von
          #66

          @marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:

          .tgz aus dem Release runter-

          Und nochmal danke:grinning:

          1 Antwort Letzte Antwort
          0
          • Marc BergM Offline
            Marc BergM Offline
            Marc Berg
            Most Active
            schrieb am zuletzt editiert von
            #67

            In der v0.12.0 habe ich noch ein wenig an der Darstellung des History-Node geschraubt (Tab-Darstellung).

            c836d237-dcb2-47ab-9b8b-07adcae23363-grafik.png

            Außerdem kann man im Node jetzt einstellen, wie man mit fast zeitgleich eintreffenden Queries umgehen möchte, die ja auch mal länger laufen können:

            f526838e-6f8f-430f-a777-93ce7b5a1ec2-grafik.png

            NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

            Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

            Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

            R 1 Antwort Letzte Antwort
            1
            • Marc BergM Marc Berg

              In der v0.12.0 habe ich noch ein wenig an der Darstellung des History-Node geschraubt (Tab-Darstellung).

              c836d237-dcb2-47ab-9b8b-07adcae23363-grafik.png

              Außerdem kann man im Node jetzt einstellen, wie man mit fast zeitgleich eintreffenden Queries umgehen möchte, die ja auch mal länger laufen können:

              f526838e-6f8f-430f-a777-93ce7b5a1ec2-grafik.png

              R Offline
              R Offline
              rewenode
              schrieb am zuletzt editiert von rewenode
              #68

              @marc-berg Bin da auf ein Problem gestossen. Könnte evtl. ein Bug sein oder an meiner Vorgehensweise liegen.

              Ich arbeite relativ intensiv mit alias-states. Hauptsächlich um Sensoren schnell wechseln zu können.
              So ist der alias-state: alias.0.Klima.office.Temperatur halt die Temp im Office.
              Diesem State ist der Ort (enum.rooms.ground_floor.office) zugewiesen.

              Der Sensor selbst(base) ist irgend ein Temperatursensor, der auch schnell mal gewechselt werden kann.
              Zum Test grad der Temp-Sensor einer Tasmota-Steckdose: "mqtt.0.stTasmota-8.tele.SENSOR"
              Diese wiederum hat eigene Eigenschaften, die ich i.d.R. ebenfalls in enums abgelegt habe. Da ist dann halt der Hardwaretyp/Batterie etc. hinterlegt.

              Ich habe mir da so Listen gebastelt z.B. „offene Fenster“, die dann neben dem Status auch gleich signalisieren, wenn die Batterie zur Neige geht. Kurz, machmal brauche ich neben dem State auch das eigentliche (base) Objekt.

              Mit den alten iob-Nodes bin ich immer folgendermaßen vorgegangen:

              05351d6b-942e-4c64-9b95-4a497d6730a6-2025-07-07_14-30-51.png 

              Umständlich aber funktioniert.

              Jetzt versuche ich das mit deinen nodes. Da nehme natürlich statt der iob-list-node die „WS ioB getObj+Enum.
              Die Node ansich tut einen hervorragenden Job und ist extrem flexibel.
              da5596ea-0600-4883-97fc-4c2f1dd53750-2025-07-07_15-46-04.png 
              Obwohl der topic korrekt gesetzt ist, bekomme ich den Fehler, wenn ich als letztes das base object abfragen will.
              Frage ich das base object separat ab, läuft alles bestens.
              44721575-357a-4cc0-8b6e-af330c09fe7f-lE mgrto.srtasmota-e.png
              
              Sieht fast so aus, als hätte es mit dem msg-object zu tun, was ja komplett durchgeschleift wird.

              Getestet mit V0.10 externes NR und ioB NR Adapter.

              [
                 {
                     "id": "6447bedc408b2e69",
                     "type": "iobget",
                     "z": "347707a21df4b745",
                     "name": "alias.0.Klima.office.Temperatu",
                     "state": "",
                     "outputProperty": "payload",
                     "server": "156c0c01949ae8c4",
                     "x": 410,
                     "y": 1000,
                     "wires": [
                         [
                             "6de201bbfc7ed4c2"
                         ]
                     ]
                 },
                 {
                     "id": "4535ffb1c50b52c8",
                     "type": "inject",
                     "z": "347707a21df4b745",
                     "name": "alias.0.Klima.office.Temperatur",
                     "props": [
                         {
                             "p": "payload"
                         },
                         {
                             "p": "topic",
                             "vt": "str"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "alias.0.Klima.office.Temperatur",
                     "payload": "",
                     "payloadType": "date",
                     "x": 410,
                     "y": 940,
                     "wires": [
                         [
                             "6447bedc408b2e69"
                         ]
                     ]
                 },
                 {
                     "id": "0ad59e53d2561a23",
                     "type": "debug",
                     "z": "347707a21df4b745",
                     "name": "debug 79",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "true",
                     "targetType": "full",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 640,
                     "y": 1060,
                     "wires": []
                 },
                 {
                     "id": "6de201bbfc7ed4c2",
                     "type": "change",
                     "z": "347707a21df4b745",
                     "name": "state -> msg.alias_status",
                     "rules": [
                         {
                             "t": "set",
                             "p": "alias_status",
                             "pt": "msg",
                             "to": "state",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 390,
                     "y": 1060,
                     "wires": [
                         [
                             "0ad59e53d2561a23",
                             "3abb390c37ed8d21"
                         ]
                     ]
                 },
                 {
                     "id": "1ac08b45ac708426",
                     "type": "comment",
                     "z": "347707a21df4b745",
                     "name": "get alias status",
                     "info": "",
                     "x": 100,
                     "y": 1000,
                     "wires": []
                 },
                 {
                     "id": "8f216fcf8b8e7ac9",
                     "type": "debug",
                     "z": "347707a21df4b745",
                     "name": "debug 80",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "true",
                     "targetType": "full",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 640,
                     "y": 1200,
                     "wires": []
                 },
                 {
                     "id": "3abb390c37ed8d21",
                     "type": "iobgetobject",
                     "z": "347707a21df4b745",
                     "name": "",
                     "objectId": "",
                     "outputProperty": "payload",
                     "outputMode": "single",
                     "objectType": "",
                     "useWildcard": false,
                     "includeEnums": true,
                     "enumTypes": "all",
                     "server": "156c0c01949ae8c4",
                     "x": 380,
                     "y": 1120,
                     "wires": [
                         [
                             "49f35147ddc3fd53"
                         ]
                     ]
                 },
                 {
                     "id": "49f35147ddc3fd53",
                     "type": "change",
                     "z": "347707a21df4b745",
                     "name": "topic -> base obj \\n alias obj -> msg.alias_obj",
                     "rules": [
                         {
                             "t": "set",
                             "p": "alias_obj",
                             "pt": "msg",
                             "to": "payload",
                             "tot": "msg"
                         },
                         {
                             "t": "set",
                             "p": "topic",
                             "pt": "msg",
                             "to": "payload[0].common.alias.id",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 390,
                     "y": 1200,
                     "wires": [
                         [
                             "8f216fcf8b8e7ac9",
                             "1b8c6ab33d293cac"
                         ]
                     ]
                 },
                 {
                     "id": "0356d0709e59121b",
                     "type": "comment",
                     "z": "347707a21df4b745",
                     "name": "set alias_obj \\n and base topic",
                     "info": "",
                     "x": 100,
                     "y": 1200,
                     "wires": []
                 },
                 {
                     "id": "a7ff286eeb7f78c2",
                     "type": "comment",
                     "z": "347707a21df4b745",
                     "name": "get alias obj with \\n alias and enum",
                     "info": "",
                     "x": 100,
                     "y": 1120,
                     "wires": []
                 },
                 {
                     "id": "b1a54bf0257b02aa",
                     "type": "comment",
                     "z": "347707a21df4b745",
                     "name": "set alias_status to \\n state",
                     "info": "",
                     "x": 110,
                     "y": 1060,
                     "wires": []
                 },
                 {
                     "id": "1b8c6ab33d293cac",
                     "type": "iobgetobject",
                     "z": "347707a21df4b745",
                     "name": "",
                     "objectId": "",
                     "outputProperty": "payload",
                     "outputMode": "single",
                     "objectType": "",
                     "useWildcard": false,
                     "includeEnums": true,
                     "enumTypes": "all",
                     "server": "156c0c01949ae8c4",
                     "x": 380,
                     "y": 1280,
                     "wires": [
                         [
                             "109f927759f1cd95"
                         ]
                     ]
                 },
                 {
                     "id": "109f927759f1cd95",
                     "type": "debug",
                     "z": "347707a21df4b745",
                     "name": "debug 81",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "true",
                     "targetType": "full",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 700,
                     "y": 1280,
                     "wires": []
                 },
                 {
                     "id": "156c0c01949ae8c4",
                     "type": "iob-config",
                     "name": "Test-ioB",
                     "iobhost": "iobroker",
                     "iobport": "8081",
                     "user": "",
                     "password": "",
                     "usessl": false
                 }
              ]
              

              Marc BergM 2 Antworten Letzte Antwort
              0
              • R rewenode

                @marc-berg Bin da auf ein Problem gestossen. Könnte evtl. ein Bug sein oder an meiner Vorgehensweise liegen.

                Ich arbeite relativ intensiv mit alias-states. Hauptsächlich um Sensoren schnell wechseln zu können.
                So ist der alias-state: alias.0.Klima.office.Temperatur halt die Temp im Office.
                Diesem State ist der Ort (enum.rooms.ground_floor.office) zugewiesen.

                Der Sensor selbst(base) ist irgend ein Temperatursensor, der auch schnell mal gewechselt werden kann.
                Zum Test grad der Temp-Sensor einer Tasmota-Steckdose: "mqtt.0.stTasmota-8.tele.SENSOR"
                Diese wiederum hat eigene Eigenschaften, die ich i.d.R. ebenfalls in enums abgelegt habe. Da ist dann halt der Hardwaretyp/Batterie etc. hinterlegt.

                Ich habe mir da so Listen gebastelt z.B. „offene Fenster“, die dann neben dem Status auch gleich signalisieren, wenn die Batterie zur Neige geht. Kurz, machmal brauche ich neben dem State auch das eigentliche (base) Objekt.

                Mit den alten iob-Nodes bin ich immer folgendermaßen vorgegangen:

                05351d6b-942e-4c64-9b95-4a497d6730a6-2025-07-07_14-30-51.png 

                Umständlich aber funktioniert.

                Jetzt versuche ich das mit deinen nodes. Da nehme natürlich statt der iob-list-node die „WS ioB getObj+Enum.
                Die Node ansich tut einen hervorragenden Job und ist extrem flexibel.
                da5596ea-0600-4883-97fc-4c2f1dd53750-2025-07-07_15-46-04.png 
                Obwohl der topic korrekt gesetzt ist, bekomme ich den Fehler, wenn ich als letztes das base object abfragen will.
                Frage ich das base object separat ab, läuft alles bestens.
                44721575-357a-4cc0-8b6e-af330c09fe7f-lE mgrto.srtasmota-e.png
                
                Sieht fast so aus, als hätte es mit dem msg-object zu tun, was ja komplett durchgeschleift wird.

                Getestet mit V0.10 externes NR und ioB NR Adapter.

                [
                   {
                       "id": "6447bedc408b2e69",
                       "type": "iobget",
                       "z": "347707a21df4b745",
                       "name": "alias.0.Klima.office.Temperatu",
                       "state": "",
                       "outputProperty": "payload",
                       "server": "156c0c01949ae8c4",
                       "x": 410,
                       "y": 1000,
                       "wires": [
                           [
                               "6de201bbfc7ed4c2"
                           ]
                       ]
                   },
                   {
                       "id": "4535ffb1c50b52c8",
                       "type": "inject",
                       "z": "347707a21df4b745",
                       "name": "alias.0.Klima.office.Temperatur",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "alias.0.Klima.office.Temperatur",
                       "payload": "",
                       "payloadType": "date",
                       "x": 410,
                       "y": 940,
                       "wires": [
                           [
                               "6447bedc408b2e69"
                           ]
                       ]
                   },
                   {
                       "id": "0ad59e53d2561a23",
                       "type": "debug",
                       "z": "347707a21df4b745",
                       "name": "debug 79",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "true",
                       "targetType": "full",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 640,
                       "y": 1060,
                       "wires": []
                   },
                   {
                       "id": "6de201bbfc7ed4c2",
                       "type": "change",
                       "z": "347707a21df4b745",
                       "name": "state -> msg.alias_status",
                       "rules": [
                           {
                               "t": "set",
                               "p": "alias_status",
                               "pt": "msg",
                               "to": "state",
                               "tot": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 390,
                       "y": 1060,
                       "wires": [
                           [
                               "0ad59e53d2561a23",
                               "3abb390c37ed8d21"
                           ]
                       ]
                   },
                   {
                       "id": "1ac08b45ac708426",
                       "type": "comment",
                       "z": "347707a21df4b745",
                       "name": "get alias status",
                       "info": "",
                       "x": 100,
                       "y": 1000,
                       "wires": []
                   },
                   {
                       "id": "8f216fcf8b8e7ac9",
                       "type": "debug",
                       "z": "347707a21df4b745",
                       "name": "debug 80",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "true",
                       "targetType": "full",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 640,
                       "y": 1200,
                       "wires": []
                   },
                   {
                       "id": "3abb390c37ed8d21",
                       "type": "iobgetobject",
                       "z": "347707a21df4b745",
                       "name": "",
                       "objectId": "",
                       "outputProperty": "payload",
                       "outputMode": "single",
                       "objectType": "",
                       "useWildcard": false,
                       "includeEnums": true,
                       "enumTypes": "all",
                       "server": "156c0c01949ae8c4",
                       "x": 380,
                       "y": 1120,
                       "wires": [
                           [
                               "49f35147ddc3fd53"
                           ]
                       ]
                   },
                   {
                       "id": "49f35147ddc3fd53",
                       "type": "change",
                       "z": "347707a21df4b745",
                       "name": "topic -> base obj \\n alias obj -> msg.alias_obj",
                       "rules": [
                           {
                               "t": "set",
                               "p": "alias_obj",
                               "pt": "msg",
                               "to": "payload",
                               "tot": "msg"
                           },
                           {
                               "t": "set",
                               "p": "topic",
                               "pt": "msg",
                               "to": "payload[0].common.alias.id",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 390,
                       "y": 1200,
                       "wires": [
                           [
                               "8f216fcf8b8e7ac9",
                               "1b8c6ab33d293cac"
                           ]
                       ]
                   },
                   {
                       "id": "0356d0709e59121b",
                       "type": "comment",
                       "z": "347707a21df4b745",
                       "name": "set alias_obj \\n and base topic",
                       "info": "",
                       "x": 100,
                       "y": 1200,
                       "wires": []
                   },
                   {
                       "id": "a7ff286eeb7f78c2",
                       "type": "comment",
                       "z": "347707a21df4b745",
                       "name": "get alias obj with \\n alias and enum",
                       "info": "",
                       "x": 100,
                       "y": 1120,
                       "wires": []
                   },
                   {
                       "id": "b1a54bf0257b02aa",
                       "type": "comment",
                       "z": "347707a21df4b745",
                       "name": "set alias_status to \\n state",
                       "info": "",
                       "x": 110,
                       "y": 1060,
                       "wires": []
                   },
                   {
                       "id": "1b8c6ab33d293cac",
                       "type": "iobgetobject",
                       "z": "347707a21df4b745",
                       "name": "",
                       "objectId": "",
                       "outputProperty": "payload",
                       "outputMode": "single",
                       "objectType": "",
                       "useWildcard": false,
                       "includeEnums": true,
                       "enumTypes": "all",
                       "server": "156c0c01949ae8c4",
                       "x": 380,
                       "y": 1280,
                       "wires": [
                           [
                               "109f927759f1cd95"
                           ]
                       ]
                   },
                   {
                       "id": "109f927759f1cd95",
                       "type": "debug",
                       "z": "347707a21df4b745",
                       "name": "debug 81",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "true",
                       "targetType": "full",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 700,
                       "y": 1280,
                       "wires": []
                   },
                   {
                       "id": "156c0c01949ae8c4",
                       "type": "iob-config",
                       "name": "Test-ioB",
                       "iobhost": "iobroker",
                       "iobport": "8081",
                       "user": "",
                       "password": "",
                       "usessl": false
                   }
                ]
                

                Marc BergM Offline
                Marc BergM Offline
                Marc Berg
                Most Active
                schrieb am zuletzt editiert von Marc Berg
                #69

                @rewenode

                Exportiere bitte noch die verarbeiteten Datenpunkte aus MQTT.* und alias.* aus dem Objektbaum als JSON und stelle sie hier rein.

                Ahh, Fehler gefunden. Der letzte Node bekommt durch die Verkettung als ObjectType "any" (als String) mitgegeben, den es so nicht gibt. Ich schleife ja die Suchparameter mit. Als Quickfix diese Eigenschaft im letzen Change-Node einfach löschen.

                d3ec120f-285c-4192-af1c-e1cc77ba146c-grafik.png

                Ich schau mal, dass ich den Eingabe-Parameter "any" und "null" gleichsetze.

                Das ist wie die Geschichte mit der "any"-Key ... :-)

                NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                R 2 Antworten Letzte Antwort
                1
                • Marc BergM Marc Berg

                  @rewenode

                  Exportiere bitte noch die verarbeiteten Datenpunkte aus MQTT.* und alias.* aus dem Objektbaum als JSON und stelle sie hier rein.

                  Ahh, Fehler gefunden. Der letzte Node bekommt durch die Verkettung als ObjectType "any" (als String) mitgegeben, den es so nicht gibt. Ich schleife ja die Suchparameter mit. Als Quickfix diese Eigenschaft im letzen Change-Node einfach löschen.

                  d3ec120f-285c-4192-af1c-e1cc77ba146c-grafik.png

                  Ich schau mal, dass ich den Eingabe-Parameter "any" und "null" gleichsetze.

                  Das ist wie die Geschichte mit der "any"-Key ... :-)

                  R Offline
                  R Offline
                  rewenode
                  schrieb am zuletzt editiert von
                  #70

                  @marc-berg Hoffe, ich habs richtig exportiert.
                  mqtt.0.stTasmota-8.json alias.0.Klima.office.Temperatur.json

                  Marc BergM 1 Antwort Letzte Antwort
                  0
                  • R rewenode

                    @marc-berg Hoffe, ich habs richtig exportiert.
                    mqtt.0.stTasmota-8.json alias.0.Klima.office.Temperatur.json

                    Marc BergM Offline
                    Marc BergM Offline
                    Marc Berg
                    Most Active
                    schrieb am zuletzt editiert von
                    #71

                    @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

                    Hoffe, ich habs richtig exportiert.

                    ja, sorry. Habe meinen letzten Post editiert.

                    NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                    Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                    Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                    1 Antwort Letzte Antwort
                    0
                    • Marc BergM Marc Berg

                      @rewenode

                      Exportiere bitte noch die verarbeiteten Datenpunkte aus MQTT.* und alias.* aus dem Objektbaum als JSON und stelle sie hier rein.

                      Ahh, Fehler gefunden. Der letzte Node bekommt durch die Verkettung als ObjectType "any" (als String) mitgegeben, den es so nicht gibt. Ich schleife ja die Suchparameter mit. Als Quickfix diese Eigenschaft im letzen Change-Node einfach löschen.

                      d3ec120f-285c-4192-af1c-e1cc77ba146c-grafik.png

                      Ich schau mal, dass ich den Eingabe-Parameter "any" und "null" gleichsetze.

                      Das ist wie die Geschichte mit der "any"-Key ... :-)

                      R Offline
                      R Offline
                      rewenode
                      schrieb am zuletzt editiert von
                      #72

                      @marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:

                      Als Quickfix diese Eigenschaft im letzen Change-Node einfach löschen.

                      Ja passt so:+1: Und keine Eile, das läuft ja noch nicht produktiv.

                      1 Antwort Letzte Antwort
                      0
                      • R rewenode

                        @marc-berg Bin da auf ein Problem gestossen. Könnte evtl. ein Bug sein oder an meiner Vorgehensweise liegen.

                        Ich arbeite relativ intensiv mit alias-states. Hauptsächlich um Sensoren schnell wechseln zu können.
                        So ist der alias-state: alias.0.Klima.office.Temperatur halt die Temp im Office.
                        Diesem State ist der Ort (enum.rooms.ground_floor.office) zugewiesen.

                        Der Sensor selbst(base) ist irgend ein Temperatursensor, der auch schnell mal gewechselt werden kann.
                        Zum Test grad der Temp-Sensor einer Tasmota-Steckdose: "mqtt.0.stTasmota-8.tele.SENSOR"
                        Diese wiederum hat eigene Eigenschaften, die ich i.d.R. ebenfalls in enums abgelegt habe. Da ist dann halt der Hardwaretyp/Batterie etc. hinterlegt.

                        Ich habe mir da so Listen gebastelt z.B. „offene Fenster“, die dann neben dem Status auch gleich signalisieren, wenn die Batterie zur Neige geht. Kurz, machmal brauche ich neben dem State auch das eigentliche (base) Objekt.

                        Mit den alten iob-Nodes bin ich immer folgendermaßen vorgegangen:

                        05351d6b-942e-4c64-9b95-4a497d6730a6-2025-07-07_14-30-51.png 

                        Umständlich aber funktioniert.

                        Jetzt versuche ich das mit deinen nodes. Da nehme natürlich statt der iob-list-node die „WS ioB getObj+Enum.
                        Die Node ansich tut einen hervorragenden Job und ist extrem flexibel.
                        da5596ea-0600-4883-97fc-4c2f1dd53750-2025-07-07_15-46-04.png 
                        Obwohl der topic korrekt gesetzt ist, bekomme ich den Fehler, wenn ich als letztes das base object abfragen will.
                        Frage ich das base object separat ab, läuft alles bestens.
                        44721575-357a-4cc0-8b6e-af330c09fe7f-lE mgrto.srtasmota-e.png
                        
                        Sieht fast so aus, als hätte es mit dem msg-object zu tun, was ja komplett durchgeschleift wird.

                        Getestet mit V0.10 externes NR und ioB NR Adapter.

                        [
                           {
                               "id": "6447bedc408b2e69",
                               "type": "iobget",
                               "z": "347707a21df4b745",
                               "name": "alias.0.Klima.office.Temperatu",
                               "state": "",
                               "outputProperty": "payload",
                               "server": "156c0c01949ae8c4",
                               "x": 410,
                               "y": 1000,
                               "wires": [
                                   [
                                       "6de201bbfc7ed4c2"
                                   ]
                               ]
                           },
                           {
                               "id": "4535ffb1c50b52c8",
                               "type": "inject",
                               "z": "347707a21df4b745",
                               "name": "alias.0.Klima.office.Temperatur",
                               "props": [
                                   {
                                       "p": "payload"
                                   },
                                   {
                                       "p": "topic",
                                       "vt": "str"
                                   }
                               ],
                               "repeat": "",
                               "crontab": "",
                               "once": false,
                               "onceDelay": 0.1,
                               "topic": "alias.0.Klima.office.Temperatur",
                               "payload": "",
                               "payloadType": "date",
                               "x": 410,
                               "y": 940,
                               "wires": [
                                   [
                                       "6447bedc408b2e69"
                                   ]
                               ]
                           },
                           {
                               "id": "0ad59e53d2561a23",
                               "type": "debug",
                               "z": "347707a21df4b745",
                               "name": "debug 79",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "true",
                               "targetType": "full",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 640,
                               "y": 1060,
                               "wires": []
                           },
                           {
                               "id": "6de201bbfc7ed4c2",
                               "type": "change",
                               "z": "347707a21df4b745",
                               "name": "state -> msg.alias_status",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "alias_status",
                                       "pt": "msg",
                                       "to": "state",
                                       "tot": "msg"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 390,
                               "y": 1060,
                               "wires": [
                                   [
                                       "0ad59e53d2561a23",
                                       "3abb390c37ed8d21"
                                   ]
                               ]
                           },
                           {
                               "id": "1ac08b45ac708426",
                               "type": "comment",
                               "z": "347707a21df4b745",
                               "name": "get alias status",
                               "info": "",
                               "x": 100,
                               "y": 1000,
                               "wires": []
                           },
                           {
                               "id": "8f216fcf8b8e7ac9",
                               "type": "debug",
                               "z": "347707a21df4b745",
                               "name": "debug 80",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "true",
                               "targetType": "full",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 640,
                               "y": 1200,
                               "wires": []
                           },
                           {
                               "id": "3abb390c37ed8d21",
                               "type": "iobgetobject",
                               "z": "347707a21df4b745",
                               "name": "",
                               "objectId": "",
                               "outputProperty": "payload",
                               "outputMode": "single",
                               "objectType": "",
                               "useWildcard": false,
                               "includeEnums": true,
                               "enumTypes": "all",
                               "server": "156c0c01949ae8c4",
                               "x": 380,
                               "y": 1120,
                               "wires": [
                                   [
                                       "49f35147ddc3fd53"
                                   ]
                               ]
                           },
                           {
                               "id": "49f35147ddc3fd53",
                               "type": "change",
                               "z": "347707a21df4b745",
                               "name": "topic -> base obj \\n alias obj -> msg.alias_obj",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "alias_obj",
                                       "pt": "msg",
                                       "to": "payload",
                                       "tot": "msg"
                                   },
                                   {
                                       "t": "set",
                                       "p": "topic",
                                       "pt": "msg",
                                       "to": "payload[0].common.alias.id",
                                       "tot": "jsonata"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 390,
                               "y": 1200,
                               "wires": [
                                   [
                                       "8f216fcf8b8e7ac9",
                                       "1b8c6ab33d293cac"
                                   ]
                               ]
                           },
                           {
                               "id": "0356d0709e59121b",
                               "type": "comment",
                               "z": "347707a21df4b745",
                               "name": "set alias_obj \\n and base topic",
                               "info": "",
                               "x": 100,
                               "y": 1200,
                               "wires": []
                           },
                           {
                               "id": "a7ff286eeb7f78c2",
                               "type": "comment",
                               "z": "347707a21df4b745",
                               "name": "get alias obj with \\n alias and enum",
                               "info": "",
                               "x": 100,
                               "y": 1120,
                               "wires": []
                           },
                           {
                               "id": "b1a54bf0257b02aa",
                               "type": "comment",
                               "z": "347707a21df4b745",
                               "name": "set alias_status to \\n state",
                               "info": "",
                               "x": 110,
                               "y": 1060,
                               "wires": []
                           },
                           {
                               "id": "1b8c6ab33d293cac",
                               "type": "iobgetobject",
                               "z": "347707a21df4b745",
                               "name": "",
                               "objectId": "",
                               "outputProperty": "payload",
                               "outputMode": "single",
                               "objectType": "",
                               "useWildcard": false,
                               "includeEnums": true,
                               "enumTypes": "all",
                               "server": "156c0c01949ae8c4",
                               "x": 380,
                               "y": 1280,
                               "wires": [
                                   [
                                       "109f927759f1cd95"
                                   ]
                               ]
                           },
                           {
                               "id": "109f927759f1cd95",
                               "type": "debug",
                               "z": "347707a21df4b745",
                               "name": "debug 81",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "true",
                               "targetType": "full",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 700,
                               "y": 1280,
                               "wires": []
                           },
                           {
                               "id": "156c0c01949ae8c4",
                               "type": "iob-config",
                               "name": "Test-ioB",
                               "iobhost": "iobroker",
                               "iobport": "8081",
                               "user": "",
                               "password": "",
                               "usessl": false
                           }
                        ]
                        

                        Marc BergM Offline
                        Marc BergM Offline
                        Marc Berg
                        Most Active
                        schrieb am zuletzt editiert von
                        #73

                        @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

                        Sieht fast so aus, als hätte es mit dem msg-object zu tun, was ja komplett durchgeschleift wird.

                        Die aufgeräumten Objekt-Eigenschaften sind in der v0.12. verfügbar. Bald in der Palette oder jetzt auf Github.

                        NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                        Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                        Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                        Marc BergM 1 Antwort Letzte Antwort
                        1
                        • Marc BergM Marc Berg

                          @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

                          Sieht fast so aus, als hätte es mit dem msg-object zu tun, was ja komplett durchgeschleift wird.

                          Die aufgeräumten Objekt-Eigenschaften sind in der v0.12. verfügbar. Bald in der Palette oder jetzt auf Github.

                          Marc BergM Offline
                          Marc BergM Offline
                          Marc Berg
                          Most Active
                          schrieb am zuletzt editiert von Marc Berg
                          #74

                          @rewenode

                          Da das Abfragen der Objekteigenschaften und der Aliase doch eng zusammenhängt, habe ich es gleich in den GetObject Node mit eingebaut.

                          a944fd28-001b-4be6-b6b8-268276674dcf-grafik.png

                          Damit müsstest du nicht mehr den Umweg über fünf Nodes nehmen.

                          NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                          Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                          Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                          R 2 Antworten Letzte Antwort
                          1
                          • Marc BergM Marc Berg

                            @rewenode

                            Da das Abfragen der Objekteigenschaften und der Aliase doch eng zusammenhängt, habe ich es gleich in den GetObject Node mit eingebaut.

                            a944fd28-001b-4be6-b6b8-268276674dcf-grafik.png

                            Damit müsstest du nicht mehr den Umweg über fünf Nodes nehmen.

                            R Offline
                            R Offline
                            rewenode
                            schrieb am zuletzt editiert von
                            #75

                            @marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:

                            Da das Abfragen der Objekteigenschaften und der Aliase doch eng zusammenhängt, habe ich es gleich in den GetObject Node mit eingebaut.

                            Das ist wirklich klasse und eine echte Erleichterung:+1: Danke

                            1 Antwort Letzte Antwort
                            0
                            • Marc BergM Marc Berg

                              @rewenode

                              Da das Abfragen der Objekteigenschaften und der Aliase doch eng zusammenhängt, habe ich es gleich in den GetObject Node mit eingebaut.

                              a944fd28-001b-4be6-b6b8-268276674dcf-grafik.png

                              Damit müsstest du nicht mehr den Umweg über fünf Nodes nehmen.

                              R Offline
                              R Offline
                              rewenode
                              schrieb am zuletzt editiert von
                              #76

                              @marc-berg Kurze Zwischenfrage, habe gerade mal flüchtig die 12.0-4 getestet. Vlt. war ich da zu voreilig.

                              Ich frage ein Alias Object ab und bekomme neben dem aliasObject die aliasEnums UND das targetObject. Soweit perfekt!
                              Allerdings wird das targetObject ohne die targetEnums geliefert? Oder mach ich da was falsch?

                              2025-07-08_09-49-48.png

                              Marc BergM 1 Antwort Letzte Antwort
                              0
                              • R rewenode

                                @marc-berg Kurze Zwischenfrage, habe gerade mal flüchtig die 12.0-4 getestet. Vlt. war ich da zu voreilig.

                                Ich frage ein Alias Object ab und bekomme neben dem aliasObject die aliasEnums UND das targetObject. Soweit perfekt!
                                Allerdings wird das targetObject ohne die targetEnums geliefert? Oder mach ich da was falsch?

                                2025-07-08_09-49-48.png

                                Marc BergM Offline
                                Marc BergM Offline
                                Marc Berg
                                Most Active
                                schrieb am zuletzt editiert von Marc Berg
                                #77

                                @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

                                Oder mach ich da was falsch?

                                Nein, du machst nichts falsch. Eine Frage der Philosophie ist wahrscheinlich, ob man alias und target (in das dann wohl immer identische?) Enum legt.

                                Ich könnte jetzt die Enums von alias und target zusammenfassen und deduplizieren, besser ist es aber, wenn ich die Enums sauber dem jeweiligen Objekt zuordne.

                                NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                                Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                                Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                                R 1 Antwort Letzte Antwort
                                0
                                • Marc BergM Offline
                                  Marc BergM Offline
                                  Marc Berg
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #78

                                  @rewenode

                                  v0.12.0-5

                                  Jetzt haben alle target objects in aliasInfo.aliasTarget.target (bzw. targets.read/targets.write) die gleichen enum assignments wie das ursprüngliche Objekt, wenn sie in entsprechenden enums eingetragen sind.
                                  Die enum assignments erscheinen jetzt sowohl beim base-Objekt als auch bei allen alias target objects korrekt.

                                  NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                                  Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                                  Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                                  R 1 Antwort Letzte Antwort
                                  1
                                  • Marc BergM Marc Berg

                                    @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

                                    Oder mach ich da was falsch?

                                    Nein, du machst nichts falsch. Eine Frage der Philosophie ist wahrscheinlich, ob man alias und target (in das dann wohl immer identische?) Enum legt.

                                    Ich könnte jetzt die Enums von alias und target zusammenfassen und deduplizieren, besser ist es aber, wenn ich die Enums sauber dem jeweiligen Objekt zuordne.

                                    R Offline
                                    R Offline
                                    rewenode
                                    schrieb am zuletzt editiert von
                                    #79

                                    @marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:

                                    Ich könnte jetzt die Enums von alias und target zusammenfassen und deduplizieren, besser ist es aber, wenn ich die Enums sauber dem jeweiligen Objekt zuordne.

                                    Die Enums von alias und target sind i.d.R unterschiedlich, jedenfalls bei mir.
                                    Der Alias ändert sich nicht, ist einem festen Ort zugewiesen.
                                    Das Target device kann irgendwas sein und hat je nachdem individuelle Enums (Batterie/Hardware etc). Hatte früher mal aus diesem Grunde den Ort am Target festgemacht. Das ist aber unpraktisch, weil dann auch der Ort am target geändert werden muss, wenn das Teil woanders eingesetzt wird.
                                    Ob die Enums beim getObj bei einem Alias die Enums zusammenfasst sind ist eigentlich egal, Hauptsache, es werden sowohl die target und die alias Enums zurückgegeben. Zusammengefaßt wäre einfacher bei der Weiterverarbeitung, weil das alias-object ja in der Regel so betrachtet wird, als wäre es ein tatsächliches device.
                                    Getrennt ist aber auch ok.
                                    Hoffe, ich habe das nicht zu verworren ausgedrückt.

                                    1 Antwort Letzte Antwort
                                    0
                                    • Marc BergM Marc Berg

                                      @rewenode

                                      v0.12.0-5

                                      Jetzt haben alle target objects in aliasInfo.aliasTarget.target (bzw. targets.read/targets.write) die gleichen enum assignments wie das ursprüngliche Objekt, wenn sie in entsprechenden enums eingetragen sind.
                                      Die enum assignments erscheinen jetzt sowohl beim base-Objekt als auch bei allen alias target objects korrekt.

                                      R Offline
                                      R Offline
                                      rewenode
                                      schrieb am zuletzt editiert von
                                      #80

                                      @marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:

                                      Die enum assignments erscheinen jetzt sowohl beim base-Objekt als auch bei allen alias target objects korrekt.

                                      Grad mal reingeschaut. Das sieht perfekt aus! Da fällt mir erstmal nichts mehr ein:+1: :grinning:

                                      R 1 Antwort Letzte Antwort
                                      0
                                      • R rewenode

                                        @marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:

                                        Die enum assignments erscheinen jetzt sowohl beim base-Objekt als auch bei allen alias target objects korrekt.

                                        Grad mal reingeschaut. Das sieht perfekt aus! Da fällt mir erstmal nichts mehr ein:+1: :grinning:

                                        R Offline
                                        R Offline
                                        rewenode
                                        schrieb am zuletzt editiert von
                                        #81

                                        @Marc-Berg Ich hab da mal eine prinzipielle Frage

                                        Ich habe jetzt mal etwas intensiver mit den nodes von einem externen NR gespielt. In meine Beispiel versuche ich mich gerade mit dem Dashboard 2 vertraut zu machen. Besonders die Verwendung von Subflows vereinfachen die Arbeit ungemein.
                                        Mein Test sieht etwa so aus:
                                        2025-07-14_08-31-13.png
                                        Hier habe die WS-ioB-nodes alle in den Subflow gepackt, was den Hauptflow extrem vereinfacht.
                                        Natürlich sind hier auch andere Szenarien denkbar.
                                        Man könnte auch die zu abonnierenden states über einen einzelnen externen WS-ioB-IN realisieren, und die Daten den Subflow-Instanzen extern zuführen.

                                        Was ich mich frage:
                                        Wie verhalten sie diesbezüglich eigentlich die WS-ioB in Bezug auf Speicher/Performance?
                                        Will fragen, was ist besser, die states einzeln zu abonnieren oder alle in einem node zu abonnieren.
                                        Dabei lass ich mal außer acht, dass der externe Aufwand im Falle von mehreren states pro WS-ioB-IN steigen wird, weil die Daten i.d.R. wieder auseinanderklamüsert werden müssen.

                                        In meinem Test mit den 3 Instanzen des Subflows gibt es keinerlei Probleme. Bin nach wie vor von den WS-ioB nodes begeistert.

                                        Marc BergM 1 Antwort Letzte Antwort
                                        0
                                        • R rewenode

                                          @Marc-Berg Ich hab da mal eine prinzipielle Frage

                                          Ich habe jetzt mal etwas intensiver mit den nodes von einem externen NR gespielt. In meine Beispiel versuche ich mich gerade mit dem Dashboard 2 vertraut zu machen. Besonders die Verwendung von Subflows vereinfachen die Arbeit ungemein.
                                          Mein Test sieht etwa so aus:
                                          2025-07-14_08-31-13.png
                                          Hier habe die WS-ioB-nodes alle in den Subflow gepackt, was den Hauptflow extrem vereinfacht.
                                          Natürlich sind hier auch andere Szenarien denkbar.
                                          Man könnte auch die zu abonnierenden states über einen einzelnen externen WS-ioB-IN realisieren, und die Daten den Subflow-Instanzen extern zuführen.

                                          Was ich mich frage:
                                          Wie verhalten sie diesbezüglich eigentlich die WS-ioB in Bezug auf Speicher/Performance?
                                          Will fragen, was ist besser, die states einzeln zu abonnieren oder alle in einem node zu abonnieren.
                                          Dabei lass ich mal außer acht, dass der externe Aufwand im Falle von mehreren states pro WS-ioB-IN steigen wird, weil die Daten i.d.R. wieder auseinanderklamüsert werden müssen.

                                          In meinem Test mit den 3 Instanzen des Subflows gibt es keinerlei Probleme. Bin nach wie vor von den WS-ioB nodes begeistert.

                                          Marc BergM Offline
                                          Marc BergM Offline
                                          Marc Berg
                                          Most Active
                                          schrieb am zuletzt editiert von Marc Berg
                                          #82

                                          @rewenode sagte in Node-RED Nodes für externe ioBroker Integration:

                                          Was ich mich frage:
                                          Wie verhalten sie diesbezüglich eigentlich die WS-ioB in Bezug auf Speicher/Performance?
                                          Will fragen, was ist besser, die states einzeln zu abonnieren oder alle in einem node zu abonnieren.

                                          Speichertechnisch dürfte der "MultipleStates" Ansatz Vorteile bringen. Wenn ich das mal grob überschlage:

                                          100 einzelne Nodes:

                                          100 × Node-Instanz ≈ 100 × 5KB = 500KB
                                          100 × Callback-Handler ≈ 100 × 1KB = 100KB
                                          100 × State-Tracking ≈ 100 × 0.5KB = 50KB

                                          Summe: ~650KB
                                          ─────────────────────────────────────────

                                          1 Multiple States Node:

                                          1 × Node-Instanz ≈ 5KB
                                          1 × Callback-Handler ≈ 1KB
                                          100 × State-Tracking ≈ 50KB

                                          Summe: ~56KB
                                          ─────────────────────────────

                                          Und auch die CPU-Belastung düfte etwas geringer ausfallen.

                                          Ob in heutigen Hardware-Szenarien das wirklich relevant ist und den Mehraufwand rechtfertigt, muss man entscheiden.

                                          In meinem Test mit den 3 Instanzen des Subflows gibt es keinerlei Probleme. Bin nach wie vor von den WS-ioB nodes begeistert.

                                          Freut mich. Ich habe meine Prod umgestellt (noch ohne Optimierungen auf Basis der neuen Möglichkeiten), mit 600 Nodes (davon ca. 180 ioBroker WS Nodes) dümpelt der Container bei ca. 100MB und 0.1-0.2% CPU dahin.

                                          In Summe (vor und nach der Umstellung) sehe ich keinen Unterschied bei Memory und CPU. Das geht im Grundrauschen unter.

                                          NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                                          Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                                          Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                                          R 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

                                          754

                                          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