Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Gelöst] Fensterkontakt + Thermostat: Wie Verzögerung einbauen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    177

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

[Gelöst] Fensterkontakt + Thermostat: Wie Verzögerung einbauen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 4 Kommentatoren 1.1k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    Thosch
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich betreibe einige Xiaomi Fensterkontakte und HmIP Heizkörperthermostate.

    Ich würde gerne eine Skript laufen lassen, dass bei Fenster auf mit einer Verzögerung von 30 Sekunden beim Thermostat den Fenster auf Modus aktiviert. Wenn das Fenster wieder geschlossen wird, soll der Fenster auf Modus wieder ausgeschaltet werden.

    Ich hab mir dazu folgendes Blockly Skript gemacht. Allerdings habe ich häufiger das Phänomen, dass die Thermostate auf Fenster auf stehen bleiben, wenn ein Fenster mehrmals schnell geöffnet und wieder geschlossen wird.

    Hat evlt. jemand eine Idee, was ich falsch mache?

    https://ibb.co/YPDWZ2x

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      dexter
      schrieb am zuletzt editiert von
      #2

      Hallo Thosch,

      scheinbar passiert folgendes:

      Fenster geht auf, Blockly merkt sich das er in 30 Sekunden das Thermostat runter fahren soll

      Fenster geht zu, Blockly schaltet Thermostat hoch

      30 Sekunden sind abgelaufen, Blockly fährt Thermostat runter.

      Probiere mal statt einer Verzögerung einen Timeout von 30 Sekunden und darin dann erneut eine Abfrage ob das Fenster wirklich noch auf ist.
      16721_unbenannt.png

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        Thosch
        schrieb am zuletzt editiert von
        #3

        Ahh ja, da stand ich wohl auf dem Schlauch. An den timeout hab ich gar nicht gedacht.

        So funktioniert's wunderbar.

        Vielen Dank für die schnelle Hilfe!!

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Malti
          schrieb am zuletzt editiert von
          #4

          Hallo Thosch,
          ich würde dieses gerne mit meinen Homematic Aktoren nachbauen.
          Könntest du mir einen Screenshot von Blockly zeigen oder das Script exportieren?

          Vielen lieben Dank
          Michael

          1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            charakterkopf
            schrieb am zuletzt editiert von charakterkopf
            #5

            Hi, leider nur Javascript. Die Funktion Timeout ist aber schön zu erkennen:

            Hier wird 60 Sekunden bei Fenster auf gewartet und erneut geprüft. Ich kann also in Ruhe ein Bier vom Balkon holen...

            //Wohnzimmer:
            on({id: 'javascript.0.Smarthome.fenster_wohnzimmer', change: 'any'}, function (obj) 
                {
                    if (obj.state.val===true) 
                    {
                            setTimeout(function(){ 
                                if (obj.state.val===true) 
                                    { 
                                            setState('fritzdect.0.Comet_119610277592.mode',1); 
                                    }
                            }, 60000);
                    }
                    else setState('fritzdect.0.Comet_119610277592.mode',0);
                });  
            

            Und falls du Fenster zusammenfassen möchtest (Wohnzimmer hat bei mir 2 Fenster + Balkontür:

            //Das Script fasst die Wohnzimmer Fenster zusammen
                const idSammel = 'javascript.0.Smarthome.fenster_wohnzimmer';
                const id1 = 'javascript.0.Smarthome.Fenster.Fenster_1'; // ID von 1\. Meldung
                const id2 = 'javascript.0.Smarthome.Fenster.Fenster_2';
                const id3 = 'javascript.0.Smarthome.Fenster.Fenster_3';
            
                const ids = [id1, id2, id3];
             
                var vals = [getState(id1).val, getState(id2).val, getState(id3).val];
            
                function sammel() {
                if(vals[0] || vals[1] || vals[2] ) setState(idSammel, true, true);
                else setState(idSammel, false, true);
                }
            
            on(ids, function(dp) {  
               var pos = ids.indexOf(dp.id);
               if(pos != -1) {
                  vals[pos] = dp.state.val;
                  sammel();
               } else log('Trigger-ID nicht im Array !', 'warn');
            });
            
            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            682

            Online

            32.5k

            Benutzer

            81.7k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe