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.
    • haselchen
      haselchen Most Active last edited by

      Ein sonniges Hallo an Alle,

      mir raucht die Birne wegen meines Problems.
      Es gibt die Möglichkeit mit Nodes ein Sonoff Gerät auszulesen.

      https://ottoszika.github.io/node-red-contrib-ewelink/#/nodes

      Für jemanden, der sich mit Node Red auskennt ist das wahrscheinlich nen klacks.
      Ich bekomme es jedenfalls nicht geschissen.

      Mein Testnode zeigt mir rechts im Debugfenster alle Infos meines Sonoffs.
      Und genau die möchte ich in einzelnen Datenpunkten haben bzw. irgendwie in die Objekte bekommen , damit ich damit in meiner VIS oder im IOT arbeiten kann.

      5a56d9d3-d932-4579-83ed-0446f9cebcbf-grafik.png

      Hat jemand die Zeit und Lust und kann mir Stück für Stück erklären wie ich das hinbekomme?!

      MegaVielenDankimVoraus

      S mickym 3 Replies Last reply Reply Quote 0
      • S
        Seb_123 @haselchen last edited by

        @haselchen, du könntest dir das Leben bedeutend leichter machen, wenn du auf dein Sonoff Gerät eine MQTT-fähige Firmware flasht (z.B. TASMOTA). Dazu gibt es viele Anleitungen im Netz und du hast dann, einen MQTT-Adapter im IOBROKER vorausgesetzt, alle deine Datenpunkte die du brauchst.

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

          @Seb_123

          Als wenn ich das nicht wüsste 🙂
          Deswegen ja der Umweg.
          Das Gerät ist so verbaut, dass ein nachträgliches Flashen nicht mehr möglich ist.

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

            @haselchen, sorry, ich bin kein Hellseher, wenn dein Sonoff so verbaut ist, dass man nicht mehr an ihn herankommt, dann mußt du halt die Datenpunkte im IOBROKER manuell anlegen und dann kannst du sie mit Node Red lesen und schreiben. Dazu findest du hier im Forum bzw. im Netz genügend Beispiele.

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

              @Seb_123

              Eben nicht. Sonst würde ich dafür kein Thema aufmachen.
              Ich bin leider nicht so bewandert was Skriptsprache angeht.
              Was ich beim Testnode rausgekommen habe ist, dass im Debug Fenster viele Infos auftauchen, vermutlich als JSON??
              Und diese Infos möchte ich gerne einzeln in Datenpunkte, die als Info oder zum Schalten dienen.
              Zum Beispiel sind da der rssi Wert , Firmware, Bezeichnung.....( nur mal so als Beispiel was da so an Infos steht).

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

                @haselchen, schau dir in diesem Video an, wie man Datenpunkte anlegt.

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

                  @Seb_123

                  Sei mir nicht böse, ich hab ne lange Nacht hinter mir.
                  Das Problem ist der Node Red Flow.
                  (Wie muss der genau aussehen) -> Und dann die Ausgabe an Iobroker
                  Von dem Prozedere habe ich keine Ahnung.

                  Vielleicht verdeutlicht das mein Problem
                  1591f918-4c02-491e-b548-fe7b683c9aeb-grafik.png

                  Ich möchte nur 3.4.1 da rechts stehen haben.
                  Wie muss das drum und dran dazu aussehen.
                  Das ist der Amateur Flow dazu.

                  3967bc46-0cca-47a4-b5e1-64f3daf48570-grafik.png

                  S mickym 2 Replies Last reply Reply Quote 0
                  • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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