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

      @haselchen

      Wobei ich gerade sehe - dass das aus dem Switch eh boolean raus kommt. Also entweder hast Du 2 Datenpunkte oder Du machst gar nichts!!!

      Aus dem javascript.0.Sonoff.Bewässerung_Terrasse kommt ja bereits true und false raus - dann kannst damit auch Dein Ziel füttern.

      Ausser Du brauchst beides - dann zweigst von dem javascript.0.Sonoff.Bewässerung halt gleich in Dein Ziel ab. Oder ich versteh Dich mal wieder nicht. 😉

      Also am Besten Deinen Flow posten und genau beschreiben an welche Datenpunkte was geschickt werden soll. 😉

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

        @mickym
        Bin später erst wieder am Rechner.
        Also. Ich überwache ja den Datenpunkt mit deinem Flow. Bei Auslösung wird aber on oder off in den Punkt geschrieben. Halt das was als Json aus dem Gerät ausgelesen wird. Nur das Widget kommt damit nicht zurecht und zeigt nichts an. Es erwartet 0,1,true oder false .
        Hab auch schon versucht die SETZE Bausteine auf Boolean und true und false zu setzen. Brachte nichts, kommt immer on oder off raus beim Datenpunkt.

        062a88b8-5a32-40f7-b4e2-d53daa44e808-grafik.png

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

          @haselchen

          Also aus dem javascript.0.Sonoff.Bewässerung_Terrasse kommt true oder false raus - sonst hätten wir den switch ja gar nicht gebraucht der on oder off ausgibt.
          Ich verstehe auch nicht was das mit JSON zu tun hat.

          Aber egal - ich denke, dass muss ich ja auch nicht verstehen. Nimm halt einen Change Node - da kannst Du alles konvertieren, wie Du willst und hängst sie dazwischen wo du willst.

          [
              {
                  "id": "7b625fe2.638e2",
                  "type": "change",
                  "z": "4f390634.cb6808",
                  "name": "translate",
                  "rules": [
                      {
                          "t": "change",
                          "p": "payload",
                          "pt": "msg",
                          "from": "on",
                          "fromt": "str",
                          "to": "true",
                          "tot": "bool"
                      },
                      {
                          "t": "change",
                          "p": "payload",
                          "pt": "msg",
                          "from": "off",
                          "fromt": "str",
                          "to": "false",
                          "tot": "bool"
                      }
                  ],
                  "action": "",
                  "property": "",
                  "from": "",
                  "to": "",
                  "reg": false,
                  "x": 620,
                  "y": 200,
                  "wires": [
                      []
                  ]
              }
          ]
          

          screen.png

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

            @mickym

            JSON war der 1.Flow um die einzelne Daten auszulesen.
            Daraus haben wir ja die Datenpunkte angelegt.
            Ich probiere mal dein Node dazwischen zu setzen.

            Edit:

            Geht trotzdem auf on und off.
            Nicht wundern, ist der Vorgarten, weil das leiser ist vom Sprengen jetzt 🙂 🙂

            3acd00cd-c18b-4cc6-942a-822700373c06-grafik.png

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

              @haselchen Am Besten Du machste eine Debug Node genau an den Ausgabe der letzten Node, die dann den Datenpunkt schreibt. Dann gehst in das Debug Fenster und machst einen Screenshot mit allen Objekten ausgeklappt und markierst welchen Wert Du von on auf true konvertieren willst.

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

                @mickym

                Das ist der Debug Auszug. Muss doch möglich sein, dass on / off im Datenpunkt überschreiben zu können. Und das dauerhaft ohne das es sich wieder "zurück ändert".

                ba80bacd-1ccc-4616-8d43-fbb8b7c47a01-grafik.png

                Ich könnte damit leben, aber die VIS nicht.
                Das Widget verschwindet (rechts neben Vorgarten) , weil es nicht die korrekten Parameter bekommt. Das Widget für die Terrasse habe ich nur als Beispiel dort hinplaziert.
                b51ed251-38e2-4c65-bbce-0b89a6624f0f-grafik.png

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

                  @haselchen Bevor man jetzt über das Array iteriert - gehe ich mal davon aus, dass Du den switch- Wert verändern willst.

                  Kannst Du bitte mal Deinen ganzen Flow exportieren damit ich mir vorstellen kann, wie Du diese 4 Kanäle schaltest.

                  Du könntest zwar grundsätzlich den change- node dahingehend ändern, dass Du bei ändern einträgst:
                  msg ---------- params.switches.0.switch

                  und das 4 mal

                  params.switches.1.switch

                  usw.

                  eleganter wird das aber sein, das direkt vor die Firmware - node zu plazieren, dazu muss ich aber verstehen, wie Du das Array aufsplittest.

                  Wie gesagt exportier einfach mal Deinen Flow.

                  Das ist alles nicht schwierig - aber wenn ich halt nur Teile sehe - ist das bissi schwierig.

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

                    @mickym

                    Es ist der Flow, den du mir geschickt hast.
                    Habe ich glaube ich eben schonmal gepostet.

                    f8698701-4d75-45a8-a6eb-d31b52727705-grafik.png
                    Den Change Node habe ich wieder rausgenommen.

                    Das ist der setze on Node

                    20927cfa-29dd-4075-bc8b-df5dca27bf86-grafik.png

                    So hattest du mir das geschickt.

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

                      @haselchen Aus dem javascript.0.Sonoff.Bewässerung_Terrasse kommt doch nur true und false raus - da muss man nichts konvertieren. Wenn Du das on off nicht brauchst - dann kannst ja den javascript.0.Sonoff.Bewässerung_Terrasse mit dem eWeLinkNode verbinden. Da ist aber nicht das Array bzw. JSON enthalten.

                      Du kannst zwar den on node auch noch auf Boolean= true setzen, aber das ist wie gesagt nonsens - da aus der javascript.0.Sonoff.Bewässerung_Terrasse Node ja nur true und false rauskommt.

                      Welchen Datenpunkt liest denn Dein VIS Widget aus?

                      Sonst mach einen Screenshot von Deinem kompletten Flow - und ich sag Dir welche Nodes Du exportieren muss, damit ich mir das anschauen kann. (Exportieren von ausgewählten Nodes über die Zwischenablage und hier als Code einfügen, damit ich das bei mir importieren kann.

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

                        @mickym

                        Zu dem Auslesen....das Widget erwartet 0 1 true oder false.
                        Zu dem Anderen komme ich gleich 🙂
                        Alter Mann ist ja kein D-Zug 🙂

                        2020-08-22 01:17:16.027 - error: node-red.0 (2035) 22 Aug 01:17:16 - [error] [ewelink-power-state-write:XXXXXXXXXX] TypeError: msg.payload.toLowerCase is not a function
                        at PowerStateWriteNode.eWeLinkConnect.initializeDeviceNode.msg (/opt/iobroker/node_modules/node-red-contrib-ewelink/src/power-state-write/power-state-write.js:17:103)
                        at PowerStateWriteNode.node.on [as _inputCallback] (/opt/iobroker/node_modules/node-red-contrib-ewelink/src/utils/ewelink-connect.js:65:65)
                        at PowerStateWriteNode.Node._emitInput (/opt/iobroker/node_modules/iobroker.node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:200:18)
                        at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:179:33)
                        at runCallback (timers.js:705:18)
                        at tryOnImmediate (timers.js:676:5)
                        at processImmediate (timers.js:658:5)
                        

                        Er schreibt jetzt überall false rein, aber bringt diesen Fehler in Bezug auf den Flow, den ich eben schon gepostet habe.

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

                          @haselchen Wie gesagt ich habe leider überhaupt keinen Überblick über den gesamten Flow.

                          Es sieht also so aus, als ob der eWeLink eben doch "on" und "off" brauchen.

                          Ich weiß wie gesagt - was Du da brauchst - aber warum nimmst Du in Deiner vis nicht den javascript.0.Sonoff.Bewässerung_Terrasse Punkt - der sollte doch true oder false haben?

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

                            @mickym
                            Ja eben nicht. Das ist doch das Problem. Da steht nur on oder off in dem Datenpunkt.

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

                              @haselchen In diesem javascript.0.Sonoff.Bewässerung_Terrasse Punkt ? Das kann ich nicht glauben, denn sonst würde der Flow den ich gemacht habe - gar nicht funktionieren, da da nur Nachrichten mit true oder false weitergeleitet werden.

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

                                @mickym

                                Darüber reden wir doch seit Stunden 🙂 🙂

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

                                  @haselchen Also wie gesagt, wenn in
                                  javascript.0.Sonoff.Bewässerung_Terrasse Punkt on/off ist kann der flow gar nicht funktioniert haben.

                                  dann muss der switch on/off trennen und dann der change true und false setzen.

                                  Wenn also on/off in dem Datenpunkt ist und du möchtest true/false dann müsste der Flow ja so aussehen - und der alte hätte nie funktionieren dürfen:

                                  [
                                      {
                                          "id": "d7ea3d2b.d9bd",
                                          "type": "ioBroker in",
                                          "z": "77e93dc8.7c1914",
                                          "name": "",
                                          "topic": "javascript.0.Sonoff.Bewässerung_Terrasse",
                                          "payloadType": "value",
                                          "onlyack": "",
                                          "func": "all",
                                          "gap": "",
                                          "fireOnStart": "false",
                                          "x": 400,
                                          "y": 280,
                                          "wires": [
                                              [
                                                  "3cbe2a0f.69b176"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "3cbe2a0f.69b176",
                                          "type": "switch",
                                          "z": "77e93dc8.7c1914",
                                          "name": "",
                                          "property": "payload",
                                          "propertyType": "msg",
                                          "rules": [
                                              {
                                                  "t": "eq",
                                                  "v": "on",
                                                  "vt": "str"
                                              },
                                              {
                                                  "t": "eq",
                                                  "v": "off",
                                                  "vt": "str"
                                              }
                                          ],
                                          "checkall": "true",
                                          "repair": false,
                                          "outputs": 2,
                                          "x": 650,
                                          "y": 280,
                                          "wires": [
                                              [
                                                  "321763b3.53eafc"
                                              ],
                                              [
                                                  "b7a82d72.4b1ef"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "321763b3.53eafc",
                                          "type": "change",
                                          "z": "77e93dc8.7c1914",
                                          "name": "setze true",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "payload",
                                                  "pt": "msg",
                                                  "to": "true",
                                                  "tot": "bool"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 840,
                                          "y": 260,
                                          "wires": [
                                              []
                                          ]
                                      },
                                      {
                                          "id": "b7a82d72.4b1ef",
                                          "type": "change",
                                          "z": "77e93dc8.7c1914",
                                          "name": "setze false",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "payload",
                                                  "pt": "msg",
                                                  "to": "false",
                                                  "tot": "bool"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 850,
                                          "y": 300,
                                          "wires": [
                                              []
                                          ]
                                      }
                                  ]
                                  

                                  screen.png

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

                                    @mickym

                                    Ich bin dir unendlich dankbar für deine Ausdauer.
                                    Ich habe es jetzt, weil mir das echt auf den Sack geht, einen Umweg genommen.
                                    Habe einen Alias Datenpunkt erstellt und wandel mit einem Blockly on/off zu 0 und 1 um.

                                    28846791-76c9-493c-86e7-2d5fdd53776e-grafik.png

                                    Damit geht es.

                                    d9b26f16-eb04-49c8-9f03-a50de2cfff3c-grafik.png

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

                                      @haselchen Na ok - wie gesagt das hätte man sicher auch hingebracht, wenn ich den ganzen Flow gesehen hätte.

                                      Im Übrigen brauchst Du wenn Du einen Alias definierst - kein Blockly. Das kann man in die Alias Definition des Datenpunktes direkt reinschreiben. 😉

                                      "alias": {
                                      "id": "Datenpunkt - den Du mit dem Alias definierst",
                                      "read": "val === 'on' ? true : false"
                                      }

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

                                        @mickym

                                        Da bist du mir weit voraus.
                                        Ich bin der, der die Axt rausholt 🙂
                                        Im Grunde macht es am Ende Spass , wenn es funktioniert, egal welcher Weg 😬

                                        Schlaf gut und bis bald

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

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

                                          Da bist du mir weit voraus.

                                          Nee - bin ich nicht. 😉 - Du kennst Dich dafür im Blockly aus. Aber dafür ist das Forum ja da.

                                          Schlaf gut.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          885
                                          Online

                                          31.7k
                                          Users

                                          79.7k
                                          Topics

                                          1.3m
                                          Posts

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