Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Verfügbarkeit von Sensoren über Node Red überwachen

    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

    Verfügbarkeit von Sensoren über Node Red überwachen

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

      @mickym

      Die Trigger Node habe ich bisher immer gekonnt übersehen.
      Die scheint ja wirklich klasse zu sein!

      Im Prinzip füttere ich die also mit einer IoBroker In node, und wenn dann nach zb. 2 Stunden keine Nachricht mehr kommt, übergebe ich über die Trigger Node das Topic, weiß welcher Sensor es ist und haue einen Alarm raus mit dem entsprechenden Sensor? Hammer!

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

        @schmetterfliege Genau - die steht dann in dem Topic.

        Ausserdem verwende ich die trigger Node zum Entprellen - wenn die rbe Node nicht passt - oder um zu warten bis ein Schieberegler zum Stillstand kommt, um einen Timer zu simulieren, um einen Taster zu simulieren, sogar um im NR Dashboard was blinken zu lassen, wenn man kein CSS beherrscht usw. - also diese Node ist so vielseitig und das in ihrer Einfachheit.

        Die Delay Node - ist im Vergleich zur trigger Node überflüssig - das einzige was die Delay Node der Trigger Node voraus hat, ist die Begrenzung der Nachrichtenrate - also nicht die Verzögerung, sondern die Rate.

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

          @schmetterfliege Ach übrigens ich hoffe Du hast Deinen NodeRed Adapter die Konvertierung in Strings abgewöhnt - sonst funktionieren die Flows nicht ohne dass Du alles in Boolsche Variablen umwandelst.
          Ich weiß nicht wieviele Flows Du schon hast, aber sonst kann ich Dir nur empfehlen das schleunigst auszuschalten, sonst musst Du alle Datenpunkte wieder in andere Datentypen konvertieren.

          S 1 Reply Last reply Reply Quote 0
          • S
            Schmetterfliege @mickym last edited by Schmetterfliege

            @mickym

            wie gewöhne ich dem das denn ab? Und gehen dann alle Flows sofort kaputt? :S
            Hatte in der Tat teilweise schon das Problem dass manche bool werte als String wiedergegeben wurden, aber das dann zu verwurschteln war bisher eigentlich keine Schwierigkeit

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

              @schmetterfliege Nein nicht kaputt - aber Du musst halt jeden Flow überprüfen, also alle iobroker IN Nodes. Wie gesagt - wenn Du die Konvertierung schon drin. Du musst also mal entscheiden ob Du das jedesmal wieder konvertieren willst.

              Damit der Flow funktioniert wenn Du mit Strings arbeitest, dann musst halt mit einer Change Node alle Nachrichten umwandeln. Das sparst Dir halt wenn man mit den originalen Datentypen arbeitet. Du hast halt dann jetzt selbst immer umgewandelt.

              Ich rate halt jedem - diese unsinnig - aber leider standardmässig angehakte Option auszuschalten:

              7ea5c8f3-3082-4052-982c-ce60d6471944-image.png

              Wie gesagt sonst musst halt übersetzen

              b1a6479e-5e6f-4a60-9e7e-44aa34ebe059-image.png

              Mit der Option kommen halt auch Zahlen im NR als Strings an usw. und musst auch wieder umwandeln um rechnen zu können usw.

              S 1 Reply Last reply Reply Quote 0
              • S
                Schmetterfliege @mickym last edited by

                @mickym

                Hab das mal ausgeschalten.
                Dann wird das jetzt ein langer Abend, alles zu überprüfen hahahha

                Allerdings meine ich zu wissen dass ich bisher nur in einem Flow den Datentyp in "Number" in der Function Node konvertieren musste.
                Und bei bool Werten... keine Ahnung mehr. Hab das immer in Function nodes gemacht, also die alle abklappern.

                Die Option hat aber nicht die Datenpunkte in iobroker in Strings umgewandelt, oder?
                Also muss ich jetzt nur meine Konvertierungen in den NR Flows ändern?

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

                  @schmetterfliege Nein die Option hat nur die Datenpunkte in Strings beim Einlesen in NR gewandelt - hat aber die originalen Datenpunkte im iobroker nicht angefasst.

                  S 2 Replies Last reply Reply Quote 0
                  • S
                    Schmetterfliege @mickym last edited by

                    @mickym

                    okay, danke! 🙂

                    1 Reply Last reply Reply Quote 0
                    • S
                      Schmetterfliege @mickym last edited by

                      @mickym

                      Irgendwie scheint die Option alles in Strings zu verwandeln keine Wirkung gehabt zu haben.
                      Hier mal ein Beispiel, bei dem ich aus einer iobroker get node den Wert vom DP "occupancy" auslese.
                      In iobroker ist das definitiv ein Bool.
                      Mein Flow sieht so aus:
                      b223add7-5a0a-400f-b055-30cb9ba6c95c-image.png
                      Ich lese alles aus, splitte es und je nach Datenpunkt dann in eine andere Funktion.
                      Die Funktionen sehen alle so aus:
                      47efed85-b5d4-4201-af6a-5e0a91638257-image.png
                      Bei der Occupancy prüft der Switch dann Bool werte:
                      bd5a7203-8686-4af9-bbe0-e11aac82dc88-image.png
                      Und der Output wird dann an ein Template übergeben, das so aussieht:
                      552a07ea-2cd3-4dc1-9337-e8df6fbe398b-image.png

                      Das funktioniert auch definitiv.
                      Wäre in dem Flow mein Bool Wert in einen String verwandelt worden, wäre das dann nicht an dem Switch der auf Bool prüft gescheitert? Oder ist es dem Switch egal ob das ein String oder Bool ist?

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

                        @schmetterfliege Das Problem ist leider bei dem Boolwerten immer, dass die implizit gewandelt werden. Sprich alle Strings werden als wahr interpretiert - lediglich 0 ist dann false. Wie gesagt überprüfe halt mit einer Debug Node was rauskommt.

                        Die sagt Dir auf jeden Fall immer welcher Datentyp rauskommt, so dass man sich darauf im weiteren verlassen kann:

                        cd8e7741-9535-4e2d-909e-20a756ec5815-image.png

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

                          @schmetterfliege Und wenn ich Deinen Flow so anschaue - also das Pollen ist unsinnig und belastet nur Dein System. Benutze iobroker -In Nodes die Triggern wenn sich was ändert - Du musst doch nicht alle 10 min fragen - und ausserdem bekommst ja dann gar nichts mit, innerhalb der 10 Minuten? Warum machst Du so was? Du nimmst ja die Vorteile, dass iobroker Dich aktiv über Zustandsänderungen informiert gar nicht wahr. Gerade bei Bewegungsmeldern ist ja der letzte Status überhaupt nicht wichtig.

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            Schmetterfliege @mickym last edited by

                            @mickym
                            Das war nur zur Veranschaulichung. Die eigentlichen Flows sehen so aus:
                            003582c5-619a-4c32-9e69-6e8a38392538-image.png
                            Die iobroker nodes sind alles list nodes.
                            Aber ja, die durch "in" nodes zu tauschen macht wahrscheinlich Sinn.
                            Zur Sicherheit, wäre dieser Tausch richtig?:

                            13c87c34-98ba-4602-af7d-d53da974e63a-image.png
                            Ersetzen durch:
                            b7a7c14e-76d3-4c4c-8be8-e092cc761810-image.png

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

                              @schmetterfliege Im Prinzip ja - ich frag mich nur, warum Du immer die Objekte ausliest - bei den List Nodes geht es nicht anders - aber ansonsten ist das doch ebenfalls totaler Overhead - ich lese nur die Werte - bei den list Nodes gehts nicht anders aber in der Regel braucht man wie gesagt nur in Nodes und Wert. Ok aber in Deinem Subflow wirst wahrscheinlich dann auf payload.val auswerten.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                Schmetterfliege @mickym last edited by Schmetterfliege

                                @mickym
                                Naja, bei den Multisensoren lese ich aktuell zb am meisten aus:
                                Verfügbarkeit, Hum, Temp und Volt.
                                So brauche ich nur eine Node und jage den Output durch 1 Subflow.

                                Wenn ich nur die Werte auslese, müsste ich für jeden Multisensor 4 eigene "flows" (keine Ahnung wie ein "Prozess" in einem Flow heißt^^) machen, oder?
                                Ich bastel mal die Alternative mit den Werten statt Objekten, dann kannst du mir ja sagen ob das richtig wäre 🙂

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

                                  @schmetterfliege Nein - wenn Du

                                  eaec1fec-f760-49aa-8fca-9d12562b570d-image.png

                                  enthält die payload direkt den Wert. Allerdings geht dann der Auslesen zu Beginn nicht. Aber das triggern geht so.

                                  Du musst halt wenn Du den Status einmal auslesen willst, nach Deiner List die payload.val in payload wandeln und dann kannst Du in Deinem subflow die payload direkt verarbeiten.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    Schmetterfliege @mickym last edited by Schmetterfliege

                                    @mickym

                                    Das umwandeln von .val in payload mache ich ja im Subflow. Das Bild mit den ganzen Functions und dem Switch und split war der Inhalt vom Subflow.

                                    Hab das jetzt mal mit IN nodes gemacht, das würde dann so aussehen im Vergleich:
                                    cd6fc1a7-a741-40b2-af43-0bc4f9142379-image.png

                                    Das Ergebnis wäre das gleiche, soweit ich das Beurteilen kann:
                                    cb7939da-b6bb-40e9-a1eb-3a59c7e0b696-image.png
                                    Was wäre denn für mein Raspi leistungstechnisch besser?
                                    Die Subflows wäre ich dann alle los, finde das aber wenn man pro Flow 4 Sensoren hat irgendwie unübersichtlich, weil dann in jedem Flow 16+ IN nodes wären, statt 4 List Nodes 😄

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

                                      @schmetterfliege trotzdem ist das aber die beste Lösung - wenn Du nämlich ohne Wildcards in den in Nodes arbeitest, kannst Du auch zu Beginn auslesen und damit Dein Dashboard initialisieren. Und sind wir mal ehrlich, wenn Du für jede Ausgabe eine Node hast, dann kann man auch jeder Eingabe eine Node spendieren und dies 1:1 zuordnen.

                                      Und bezgl. Übersichtlichkeit - da gibt es die tolle Gruppenfunktion im Node Red

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        Schmetterfliege @mickym last edited by

                                        @mickym

                                        Wegen dir schmeiße ich noch sämtliche Flows um 😄 😄
                                        Aber geschuldet der Tatsache dass dein Knowhow mein KnowHow um das 10.000-fache Übersteigt, mache ich das jetzt einfach mal für alle Sensoren in allen Flows!

                                        Meine Subflows sind eh ein bisschen eskaliert...
                                        77e17a83-3984-4c86-a95c-2ab6588004ae-image.png

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

                                          @schmetterfliege Na dann bleiben ja trotzdem noch einige übrig. 😉

                                          S 2 Replies Last reply Reply Quote 0
                                          • S
                                            Schmetterfliege @mickym last edited by

                                            @mickym

                                            ist mir auch grade aufgefallen - im Prinzip fällt ja nur der raus der alle Zigbee Datenpunkte verarbeiten kann

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            445
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            426
                                            49928
                                            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