Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Warnung wegen offenen Fenstern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Warnung wegen offenen Fenstern

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

      Hallo Forum,

      ich versuche gerade eine Warnung zu versenden wenn ich das Haus verlasse und mal wieder Fenster oder Türen offen gelassen habe.

      Leider habe ich keine Erfahrung mit dem Scripten und komme nicht weiter.

      Vielleicht kann mir jemand einen Tipp geben und helfen.

      ioBroker: 1.6.7

      Homematic mit CCU1

      Gruß,

      Thorsten

      1 Reply Last reply Reply Quote 0
      • P
        Phantomio last edited by

        Hallo,

        habe mal was aus meinen Scripten zusammen kopiert.

        Evtl. kannst Du ja was damit anfangen 😉

        var BadFensterLinks               = "hm-rpc.0.LEQ1234567.1.STATE";                    // Bad Drehgriff Fenster links:1.STATE
        var BadFensterRechts              = "hm-rpc.0.LEQ2345678.1.STATE";                    // Bad Drehgriff Fenster rechts:1.STATE
        var idSayIt                        = "sayit.0.tts.text";                               // Hier die entsprechende SayIt Text ID
        var Haustuer                      = "hm-rpc.0.MEQ3456789.1.STATE";                    // Haustuer:1.STATE
        var KindFenster                   = "hm-rpc.0.LEQ4567890.1.STATE";                    // Kind-Drehgriff Fenster:1.STATE
        on ({id: Haustuer,                change:  "gt"},     fHaustuer);
        
        function fHaustuer (){
        	fFensterPruefen ("Haustuer", "00:00:00", "23:59:59", "00:00:00" ,"23:59:59", "Alle Fenster sind geschlossen. Auf Wiedersehen.");
        }
        
        function fFensterPruefen (Ausloeser, VonAuf, BisAuf, VonZu, BisZu, Sprachausgabe){
            FensterAuf = 0;
            SprachausgabeOffen = " ";
            log(Ausloeser + " auf. Funktion Fenster Pruefen");
            if (isTimeInRange(VonAuf, BisAuf)){                    // wenn noch Fenster offen sind
                    if (getState(KindFenster).val !== 0){
                        SprachausgabeOffen = "Das Fenster von Kind ist noch offen. ";
                        FensterAuf = 1;
                    }
                    if (getState(BadFensterRechts).val !== 0 || getState(BadFensterLinks).val !== 0){
                        SprachausgabeOffen = SprachausgabeOffen + "Ein Fenster im Badezimmer ist noch offen. ";
                        FensterAuf = 1;
                    }
                    if (Ausloeser === "Haustuer" && getState(Terrassentuer).val !== 0){
                         SprachausgabeOffen = SprachausgabeOffen + "Die Terrassentür ist noch offen. ";
                        FensterAuf = 1;
                    }
                    setStateDelayed (idSayIt, SprachausgabeOffen, 1, false);
            }
            if (FensterAuf === 0 && isTimeInRange(VonZu, BisZu)){    // Wenn alle Fenster geschlossen sind
                    setStateDelayed (idSayIt, Sprachausgabe, 1, false);
            }
        }
        
        function isTimeInRange(strLower, strUpper) {
            var now = new Date();
            var lower = addTime(strLower);
            var upper = addTime(strUpper);
            var inRange = false;
            if (upper > lower) {
                // opens and closes in same day
                inRange = (now >= lower && now <= upper) ? true : false;
            } else {
                // closes in the following day
                inRange = (now >= upper && now <= lower) ? false : true;
            }
            return inRange;
        }
        
        

        Hoffe das funktioniert so.

        Habe bei mir noch diverse andere Abfragen wie Alarm usw. mit drinnen.

        Gruß

        Phantomio

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

          Siehe http://www.iobroker.net/?page_id=5158&lang=de.

          1 Reply Last reply Reply Quote 0
          • E
            exporzer last edited by

            Cool danke das schaue ich mir mal an.

            Und Frohe Weihnachtstage noch.

            Gruß,

            Thorsten

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

            Support us

            ioBroker
            Community Adapters
            Donate

            957
            Online

            31.7k
            Users

            79.8k
            Topics

            1.3m
            Posts

            3
            4
            997
            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