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. Node-Red Filter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Node-Red Filter

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

      Wenn also der Sinn Deiner function Node ist nur das ganze nach oben zu ziehen , da braucht man gar nichts programmieren. Dann nimmt man eine Change Node und VERÄNDERT die payload entsprechend.

      bf4d410e-f531-4f1c-98e8-ca614be791f8-image.png

      Diese EINE Regel in der Change Node - macht das Gleiche wie dein Javascript Code. Also vielleicht solltest Du Dich mal mit Objekten beschäftigen. 😉

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

        @mickym

        ok, da werde ich mich bestimmt mit beschäftigen.

        Aber die Fehlermeldung ist immer noch 😉 Im Moment wird die DB nicht bedient.

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

          Ich bin ja auch noch nicht fertig

          So ich hab Dir nun 2 Möglichkeiten zum Filtern gemacht - da ich auch noch keine Antwort hatte, ob Du das ganze Objekt wegfiltern willst, wenn die Temperatur -100 ist oder nur die Objekteigenschaft Temperatur:

          587e8070-deeb-4353-b6c5-46d5a7c24e7b-image.png

          Im ersten Fall kommt also gar nichts hinten raus, wenn in der temperature Eigenschaft -100 steht

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

            @mickym

            Ich möchte alles, was kommt, in die DB schreiben. Ausser: -100.

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

              @mickym

              Dieser Wert -100 zieht mir die schöne Visualisierung vom Grafana runter.

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

                @ranzen sagte in Node-Red Filter:

                @mickym

                Ich möchte alles, was kommt, in die DB schreiben. Ausser: -100.

                OK dann hätte ich mir das wahrscheinlich sparen können, dann willst Du also nur die temperature Eigenschaft wegfiltern.

                392d8d06-8574-4c4f-8163-b1dc304730c9-image.png

                dann sollte also im Prinzip das langen:

                [{"id":"487d44863b93b5de","type":"change","z":"289f539dcc33814e","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.temperature = -100 ? payload~>|$|{},\"temperature\"|","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":6440,"wires":[["7b3c154c0eb45240"]]}]
                

                Und zum Schluss mach ich Dir noch eine Version, in der Du Dir die ganze function Node sparen kannst.

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

                  @mickym

                  Im Copycode steht folgendes:

                  Bildschirmfoto 2024-05-23 um 17.13.11.png

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

                    Ich merke gerade, dass ich überhaupt nicht meine Posts editieren kann.

                    So sollte die Hardcopy aussehen:

                    Bildschirmfoto 2024-05-23 um 17.13.11.png

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

                      @ranzen sagte in Node-Red Filter:

                      @mickym

                      Im Copycode steht folgendes:

                      Bildschirmfoto 2024-05-23 um 17.13.11.png

                      Vergiss das doch mit der split Node.

                      Importiere einfach die Change NOde, aus dem letzten Post und hänge die an Deine function NOde. Das andere kannst Du vergessen.

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

                        @mickym

                        Das habe ich gerade gemacht.

                        Und trotzdem kommt diese blöde Fehlermeldung wieder:

                        "Invalid JSONata expression: The expressions either side of operator ">" must evaluate to numeric or string values"

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

                          Moment mal.

                          Was muss ich bei der Regel denn auswählen?

                          Im Moment steht in der letzten Zeile bei "to the value" ein JSONata. Ist das richtig ? Da gibt es ja noch 10 andere Möglichkeiten.

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

                            @ranzen Kannst Du mal einen Screenshot von dem Flow machen

                            d5604161-4c14-4de7-8940-99e35f145480-image.png

                            Wenn Du nur diese Node hast - bekomme ich , wenn Dein Objekt das wie im Input dargestellt KEINE Fehler.

                            1 Reply Last reply Reply Quote 0
                            • R
                              ranzen @ranzen last edited by

                              Ok,

                              habe mir gerade die kleine Grafik noch mal angeschaut. Da muss "msg" stehen.

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

                                @ranzen sagte in Node-Red Filter:

                                Ok,

                                habe mir gerade die kleine Grafik noch mal angeschaut. Da muss "msg" stehen.

                                Ach Du meinst um deine function Node zu ersetzen. Da ja!

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

                                  @mickym

                                  Bildschirmfoto 2024-05-23 um 17.26.05.png

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

                                    War noch ein Fehler bei mir drin. - Sorry

                                    857d1236-8f28-4dfc-b95b-40949d4b2e12-image.png

                                    So diese Change Node ersetzt deine Function Node und filtert die -100 raus.

                                    Hier nochmal frisch zum Import

                                    [{"id":"2e349cf5c3330d81","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload.uplink_message.decoded_payload","v":"[{\"battery\":3.389,\"resistance\":17.991,\"sensorType\":1,\"temperature\":20.900000000000006,\"trigger\":0}]","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":170,"y":6600,"wires":[["082976a6c8ee17e5","7ddaae9966eaa43f"]]},{"id":"082976a6c8ee17e5","type":"debug","z":"289f539dcc33814e","name":"input","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":310,"y":6560,"wires":[]},{"id":"7ddaae9966eaa43f","type":"change","z":"289f539dcc33814e","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.uplink_message.decoded_payload","tot":"msg"},{"t":"set","p":"payload","pt":"msg","to":"payload.temperature = -100 ? payload~>|$|{},\"temperature\"| : payload","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":6600,"wires":[["8f4233382dd7838e"]]},{"id":"8f4233382dd7838e","type":"debug","z":"289f539dcc33814e","name":"nur Temperatur weggefiltert","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":600,"y":6600,"wires":[]}]
                                    

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

                                      @ranzen sagte in Node-Red Filter:

                                      @mickym

                                      Bildschirmfoto 2024-05-23 um 17.26.05.png

                                      Ja hier habe ich nur das Ausfiltern bedacht und nicht, wenn die Temperatur nicht -100 ist.

                                      3ce7438c-7efd-4c4e-a8a4-c8237904b18d-image.png

                                      Die JSONATA Regel muss also so aussehen:

                                      payload.temperature = -100 ? payload~>|$|{},"temperature"| : payload
                                      
                                      R 1 Reply Last reply Reply Quote 0
                                      • R
                                        ranzen @mickym last edited by

                                        @mickym

                                        Ok, habe die Regel geändert.
                                        Ich muss jetzt ein paar Minuten warten, bis die nächsten Datenpakete kommen. LoRaWAN ist da auf 15 Min. eingestellt.

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

                                          Perfekt. So passt alles.

                                          Vielen Dank für Deine Hilfe. In Zukunft kann ich mir das tägliche Editieren in der DB sparen.

                                          Dieser Wert "-100" kommt von einem Sensor, der den Saftfluß in einem Apfelbaum misst.

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

                                            @ranzen Hast du jetzt die Change Node mit den 2 Regeln importiert und die vorhandene abgeändert?

                                            In der Node mit den 2 Regeln habe ich nur die beiden Change Nodes in eine zusammengefasst.

                                            3b68b9c1-3967-47ff-8ad0-8046a09d990f-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            866
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            58
                                            2620
                                            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