Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Automatisch States anlegen ioBroker out?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Automatisch States anlegen ioBroker out?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Werde45
      Werde45 last edited by Werde45

      Hallo,

      ich habe eine Payload, die mehrere Werte enthält und darauf die passenden States erstellt werden sollen.

      Die Werte kommen aus dem Node "Buffer-parser".

      cell01_voltage : msg : Object
      object
      topic: "cell01_voltage"
      specification: object
      payload: "0BC8"
      _msgid: "6d993129914a6e24"

      Und davon kommen viele Werte, immer mit anderen Topic.

      Im Iobroker habe ich den Ordner erstellt: 0_Userdata.0.Akku
      und dort drunter sollen die States mit dem Namen des Topics erstellt werden und dann mit dem payload beschrieben werden.

      Frage: Wie setze ich die Variablen im "ioBroker out" in die Felder ein?
      Spitze Klammer klappen nicht..

      node01.jpg
      node02.jpg

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Werde45 last edited by mickym

        @werde45 Am besten Du nimmst aus der Buffer Node ein key/value Output - und bildest ein Objekt.

        Dann kannst Du meinen Flow nehmen, der Dir daraus einzelne Datenpunkte zusammen mit der iobroker Out Node erstellt:
        https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

        Ansonsten musst du halt wenn Du es selbst machen willst das topic halt vorher zusammen stellen.
        Also topic vorher mit einer change Node zusammenstellen und den State Namen musst Du auch über das Nachrichtenobjekt erstellen:

        msg.stateName

        45787dbd-78cb-4517-90f8-e852253728b0-image.png

        Das steht ja alles in der Hilfe zur iobroker Out node.

        Also um Dein topic zu erstellen musst halt vorher mit einer Change Node das topic erstellen:
        fdd28cac-b20f-4c4e-86f6-ba03ab326892-image.png

        44c8afaa-1e95-4c21-8a7b-c5ca5f186a80-image.png

        1 Reply Last reply Reply Quote 0
        • Werde45
          Werde45 last edited by

          @mickym In der Online-Hilfe fehlen doch alle Bilder. Oder sehe ich das falsch?

          https://www.iobroker.net/docu/index-280.htm?page_id=4284&lang=de

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Werde45 last edited by mickym

            @werde45 Ja das stimmt - diese Doku hilft dir nicht viel.

            Die Hilfe von der ich redete, ist in der Hilfe zu den Nodes. 😉 Aber ich helfe Dir gerne - siehe unten 🙂

            Werde45 1 Reply Last reply Reply Quote 0
            • Werde45
              Werde45 @mickym last edited by

              @mickym Also vorher mit Switch die Werte passende "umbauen". Diese Hilfe hatte ich übersehen. Bin erst seit 2 Tagen mit Node-Red unterwegs und "Hello Welt" war zu langweilig

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Werde45 last edited by mickym

                @werde45 Nein nichts mit switch - sondern mit change.

                Wenn Du ein key/value aus der buffer Node rauskommen lässt, dann sollte doch ein Objekt rauskommen. Poste das doch mal hier in CodeTags.

                Geht auch nicht um "Hello World" - aber du solltest die Grundstrukturen von Nachrichtenobjekten kennen.

                1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active last edited by mickym

                  Ein schönen Thread zum Erlernen von NodeRed zusammen im iobroker findest Du hier:

                  https://www.smarthome-tricks.de/uebersicht-iobroker-node-red/

                  Das sind auch viele Bilder drin, wenn auch nicht mehr ganz aktuell, was den iobroker betrifft.

                  Werde45 1 Reply Last reply Reply Quote 0
                  • Werde45
                    Werde45 @mickym last edited by

                    @mickym
                    So siehts aus:

                    {"topic":"cell01_voltage","specification":{"type":"ascii","name":"cell01_voltage","offset":25,"length":4,"offsetbit":0,"scale":"1","mask":"","id":0,"value":"0BC2"},"payload":"0BC2","_msgid":"c6ed947a2da3bd2a"}
                    

                    Der Name ist der Name des States, Payload ist der eigentliche Wert, der noch von Hex gewandelt werden muss, die anderen Werte des States sind Statisch ebenso wie die anderen Optionen (Einheit etc.)

                    Die Basis ist 0_userdata.0.Akku

                    Aber das Hauptproblem war wohl, das Node-Red keine externen Werte erstellen durfte....jajajajaja 👍

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Werde45 last edited by

                      @werde45 Na Du hast nicht die key/value Option und die payload als output gepostet. Aber wenn Du jetzt alleine zurecht kommst, dann passt es ja.

                      Werde45 2 Replies Last reply Reply Quote 0
                      • Werde45
                        Werde45 @mickym last edited by

                        @mickym Hey...danke erstmal.

                        Ich werde das am Wochenende mal testen. Ich denke, das Grundprinzip ist klar.
                        Ich mache sonst viel in Powershell und das hier ist doch eine andere Welt.
                        Und mit der Hilfe im Node selber, die sich extra versteckt hatte 😞 , werde ich das wohl hinkriegen.

                        1 Reply Last reply Reply Quote 0
                        • Werde45
                          Werde45 @mickym last edited by

                          @mickym

                          Jetze...

                          {"_msgid":"e78ce5f560f12ff8","payload":{"cell01_voltageX":"0BBD","cell02_voltage":"0BE1"},"originalPayload":[126,50,50,48,52,52,65,48,48,69,48,67,54,48,48,48,48,54,52,49,50,69,65,49,48,48,66,66,68,48,66,69,49,48,66,67,57,48,66,68,66,48,66,68,66,48,66,68,53,48,66,68,52,48,66,68,55,48,66,67,68,48,66,67,68,48,66,68,67,48,66,68,65,48,66,67,70,48,66,67,55,48,66,67,70,48,66,68,55,48,48,65,48,48,48,65,65,48,48,65,48,48,52,48,48,65,65,48,48,65,65,48,48,65,65,48,48,65,65,48,48,48,48,48,48,48,48,48,48,54,52,48,49,50,55,49,48,48,48,54,52,48,48,48,53,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,48,48,50,51,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,68,51,69,70,13],"specification":{"options":{"byteSwap":[],"resultType":"keyvalue","singleResult":true,"msgProperty":"payload","setTopic":true},"items":[{"type":"ascii","name":"cell01_voltageX","offset":25,"length":4,"offsetbit":0,"scale":"1","mask":"","id":0,"value":"0BBD"},{"type":"ascii","name":"cell02_voltage","offset":29,"length":4,"offsetbit":0,"scale":"1","mask":"","id":1,"value":"0BE1"}]},"values":["0BBD","0BE1"],"objectResults":{"cell01_voltageX":{"type":"ascii","name":"cell01_voltageX","offset":25,"length":4,"offsetbit":0,"scale":"1","mask":"","id":0,"value":"0BBD"},"cell02_voltage":{"type":"ascii","name":"cell02_voltage","offset":29,"length":4,"offsetbit":0,"scale":"1","mask":"","id":1,"value":"0BE1"}},"keyvalues":{"cell01_voltageX":"0BBD","cell02_voltage":"0BE1"},"arrayResults":[{"type":"ascii","name":"cell01_voltageX","offset":25,"length":4,"offsetbit":0,"scale":"1","mask":"","id":0,"value":"0BBD"},{"type":"ascii","name":"cell02_voltage","offset":29,"length":4,"offsetbit":0,"scale":"1","mask":"","id":1,"value":"0BE1"}],"buffer":[126,50,50,48,52,52,65,48,48,69,48,67,54,48,48,48,48,54,52,49,50,69,65,49,48,48,66,66,68,48,66,69,49,48,66,67,57,48,66,68,66,48,66,68,66,48,66,68,53,48,66,68,52,48,66,68,55,48,66,67,68,48,66,67,68,48,66,68,67,48,66,68,65,48,66,67,70,48,66,67,55,48,66,67,70,48,66,68,55,48,48,65,48,48,48,65,65,48,48,65,48,48,52,48,48,65,65,48,48,65,65,48,48,65,65,48,48,65,65,48,48,48,48,48,48,48,48,48,48,54,52,48,49,50,55,49,48,48,48,54,52,48,48,48,53,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,48,48,50,51,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,68,51,69,70,13]}
                          

                          Das war gemeint

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Werde45 last edited by

                            @werde45 Nein das war nicht gemeint.

                            Na egal, was kommt denn aus Deiner buffer Node raus. Mach halt mal eine debug Node dahinter und poste das Debug Fenster.

                            Werde45 1 Reply Last reply Reply Quote 0
                            • Werde45
                              Werde45 @mickym last edited by Werde45

                              @mickym Guten morgen,

                              leider viel Neuschnee in Oberbayern - daher keine Solarleitung aber Zeit...

                              Ich habe die Wandlung nun in eine Funktion geschrieben und es klappt. Und alles im Parser steuerbar.

                              dec905dd-1048-4ee5-82b3-72ac1e76df2e-image.png

                              msg.ack = true;
                              msg.Name = msg.topic;
                              msg.topic = "0_userdata.0.Akku." + msg.topic;
                              // Hex in Dezimal wandeln
                              msg.payload = parseInt(msg.payload, 16);
                              return msg;
                              

                              Danke. Ich wünsche ein schönes Wochenende.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              989
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              node-red
                              2
                              13
                              490
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo