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. JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen

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
    2.0k

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

JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen

Geplant Angeheftet Gesperrt Verschoben Node-Red
node-red
114 Beiträge 13 Kommentatoren 26.4k Aufrufe 12 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.
  • ? Ein ehemaliger Benutzer

    @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

    @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

    @noah3112 Sorry das stimmt so nicht bei einigen Sensoren bzw Aktoren sind mehrere Daten vorhanden. Kann es sein das ich einfach nur warten muss bis alle mal gesendet haben?

    ggf. - das hat aber mit diesem Thema nichts zu tun - ist, dass Du im zigbee2mqtt die availabilty Option zu nutzen.

    Sorry das meinte ich.

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

    @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

    @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

    @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

    @noah3112 Sorry das stimmt so nicht bei einigen Sensoren bzw Aktoren sind mehrere Daten vorhanden. Kann es sein das ich einfach nur warten muss bis alle mal gesendet haben?

    ggf. - das hat aber mit diesem Thema nichts zu tun - ist, dass Du im zigbee2mqtt die availabilty Option zu nutzen.

    Sorry das meinte ich.

    Na das hat nichts mit der availabilty zu tun - aber Du kannst ein Update der states erzwingen, wenn Du einen get Datenpunkt erstellst:

    https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html#zigbee2mqtt-friendly-name-get

    Wenn Du get mit leerem state setzt, kannst Du quasi ein Update des Status via mqtt erzwingen:

    36205a92-b0c3-4bd4-a674-6d3c81e54301-image.png

    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.

    ? 2 Antworten Letzte Antwort
    0
    • ? Ein ehemaliger Benutzer

      @noah3112 Bin erst seit kurzem mit zigbee2mqtt unterwegs. Ich hatte sehr viele Probleme mit dem zigbee Adapter und bin bis jetzt sehr angetan. Allerdingt fehlt die Langzeiterfahrung und was damit alles geht.

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

      @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

      @noah3112 Bin erst seit kurzem mit zigbee2mqtt unterwegs. Ich hatte sehr viele Probleme mit dem zigbee Adapter und bin bis jetzt sehr angetan. Allerdingt fehlt die Langzeiterfahrung und was damit alles geht.

      Ja da bist Du nicht der Erste. In meinen Augen ist es in diesem Fall sogar ein Vorteil unabhängig von iobroker Updates zu sein. ;)

      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

        @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

        @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

        @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

        @noah3112 Sorry das stimmt so nicht bei einigen Sensoren bzw Aktoren sind mehrere Daten vorhanden. Kann es sein das ich einfach nur warten muss bis alle mal gesendet haben?

        ggf. - das hat aber mit diesem Thema nichts zu tun - ist, dass Du im zigbee2mqtt die availabilty Option zu nutzen.

        Sorry das meinte ich.

        Na das hat nichts mit der availabilty zu tun - aber Du kannst ein Update der states erzwingen, wenn Du einen get Datenpunkt erstellst:

        https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html#zigbee2mqtt-friendly-name-get

        Wenn Du get mit leerem state setzt, kannst Du quasi ein Update des Status via mqtt erzwingen:

        36205a92-b0c3-4bd4-a674-6d3c81e54301-image.png

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #49

        @mickym Okay ich verstehe, quasi ein manuelles anstoßen um Daten zu erhalten, gut zu wissen :+1:

        mickymM 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

          @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

          @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

          @noah3112 Sorry das stimmt so nicht bei einigen Sensoren bzw Aktoren sind mehrere Daten vorhanden. Kann es sein das ich einfach nur warten muss bis alle mal gesendet haben?

          ggf. - das hat aber mit diesem Thema nichts zu tun - ist, dass Du im zigbee2mqtt die availabilty Option zu nutzen.

          Sorry das meinte ich.

          Na das hat nichts mit der availabilty zu tun - aber Du kannst ein Update der states erzwingen, wenn Du einen get Datenpunkt erstellst:

          https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html#zigbee2mqtt-friendly-name-get

          Wenn Du get mit leerem state setzt, kannst Du quasi ein Update des Status via mqtt erzwingen:

          36205a92-b0c3-4bd4-a674-6d3c81e54301-image.png

          ? Offline
          ? Offline
          Ein ehemaliger Benutzer
          schrieb am zuletzt editiert von
          #50

          @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

          @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

          @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

          @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

          @noah3112 Sorry das stimmt so nicht bei einigen Sensoren bzw Aktoren sind mehrere Daten vorhanden. Kann es sein das ich einfach nur warten muss bis alle mal gesendet haben?

          ggf. - das hat aber mit diesem Thema nichts zu tun - ist, dass Du im zigbee2mqtt die availabilty Option zu nutzen.

          Sorry das meinte ich.

          Na das hat nichts mit der availabilty zu tun - aber Du kannst ein Update der states erzwingen, wenn Du einen get Datenpunkt erstellst:

          https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html#zigbee2mqtt-friendly-name-get

          Wenn Du get mit leerem state setzt, kannst Du quasi ein Update des Status via mqtt erzwingen:

          36205a92-b0c3-4bd4-a674-6d3c81e54301-image.png

          Das mit dem zitieren muss ich noch lernen :blush:

          1 Antwort Letzte Antwort
          0
          • ? Ein ehemaliger Benutzer

            @mickym Okay ich verstehe, quasi ein manuelles anstoßen um Daten zu erhalten, gut zu wissen :+1:

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

            @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

            @mickym Okay ich verstehe, quasi ein manuelles anstoßen um Daten zu erhalten, gut zu wissen :+1:

            Genau, wenn Du also ein Update willst einfach ein get unter dem friendlyName mit {"state": ""} publishen und Du bekommst ein Update.

            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

              @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

              @noah3112 Bin erst seit kurzem mit zigbee2mqtt unterwegs. Ich hatte sehr viele Probleme mit dem zigbee Adapter und bin bis jetzt sehr angetan. Allerdingt fehlt die Langzeiterfahrung und was damit alles geht.

              Ja da bist Du nicht der Erste. In meinen Augen ist es in diesem Fall sogar ein Vorteil unabhängig von iobroker Updates zu sein. ;)

              ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von Ein ehemaliger Benutzer
              #52

              @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

              @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

              @noah3112 Bin erst seit kurzem mit zigbee2mqtt unterwegs. Ich hatte sehr viele Probleme mit dem zigbee Adapter und bin bis jetzt sehr angetan. Allerdingt fehlt die Langzeiterfahrung und was damit alles geht.

              Ja da bist Du nicht der Erste. In meinen Augen ist es in diesem Fall sogar ein Vorteil unabhängig von iobroker Updates zu sein. ;)

              Ungelogen ich musste jeden Tag mindestens 2 Sensoren wieder anlernen. Unerklärliche Abstürze obwohl keine Änderungen vorgenommen wurden. Ohne Änderungen ist der Adapter wieder gelaufen. Das war nur ein kleiner Einblick der Probleme. Hab lange mit mir gerungen diesen Schritt zu gehen. Bei inzwischen 109 Zigbee Geräten ist es schon ein bissel Arbeit ;-) Aber es ist geschafft...zumindest das anlernen.

              1 Antwort Letzte Antwort
              0
              • ? Ein ehemaliger Benutzer

                @noah3112 Bin erst seit kurzem mit zigbee2mqtt unterwegs. Ich hatte sehr viele Probleme mit dem zigbee Adapter und bin bis jetzt sehr angetan. Allerdingt fehlt die Langzeiterfahrung und was damit alles geht.

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

                @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                @noah3112 Bin erst seit kurzem mit zigbee2mqtt unterwegs. Ich hatte sehr viele Probleme mit dem zigbee Adapter und bin bis jetzt sehr angetan. Allerdingt fehlt die Langzeiterfahrung und was damit alles geht.

                Etwas was mir sehr positiv aufgefallen ist, gerade bei Lampen, dass Du das Einschaltverhalten steuern kannst. Mit dem Zigbee adapter sind nach Stromausfall immer meine Lampen angegangen. Das kann man zwar mit einem Send-Command irgendwie einstellen, aber das gibt es dort direkt einzustellen:

                951d4279-f89e-4309-b567-5a202a0cef8f-image.png

                Stabiltät der Verbindungen ist auch besser und das Anlernen ging auch schneller, obwohl ja "eigentlich" die gleiche Technik dahinter steckt. Aber das ist hier off-topic-. Ausserdem wurde der conbee2 Stick bis vor einigen Monaten nicht offiziell unterstützt wurde, das zigbee2mqtt hat es aber getan und mir war das dann irgendwann zu blöd, dass man keine Hilfe bekommt, weil man halt ein nicht unterstütztes Gerät benutzt.

                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.

                ? 2 Antworten Letzte Antwort
                0
                • mickymM mickym

                  @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                  @noah3112 Bin erst seit kurzem mit zigbee2mqtt unterwegs. Ich hatte sehr viele Probleme mit dem zigbee Adapter und bin bis jetzt sehr angetan. Allerdingt fehlt die Langzeiterfahrung und was damit alles geht.

                  Etwas was mir sehr positiv aufgefallen ist, gerade bei Lampen, dass Du das Einschaltverhalten steuern kannst. Mit dem Zigbee adapter sind nach Stromausfall immer meine Lampen angegangen. Das kann man zwar mit einem Send-Command irgendwie einstellen, aber das gibt es dort direkt einzustellen:

                  951d4279-f89e-4309-b567-5a202a0cef8f-image.png

                  Stabiltät der Verbindungen ist auch besser und das Anlernen ging auch schneller, obwohl ja "eigentlich" die gleiche Technik dahinter steckt. Aber das ist hier off-topic-. Ausserdem wurde der conbee2 Stick bis vor einigen Monaten nicht offiziell unterstützt wurde, das zigbee2mqtt hat es aber getan und mir war das dann irgendwann zu blöd, dass man keine Hilfe bekommt, weil man halt ein nicht unterstütztes Gerät benutzt.

                  ? Offline
                  ? Offline
                  Ein ehemaliger Benutzer
                  schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                  #54

                  @mickym Ich finde das ganze Handling einfach und intuitiv. Ja ich weiß im Prinzip soll es der Zigbee Adapter nichts anderes sein. Aber das Teil läuft einfach besser. Ich habe auf meinen Proxmox System einen LXC Container nur für zigbee2mqtt laufen. Lies sich super leicht einrichten. Selbst das durchreichen des Sticks war kein Problem.

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • ? Ein ehemaliger Benutzer

                    @mickym Ich finde das ganze Handling einfach und intuitiv. Ja ich weiß im Prinzip soll es der Zigbee Adapter nichts anderes sein. Aber das Teil läuft einfach besser. Ich habe auf meinen Proxmox System einen LXC Container nur für zigbee2mqtt laufen. Lies sich super leicht einrichten. Selbst das durchreichen des Sticks war kein Problem.

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

                    @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                    @mickym Ich finde das ganze Handling einfach und intuitiv. Ja ich weiß im Prinzip soll es der Zigbee Adapter nichts anderes sein. Aber das Teil läuft einfach besser. Ich habe auf meinen Proxmox System einen LXC Container nur für zigbee2mqtt laufen. Lies sich super leicht einrichten. Selbst das durchreichen des Sticks war kein Problem.

                    Na um wieder zum Thema zurück zu kommen, dann habe ich ja mit dem Aufbohren des Subflows einen richtigen Mehrwert geschaffen. ;)

                    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.

                    ? 2 Antworten Letzte Antwort
                    0
                    • mickymM mickym

                      @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                      @noah3112 Bin erst seit kurzem mit zigbee2mqtt unterwegs. Ich hatte sehr viele Probleme mit dem zigbee Adapter und bin bis jetzt sehr angetan. Allerdingt fehlt die Langzeiterfahrung und was damit alles geht.

                      Etwas was mir sehr positiv aufgefallen ist, gerade bei Lampen, dass Du das Einschaltverhalten steuern kannst. Mit dem Zigbee adapter sind nach Stromausfall immer meine Lampen angegangen. Das kann man zwar mit einem Send-Command irgendwie einstellen, aber das gibt es dort direkt einzustellen:

                      951d4279-f89e-4309-b567-5a202a0cef8f-image.png

                      Stabiltät der Verbindungen ist auch besser und das Anlernen ging auch schneller, obwohl ja "eigentlich" die gleiche Technik dahinter steckt. Aber das ist hier off-topic-. Ausserdem wurde der conbee2 Stick bis vor einigen Monaten nicht offiziell unterstützt wurde, das zigbee2mqtt hat es aber getan und mir war das dann irgendwann zu blöd, dass man keine Hilfe bekommt, weil man halt ein nicht unterstütztes Gerät benutzt.

                      ? Offline
                      ? Offline
                      Ein ehemaliger Benutzer
                      schrieb am zuletzt editiert von
                      #56

                      @mickym So ich glaube ich muss mal kurz die Augen zu machen iss schon bissel spät ;-) Ich weiß nicht wie oft ich mich schon bei dir bedankt habe. Macht Spaß dich um Hilfe zu bitten. Man wird nicht gleich nieder gemacht wenn man etwas nicht verstanden hat...DANKE und gute Nacht

                      1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                        @mickym Ich finde das ganze Handling einfach und intuitiv. Ja ich weiß im Prinzip soll es der Zigbee Adapter nichts anderes sein. Aber das Teil läuft einfach besser. Ich habe auf meinen Proxmox System einen LXC Container nur für zigbee2mqtt laufen. Lies sich super leicht einrichten. Selbst das durchreichen des Sticks war kein Problem.

                        Na um wieder zum Thema zurück zu kommen, dann habe ich ja mit dem Aufbohren des Subflows einen richtigen Mehrwert geschaffen. ;)

                        ? Offline
                        ? Offline
                        Ein ehemaliger Benutzer
                        schrieb am zuletzt editiert von
                        #57

                        @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                        @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                        @mickym Ich finde das ganze Handling einfach und intuitiv. Ja ich weiß im Prinzip soll es der Zigbee Adapter nichts anderes sein. Aber das Teil läuft einfach besser. Ich habe auf meinen Proxmox System einen LXC Container nur für zigbee2mqtt laufen. Lies sich super leicht einrichten. Selbst das durchreichen des Sticks war kein Problem.

                        Na um wieder zum Thema zurück zu kommen, dann habe ich ja mit dem Aufbohren des Subflows einen richtigen Mehrwert geschaffen. ;)

                        Ja das hast du :+1:

                        1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                          @mickym Ich finde das ganze Handling einfach und intuitiv. Ja ich weiß im Prinzip soll es der Zigbee Adapter nichts anderes sein. Aber das Teil läuft einfach besser. Ich habe auf meinen Proxmox System einen LXC Container nur für zigbee2mqtt laufen. Lies sich super leicht einrichten. Selbst das durchreichen des Sticks war kein Problem.

                          Na um wieder zum Thema zurück zu kommen, dann habe ich ja mit dem Aufbohren des Subflows einen richtigen Mehrwert geschaffen. ;)

                          ? Offline
                          ? Offline
                          Ein ehemaliger Benutzer
                          schrieb am zuletzt editiert von
                          #58

                          @mickym Ich muss mich nochmal zum Thema melden ;-) Diese Fehlermeldung kommt hin und wieder...

                          Fehler.png

                          Hast du ein Tipp wie ich dem Verursacher auf die Schliche komme?

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • ? Ein ehemaliger Benutzer

                            @mickym Ich muss mich nochmal zum Thema melden ;-) Diese Fehlermeldung kommt hin und wieder...

                            Fehler.png

                            Hast du ein Tipp wie ich dem Verursacher auf die Schliche komme?

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

                            @noah3112 Das ist Deine mqtt-IN Node - da hast wahrscheinlich angegeben, dass es sich um ein analysiertes JSON Objekt handelt.

                            bc3bbca0-c313-4237-9707-082a99708bd3-image.png

                            Du musst das nur wieder auf String und Buffer umstellen - der Subflow wandelt Strings automatisch um. Das Problem mit der Analyse eines analysierten JSON Objektes der mqtt-In Node schmeisst den Fehler bei Analyse des Objekts bei normalen Strings. Ich hab das im Node Red Forum schon moniert und hoffe, dass es in der Version 3 behoben wird. Also einfach wieder auf String und Buffer umstellen.

                            Falls es Dich interessiert habe ich das Problem hier beschrieben.
                            https://discourse.nodered.org/t/improvement-of-mqtt-in-nodes/55445/17

                            Falls Du in anderen Situationen trotzdem die Funktion des analysierten JSON Objektes in Deiner mqtt-IN Node nutzen willst und aber auch teilweise Strings hast, dann kann man dass auch mit einer Catch NOde abfangen. In dem Fall kann aber der Subflow damit umgehen, da die erste Switch Node sogar den Typ JSON String kennt. ;)

                            Grundsätzlich kannst Du dich schon verlassen, welche Node einen Fehler verursacht:

                            f73f675a-df9b-4fc3-9a50-1c811db3e033-image.png

                            Also die Node "zigbee2mqtt to iobroker"

                            Also lange Rede - kurzer Sinn - einfach wieder auf Auto-Erkennung (string or buffer) umstellen.

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

                            ? mickymM 2 Antworten Letzte Antwort
                            0
                            • mickymM mickym

                              @noah3112 Das ist Deine mqtt-IN Node - da hast wahrscheinlich angegeben, dass es sich um ein analysiertes JSON Objekt handelt.

                              bc3bbca0-c313-4237-9707-082a99708bd3-image.png

                              Du musst das nur wieder auf String und Buffer umstellen - der Subflow wandelt Strings automatisch um. Das Problem mit der Analyse eines analysierten JSON Objektes der mqtt-In Node schmeisst den Fehler bei Analyse des Objekts bei normalen Strings. Ich hab das im Node Red Forum schon moniert und hoffe, dass es in der Version 3 behoben wird. Also einfach wieder auf String und Buffer umstellen.

                              Falls es Dich interessiert habe ich das Problem hier beschrieben.
                              https://discourse.nodered.org/t/improvement-of-mqtt-in-nodes/55445/17

                              Falls Du in anderen Situationen trotzdem die Funktion des analysierten JSON Objektes in Deiner mqtt-IN Node nutzen willst und aber auch teilweise Strings hast, dann kann man dass auch mit einer Catch NOde abfangen. In dem Fall kann aber der Subflow damit umgehen, da die erste Switch Node sogar den Typ JSON String kennt. ;)

                              Grundsätzlich kannst Du dich schon verlassen, welche Node einen Fehler verursacht:

                              f73f675a-df9b-4fc3-9a50-1c811db3e033-image.png

                              Also die Node "zigbee2mqtt to iobroker"

                              Also lange Rede - kurzer Sinn - einfach wieder auf Auto-Erkennung (string or buffer) umstellen.

                              ? Offline
                              ? Offline
                              Ein ehemaliger Benutzer
                              schrieb am zuletzt editiert von
                              #60

                              @mickym Kaum macht man es richtig und schon ist wieder Ruhe ;-) Dankeschön...mal wieder
                              PS: Woher die Meldung kam war mir klar. Ich dachte nur weil es nicht ständig passierte das einer der eingelesenen Datenpunkte den Fehler verursacht. Okay falsch gedacht und dazu gelernt.

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • ? Ein ehemaliger Benutzer

                                @mickym Kaum macht man es richtig und schon ist wieder Ruhe ;-) Dankeschön...mal wieder
                                PS: Woher die Meldung kam war mir klar. Ich dachte nur weil es nicht ständig passierte das einer der eingelesenen Datenpunkte den Fehler verursacht. Okay falsch gedacht und dazu gelernt.

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

                                @noah3112 sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                                Ich dachte nur weil es nicht ständig passierte das einer der eingelesenen Datenpunkte den Fehler verursacht. Okay falsch

                                Na ja alle Datenpunkte mit "normalen" Strings haben den Fehler verursacht. Wenn Du diese Diskussion in dem Thread nachverfolgst, sind die Entwickler davon ausgegangen, dass man immer wüßte welche Datentypen eingelesen werden - als entweder JSON Strings oder normale Strings. Das man mit Wildcards ganz unterschiedliche Datentypen einlesen kann, hatten sie nicht auf dem Schirm bzw. wollten bewußt einen Fehler erzeugen, dass ein String eben kein analysierbares JSON Objekt ist. Mit den anderen Datentypen hatten sie damit kein Problem (was ich dann als inkonsequent moniert hatte). Wie Du aber an dem Thread erkennen kannst, haben sie doch ein Einsehen - anscheinend haben sie in der kommenden NodeRed Version 3.0 auch generell einiges an den mqtt-Nodes gemacht. Ich hab da im Moment auch einiges komisches Verhalten entdeckt, was angeblich ab der Version 3 behoben ist. Wir werden dann nur wieder unsere iobroker Entwickler überzeugen müssen, dass sie über den Adapter uns diese Version zur Verfügung in einem absehbaren Zeitraum zur Verfügung stellen. Im Moment ist es immer noch Beta. Aber es kommen Dinge die sehr nützlich sind. So wird man Flows im Editor anhalten kann - um zum Beispiel Probleme zu beheben - ohne das man Node Red komplett neu starten muss. ....

                                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

                                  Wichtig:

                                  In der aktuellen NodeRed Version funktioniert alles wieder ohne Fehlermeldungen

                                  ===================================================================

                                  Nachdem hier wohl einige der Meinung sind, dass NodeRed auch noch ioBroker Strukturen von sich aus anlegen können sollte, obwohl es den ioBroker zu dem Zeitpunkt noch gar nicht gab, habe ich mal eine kleinen Subflow erstellt.

                                  Ähnliche Anforderungen wurden ja auch im Blockly oder Javascript Umfeld gestellt. Ich habe das ganze aber nicht lange durchgetestet, sodass ihr bitte diesen Subflow rein mal als Basis nehmen könnt und ggf. noch anpassen müsst.
                                  Inzwischen denke ich, kann man den Subflow bedenklos nutzen, da er bereits mehrfach seit über einem Jahr im Einsatz ist. ;)

                                  Der Objektbaum wird aus einem JSON-String oder einem JS Objekt gebildet. Es kann als topic für den Objektbaum ein Name in der Eigenschaft msg.top mit gegeben werden, dann wird dieser Datenpunkt als Wurzel unter 0_userdata.0.top mit dem im Objekt oder JSON-String zugehörigen Objekten angelegt oder er wird direkt in der Subflow Node unter top definiert. Wenn man nichts eingibt, dann werden alle Datenpunkte unter 0_userdata.0.objRoot angelegt:
                                  1b645fde-f1e8-4d68-8c3b-49b516ccd4ad-image.png

                                  Das Keep-Topic kann man dann auf true setzen, wenn man ganze Bäume also mit Wildcards über mqtt- einliest:
                                  Siehe dieses Posting anhand eines Zigbee2mqtt baums: https://forum.iobroker.net/post/820702
                                  ef66f891-ee41-4534-9910-4377629fd11c-image.png

                                  Voraussetzung hierfür ist natürlich, dass man Node-Red die Erlaubnis erteilt selbstständig Objekte anlegen zu dürfen.

                                  In der Adapterkonfiguration des Node-Red Adapters also die Option:
                                  a3d0a5c9-2fdc-424e-b410-fc30dae075b8-image.png

                                  aktivieren.

                                  Hier der Import:

                                  Hier den Subflow zum Importieren:

                                  [
                                      {
                                          "id": "6e802f1553b18149",
                                          "type": "subflow",
                                          "name": "JSON or Obj to IOBroker",
                                          "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                          "category": "",
                                          "in": [
                                              {
                                                  "x": 60,
                                                  "y": 160,
                                                  "wires": [
                                                      {
                                                          "id": "554b8c663bcb46c2"
                                                      }
                                                  ]
                                              }
                                          ],
                                          "out": [
                                              {
                                                  "x": 2620,
                                                  "y": 280,
                                                  "wires": [
                                                      {
                                                          "id": "0962842ebd23e0d7",
                                                          "port": 0
                                                      }
                                                  ]
                                              }
                                          ],
                                          "env": [
                                              {
                                                  "name": "top",
                                                  "type": "str",
                                                  "value": "objRoot"
                                              },
                                              {
                                                  "name": "keepTopic",
                                                  "type": "bool",
                                                  "value": "false"
                                              }
                                          ],
                                          "meta": {},
                                          "color": "#E2D96E",
                                          "icon": "node-red/batch.svg"
                                      },
                                      {
                                          "id": "3e11e8338f694832",
                                          "type": "split",
                                          "z": "6e802f1553b18149",
                                          "name": "split object",
                                          "splt": "\\n",
                                          "spltType": "str",
                                          "arraySplt": 1,
                                          "arraySpltType": "len",
                                          "stream": false,
                                          "addname": "key",
                                          "x": 1370,
                                          "y": 160,
                                          "wires": [
                                              [
                                                  "0562a4249c8b856b"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "0562a4249c8b856b",
                                          "type": "change",
                                          "z": "6e802f1553b18149",
                                          "name": "add key to topic",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "stateName",
                                                  "pt": "msg",
                                                  "to": "key",
                                                  "tot": "msg"
                                              },
                                              {
                                                  "t": "change",
                                                  "p": "key",
                                                  "pt": "msg",
                                                  "from": ".",
                                                  "fromt": "str",
                                                  "to": "_",
                                                  "tot": "str"
                                              },
                                              {
                                                  "t": "set",
                                                  "p": "topic",
                                                  "pt": "msg",
                                                  "to": "topic  & '.' & key",
                                                  "tot": "jsonata"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 1560,
                                          "y": 160,
                                          "wires": [
                                              [
                                                  "ddc90985bef0fafa"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "ddc90985bef0fafa",
                                          "type": "switch",
                                          "z": "6e802f1553b18149",
                                          "name": "is type?",
                                          "property": "payload",
                                          "propertyType": "msg",
                                          "rules": [
                                              {
                                                  "t": "istype",
                                                  "v": "array",
                                                  "vt": "array"
                                              },
                                              {
                                                  "t": "istype",
                                                  "v": "object",
                                                  "vt": "object"
                                              },
                                              {
                                                  "t": "else"
                                              }
                                          ],
                                          "checkall": "true",
                                          "repair": false,
                                          "outputs": 3,
                                          "x": 1740,
                                          "y": 160,
                                          "wires": [
                                              [
                                                  "bfce19b206660fbe"
                                              ],
                                              [
                                                  "3e11e8338f694832"
                                              ],
                                              [
                                                  "1a8c03d866b85b12"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "bfce19b206660fbe",
                                          "type": "split",
                                          "z": "6e802f1553b18149",
                                          "name": "split array",
                                          "splt": "\\n",
                                          "spltType": "str",
                                          "arraySplt": 1,
                                          "arraySpltType": "len",
                                          "stream": false,
                                          "addname": "",
                                          "x": 780,
                                          "y": 280,
                                          "wires": [
                                              [
                                                  "e89927810c6d75ec"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "e89927810c6d75ec",
                                          "type": "change",
                                          "z": "6e802f1553b18149",
                                          "name": "add index to topic",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "topic",
                                                  "pt": "msg",
                                                  "to": "topic  & '.' & parts.index",
                                                  "tot": "jsonata"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 970,
                                          "y": 280,
                                          "wires": [
                                              [
                                                  "a4d1a5d04564dc77"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "f5d52c6a57d08904",
                                          "type": "change",
                                          "z": "6e802f1553b18149",
                                          "name": "finalize msg.topic",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "top",
                                                  "pt": "msg",
                                                  "to": "'0_userdata.0.' & top",
                                                  "tot": "jsonata"
                                              },
                                              {
                                                  "t": "set",
                                                  "p": "topic",
                                                  "pt": "msg",
                                                  "to": "top & '.' & topic",
                                                  "tot": "jsonata"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 2170,
                                          "y": 240,
                                          "wires": [
                                              [
                                                  "0962842ebd23e0d7"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "1a8c03d866b85b12",
                                          "type": "switch",
                                          "z": "6e802f1553b18149",
                                          "name": "is msg.top != null",
                                          "property": "top",
                                          "propertyType": "msg",
                                          "rules": [
                                              {
                                                  "t": "nnull"
                                              },
                                              {
                                                  "t": "null"
                                              }
                                          ],
                                          "checkall": "true",
                                          "repair": false,
                                          "outputs": 2,
                                          "x": 1950,
                                          "y": 280,
                                          "wires": [
                                              [
                                                  "f5d52c6a57d08904"
                                              ],
                                              [
                                                  "74c895ce724750de"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "e023fe88445ce43e",
                                          "type": "change",
                                          "z": "6e802f1553b18149",
                                          "name": "",
                                          "rules": [
                                              {
                                                  "t": "delete",
                                                  "p": "topic",
                                                  "pt": "msg"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 350,
                                          "y": 200,
                                          "wires": [
                                              [
                                                  "3649300b4c233b10"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "3649300b4c233b10",
                                          "type": "switch",
                                          "z": "6e802f1553b18149",
                                          "name": "is type?",
                                          "property": "payload",
                                          "propertyType": "msg",
                                          "rules": [
                                              {
                                                  "t": "istype",
                                                  "v": "json",
                                                  "vt": "json"
                                              },
                                              {
                                                  "t": "istype",
                                                  "v": "array",
                                                  "vt": "array"
                                              },
                                              {
                                                  "t": "istype",
                                                  "v": "object",
                                                  "vt": "object"
                                              },
                                              {
                                                  "t": "else"
                                              }
                                          ],
                                          "checkall": "true",
                                          "repair": false,
                                          "outputs": 4,
                                          "x": 600,
                                          "y": 160,
                                          "wires": [
                                              [
                                                  "fc7913a8524badb7"
                                              ],
                                              [
                                                  "bfce19b206660fbe"
                                              ],
                                              [
                                                  "3e11e8338f694832"
                                              ],
                                              [
                                                  "9ac3cc3681e8b6c6"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "1b8480cd2df7ba3f",
                                          "type": "comment",
                                          "z": "6e802f1553b18149",
                                          "name": "Array",
                                          "info": "",
                                          "x": 600,
                                          "y": 280,
                                          "wires": []
                                      },
                                      {
                                          "id": "b3541807672be040",
                                          "type": "comment",
                                          "z": "6e802f1553b18149",
                                          "name": "object",
                                          "info": "",
                                          "x": 1340,
                                          "y": 100,
                                          "wires": []
                                      },
                                      {
                                          "id": "a4d1a5d04564dc77",
                                          "type": "switch",
                                          "z": "6e802f1553b18149",
                                          "name": "is type?",
                                          "property": "payload",
                                          "propertyType": "msg",
                                          "rules": [
                                              {
                                                  "t": "istype",
                                                  "v": "object",
                                                  "vt": "object"
                                              },
                                              {
                                                  "t": "istype",
                                                  "v": "array",
                                                  "vt": "array"
                                              },
                                              {
                                                  "t": "else"
                                              }
                                          ],
                                          "checkall": "true",
                                          "repair": false,
                                          "outputs": 3,
                                          "x": 1160,
                                          "y": 280,
                                          "wires": [
                                              [
                                                  "3e11e8338f694832"
                                              ],
                                              [
                                                  "bfce19b206660fbe"
                                              ],
                                              [
                                                  "a096a93bb82b7a93"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "74c895ce724750de",
                                          "type": "change",
                                          "z": "6e802f1553b18149",
                                          "name": "finalize msg.topic",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "top",
                                                  "pt": "msg",
                                                  "to": "top",
                                                  "tot": "env"
                                              },
                                              {
                                                  "t": "set",
                                                  "p": "top",
                                                  "pt": "msg",
                                                  "to": "'0_userdata.0.' & top",
                                                  "tot": "jsonata"
                                              },
                                              {
                                                  "t": "set",
                                                  "p": "topic",
                                                  "pt": "msg",
                                                  "to": "top & '.' & topic",
                                                  "tot": "jsonata"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 2170,
                                          "y": 320,
                                          "wires": [
                                              [
                                                  "0962842ebd23e0d7"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "554b8c663bcb46c2",
                                          "type": "switch",
                                          "z": "6e802f1553b18149",
                                          "name": "",
                                          "property": "keepTopic",
                                          "propertyType": "env",
                                          "rules": [
                                              {
                                                  "t": "true"
                                              },
                                              {
                                                  "t": "false"
                                              }
                                          ],
                                          "checkall": "true",
                                          "repair": false,
                                          "outputs": 2,
                                          "x": 170,
                                          "y": 160,
                                          "wires": [
                                              [
                                                  "e30ba9f0483285e4"
                                              ],
                                              [
                                                  "e023fe88445ce43e"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "e30ba9f0483285e4",
                                          "type": "change",
                                          "z": "6e802f1553b18149",
                                          "name": "",
                                          "rules": [
                                              {
                                                  "t": "change",
                                                  "p": "topic",
                                                  "pt": "msg",
                                                  "from": "/",
                                                  "fromt": "str",
                                                  "to": ".",
                                                  "tot": "str"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 350,
                                          "y": 120,
                                          "wires": [
                                              [
                                                  "3649300b4c233b10"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "0962842ebd23e0d7",
                                          "type": "change",
                                          "z": "6e802f1553b18149",
                                          "name": "translate invalid chars in topic",
                                          "rules": [
                                              {
                                                  "t": "change",
                                                  "p": "topic",
                                                  "pt": "msg",
                                                  "from": "..",
                                                  "fromt": "str",
                                                  "to": ".",
                                                  "tot": "str"
                                              },
                                              {
                                                  "t": "change",
                                                  "p": "topic",
                                                  "pt": "msg",
                                                  "from": "€",
                                                  "fromt": "str",
                                                  "to": "EUR",
                                                  "tot": "str"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 2430,
                                          "y": 280,
                                          "wires": [
                                              []
                                          ]
                                      },
                                      {
                                          "id": "9ac3cc3681e8b6c6",
                                          "type": "change",
                                          "z": "6e802f1553b18149",
                                          "name": "set topic, if empty",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "topic",
                                                  "pt": "msg",
                                                  "to": "topic ? topic : $type(payload)\t",
                                                  "tot": "jsonata"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 950,
                                          "y": 200,
                                          "wires": [
                                              [
                                                  "a096a93bb82b7a93"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "fc7913a8524badb7",
                                          "type": "json",
                                          "z": "6e802f1553b18149",
                                          "name": "",
                                          "property": "payload",
                                          "action": "obj",
                                          "pretty": false,
                                          "x": 750,
                                          "y": 100,
                                          "wires": [
                                              [
                                                  "d9e7bdd4c48a8aa1"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "d9e7bdd4c48a8aa1",
                                          "type": "switch",
                                          "z": "6e802f1553b18149",
                                          "name": "is type?",
                                          "property": "payload",
                                          "propertyType": "msg",
                                          "rules": [
                                              {
                                                  "t": "istype",
                                                  "v": "array",
                                                  "vt": "array"
                                              },
                                              {
                                                  "t": "istype",
                                                  "v": "object",
                                                  "vt": "object"
                                              },
                                              {
                                                  "t": "else"
                                              }
                                          ],
                                          "checkall": "true",
                                          "repair": false,
                                          "outputs": 3,
                                          "x": 900,
                                          "y": 100,
                                          "wires": [
                                              [
                                                  "1520be42bcc2145e"
                                              ],
                                              [
                                                  "1520be42bcc2145e"
                                              ],
                                              [
                                                  "9ac3cc3681e8b6c6"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "a096a93bb82b7a93",
                                          "type": "junction",
                                          "z": "6e802f1553b18149",
                                          "x": 1380,
                                          "y": 280,
                                          "wires": [
                                              [
                                                  "1a8c03d866b85b12"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "1520be42bcc2145e",
                                          "type": "junction",
                                          "z": "6e802f1553b18149",
                                          "x": 480,
                                          "y": 20,
                                          "wires": [
                                              [
                                                  "3649300b4c233b10"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "8d36fab85a67b5f5",
                                          "type": "subflow:6e802f1553b18149",
                                          "z": "7e6af0015415146d",
                                          "name": "",
                                          "x": 550,
                                          "y": 3860,
                                          "wires": [
                                              []
                                          ]
                                      }
                                  ]
                                  

                                  Hier wieder der Hilfetext zur Node:

                                  cb9a4eb3-185e-49fd-87d0-adf31fb8f291-image.png

                                  EDIT: Den Testflow habe ich rausgenommen, da er die alte Node enthielt. Kann man aber auch anhand des Screenshots erkennen.

                                  EDIT 7.4.2021: So hab den Subflow nochmal geändert, da bei Übergabe eines reinen Arrays - der Flow nicht richtig funktioniert hat. Ausserdem habe ich mal den Subflow durch Beschreibung der Nodes besser dokumentiert.

                                  EDIT 8.4.2021: Für einfache Arrays (die keine Objekte enthielten), hat der Flow noch nicht funktioniert. Nun wurde dies behoben und auch skalare - also auch Input, der kein Objekt enthält wird auf 0_userdata.0.{{msg.top}} durchgereicht. Die Beispiele werden in einem eigenen Post dargestellt.

                                  EDIT 7.12.2021: Anstelle von msg.top kann man den Startpunkt für den Objektbaum nun auch direkt in der Node angeben:
                                  b0ca565a-7cc3-43d1-a87e-21c4198d5f8d-image.png

                                  Ist msg.top leer werden alle states direkt unter 0_userdata.0 angelegt.

                                  EDIT 14.6.2022: Ein neue Eigenschaft wurde der Subflow-Node hinzugefügt: keepTopic

                                  Damit kann man die bisherigen Topic behalten und mit Wildcards arbeiten und somit ganze Objektbäume im iobroker erstellen:

                                  e3c0bf54-096e-4d01-a4f1-5c366352bc50-image.png

                                  Ein Beispiel gibts im Posting vom heutigen Datum also dem 14.6.2022.

                                  EDIT 13.9.2022:

                                  Leerzeichen in den topics werden nicht mehr bei Objekten ersetzt und somit erfolgt keine Ungleichbehandlung zwischen Objekten und anderen Datentypen. Das hat ansonsten zur Mehrfachanlage der Topics geführt.

                                  EDIT 01.11.2022:
                                  Weitere Fehlerbehebungen. Wenn skalare Objekte zu Beginn gesendet wurden und das Topic nicht übernommen werden sollte, oder gar nicht vorhanden war, dann entstanden topics mit einem Punkt am Ende. Das wurde nun behoben. Das bedeutet jedoch andererseits, dass skalare Werte nicht mehr direkt in den top Datenpunkt geschrieben werden, sondern als Wert mit der Bezeichnung ihres Datentyps. "Hello World" als String, wird deshalb als Wert mit Namen "string" ausgegeben - Ausnahme ist, natürlich wenn die topics erhalten bleiben (keepTopic = true)

                                  EDIT 22.05.2023:
                                  Objekteigenschaften mit Punkten können im iobroker nicht als topic bzw. state erstellt werden. Deshalb werden alle Punkte in Objekteigenschaften durch Unterstriche ersetzt. Also "Wohnzi." wird zu "Wohnzi_".

                                  =============================================================================================================================

                                  Für alle die, die Node bereits benutzen - wie folgt vorgehen.

                                  1. Den Code normal in die Zwischenablage kopieren und dann importieren.
                                  2. Da das System erkennst, dass es diesen Subflow/Nodes bereits gibt - bitte auf "Zeige Nodes ... " gehen.

                                  07910a9e-986e-4d20-aa8a-694cf1a0a62e-image.png

                                  1. Anschließend braucht man nur den Subflow ersetzen.

                                  0861d7e5-b997-4960-b83c-309033d5015b-image.png

                                  1. Nach dem man auf "Importiere Auswahl" geklickt hat, wird einem angezeigt, wieviele Nodes ersetzt wurden. Dann noch auf Deploy.

                                  =============================================================================================================================

                                  Anwendungsbeispiele und Flows:

                                  befc4a14-483d-43fc-b4a5-23fefaf0fa09-image.png

                                  Nun zu den einzelnen Inputs in den Inject-Nodes:

                                  1. Example.SimpleArray

                                  [1,5,6.2,2,3]
                                  

                                  fd24d6d6-0979-4160-a519-8e1c973cf897-image.png
                                  Ergebnis

                                  309b4092-119c-4d58-b807-f868f9c7b637-image.png

                                  2. Example.ComplexArray

                                  [1,2,[3,4,5],{"Leaving":"288.700000","Returning":"24.900000"}]
                                  

                                  020f93df-4c30-4fab-8596-380ca60051cd-image.png
                                  Ergebnis

                                  1d21885e-c2e4-4d5c-a56c-1054d97cfad1-image.png

                                  3. Skalar (Input ist kein Objekt)

                                  d0f5c66f-ff51-4931-b5d2-2cf6f2b713a0-image.png

                                  Ergebnis

                                  cad2b586-de06-4303-a705-6a79709f779d-image.png

                                  4. Objekt:

                                  {"Präsenz Wohnzimmer Essbereich":true,"Präsenz Bad":true,"Präsenz Schlafzimmer":true,"Thermometer Bad":true,"Präsenz Flur":true,"Würfel Wohnzimmer":{"1":"TV"},"Präsenz Küche":true,"Würfel Schlafzimmer":true,"Thermometer Küche":true,"Präsenz Diele":true,"Präsenz Wohnzimmer":true,"Präsenz Büro":true}
                                  

                                  89c6e1d7-b5f0-4dab-b137-b5775b4781ec-image.png
                                  Ergebnis:

                                  704546f2-3b16-4b2d-94d4-e4836c03550c-image.png

                                  5. ObjectArray:

                                  [
                                      {
                                          "start": 45,
                                          "end": 100,
                                          "date": "24.3.2021 18:44",
                                          "diff": 1,
                                          "quantity": 0,
                                          "price": "0.00",
                                          "basicPrice": 0,
                                          "startDate": "24.3.2021 18:44",
                                          "duration": 1,
                                          "perHour": 0
                                      },
                                      {
                                          "start": 51,
                                          "end": 52,
                                          "date": "24.3.2021 15:59",
                                          "diff": 3,
                                          "quantity": 0,
                                          "price": "0.00",
                                          "basicPrice": 0,
                                          "startDate": "24.3.2021 15:57",
                                          "duration": 3,
                                          "perHour": 0
                                      },
                                      {
                                          "start": 59,
                                          "end": 100,
                                          "date": "24.2.2021 14:27",
                                          "diff": 29,
                                          "quantity": 0,
                                          "price": "0.00",
                                          "basicPrice": 0,
                                          "startDate": "24.2.2021 13:59",
                                          "duration": 29,
                                          "perHour": 0
                                      }
                                  ]
                                  

                                  d2fe3518-677f-4ed1-864d-674c7806a35b-image.png

                                  Ergebnis:

                                  586d1ec2-d51c-4b58-97ba-8aa0c2bc370b-image.png

                                  6. JSON-String

                                  {"squadName":"Super hero squad","homeTown":"Metro City","formed":2016,"secretBase":"Super tower","active":true,"members":[{"name":"Molecule Man","age":29,"secretIdentity":"Dan Jukes","powers":["Radiation resistance","Turning tiny","Radiation blast"],"dressed":{"head":"Kopfbedeckung"}},{"name":"Madame Uppercut","age":69,"secretIdentity":"Jane Wilson","powers":["Million tonne punch","Damage resistance","Superhuman reflexes"]},{"name":"Eternal Flame","age":1000000,"secretIdentity":"Unknown","powers":["Immortality","Heat Immunity","Inferno","Teleportation","Interdimensional travel"]}]}
                                  

                                  4ae85b8b-85bf-4513-b701-6bdf1147808e-image.png
                                  Ergebnis:

                                  6e21154f-c8ce-4477-9633-926d2af2ebf1-image.png

                                  F Offline
                                  F Offline
                                  Frank579
                                  schrieb am zuletzt editiert von
                                  #62

                                  Hallo @mickym,
                                  erst mal Danke für den Flow, habe aber noch ein paar Probleme die bestimmt vor dem Bildschirm sitzen ;) zu aller erst mal das sind meine ersten steh und geh versuche mit NodeRed, also bitte nicht schlagen :joy:
                                  habe vor nach und nach alles auf Mqtt zu ändern, da sich so einiges angesammelt hat (sonoff, schelly, owtrack,....) evtl.dann im Winter noch Zigbee.
                                  Habe am Wochenende mal einen Test IOBoker aufgesetzt, um mal zu schauen was auf mich zu kommt...
                                  Habe jetzt den Flow mal soweit eingerichtet, läuft auch fast gut. Als Topic habe ich erstmal nur # genommen, macht das sinn? möchte ja im Prinzip erst alles haben, oder mache ich besser für jedes Gerät der jede Gruppe einen eigenen Flow. Bekomme einige Fehler im Log da er alle States als readonly anlegt, das muss ich bestimmt irgendwo ändern, nur wo ?
                                  dann habe ich bei den shellys ein komisches verhalten, da legt er 2 Ordner für jeden shelly an habe mal ein par Bilder angefügt wie es unter Userdata.0 aussieht und im MQTT Adapter. Bestimmt ist da auch nu was falsch eingestellt :see_no_evil:
                                  Hier erst mal die Bilder
                                  Userdata.0
                                  userdata.PNG
                                  MQTT Adapter
                                  mqtt.PNG

                                  könntest du bitte etwas licht ins dunkle bringen :)
                                  Vielen Dank
                                  Gruß Frank

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • F Frank579

                                    Hallo @mickym,
                                    erst mal Danke für den Flow, habe aber noch ein paar Probleme die bestimmt vor dem Bildschirm sitzen ;) zu aller erst mal das sind meine ersten steh und geh versuche mit NodeRed, also bitte nicht schlagen :joy:
                                    habe vor nach und nach alles auf Mqtt zu ändern, da sich so einiges angesammelt hat (sonoff, schelly, owtrack,....) evtl.dann im Winter noch Zigbee.
                                    Habe am Wochenende mal einen Test IOBoker aufgesetzt, um mal zu schauen was auf mich zu kommt...
                                    Habe jetzt den Flow mal soweit eingerichtet, läuft auch fast gut. Als Topic habe ich erstmal nur # genommen, macht das sinn? möchte ja im Prinzip erst alles haben, oder mache ich besser für jedes Gerät der jede Gruppe einen eigenen Flow. Bekomme einige Fehler im Log da er alle States als readonly anlegt, das muss ich bestimmt irgendwo ändern, nur wo ?
                                    dann habe ich bei den shellys ein komisches verhalten, da legt er 2 Ordner für jeden shelly an habe mal ein par Bilder angefügt wie es unter Userdata.0 aussieht und im MQTT Adapter. Bestimmt ist da auch nu was falsch eingestellt :see_no_evil:
                                    Hier erst mal die Bilder
                                    Userdata.0
                                    userdata.PNG
                                    MQTT Adapter
                                    mqtt.PNG

                                    könntest du bitte etwas licht ins dunkle bringen :)
                                    Vielen Dank
                                    Gruß Frank

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

                                    @frank579

                                    Hallo erstmal - ist immer bissi schwierig das herauszufinden, das herauszufinden.

                                    Habe jetzt den Flow mal soweit eingerichtet, läuft auch fast gut. Als Topic habe ich erstmal nur # genommen, macht das sinn?

                                    Vielleicht solltest Du auch nicht gleich mit # anfangen, um nicht gleich alles zu laden. Aber das nur am Rande.

                                    Ich gehe mal davon aus, dass Du einen mit # das Subscribe Pattern des mqtt Adapters mit einem externen Broker meinst? Oder nutzt Du die mqtt-Nodes ...

                                    Bekomme einige Fehler im Log da er alle States als readonly anlegt, das muss ich bestimmt irgendwo ändern, nur wo ?

                                    Nun das machst Du nur in der iobroker-Out Node - hat mit dem Flow selbst nichts zu tun.
                                    Einfach da fix eintragen. - Ich hätte das zwar auch in dem Flow machen können, aber so ist man ggf. flexibler:

                                    d81f0b2e-0500-4e02-91d4-0f363ca98f31-image.png

                                    dann habe ich bei den shellys ein komisches verhalten, da legt er 2 Ordner für jeden shelly an habe mal ein par Bilder angefügt wie es unter Userdata.0 aussieht und im MQTT Adapter.

                                    Ich hab den Flow überarbeitet, damit sollte der Fehler nicht mehr auftreten. Bitte die Node aus dem nachfolgenden Post importieren und den Subflow wie beschrieben ersetzen.

                                    @frank579 - also vielen Dank - für das Beschreiben des Bugs - das mit dem 2. Ordner sollte nicht mehr auftreten. So wird der Flow immer besser. ;) - Ich empfehle Dir nochmal den ganzen Objektbaum unter 0_userdata.0 zu löschen, der von dem Flow angelegt wurde und neu zu erstellen - auch wegen den Schreibrechten - ich werde solche Einstellungen aber nicht in dem Flow festlegen, so dass man selbst entscheiden kann über die iobroker-Out Node.

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

                                    mickymM F 2 Antworten Letzte Antwort
                                    1
                                    • mickymM mickym

                                      @frank579

                                      Hallo erstmal - ist immer bissi schwierig das herauszufinden, das herauszufinden.

                                      Habe jetzt den Flow mal soweit eingerichtet, läuft auch fast gut. Als Topic habe ich erstmal nur # genommen, macht das sinn?

                                      Vielleicht solltest Du auch nicht gleich mit # anfangen, um nicht gleich alles zu laden. Aber das nur am Rande.

                                      Ich gehe mal davon aus, dass Du einen mit # das Subscribe Pattern des mqtt Adapters mit einem externen Broker meinst? Oder nutzt Du die mqtt-Nodes ...

                                      Bekomme einige Fehler im Log da er alle States als readonly anlegt, das muss ich bestimmt irgendwo ändern, nur wo ?

                                      Nun das machst Du nur in der iobroker-Out Node - hat mit dem Flow selbst nichts zu tun.
                                      Einfach da fix eintragen. - Ich hätte das zwar auch in dem Flow machen können, aber so ist man ggf. flexibler:

                                      d81f0b2e-0500-4e02-91d4-0f363ca98f31-image.png

                                      dann habe ich bei den shellys ein komisches verhalten, da legt er 2 Ordner für jeden shelly an habe mal ein par Bilder angefügt wie es unter Userdata.0 aussieht und im MQTT Adapter.

                                      Ich hab den Flow überarbeitet, damit sollte der Fehler nicht mehr auftreten. Bitte die Node aus dem nachfolgenden Post importieren und den Subflow wie beschrieben ersetzen.

                                      @frank579 - also vielen Dank - für das Beschreiben des Bugs - das mit dem 2. Ordner sollte nicht mehr auftreten. So wird der Flow immer besser. ;) - Ich empfehle Dir nochmal den ganzen Objektbaum unter 0_userdata.0 zu löschen, der von dem Flow angelegt wurde und neu zu erstellen - auch wegen den Schreibrechten - ich werde solche Einstellungen aber nicht in dem Flow festlegen, so dass man selbst entscheiden kann über die iobroker-Out Node.

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

                                      @mickym So ich habe es nun selbst getestet und die Änderung durchgeführt.

                                      Hier ist nun eine neue Version des Subflows:

                                      090dce7d-22fb-4ee4-8f6f-61a0ad8e9227-image.png

                                      [
                                         {
                                             "id": "6e802f1553b18149",
                                             "type": "subflow",
                                             "name": "JSON or Obj to IOBroker",
                                             "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                             "category": "",
                                             "in": [
                                                 {
                                                     "x": 60,
                                                     "y": 160,
                                                     "wires": [
                                                         {
                                                             "id": "554b8c663bcb46c2"
                                                         }
                                                     ]
                                                 }
                                             ],
                                             "out": [
                                                 {
                                                     "x": 2620,
                                                     "y": 280,
                                                     "wires": [
                                                         {
                                                             "id": "0962842ebd23e0d7",
                                                             "port": 0
                                                         }
                                                     ]
                                                 }
                                             ],
                                             "env": [
                                                 {
                                                     "name": "top",
                                                     "type": "str",
                                                     "value": "objRoot"
                                                 },
                                                 {
                                                     "name": "keepTopic",
                                                     "type": "bool",
                                                     "value": "false"
                                                 }
                                             ],
                                             "meta": {},
                                             "color": "#E2D96E",
                                             "icon": "node-red/batch.svg"
                                         },
                                         {
                                             "id": "3e11e8338f694832",
                                             "type": "split",
                                             "z": "6e802f1553b18149",
                                             "name": "split object",
                                             "splt": "\\n",
                                             "spltType": "str",
                                             "arraySplt": 1,
                                             "arraySpltType": "len",
                                             "stream": false,
                                             "addname": "key",
                                             "x": 1370,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "0562a4249c8b856b"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "0562a4249c8b856b",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "add key to topic",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "stateName",
                                                     "pt": "msg",
                                                     "to": "key",
                                                     "tot": "msg"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "topic  & '.' & key",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 1560,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "ddc90985bef0fafa"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "ddc90985bef0fafa",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is type?",
                                             "property": "payload",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "istype",
                                                     "v": "array",
                                                     "vt": "array"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "object",
                                                     "vt": "object"
                                                 },
                                                 {
                                                     "t": "else"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 3,
                                             "x": 1740,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "bfce19b206660fbe"
                                                 ],
                                                 [
                                                     "3e11e8338f694832"
                                                 ],
                                                 [
                                                     "1a8c03d866b85b12"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "bfce19b206660fbe",
                                             "type": "split",
                                             "z": "6e802f1553b18149",
                                             "name": "split array",
                                             "splt": "\\n",
                                             "spltType": "str",
                                             "arraySplt": 1,
                                             "arraySpltType": "len",
                                             "stream": false,
                                             "addname": "",
                                             "x": 780,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "e89927810c6d75ec"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "e89927810c6d75ec",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "add index to topic",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "topic  & '.' & parts.index",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 970,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "a4d1a5d04564dc77"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "f5d52c6a57d08904",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "finalize msg.topic",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "top",
                                                     "pt": "msg",
                                                     "to": "'0_userdata.0.' & top",
                                                     "tot": "jsonata"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "top & '.' & topic",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 2170,
                                             "y": 240,
                                             "wires": [
                                                 [
                                                     "0962842ebd23e0d7"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "c863dd7d651b2272",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is type?",
                                             "property": "payload",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "istype",
                                                     "v": "json",
                                                     "vt": "json"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "object",
                                                     "vt": "object"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "array",
                                                     "vt": "array"
                                                 },
                                                 {
                                                     "t": "else"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 4,
                                             "x": 580,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "158930afddd0780b"
                                                 ],
                                                 [
                                                     "3e11e8338f694832"
                                                 ],
                                                 [
                                                     "bfce19b206660fbe"
                                                 ],
                                                 [
                                                     "a4d1a5d04564dc77"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "158930afddd0780b",
                                             "type": "json",
                                             "z": "6e802f1553b18149",
                                             "name": "",
                                             "property": "payload",
                                             "action": "",
                                             "pretty": false,
                                             "x": 770,
                                             "y": 120,
                                             "wires": [
                                                 [
                                                     "3649300b4c233b10"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "1a8c03d866b85b12",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is msg.top != null",
                                             "property": "top",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "nnull"
                                                 },
                                                 {
                                                     "t": "null"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 2,
                                             "x": 1950,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "f5d52c6a57d08904"
                                                 ],
                                                 [
                                                     "74c895ce724750de"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "e023fe88445ce43e",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "delete",
                                                     "p": "topic",
                                                     "pt": "msg"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 350,
                                             "y": 200,
                                             "wires": [
                                                 [
                                                     "c863dd7d651b2272"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "3649300b4c233b10",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is array?",
                                             "property": "payload",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "istype",
                                                     "v": "array",
                                                     "vt": "array"
                                                 },
                                                 {
                                                     "t": "else"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 2,
                                             "x": 900,
                                             "y": 120,
                                             "wires": [
                                                 [
                                                     "bfce19b206660fbe"
                                                 ],
                                                 [
                                                     "3e11e8338f694832"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "1b8480cd2df7ba3f",
                                             "type": "comment",
                                             "z": "6e802f1553b18149",
                                             "name": "Array",
                                             "info": "",
                                             "x": 600,
                                             "y": 280,
                                             "wires": []
                                         },
                                         {
                                             "id": "b3541807672be040",
                                             "type": "comment",
                                             "z": "6e802f1553b18149",
                                             "name": "object",
                                             "info": "",
                                             "x": 1340,
                                             "y": 100,
                                             "wires": []
                                         },
                                         {
                                             "id": "a4d1a5d04564dc77",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is type?",
                                             "property": "payload",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "istype",
                                                     "v": "object",
                                                     "vt": "object"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "array",
                                                     "vt": "array"
                                                 },
                                                 {
                                                     "t": "else"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 3,
                                             "x": 1160,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "3e11e8338f694832"
                                                 ],
                                                 [
                                                     "bfce19b206660fbe"
                                                 ],
                                                 [
                                                     "1a8c03d866b85b12"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "74c895ce724750de",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "finalize msg.topic",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "top",
                                                     "pt": "msg",
                                                     "to": "top",
                                                     "tot": "env"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "top",
                                                     "pt": "msg",
                                                     "to": "'0_userdata.0.' & top",
                                                     "tot": "jsonata"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "top & '.' & topic",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 2170,
                                             "y": 320,
                                             "wires": [
                                                 [
                                                     "0962842ebd23e0d7"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "554b8c663bcb46c2",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "",
                                             "property": "keepTopic",
                                             "propertyType": "env",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 },
                                                 {
                                                     "t": "false"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 2,
                                             "x": 170,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "e30ba9f0483285e4"
                                                 ],
                                                 [
                                                     "e023fe88445ce43e"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "e30ba9f0483285e4",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "change",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "from": "/",
                                                     "fromt": "str",
                                                     "to": ".",
                                                     "tot": "str"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 350,
                                             "y": 120,
                                             "wires": [
                                                 [
                                                     "c863dd7d651b2272"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "0962842ebd23e0d7",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "translate invalid chars in topic",
                                             "rules": [
                                                 {
                                                     "t": "change",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "from": "..",
                                                     "fromt": "str",
                                                     "to": ".",
                                                     "tot": "str"
                                                 },
                                                 {
                                                     "t": "change",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "from": "€",
                                                     "fromt": "str",
                                                     "to": "EUR",
                                                     "tot": "str"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 2430,
                                             "y": 280,
                                             "wires": [
                                                 []
                                             ]
                                         },
                                         {
                                             "id": "df544262fde22aca",
                                             "type": "subflow:6e802f1553b18149",
                                             "z": "393214410c8f2f15",
                                             "name": "",
                                             "x": 910,
                                             "y": 580,
                                             "wires": [
                                                 []
                                             ]
                                         }
                                      ]
                                      

                                      Für alle die, die Node bereits benutzen - wie folgt vorgehen.

                                      1. Den Code normal in die Zwischenablage kopieren und dann importieren.
                                      2. Da das System erkennst, dass es diesen Subflow/Nodes bereits gibt - bitte auf "Zeige Nodes ... " gehen.

                                      07910a9e-986e-4d20-aa8a-694cf1a0a62e-image.png

                                      1. Anschließend braucht man nur den Subflow ersetzen.

                                      0861d7e5-b997-4960-b83c-309033d5015b-image.png

                                      1. Nach dem man auf "Importiere Auswahl" geklickt hat, wird einem angezeigt, wieviele Nodes ersetzt wurden. Dann noch auf Deploy.

                                      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.

                                      F 2 Antworten Letzte Antwort
                                      2
                                      • mickymM mickym

                                        @mickym So ich habe es nun selbst getestet und die Änderung durchgeführt.

                                        Hier ist nun eine neue Version des Subflows:

                                        090dce7d-22fb-4ee4-8f6f-61a0ad8e9227-image.png

                                        [
                                           {
                                               "id": "6e802f1553b18149",
                                               "type": "subflow",
                                               "name": "JSON or Obj to IOBroker",
                                               "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                               "category": "",
                                               "in": [
                                                   {
                                                       "x": 60,
                                                       "y": 160,
                                                       "wires": [
                                                           {
                                                               "id": "554b8c663bcb46c2"
                                                           }
                                                       ]
                                                   }
                                               ],
                                               "out": [
                                                   {
                                                       "x": 2620,
                                                       "y": 280,
                                                       "wires": [
                                                           {
                                                               "id": "0962842ebd23e0d7",
                                                               "port": 0
                                                           }
                                                       ]
                                                   }
                                               ],
                                               "env": [
                                                   {
                                                       "name": "top",
                                                       "type": "str",
                                                       "value": "objRoot"
                                                   },
                                                   {
                                                       "name": "keepTopic",
                                                       "type": "bool",
                                                       "value": "false"
                                                   }
                                               ],
                                               "meta": {},
                                               "color": "#E2D96E",
                                               "icon": "node-red/batch.svg"
                                           },
                                           {
                                               "id": "3e11e8338f694832",
                                               "type": "split",
                                               "z": "6e802f1553b18149",
                                               "name": "split object",
                                               "splt": "\\n",
                                               "spltType": "str",
                                               "arraySplt": 1,
                                               "arraySpltType": "len",
                                               "stream": false,
                                               "addname": "key",
                                               "x": 1370,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "0562a4249c8b856b"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "0562a4249c8b856b",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "add key to topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "stateName",
                                                       "pt": "msg",
                                                       "to": "key",
                                                       "tot": "msg"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic  & '.' & key",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1560,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "ddc90985bef0fafa"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "ddc90985bef0fafa",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 3,
                                               "x": 1740,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "bfce19b206660fbe"
                                                   ],
                                                   [
                                                       "3e11e8338f694832"
                                                   ],
                                                   [
                                                       "1a8c03d866b85b12"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "bfce19b206660fbe",
                                               "type": "split",
                                               "z": "6e802f1553b18149",
                                               "name": "split array",
                                               "splt": "\\n",
                                               "spltType": "str",
                                               "arraySplt": 1,
                                               "arraySpltType": "len",
                                               "stream": false,
                                               "addname": "",
                                               "x": 780,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "e89927810c6d75ec"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e89927810c6d75ec",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "add index to topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic  & '.' & parts.index",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 970,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "a4d1a5d04564dc77"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "f5d52c6a57d08904",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "finalize msg.topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "'0_userdata.0.' & top",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "top & '.' & topic",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 2170,
                                               "y": 240,
                                               "wires": [
                                                   [
                                                       "0962842ebd23e0d7"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "c863dd7d651b2272",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "json",
                                                       "vt": "json"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 4,
                                               "x": 580,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "158930afddd0780b"
                                                   ],
                                                   [
                                                       "3e11e8338f694832"
                                                   ],
                                                   [
                                                       "bfce19b206660fbe"
                                                   ],
                                                   [
                                                       "a4d1a5d04564dc77"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "158930afddd0780b",
                                               "type": "json",
                                               "z": "6e802f1553b18149",
                                               "name": "",
                                               "property": "payload",
                                               "action": "",
                                               "pretty": false,
                                               "x": 770,
                                               "y": 120,
                                               "wires": [
                                                   [
                                                       "3649300b4c233b10"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "1a8c03d866b85b12",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is msg.top != null",
                                               "property": "top",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "nnull"
                                                   },
                                                   {
                                                       "t": "null"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 1950,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "f5d52c6a57d08904"
                                                   ],
                                                   [
                                                       "74c895ce724750de"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e023fe88445ce43e",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "delete",
                                                       "p": "topic",
                                                       "pt": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 350,
                                               "y": 200,
                                               "wires": [
                                                   [
                                                       "c863dd7d651b2272"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3649300b4c233b10",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is array?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 900,
                                               "y": 120,
                                               "wires": [
                                                   [
                                                       "bfce19b206660fbe"
                                                   ],
                                                   [
                                                       "3e11e8338f694832"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "1b8480cd2df7ba3f",
                                               "type": "comment",
                                               "z": "6e802f1553b18149",
                                               "name": "Array",
                                               "info": "",
                                               "x": 600,
                                               "y": 280,
                                               "wires": []
                                           },
                                           {
                                               "id": "b3541807672be040",
                                               "type": "comment",
                                               "z": "6e802f1553b18149",
                                               "name": "object",
                                               "info": "",
                                               "x": 1340,
                                               "y": 100,
                                               "wires": []
                                           },
                                           {
                                               "id": "a4d1a5d04564dc77",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 3,
                                               "x": 1160,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "3e11e8338f694832"
                                                   ],
                                                   [
                                                       "bfce19b206660fbe"
                                                   ],
                                                   [
                                                       "1a8c03d866b85b12"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "74c895ce724750de",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "finalize msg.topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "top",
                                                       "tot": "env"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "'0_userdata.0.' & top",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "top & '.' & topic",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 2170,
                                               "y": 320,
                                               "wires": [
                                                   [
                                                       "0962842ebd23e0d7"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "554b8c663bcb46c2",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "",
                                               "property": "keepTopic",
                                               "propertyType": "env",
                                               "rules": [
                                                   {
                                                       "t": "true"
                                                   },
                                                   {
                                                       "t": "false"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 170,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "e30ba9f0483285e4"
                                                   ],
                                                   [
                                                       "e023fe88445ce43e"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e30ba9f0483285e4",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "/",
                                                       "fromt": "str",
                                                       "to": ".",
                                                       "tot": "str"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 350,
                                               "y": 120,
                                               "wires": [
                                                   [
                                                       "c863dd7d651b2272"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "0962842ebd23e0d7",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "translate invalid chars in topic",
                                               "rules": [
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "..",
                                                       "fromt": "str",
                                                       "to": ".",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "€",
                                                       "fromt": "str",
                                                       "to": "EUR",
                                                       "tot": "str"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 2430,
                                               "y": 280,
                                               "wires": [
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "df544262fde22aca",
                                               "type": "subflow:6e802f1553b18149",
                                               "z": "393214410c8f2f15",
                                               "name": "",
                                               "x": 910,
                                               "y": 580,
                                               "wires": [
                                                   []
                                               ]
                                           }
                                        ]
                                        

                                        Für alle die, die Node bereits benutzen - wie folgt vorgehen.

                                        1. Den Code normal in die Zwischenablage kopieren und dann importieren.
                                        2. Da das System erkennst, dass es diesen Subflow/Nodes bereits gibt - bitte auf "Zeige Nodes ... " gehen.

                                        07910a9e-986e-4d20-aa8a-694cf1a0a62e-image.png

                                        1. Anschließend braucht man nur den Subflow ersetzen.

                                        0861d7e5-b997-4960-b83c-309033d5015b-image.png

                                        1. Nach dem man auf "Importiere Auswahl" geklickt hat, wird einem angezeigt, wieviele Nodes ersetzt wurden. Dann noch auf Deploy.
                                        F Offline
                                        F Offline
                                        Frank579
                                        schrieb am zuletzt editiert von
                                        #65

                                        @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                                        @mickym So ich habe es nun selbst getestet und die Änderung durchgeführt.
                                        Hier ist nun eine neue Version des Subflows:

                                        Wow vielen Dank, sorry war gestern nochmal unterwegs, habs gerade mal schnell getestet sieht auf den ersten Blick sehr gut aus, Danke :+1:

                                        1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @frank579

                                          Hallo erstmal - ist immer bissi schwierig das herauszufinden, das herauszufinden.

                                          Habe jetzt den Flow mal soweit eingerichtet, läuft auch fast gut. Als Topic habe ich erstmal nur # genommen, macht das sinn?

                                          Vielleicht solltest Du auch nicht gleich mit # anfangen, um nicht gleich alles zu laden. Aber das nur am Rande.

                                          Ich gehe mal davon aus, dass Du einen mit # das Subscribe Pattern des mqtt Adapters mit einem externen Broker meinst? Oder nutzt Du die mqtt-Nodes ...

                                          Bekomme einige Fehler im Log da er alle States als readonly anlegt, das muss ich bestimmt irgendwo ändern, nur wo ?

                                          Nun das machst Du nur in der iobroker-Out Node - hat mit dem Flow selbst nichts zu tun.
                                          Einfach da fix eintragen. - Ich hätte das zwar auch in dem Flow machen können, aber so ist man ggf. flexibler:

                                          d81f0b2e-0500-4e02-91d4-0f363ca98f31-image.png

                                          dann habe ich bei den shellys ein komisches verhalten, da legt er 2 Ordner für jeden shelly an habe mal ein par Bilder angefügt wie es unter Userdata.0 aussieht und im MQTT Adapter.

                                          Ich hab den Flow überarbeitet, damit sollte der Fehler nicht mehr auftreten. Bitte die Node aus dem nachfolgenden Post importieren und den Subflow wie beschrieben ersetzen.

                                          @frank579 - also vielen Dank - für das Beschreiben des Bugs - das mit dem 2. Ordner sollte nicht mehr auftreten. So wird der Flow immer besser. ;) - Ich empfehle Dir nochmal den ganzen Objektbaum unter 0_userdata.0 zu löschen, der von dem Flow angelegt wurde und neu zu erstellen - auch wegen den Schreibrechten - ich werde solche Einstellungen aber nicht in dem Flow festlegen, so dass man selbst entscheiden kann über die iobroker-Out Node.

                                          F Offline
                                          F Offline
                                          Frank579
                                          schrieb am zuletzt editiert von
                                          #66

                                          @mickym sagte in JSON oder JavaScript Objekt in iobroker Datenpunkte zerlegen:

                                          Ich gehe mal davon aus, dass Du einen mit # das Subscribe Pattern des mqtt Adapters mit einem externen Broker meinst? Oder nutzt Du die mqtt-Nodes ...

                                          Ja genau habe einen Mosquitto server laufen, da laufen aktuell aber erst mal zum testen nur die drei Geräte.
                                          Aber hier komme ich jetzt erst mal weiter die Json zu zerlegen und ich alle Infos schon mal in eigenen Datenpunkten habe.
                                          Muss jetzt mal schauen wie ich das alles umsetze, auch nachher mit der Ansteuerung der Datenpunkte.

                                          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

                                          736

                                          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