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. last edited by Dominik F.

      Hallo zusammen,

      ich habe mir ein kleines Script geschrieben, dass die Wassermelder bei mir im Haus überprüft und falls Wasser erkannt wird, wird eine Pushover Nachricht verschickt.

      Das ganze funktioniert auch soweit, jedoch bekomme ich immer eine doppelte Logausgabe. Das heißt für mich, da muss irgendwo ein Fehler drin sein.

      Hat jemand eine Idee?

      Unbenannt.PNG

      Hier der Log:

      
      pushover.0
      2022-02-08 00:26:58.836	info	Send pushover notification: {"message":"Wasser behoben","title":"Wassermelder Küche","device":"Handy_Domi","priority":"0"}
      
      javascript.0
      2022-02-08 00:26:58.835	info	script.js.common.test: Wasser behoben Küche
      
      javascript.0
      2022-02-08 00:26:58.835	info	script.js.common.test: Wasser behoben Küche
      
      pushover.0
      2022-02-08 00:26:36.130	info	Send pushover notification: {"message":"Wasser erkannt","title":"Wassermelder Küche","device":"Handy_Domi","priority":"0"}
      
      javascript.0
      2022-02-08 00:26:36.128	info	script.js.common.test: Wasser erkannt Küche
      
      javascript.0
      2022-02-08 00:26:36.128	info	script.js.common.test: Wasser erkannt Küche
      
      javascript.0
      2022-02-08 00:26:30.683	info	script.js.common.test: registered 2 subscriptions and 0 schedules
      
      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @Dominik F. last edited by MCU

        @dominik-f Hat sich erledigt.

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

          @mcu

          Es steht in beiden Log doppelt drin

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

            @dominik-f Wieviel Wassermelder sind denn da? 2?
            Im Selektor Wassermelder stehen 2 DP drin. Diese werden so wie du es wünscht durchlaufen und schicken je eine Nachricht.

            Dominik F. 2 Replies Last reply Reply Quote 0
            • 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

                                        818
                                        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