Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zwei Datenpunkte vergleichen, grösser als...

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zwei Datenpunkte vergleichen, grösser als...

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      darkblu last edited by

      Hallo, ich brauche mal Hilfe, ich raffe es nicht.
      Folgendes Problem:
      Wenn sich der Wert des Triggers ändert, soll der Triggerwert mit einem anderen Wert verglichen werden.
      Falls dieser Triggerwert größer ist als der Vergleichswert soll eine Ansage per Alexa kommen.
      Und das ganze nur zwischen 7:20 und 20:00 und wenn das Fenster offen ist.

      Allerdings kommt die Alexa Ansage, sobald sich der Triggerwert ändert.
      Die beiden Werte werden scheinbar gar nicht auf "Größer" verglichen.
      Zeit und Fenster werden aber berücksichtigt.

      Wo ist mein Fehler ?
      Bzw könnte man das nicht auch ohne Trigger aufbauen, dass es halt während der Zeitspanne läuft ?

      Screenshot 2024-07-07 163225.png

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @darkblu last edited by

        @darkblu dein timeout wird mehrfach gestartet, wenn die Werte innerhalb von 15 Minuten jeweils größer als der Referenzwert sind.
        Anschließend kann der Timeout nicht mehr gestoppt werden.

        Setze noch ein stop timeout vor den Timeout, dann verlängert sich die Frist (bis ins unendliche) oder prüfe im falls zusätzlich auf ...und nicht timeout

        D 1 Reply Last reply Reply Quote 0
        • D
          darkblu @Homoran last edited by darkblu

          @homoran
          erledigt, aber das ändert ja nix daran, dass die beiden Werte nicht auf "größer" verglichen werden

          Screenshot 2024-07-07 170028.png

          wie schon oben geschrieben, sobald sich der Triggerwert ändert, kommt die Ansage von Alexa,
          egal ob der Triggerwert grösser oder kleiner ist als der Vergleichswert.

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @darkblu last edited by Homoran

            @darkblu sagte in Zwei Datenpunkte vergleichen, grösser als...:

            das ändert ja nix daran, dass die beiden Werte nicht auf "größer" verglichen werden

            ist das so???

            woher weisst du das?
            Hast du dir mal per debug Block die aktuellen Werte ausgeben lassen?

            Wie kommt den sonst die Sprachausgabe ins Rollen, wenn das falls nicht zuträfe?

            D 1 Reply Last reply Reply Quote 0
            • D
              darkblu @Homoran last edited by

              @homoran
              ok, per Debug Block habe ich nicht geschaut, ich starre auf die Werte in den Objekten. 😐
              Und der Triggerwert ist kleine als der Vergleichswert.
              Ich baue mal den Debug Block ein.

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @darkblu last edited by paul53

                @darkblu
                Versuche es mal so:

                Blockly_temp.JPG

                Kontrolle per Debug-Block hilft meistens, wenn etwas nicht so funktioniert wie erwartet.

                D 1 Reply Last reply Reply Quote 0
                • D
                  darkblu @paul53 last edited by

                  @paul53
                  ich habe es jetzt nach deinem Vorbild umgebaut (und das Zimmer gewechselt)

                  Screenshot 2024-07-07 180559.png

                  muss beim Kringel nicht "größer" hin ?
                  Zumindest scheint es jetzt zu funktionieren (mit dem "größer)

                  Allerdings verstehe ich nicht warum meins nicht funktioniert 😞
                  Ich verstehe auch das hier nicht:

                  Screenshot 2024-07-07 181628.png

                  sonst falls der Wert vom Fenster Badezimmer... was denn ? da wird doch gar nicht gefragt/verglichen ob auf oder zu ?

                  Egal, es löppt jetzt scheinbar.

                  Ganz herzlichen Dank @paul53

                  Homoran paul53 2 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @darkblu last edited by Homoran

                    @darkblu sagte in Zwei Datenpunkte vergleichen, grösser als...:

                    da wird doch gar nicht gefragt/verglichen ob auf oder zu ?

                    doch! ohne Zusatz = true, ein false wäre in der Schreibweise nicht Wert von OID Fensterxy

                    @darkblu sagte in Zwei Datenpunkte vergleichen, grösser als...:

                    Allerdings verstehe ich nicht warum meins nicht funktioniert

                    was passiert denn jetzt mit dem zusätzlichen stop timeout?
                    ich denke da hat es bisher die timeout Verwaltung bei dir zerschossen

                    @darkblu sagte in Zwei Datenpunkte vergleichen, grösser als...:

                    muss beim Kringel nicht "größer" hin ?

                    nein, der vorherige Wert sollte kleiner sein und der aktuelle damit grösser

                    wenn das mit größer funktioniert, interessieren mich jetzt erst recht die debug-Bausteine mit den Werten!

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @darkblu last edited by paul53

                      @darkblu sagte: muss beim Kringel nicht "größer" hin ?

                      Nein, die Bedingung ist: Außenfeuchte >= Innenfeuchte (sonst) UND vorherige Außenfeuchte < Innenfeuchte, also erstmaliges Überschreiten der Innenfeuchte.
                      Es muss im Prinzip so aussehen:

                      Blockly_temp.JPG

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        darkblu @paul53 last edited by darkblu

                        sodele,

                        nachgebaut nach @paul53 mit debug output:

                        01.png

                        hier das Log

                        
                        7.7.2024, 20:30:39.267	[info ]: javascript.0 (888) script.js.Luftfeuchtigkeit.nicht_Lüften.test: 7.914482682678163Badezimmer10.21
                        7.7.2024, 20:33:28.477	[info ]: javascript.0 (888) script.js.Luftfeuchtigkeit.nicht_Lüften.test: 7.865026527843053Badezimmer10.21
                        7.7.2024, 20:33:28.527	[info ]: javascript.0 (888) script.js.Luftfeuchtigkeit.nicht_Lüften.test: 8.012551461048739Badezimmer10.21
                        

                        Man sieht, Triggerwert ist immer kleiner als der Vergleichswert.
                        Und trotzdem kommt die Alexameldung. Das ist doch verrückt 😥

                        Es soll doch genau anders herum sein.
                        Wenn Trigger grösser als der Vergleichswert ist soll Alexa doch labern

                        Homoran paul53 2 Replies Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @darkblu last edited by

                          @darkblu sagte in Zwei Datenpunkte vergleichen, grösser als...:

                          Man sieht, Triggerwert ist immer kleiner als der Vergleichswert.

                          ja! in dem entsprechenden Teil steckt auch der debug block.

                          im entscheidenden Teil ist leider kein debug

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @darkblu last edited by paul53

                            @darkblu sagte: trotzdem kommt die Alexameldung.

                            Wenn die Alexameldung kommt, kann die Log-Ausgabe nicht erfolgen und umgekehrt.

                            Enthalten die Datenpunkte Zahlen oder Strings? Bei einem Stringvergleich ist "7" größer als "10". Wandle mal beide Vergleichswerte in eine Zahl.

                            Blockly_temp.JPG

                            Außerdem ist das "stop timeout1" vor dem "Ausführen timeout1" zu viel.

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              darkblu @paul53 last edited by

                              @paul53 , da bin ich wieder

                              habs nach deinem Bauplan nachgebaut:
                              neu.png

                              Log nach Änderung vom Datenpunkt Feuchtegehalt Garten:

                              8.7.2024, 15:37:01.819	[info ]: javascript.0 (888) script.js.Luftfeuchtigkeit.nicht_Lüften.Test_Keller: vorher aussen:8.97 , jetzt aussen:9.018749301038769 , innen:10.78
                              8.7.2024, 15:37:01.830	[info ]: javascript.0 (888) script.js.Luftfeuchtigkeit.nicht_Lüften.Test_Keller: vorher aussen:9.018749301038769 , jetzt aussen:9.02 , innen:10.78
                              8.7.2024, 15:37:01.839	[info ]: javascript.0 (888) script.js.Luftfeuchtigkeit.nicht_Lüften.Test_Keller: vorher aussen:9.02 , jetzt aussen:9.465383347754388 , innen:10.78
                              8.7.2024, 15:37:01.850	[info ]: javascript.0 (888) script.js.Luftfeuchtigkeit.nicht_Lüften.Test_Keller: vorher aussen:9.465383347754388 , jetzt aussen:9.47 , innen:10.78
                              

                              Die Alexaansage kam nicht, ist ja auch richtig. 👍
                              Jetzt muss ich auf ordentlich Regen warten, damit aussen größer wird als innen.
                              Übermorgen soll ordentlich was runterkommen, dann sollte sich aussen zu innen ja umkehren.
                              Aber eigentlich sollte es jetzt funktionieren.

                              Die Datenpunkte sind vom Type gemischt (mixed).
                              Kann man die hier einfach umstellen ?
                              neu_01.png
                              Oder Finger von lassen, da es ja scheinbar jetzt löppt ?

                              Ich werde anschliessend berichten

                              Vielen Dank @paul53

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @darkblu last edited by

                                @darkblu sagte: Die Datenpunkte sind vom Type gemischt (mixed).

                                Deshalb meckert der js-controller nicht, wenn ein String geschrieben wird. Wenn mit den Werten gerechnet werden soll, müssen Zahlen in die DP geschrieben werden.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                496
                                Online

                                32.0k
                                Users

                                80.3k
                                Topics

                                1.3m
                                Posts

                                3
                                14
                                384
                                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