Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst]doppelte Logausgabe

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    [gelöst]doppelte Logausgabe

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dominik F.
      Dominik F. @MCU last edited by

      @mcu

      Ich habe momentan 2 Wassermelder in die Funktion eingepflegt und zum Testen einen, den aus der Küche, auslösen lassen

      1 Reply Last reply Reply Quote 0
      • Dominik F.
        Dominik F. @MCU last edited by

        @mcu

        Es wird eine Pushover versendet für den Wassermelder der ausgelöst hat, so wie es auch sein soll. Aber es werden 2 Logs ausgegeben mit Wasser erkannt oder Wasser behoben.
        Die Wassermelder heißen ja nicht beide Küche

        M Asgothian 2 Replies Last reply Reply Quote 0
        • M
          MCU @Dominik F. last edited by MCU

          @dominik-f Das fragst du ja gar nicht ab? Log mal den Wert
          b3a32efc-44cc-4d47-b6d8-a19cfd3fa157-image.png

          3a51cfeb-4fb1-4f27-8185-6baf1fe659d2-image.png

          Dominik F. 1 Reply Last reply Reply Quote 0
          • Dominik F.
            Dominik F. @MCU last edited by

            @mcu

            01:03:04.250	info	javascript.0 (26259) script.js.common.test: true
            01:03:04.250	info	javascript.0 (26259) script.js.common.test: true
            
            M 1 Reply Last reply Reply Quote 0
            • M
              MCU @Dominik F. last edited by MCU

              @dominik-f Und wo fragst du hier den auslösenden DP ab?
              a71e478e-8e58-412b-8848-70ea540620df-image.png

              Dominik F. 1 Reply Last reply Reply Quote 0
              • Dominik F.
                Dominik F. @MCU last edited by

                @mcu

                Aus den Tutorials dich mir angeguckt habe dachte ich, dass "falls Wert" das gleiche ist wie "falls Wert = true"

                M 1 Reply Last reply Reply Quote 0
                • M
                  MCU @Dominik F. last edited by MCU

                  @dominik-f Ja die Aussage stimmt ja auch, aber du musst prüfen, welcher DP der auslösende war. Ein DP aus dem Selektor hat gemeldet "ich bin true". Da lässt du jetzt hinterher die Liste der Selektoren-DPs durchlaufen und prüfst den WERT der geschickt wurde von einem DP.

                  In der Abfrage müsste etwas sein, wie Falls Wert von ObjektID (i) = WERT.
                  In dem Fall würde er aber einmal schicken Wasser erkannt und beim anderen Wasser behoben, da der Wert bei dem ja false ist. Also muss du vorher prüfen, welcher DP ist denn ausgelöst worden und nur den prüfen.

                  Dominik F. 1 Reply Last reply Reply Quote 0
                  • Dominik F.
                    Dominik F. @MCU last edited by

                    @mcu

                    Meinst du sowas ?

                    Unbenannt.PNG

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MCU @Dominik F. last edited by

                      @dominik-f von i nicht selektor_Wassermelder

                      Dominik F. 1 Reply Last reply Reply Quote 0
                      • Dominik F.
                        Dominik F. @MCU last edited by Dominik F.

                        @mcu

                        Das hatte ich schon mal gehabt, aber da kam wieder was ganz komisches raus^^

                        01:14:52.637	info	javascript.0 (26259) script.js.common.test: Wasser behoben Küche
                        01:14:52.638	info	javascript.0 (26259) script.js.common.test: Wasser erkannt Küche
                        

                        Da gibt er mir wohl erst den alten State und dann den neuen State aus

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          MCU @Dominik F. last edited by MCU

                          @dominik-f Ja, jetzt musst du noch die Zeit der Wertänderung prüfen, denn der DP der ausgelöst hat, hat ja seinen Wert verändert.

                          68335c44-e848-47a2-8131-741bd1aeefe6-image.png

                          Oder direkt die ObjektID prüfen?
                          56dd7a45-cc1a-4259-9066-14a379468691-image.png

                          Du kannst ja auch den Verursacher loggen
                          585284a0-1c5b-4dea-afc6-dfdbe7fc0276-image.png
                          Probieren: Gerätename, GeräteID ?
                          Machen morgen weiter? Oder ein anderer.

                          Dominik F. 1 Reply Last reply Reply Quote 1
                          • Dominik F.
                            Dominik F. @MCU last edited by

                            @mcu

                            Machen wir, danke dir schon mal

                            1 Reply Last reply Reply Quote 0
                            • Asgothian
                              Asgothian Developer @Dominik F. last edited by

                              @dominik-f sagte in doppelte Logausgabe:

                              @mcu

                              Es wird eine Pushover versendet für den Wassermelder der ausgelöst hat, so wie es auch sein soll. Aber es werden 2 Logs ausgegeben mit Wasser erkannt oder Wasser behoben.
                              Die Wassermelder heißen ja nicht beide Küche

                              Die Lösung ist so einfach. Unter der Bedingung das die Bausteine "wert" und "name" korrekt sind:

                              Lass einfach das "für jeden Wert i in der Liste" weg, und gib einfach die Meldung aus wie du es vorgesehen hast.

                              @mcu sagte in doppelte Logausgabe:

                              In der Abfrage müsste etwas sein, wie Falls Wert von ObjektID (i) = WERT.
                              In dem Fall würde er aber einmal schicken Wasser erkannt und beim anderen Wasser behoben, da der Wert bei dem ja false ist. Also muss du vorher prüfen, welcher DP ist denn ausgelöst worden und nur den prüfen.

                              Diesen Teil kannst Du dir sparen, da "wert" bei korrekter Einstellung der Wert des DP ist der den trigger ausgelöst hat und "Name" der Name des DP der die Änderung ausgelöst hat.

                              Das Durchgehen brauchst du nur dann wenn du bei jeder Änderung eines einzelnen Sensors den Status aller Sensoren gemeldet bekommen willst.

                              A.

                              Dominik F. 1 Reply Last reply Reply Quote 1
                              • Dominik F.
                                Dominik F. @Asgothian last edited by

                                @asgothian

                                Danke, nun funktioniert es so wie es soll

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                799
                                Online

                                32.0k
                                Users

                                80.5k
                                Topics

                                1.3m
                                Posts

                                blockly
                                3
                                18
                                516
                                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