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] Füllstandabfrage funktioniert nicht wie geplant

    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

    [gelöst] Füllstandabfrage funktioniert nicht wie geplant

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

      Hallo,
      ich betreibe in meinem Bad einen Entfeuchter, der über ein simples Blockly von einem Luftfeuchtemesser ein- und ausgeschaltet wird. Der Entfeuchter selbst ist aber nicht smart, weshalb ich gerne ein Script hätte, dass mir mitteilt, wenn der Wassertank voll ist.

      Mein dafür verwendetes Blockly sieht so aus:
      437cd672-5375-40df-8b6c-de60b516fe83-image.png

      Dummerweise funktioniert das wenig bis überhaupt nicht. Die meiste Zeit bekomme ich gleich mehrere Meldungen, wenn sich der Entfeuchter einschaltet - aber dummerweise nicht, wenn der Wassertank voll ist.

      Was mache ich wo falsch?

      BananaJoe paul53 2 Replies Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @Wintermute last edited by BananaJoe

        @wintermute Naja, mit deiner 720 Minuten Pause ... in der Zeit macht der dann nichts.

        • Lass die Pause weg
        • erstelle dir eine IchHabeSchonGesendet Variable und setze diese auf Falsch - und zwar vor dem "Falls Objekte" Block
        • Wenn du sendest, setzt du IchHabeSchonGesendet auf Wahr
        • Vor dem Senden baust du eine Prüfung ein - nur senden wenn IchHabeSchonGesendet auf Falsch steht
        • Dein "falls" Block bekommt einen "sonst" Zweig, in diesem setzt zu IchHabeSchonGesendet auf Falsch

        So löst es aus wenn der Luftentfeuchter an ist, der Verbrauch = 0 ist.
        Sendet aber nur einmal weil wir uns gemerkt haben das wir schon gesendet haben.
        Schaltet sich wieder scharf für ein erneutes senden wenn der Luftentfeuchter an ist und der Verbrauch über 0 liegt (oder drunter)

        Edit: sonst statt oder!

        Wintermute 1 Reply Last reply Reply Quote 0
        • Wintermute
          Wintermute @BananaJoe last edited by

          @bananajoe sagte in Füllstandabfrage funktioniert nicht wie geplant:

          @wintermute Naja, mit deiner 720 Minuten Pause ... in der Zeit macht der dann nichts.

          Das war auch Sinn der Sache. Trigger ist ja die Veränderung der Luftfeuchtigkeit. Ohne die Zwangspause würde mein Blockly ja bei jeder Änderung der Luftfeuchtigkeit eine Nachricht schicken, wenn der Verbrauch des Entfeuchters auf Null geht. 12 Stunden Sendepause war mal ein erster Testwert - wenn ich nicht zuhause bin, macht den Tank ja eh keiner leer 😉

          So löst es aus wenn der Luftentfeuchter an ist, der Verbrauch = 0 ist.
          Sendet aber nur einmal weil wir uns gemerkt haben das wir schon gesendet haben.
          Schaltet sich wieder scharf für ein erneutes senden wenn der Luftentfeuchter an ist und der Verbrauch über 0 liegt (oder drunter)

          Also so?
          032b87ea-81d0-4a87-b54e-dc00316c0fa0-image.png

          BananaJoe 1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @Wintermute last edited by

            @wintermute ja. Der Trigger löst jetzt in der Tat bei jeder Änderung aus. Aber er sendet nur einmal.
            Und wir brauchen den ja damit er wieder neu scharf geschaltet wird wenn du den Tank geleert hast.

            1 Reply Last reply Reply Quote 0
            • Wintermute
              Wintermute last edited by Wintermute

              Aus irgendeinem Grund funktioniert es nicht so, wie es soll.
              Heute morgen hat sich der Entfeuchter eingeschaltet und das script hat zweimal im Abstand von ca. 2 Minuten ausgelöst.
              Vermutlich sind die Trigger untauglich und der Verbrauch des Entfeuchters geht zu Beginn öfter mal kurz auf 0.
              Vielleicht muss ich den Zustand "Verbrauch = 0" länger beobachten und sicher zu gehen, dass das Ding auch auf 0 bleibt...

              Könnte das so funktionieren?
              6ed77a26-16a4-4c09-89ca-2796abff9eaf-image.png
              Damit überprüfe ich jetzt 10mal hintereinander (kann ich ggfs. noch mit einer Pause etwas strecken) ob die Zustände "eingeschaltet" und "Verbrauch = 0" länger als einen Moment anhalten und komme dann erst zum Versenden einer Benachrichtigung.
              Ich fürchte aber, dass mir da jetzt in der Schleife eine Abbruchbedingung fehlt, damit das Script nicht in der Schleife gefangen bleibt.

              paul53 1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active last edited by

                Probier. Bau dir sonst Debug-Meldungen ein, dann kannst du im Log sehen wie es läuft, wo er gerade im Skript steht.
                Falls du einen History/SQL/InfluxDB Adapter installiert hast, aktiviere die Aufzeichnung der Leistung, das kannst du sehen wie sich das Gerät verhält

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

                  @wintermute sagte: Was mache ich wo falsch?

                  Der Trigger-Datenpunkt ist nicht der richtige. Wenn die Stromaufnahme geprüft wird, dann muss diese auch als Trigger dienen.
                  Geht die Stromaufnahme tatsächlich auf 0, wenn der Tank voll ist?
                  Versuche es mal so:

                  Blockly_temp.JPG

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

                    @wintermute sagte: Verbrauch des Entfeuchters geht zu Beginn öfter mal kurz auf 0.

                    Wirklich? Wenn das der Fall ist, verzögere die Prüfung nach dem Einschalten.

                    Blockly_temp.JPG

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

                      @paul53 sagte in Füllstandabfrage funktioniert nicht wie geplant:

                      Der Trigger-Datenpunkt ist nicht der richtige. Wenn die Stromaufnahme geprüft wird, dann muss diese auch als Trigger dienen.

                      Dann triggert das Script aber doch auch, wenn der Entfeuchter nicht von der Steckdose (die wiederum von der Luftfeuchtigkeit getriggert wird) eingeschaltet wird. Dann ist die Stromaufnahme ja auch 0.

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

                        @paul53 sagte in Füllstandabfrage funktioniert nicht wie geplant:

                        @wintermute sagte: Verbrauch des Entfeuchters geht zu Beginn öfter mal kurz auf 0.

                        Wirklich? Wenn das der Fall ist, verzögere die Prüfung nach dem Einschalten.

                        Das ist momentan nur eine Idee. Ich habe zwar einen History-Adapter auf die Stromaufnahme des Entfeuchters angesetzt, der ist aber möglicherweise nicht schnell genug, um kurze Schwankungen beim Einschalten zu bemerken.

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

                          @wintermute sagte: Dann triggert das Script aber doch auch, wenn der Entfeuchter nicht von der Steckdose (die wiederum von der Luftfeuchtigkeit getriggert wird) eingeschaltet wird.

                          Bei dem gezeigten Skript wird nur gesendet, wenn die Steckdose eingeschaltet ist und die Stromaufnahme erstmalig unter 0.1 (A?) sinkt.

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

                            @paul53 sagte in Füllstandabfrage funktioniert nicht wie geplant:

                            Bei dem gezeigten Skript wird nur gesendet, wenn die Steckdose eingeschaltet ist und die Stromaufnahme erstmalig unter 0.1 (A?) sinkt.

                            Wie es aussieht, funktioniert es so, wie Du gesagt hast (auch wenn ich es nicht genau verstehe).
                            Vielen Dank dafür 😊

                            Danke auch an @BananaJoe für Deinen Input. Mit Variablen zu arbeiten habe ich bisher gar nicht so auf dem Schirm gehabt 👍

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            376
                            Online

                            31.9k
                            Users

                            80.3k
                            Topics

                            1.3m
                            Posts

                            3
                            12
                            432
                            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