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. Ausgelesene Werte in Datenpunkte schreiben (Node Red)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ausgelesene Werte in Datenpunkte schreiben (Node Red)

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Seb_123 @haselchen last edited by Seb_123

      @haselchen, setze zwischen den JSON-Node und den "Firmware" (IOBroker-Out Node) einen Change-Node und setze dort den msg.payload auf msg.payload.fwVersion

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

        @haselchen Im Prinzip nicht schwierig - mit der Json Node - machst du den String in ein Objekt und greifst dann direkt auf das einzelne Objekt zu.
        Also den Datenpunkt auslesen - wenn das ein String ist dann wieder mit der JSON Node in ein Objekt umwandeln und dann mit msg.payload.status auf den einzelnen Wert zugreifen.

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

          @mickym
          @Seb_123
          Okay, schonmal ein Teilerfolg.
          Sehr schön , danke.

          Nun gehts an den grossen Kuchen.
          Ich dachte, ich mache das wie ihr eben vorgeschlagen habt.
          Und extrahiere alle Punkte einzeln aus dem JSON über das function Node.

          86b40eb6-1199-44cb-a55d-df22016b739a-grafik.png

          1b2d7cf1-9160-42c3-bb76-31742ea86489-grafik.png

          Hier wollte ich zum Beispiel den rssi Wert aus dem Ergebnis oben im Node rauslesen und in den Datenpunkt rssi schreiben.
          Aber wie man sieht, es gibt eine Fehlermeldung.

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

            @haselchen
            Hier hast Du erst mal alle Möglichkeiten
            direkt auf die Objekte zuzugreifen oder mit einem split aus einem Objekt lauter Einzelnachrichten zu generieren.

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

              @mickym sagte in Ausgelesene Werte in Datenpunkte schreiben (Node Red):

              Mein Problem ist, dass ich keine Objekt ID habe mit der ich arbeiten kann.
              Die Daten für die Nodes habe ich aus dem ausgelesenen Json Flow.

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

                @haselchen Ich habe leider nicht mehr viel Zeit - sonst halt später.

                Entweder Du bekommst direkt als Objekt Deine Daten oder als JSON String. Die kannst Du mit der JSON Node wieder in ein Objekt umwandeln. Der JSON Node erkennt beide Richtungen !!!

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

                  @mickym

                  Zu allererst nen fettes Danke, dass du dir die Zeit nimmst.
                  Ich versuche das nun über Umwege.
                  Ich lese aus dem Debug einzelne Punkte aus, die ich haben will.
                  Dazu schreibe ich in dieses Function Node immer das Wort rein.

                  msg.payload = msg.payload.ip;
                  return msg;

                  Damit bekomme ich die Ip Adresse.

                  Soweit so gut. Was muss ich hinter payload eingeben wenn ich zum Beispiel rssi haben will. Im Debug steht params davor.

                  f94fd3d3-89ce-4b57-8f63-ee1bc40f17d1-grafik.png

                  Nur rssi hinter payload eingeben, reicht diesmal nicht.

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

                    @haselchen kann im Moment nur vom handy tippen. Du musst halt schauen was das Objekt heißt. Sieht hier so aus als ob es params heisst. Dann halt params.rssi

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

                      @mickym

                      Das wäre die Frage . Also ein Punkt dazwischen?

                      mickym S 2 Replies Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @haselchen last edited by

                        @haselchen ja. Zugriff immer mit .

                        1 Reply Last reply Reply Quote 1
                        • S
                          Seb_123 @haselchen last edited by

                          @haselchen, msg.params.rssi, wenn es nicht im Payload steht.

                          haselchen 1 Reply Last reply Reply Quote 0
                          • haselchen
                            haselchen Most Active @Seb_123 last edited by haselchen

                            @Seb_123
                            @paul53

                            Hat geklappt . Perfekt!
                            Nun der letzte Rest 🙂
                            Ich habe 4 Kanäle. So wie der Pfad unten steht, so steht es auch im Debug.
                            Aber er hat Probleme wegen der 0 dazwischen.
                            Wie muss der Payload aussehen?

                            11e54529-3ad4-44f6-bd73-baad3c3a5314-grafik.png

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

                              Okay, Lösung gefunden , man muss die Zahl in eckige Klammern setzen.
                              Leider kann ich die Kanäle nicht schalten, sie werden halt nur angezeigt.
                              Es gibt ein Node mit dem man einzelne Channels schalten kann.

                              55d18668-1221-467e-9cfa-1c84d1ea4aae-grafik.png

                              Die Properties habe ich alle. Ist auch connected. Ist nur nen Screenshot.

                              f3fb504a-43c3-420f-b142-fc698d1ecf30-grafik.png

                              Das ist die Erklärung zu dem Node.

                              3f6f0de5-7490-4151-8279-6df891d8a3e7-grafik.png

                              Meine Idee ist, ich habe den Datenpunkt mit Kanal 1 ja schon.
                              Wenn ich per Flow jetzt den überwachen lasse und wenn der sich durch ein Blockly zum Beispiel auf true ändert, dann soll Kanal 1 angeschaltet werden.

                              Das wäre jetzt der finale Flow für heute.

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

                                Muss das noch mal hochholen, weil es mich nervt und ich es nicht hinbekomme.
                                Niemand da, der den Flow parat hat?

                                Wenn Datenpunkt auf true geht (z.b. wegen eines Blocklys) dann z.b. Channel 1 anschalten und wenn wieder false dann ausschalten.

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

                                  @haselchen und wo ist das Problem? Weisst Du nicht wie Du den Datenpunkt schaltest?

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

                                    @mickym

                                    2 Tage grübeln + zig Kopfschmerztabletten, dass ist das Problem 😎

                                    Node Red ist Neuland und leider nur wegen des Sonoff notwendig.
                                    Es gibt ein contrib ewelink mit den dazugehörigen Nodes.
                                    Zum Beispiel oben das write State Node.
                                    Ich bräuchte nun den Flow wie ich es beschrieben habe.
                                    Datenpunkt überwachen........true ......Dann Channel 1 anschalten.

                                    Und sollte ich das mal geschafft haben müsste ich mal wissen wie man es schafft das sich die für Node Red angelegten Datenpunkte (bei Änderung) aktualisieren.

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

                                      @haselchen said in Ausgelesene Werte in Datenpunkte schreiben (Node Red):

                                      contrib ewelink

                                      So ich gehe mal davon aus, Du hast diese Nodes https://ottoszika.github.io/node-red-contrib-ewelink/#/nodes implementiert.

                                      Wo ist das Problem?

                                      Du nimmst eine iobroker in Node und der triggert Deinen Flow. Mit einem Switch unterscheidest zwischen true und false und gibst eine Nachricht an einer diese ewlink nodes aus.

                                      Was hast Du denn schon gemacht - zeig halt mal Deinen Flow - wo hast Du debug nodes dran gehängt usw.

                                      Du kannst den Power out mit "toggle, off und on bestücken" und der liefert Dir sogar den Status gleich zurück. Ich könnte Die momentan zwar den switch und change node schicken - aber ich habe halt nicht den Datenpunkt den Du auslesen willst noch den ewlink node - aber wie gesagt - an den brauchst Du nur einer der 3 Kommandos schicken.

                                      Diesen State ewlink - finde ich auf der Webseite gar nicht - dann musst Du ggf. mal die Webseite posten welches Modul Du installiert hast, damit man sich die NOdes mal zumindest in der Therorie anschauen kann, wie die funktionieren. Das ist wie ein iobroker Adapter und da funktioniert auch jeder anders.

                                      Am Besten Du schreibst welchen Deinen Datenpunkt Du auslesen möchtest - also javascript.0.xx. usw. und dann kann ich Dir einen rudimentären Flow gerne schicken, wie ich es angehen würde.

                                      Und die Datenpunkte, die Du mit Node-Red beschreiben willst - dafür nimmst Du die iobroker-out Nodes. (von mir aus auch mit konkreten Pfad - damit man Dir einen Flow basteln kann, den Du ausprobieren kannst.

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

                                        @mickym
                                        Klingt super und danke für die Hilfe.
                                        Ich drehe sonst noch durch.

                                        Also in Node Red habe ich diese Nodes installiert
                                        https://ottoszika.github.io/node-red-contrib-ewelink/#/nodes?id=device

                                        65455222-1e67-4169-bdf7-0e643a20ad6e-grafik.png

                                        Ich habe manuell den Datenpunkt angelegt

                                        4994312a-a727-4023-8a0c-36a364f05363-grafik.png

                                        Schalte ich über Alexa oder über die App ändert es sich auf on.
                                        Aber selber schalten per Blockly geht über den Datenpunkt nicht.

                                        Ich möchte nun , dass wenn ich per Blockly auf true/on selber schalte, über den State Write Node den Channel 1 (das wäre die Bewässerung Terrasse)
                                        anschalten.

                                        c5a02677-7aff-4316-9250-2489f2f0141b-grafik.png

                                        3f66bcc1-5c6c-4072-84f6-81767d6f4a60-grafik.png

                                        Die Daten habe ich alle. Das ist nicht das Problem.Gerät wird connected.
                                        Mir fehlt halt der gesamte Flow.
                                        Wenn Du das was zaubern könntest....alter Schwede, ich wäre Dir auf ewig dankbar.

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

                                          @haselchen Und nochwas - warum ich das unten geschrieben habe, dass Du Deine Adapterkonfig überprüfen sollst:
                                          Wenn Du nicht nur willst , dass in Node-Red nur Strings ankommen, musst Du diesen Haken rausmachen:

                                          screen.png

                                          Der ist leider standardmäßig immer drin, weiß auch nicht warum der Entwickler diese Standardeinstellung gewählt hat.

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

                                            @haselchen
                                            2 Dinge brauche ich den Pfad Bewässerung_Terasse genau.
                                            Kopier mal den Pfad über die Zwischenablage hier rein in dem Du neben dem Datenpunkt auf das Copy-Symbol klickst.

                                            screen.png

                                            So die Nodes der Webseite stimmen nicht mit Deinem screenshot überein. Woher kommen die Nodes? - Auf der webseite gibt es z.Bsp diesen Power state node (out) - den finde ich auf Deinem Screenshot nicht den von Dir eWeLink Power State Write Node finde ich nicht auf dieser Webseite. Bist Du Dir sicher, dass Du nicht ein anderes Modul installiert hast?

                                            Ich meine mir ist das egal - mit dem Power out node - von der Webseite ist es ja einfach - weil da brauchst dann nur on oder off als payload schicken.
                                            screen.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            node-red
                                            3
                                            53
                                            8510
                                            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