Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Node-Red Filter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    175

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    12
    1
    571

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.8k

Node-Red Filter

Geplant Angeheftet Gesperrt Verschoben Node-Red
58 Beiträge 2 Kommentatoren 4.9k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    @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 Offline
    R Offline
    ranzen
    schrieb am zuletzt editiert von
    #25

    @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 mickymM 2 Antworten Letzte Antwort
    0
    • R ranzen

      @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 Offline
      R Offline
      ranzen
      schrieb am zuletzt editiert von
      #26

      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 Antwort Letzte Antwort
      0
      • R ranzen

        @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"

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #27

        @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.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • R ranzen

          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 Offline
          R Offline
          ranzen
          schrieb am zuletzt editiert von
          #28

          Ok,

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

          mickymM 1 Antwort Letzte Antwort
          0
          • R ranzen

            Ok,

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

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #29

            @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!

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            R 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @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 Offline
              R Offline
              ranzen
              schrieb am zuletzt editiert von
              #30

              @mickym

              Bildschirmfoto 2024-05-23 um 17.26.05.png

              mickymM 2 Antworten Letzte Antwort
              0
              • R ranzen

                @mickym

                Bildschirmfoto 2024-05-23 um 17.26.05.png

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #31

                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":[]}]
                

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                1 Antwort Letzte Antwort
                0
                • R ranzen

                  @mickym

                  Bildschirmfoto 2024-05-23 um 17.26.05.png

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #32

                  @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
                  

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  R 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @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 Offline
                    R Offline
                    ranzen
                    schrieb am zuletzt editiert von
                    #33

                    @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 mickymM 2 Antworten Letzte Antwort
                    0
                    • R ranzen

                      @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 Offline
                      R Offline
                      ranzen
                      schrieb am zuletzt editiert von
                      #34

                      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 Antwort Letzte Antwort
                      0
                      • R ranzen

                        @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.

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #35

                        @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

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        R 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @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 Offline
                          R Offline
                          ranzen
                          schrieb am zuletzt editiert von
                          #36

                          @mickym Ich kann Dir gerade nicht ganz folgen. Ich habe eben lediglich die letzte JSONATA Regel von Dir eingepflegt.

                          Ich hatte sie mir nicht genau angeschaut und bin einfach davon ausgegangen, dass sie alle Temperaturdaten durchlässt und nur den Wert "-100" raus filtert.

                          mickymM R 2 Antworten Letzte Antwort
                          0
                          • R ranzen

                            @mickym Ich kann Dir gerade nicht ganz folgen. Ich habe eben lediglich die letzte JSONATA Regel von Dir eingepflegt.

                            Ich hatte sie mir nicht genau angeschaut und bin einfach davon ausgegangen, dass sie alle Temperaturdaten durchlässt und nur den Wert "-100" raus filtert.

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #37

                            @ranzen sagte in Node-Red Filter:

                            @mickym Ich kann Dir gerade nicht ganz folgen. Ich habe eben lediglich die letzte JSONATA Regel von Dir eingepflegt.

                            Ich hatte sie mir nicht genau angeschaut und bin einfach davon ausgegangen, dass sie alle Temperaturdaten durchlässt und nur den Wert "-100" raus filtert.

                            Na OK - ich hatte Dir halt beide Regeln in eine Change Node hier zusammengefasst: https://forum.iobroker.net/post/1162085

                            Aber wenn Du zufrieden bist, dann lassen wir es erst mal gut sein.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            1 Antwort Letzte Antwort
                            0
                            • R ranzen

                              @mickym Ich kann Dir gerade nicht ganz folgen. Ich habe eben lediglich die letzte JSONATA Regel von Dir eingepflegt.

                              Ich hatte sie mir nicht genau angeschaut und bin einfach davon ausgegangen, dass sie alle Temperaturdaten durchlässt und nur den Wert "-100" raus filtert.

                              R Offline
                              R Offline
                              ranzen
                              schrieb am zuletzt editiert von
                              #38

                              Hier mal ein Blick in die DB. Da stehen in den letzten beiden Zeilen sowohl die Werte nach der Funktion, aber noch vor Deiner Regel als auch nach Deiner Regel.

                              Und die Zeilen sind identisch.

                              Also im Moment werden alle richtigen Werte durchgelasseb und in die DB geschrieben. Ob allerdings -100 rausgefiltert wird, weiss ich jetzt noch nicht. Da muss ich warten, bis der Sensor wieder diesen Wert schickt. Das ist total unregelmäßig.

                              R 2 Antworten Letzte Antwort
                              0
                              • R ranzen

                                Hier mal ein Blick in die DB. Da stehen in den letzten beiden Zeilen sowohl die Werte nach der Funktion, aber noch vor Deiner Regel als auch nach Deiner Regel.

                                Und die Zeilen sind identisch.

                                Also im Moment werden alle richtigen Werte durchgelasseb und in die DB geschrieben. Ob allerdings -100 rausgefiltert wird, weiss ich jetzt noch nicht. Da muss ich warten, bis der Sensor wieder diesen Wert schickt. Das ist total unregelmäßig.

                                R Offline
                                R Offline
                                ranzen
                                schrieb am zuletzt editiert von
                                #39
                                2024-05-23T15:37:22.658452338Z 3.378   7.081      1          24.200000000000003   0
                                2024-05-23T15:37:22.660494064Z 3.378   7.081      1          24.200000000000003   0
                                
                                
                                1 Antwort Letzte Antwort
                                0
                                • R ranzen

                                  Hier mal ein Blick in die DB. Da stehen in den letzten beiden Zeilen sowohl die Werte nach der Funktion, aber noch vor Deiner Regel als auch nach Deiner Regel.

                                  Und die Zeilen sind identisch.

                                  Also im Moment werden alle richtigen Werte durchgelasseb und in die DB geschrieben. Ob allerdings -100 rausgefiltert wird, weiss ich jetzt noch nicht. Da muss ich warten, bis der Sensor wieder diesen Wert schickt. Das ist total unregelmäßig.

                                  R Offline
                                  R Offline
                                  ranzen
                                  schrieb am zuletzt editiert von ranzen
                                  #40

                                  Nur der Zeitstempel unterscheidet sich um ein paar Millisekunden oder so.

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • R ranzen

                                    Nur der Zeitstempel unterscheidet sich um ein paar Millisekunden oder so.

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #41

                                    @ranzen Ich weiß zwar nicht was Du vergleichst, aber ich hoffe Du kannst mit den 2ms Zeitdifferenz leben. Sonst brauchst du wahrscheinlich einen Hochleistungsrechner. Ansonsten kann man über die InfluxDB Nodes auch bis auf Nanosekunden, den Zeitpunkt festlegen. Der wird in der Influx nur dann automatisch hinzugefügt, wenn man keinen Zeitstempel angibt.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    R 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @ranzen Ich weiß zwar nicht was Du vergleichst, aber ich hoffe Du kannst mit den 2ms Zeitdifferenz leben. Sonst brauchst du wahrscheinlich einen Hochleistungsrechner. Ansonsten kann man über die InfluxDB Nodes auch bis auf Nanosekunden, den Zeitpunkt festlegen. Der wird in der Influx nur dann automatisch hinzugefügt, wenn man keinen Zeitstempel angibt.

                                      R Offline
                                      R Offline
                                      ranzen
                                      schrieb am zuletzt editiert von
                                      #42

                                      @mickym Die erste Regel mit dem msg. payload.uplink_message.decoded_payload wird nicht akzeptiert. Da steht ein rotes Dreieck.

                                      R mickymM 2 Antworten Letzte Antwort
                                      0
                                      • R ranzen

                                        @mickym Die erste Regel mit dem msg. payload.uplink_message.decoded_payload wird nicht akzeptiert. Da steht ein rotes Dreieck.

                                        R Offline
                                        R Offline
                                        ranzen
                                        schrieb am zuletzt editiert von
                                        #43

                                        @ranzen Bildschirmfoto 2024-05-23 um 17.53.01.png

                                        1 Antwort Letzte Antwort
                                        0
                                        • R ranzen

                                          @mickym Die erste Regel mit dem msg. payload.uplink_message.decoded_payload wird nicht akzeptiert. Da steht ein rotes Dreieck.

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #44

                                          @ranzen sagte in Node-Red Filter:

                                          @mickym Die erste Regel mit dem msg. payload.uplink_message.decoded_payload wird nicht akzeptiert. Da steht ein rotes Dreieck.

                                          Hast Du den Flow importiert?

                                          Ich konnte den problemlos importieren. Und Du solltest die Change Node ANSTELLE Deiner function Node nehmen und nicht hinter Deine function Node.

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          R 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          822

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe