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. Statusüberwachung

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Statusüberwachung

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

      @tontechniker ich melde mich mal gerade vom n unterwegs, deswegen kann ich im Moment Deinen Fehler schlecht nachvollziehen. Wir sind uns aber hoffentlich einig, dass es wohl einen Unterschied geben muss Ich kann zwar nicht hellsehen, was in der Function Node steht, aber habe spontan mal die Idee, dass die msg.topic noch unterschiedlich ist. Die wird meines Wissens als Betreff verwendet. Ansonsten mach hinter die Funktionnode eine Debug Node und schau Dir die Unterschiede im gesamten Nachrichtenobjekt wenn es geht und wenn es nicht geht an. Dann könntest Du auch mal das gesamte Objekt aus der In node in der Inject node abbilden. Fehlersuche ist nie einfach.

      Ich kann auch schlecht sehen ob deine Trigger Node vorhandene Objekte weiterreicht oder selbst was schickt. Wenn beispielsweise einach die triggernode einen Text oder Boolean verschickt sollte es eigentlich keine Unterschiede geben.

      T 1 Reply Last reply Reply Quote 1
      • T
        Tontechniker @mickym last edited by

        @mickym
        Vielen Dank für Deine schnelle Antwort!
        Ich bin Anfänger und sehe in den geloggten Daten einen Unterschied. Kannst Du etwas damit anfangen?

        Node Red 01.jpg

        Der erste Block kommt bei Auslösung durch "inject" der zweite bei Auslösung durch die Temperatur.

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

          @tontechniker Also ich seh da schon einige Unterschiede. Das 2. enthält ja einige Eigenschaften mehr. Wie gesagt - ich sehe zwar Deine Trigger Node nicht - aber ich würde mal keine Nachrichten durchreichen, sondern nur true weiter schicken.
          Ansonsten zeig mal die Konfig Deiner trigger Node.

          T 1 Reply Last reply Reply Quote 1
          • T
            Tontechniker @mickym last edited by Tontechniker

            @mickym
            Hier die Trigger-Node:

            Node Red 02.jpg

            Hab wieder auf 2 Minuten umgestellt.

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

              @tontechniker Also - das schaut alles gut - aus. Um das Nachrichtenobjekt neu zu erstellen.

              Mach mal in Deiner function node:

              msg ={};
              
              msg.topic="Überwachung sensoren";
              msg.payload="Fehler Temperatur_2";
              
              return msg; 
              
              T 1 Reply Last reply Reply Quote 1
              • T
                Tontechniker @mickym last edited by Tontechniker

                @mickym
                Vielen Dank!
                Es funktioniert wie gewünscht. Im Netz hatte ich in einem Erklär-Video diese Einstellung gefunden:

                Node Red 03.jpg

                Kannst Du mir erklären, warum diese nicht funktioniert?

                T mickym 2 Replies Last reply Reply Quote 0
                • T
                  Tontechniker @Tontechniker last edited by

                  @tontechniker
                  Hier kommt meine Anwendung:

                  Node Red 04.jpg

                  Nochmal vielen Dank für Deine Hilfe!

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

                    @tontechniker sagte in Statusüberwachung:

                    Kannst Du mir erklären, warum diese nicht funktioniert?

                    Ich kann es Dir nicht genau - sagen. Man müsste untersuchen, welche Eigenschaft der Nachrichten von Deinen ioBroker in-Nodes die mail Node gestört hat.

                    Ich war nur einfach zu faul das zu untersuchen.

                    mit msg={};

                    erstellst Du halt ein komplett neues Nachrichtenobjekt und somit wird alles weggeschmissen, was sonst noch von Deinen ioBroker in-nodes kam. Eigentlich müsste man das halt untersuchen, welche Parameter das war. Aber ich denke Du wolltest eine schnelle Hilfe. 😉

                    T 1 Reply Last reply Reply Quote 1
                    • T
                      Tontechniker @mickym last edited by

                      @mickym
                      Danke für Deine Antwort.
                      Ich habe noch eine Frage: Gibt es die Möglichkeit, im Funktionsblock noch die Uhrzeit mitzugeben (wäre in der Mail bei Fehlern sehr hilfreich).
                      LG Hans

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

                        @tontechniker sagte in Statusüberwachung:

                        @mickym
                        Danke für Deine Antwort.
                        Ich habe noch eine Frage: Gibt es die Möglichkeit, im Funktionsblock noch die Uhrzeit mitzugeben (wäre in der Mail bei Fehlern sehr hilfreich).
                        LG Hans

                        Natürlich ist das möglich - aber ich bin kein Freund davon, wie Du alles über eine function-Node machst. Da kannst Du gleich in JAVA Programmieren. Für Deine quick & dirty Lösung:

                        ....
                        msg.topic = "Überwachung ....";
                        var date = new Date();
                        msg.topic = msg.topic + ' ' + date;
                        ....
                        

                        Ich werde Dir aber sicher nicht mehr bei Formatieren des Datums helfen. Dann machen wir wirklich einen richtigen Flow daraus und nicht so was quick & dirty. Schließlich will man so was mit schönen Mitteln eines Flows machen und nicht mit JS. Leider findet man im Netz dauernd solche Beispiele weil man sich nicht mit Node Red beschäftigen will und dann schnell ein paar Javazeilen schreibt.

                        Wenn Du aber wirklich wissen willst, den Datumstring gescheit formatieren willst usw. und auch Node Red lernen und beherrschen willst , dann zeige ich Dir wie man ein schönes Mail und ein vernünftigen Flow daraus macht da helfe ich Dir gerne. Dann nehmen wir auch den orginalen Timestamp von dem Datenpunkt - einverstanden?
                        So sträuben sich mir eigentlich alle Nackenhaare.
                        So geht das alles eigentlich am Sinn von NodeRed vorbei.

                        EDIT: Ich habe das auch gerade mit meinen Datenpunkten getestet und deren Inhalte lassen sich auch direkt verschicken - also ich kann Deinen Fehler von gestern nicht nachvollziehen. Was er davor nicht mag - das gilt es halt herauszufinden und auch ob es sich bei jedem Datenpunkt so verhält.

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          Tontechniker @mickym last edited by Tontechniker

                          @mickym
                          Danke für Deine Antwort!
                          Da ich Node Red nicht so gut kenne wie Du, war für mich die "quick and dirty" - Lösung das naheliegende.
                          Ich gehe aber gern mit Dir konform und bin deiner Lösung nicht abgeneigt.
                          Zu Edit: Kann das Problem mit dem Datenpunkt daher kommen, dass die Daten von KNX kommen?

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

                            @tontechniker Ich kann Dir Deine Frage nicht beantworten - das würde es halt gelten herauszufinden und erfordert natürlich, dass wir etwas Zeit hier im Thread verbringen. 😉

                            022f1470-ee13-4c12-80a2-76688b26ab8f-image.png

                            Ich habe mal das direkt getestet mit einer ioBroker InNode als Quelle - den Trigger nur true senden lassen - und das ging einwandfrei.

                            Mein Mail sah dann ganz schlicht so aus - das boolean wurde konvertiert.

                            d0e5560b-c74f-4ce9-ac26-77eda3fe2b95-image.png

                            Damit NodeRed einigermaßen vergleichbar ist, solltest Du in der Adapterkonfiguration diese leider standardgesetzte Funktion, dass alles in Strings konvertiert wird ausschalten. Je nachdem wieviele Flows Du hast, bedeutet es aber unter Umständen etwas Umstellungsaufwand - der aber je früher Du das machst - umso geringer ist.

                            EDIT:

                            Du kannst ja parallel einen Flow entwickeln - neben dem bestehenden - die Uhrzeit übrigens wann Du das Mail bekommen hast, hast Du ja eigentlich sowieso. 😉

                            Im Prinzip müsstest Du halt nochmal die Situation von gestern wieder in dem Flow nachbilden.

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              Tontechniker @mickym last edited by Tontechniker

                              @mickym
                              Wie und wo schalte ich denn die Adapterkonfiguration aus?
                              Zeitangabe in der Mail: Je nach Provider kommen die Mails nicht sofort durch.

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

                                @tontechniker sagte in Statusüberwachung:

                                @mickym
                                Wie und wo schalte ich denn die Adapterkonfiguration aus?
                                Zeitangabe in der Mail: Je nach Provider kommen die Mails nicht sofort durch.

                                Nun in Deiner NodeRed Instanz - diesen Haken für die Stringkonvertierung wegmachen!

                                9c49e70b-b844-4f09-ba88-1d568dbece70-image.png

                                Die Zeitangabe sollte eigentlich das Erstellungsdatum der Mail sein und nicht das Empfangsdatum - aber egal wir setzen das Datum. 😉

                                T 1 Reply Last reply Reply Quote 1
                                • T
                                  Tontechniker @mickym last edited by Tontechniker

                                  @mickym
                                  Habe Node Red Instanz umgestellt.
                                  Ich greife jetzt die Daten nach dem Trigger und nach der Funktion ab.

                                  IoBroker 01.jpg

                                  Das funktioniert so, die Mail wird gesendet.
                                  Wenn ich die zwischengeschaltete Funktion herausnehme, bekomme ich wieder die Fehlermeldung "Senden fehlgeschlagen".

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

                                    @tontechniker Bitte wieder das gesamte msg.Objekt posten und auch alle Felder bitte aufklappen.

                                    Ein grafischer Schnappschuss des Flows zur Orientierung finde ich auch immer gut.

                                    T 1 Reply Last reply Reply Quote 1
                                    • T
                                      Tontechniker @mickym last edited by

                                      @mickym
                                      Keine Ahnung, was ich jetzt posten soll (msg.Objekt?, Felder aufklappen?)? Hier erstmal der screenshot.

                                      IoBroker 02.jpg

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

                                        @tontechniker Nein in der Debug Node - wird nur die msg.payload ausgegeben und ich will das ganze Objekt. 🙂

                                        Und wenn Du die Debugausgabe des ganzen Objektes postest - achte darauf dass Du es ausklappst - Pfeil nach unten 😉

                                        2f906c0c-a418-4098-9c39-e15bd4740c24-image.png

                                        Außerdem sehe ich ja den funktionierenden Flow - ich will den ja ohne function Node sehen. 😉 - Damit wir sehen wie wir den Fehler ausmerzen können.

                                        Soweit ich nämlich Deinen unteren Screenshot sehe - glaube ich, dass in Deiner lastchange Eigentschaft ein Mist mit irgendwelchen Steuerzeichen steht. Da ist nämlich nach der Zahl so ein komischer Strich.

                                        T 1 Reply Last reply Reply Quote 1
                                        • T
                                          Tontechniker @mickym last edited by Tontechniker

                                          @mickym
                                          So, hier kommt hoffentlich das richtige.

                                          IoBroker 03.jpg

                                          IoBroker 04.jpg

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

                                            @tontechniker

                                            Na die Pfeile stehen zwar immer noch nicht senkrecht bei dem Objekt - also sind noch eingeklappt - aber gut.

                                            14d5e637-37ea-4f2f-ac44-12fff37e57e9-image.png

                                            Wir versuchen als erstes Mal den lastchange Parameter zu retten - kann schon sein, dass der KNX Adapter da Schmarrn macht. 😉

                                            Mach als erstes mal hinter Deine iobroker In-Node eine Change Node

                                            Am einfachsten ist, Du importierst diese und hängst sie hinter Deine iobroker In-Node:

                                            [
                                                {
                                                    "id": "92862062.7a3ea",
                                                    "type": "change",
                                                    "z": "6e170384.60c96c",
                                                    "name": "save lastchange",
                                                    "rules": [
                                                        {
                                                            "t": "change",
                                                            "p": "lastchange",
                                                            "pt": "msg",
                                                            "from": "(\\d*)\\s.*",
                                                            "fromt": "re",
                                                            "to": "$1",
                                                            "tot": "str"
                                                        },
                                                        {
                                                            "t": "set",
                                                            "p": "lastchange",
                                                            "pt": "msg",
                                                            "to": "$number(lastchange)\t",
                                                            "tot": "jsonata"
                                                        }
                                                    ],
                                                    "action": "",
                                                    "property": "",
                                                    "from": "",
                                                    "to": "",
                                                    "reg": false,
                                                    "x": 2680,
                                                    "y": 4120,
                                                    "wires": [
                                                        [
                                                            "ff206ae0.4782b8"
                                                        ]
                                                    ]
                                                }
                                            ]
                                            

                                            Die importierte Change Node sollte so aussehen:

                                            eae1f63a-8994-4527-86a5-3de809c155f6-image.png
                                            Wenn das nicht geht, schmeissen wir die letzte Änderung einfach weg - brauchen die eh nicht.

                                            Wenn DU nicht weißt - wie Du die Node importierst, dann sag Bescheid !!!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            node-red
                                            4
                                            47
                                            2958
                                            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