Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Blockly
  5. Fenster Öffnen/schließen steuert Heizung

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    821

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.6k

Fenster Öffnen/schließen steuert Heizung

Geplant Angeheftet Gesperrt Verschoben Blockly
25 Beiträge 4 Kommentatoren 1.6k Aufrufe 4 Beobachtet
  • Ä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 TDCroPower

    @dslraser es sind 2 Debug Outputs direkt nach dem Trigger eingefügt....
    Bildschirmfoto 2021-10-27 um 10.53.36.png

    edit:
    ich habe mir zusätzlich noch den Wert von "Power" des HKT ausgegeben.
    Hier sieht man das der Wert direkt nach dem Trigger bei beiden auf OFF steht und somit in den "else" Pfad geleitet wird.
    Also ist der Wechsel von gekippt auf zu noch nicht vom HKT verarbeitet worden und läuft wahrscheinlich im Hintergrund nach.

    javascript.0
    2021-10-27 10:57:00.425 error script.js.common.Heizung: Power: OFF

    javascript.0
    2021-10-27 10:57:00.424 error script.js.common.Heizung: true

    javascript.0
    2021-10-27 10:56:59.722 error script.js.common.Heizung: Power: OFF

    javascript.0
    2021-10-27 10:56:59.721 error script.js.common.Heizung: false

    Bildschirmfoto 2021-10-27 um 10.59.13.png

    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #12

    @tdcropower
    und was hast Du gemacht ? Nur das Fenster geöffnet oder auch auf kipp ? (ich kenne/habe diese Sensoren nicht. Sind das Türgriffe bzw. erkennen die überhaupt den Unterschied zwischen gekippt und geöffnet wenn die nur true/false haben ?)

    T 1 Antwort Letzte Antwort
    1
    • dslraserD dslraser

      @tdcropower
      und was hast Du gemacht ? Nur das Fenster geöffnet oder auch auf kipp ? (ich kenne/habe diese Sensoren nicht. Sind das Türgriffe bzw. erkennen die überhaupt den Unterschied zwischen gekippt und geöffnet wenn die nur true/false haben ?)

      T Offline
      T Offline
      TDCroPower
      schrieb am zuletzt editiert von
      #13

      @dslraser die Sensoren erkennen nur Offen/Zu, also keinen Zustand wie offen/gekippt.
      Das sind folgende Sensoren...
      https://www.amazon.de/Aqara-MCCGQ11LM-Window-Sensor-Fensterssensor/dp/B07D37VDM3

      In dem Beispiel oben habe ich immer folgendes getestet und ausgegeben...

      1. Fenster komplett geöffnet -> "is open": true
      2. Fenster schließen -> "is open": false
      3. Fenster kippen -> "is open": true
      dslraserD 1 Antwort Letzte Antwort
      0
      • T TDCroPower

        @dslraser die Sensoren erkennen nur Offen/Zu, also keinen Zustand wie offen/gekippt.
        Das sind folgende Sensoren...
        https://www.amazon.de/Aqara-MCCGQ11LM-Window-Sensor-Fensterssensor/dp/B07D37VDM3

        In dem Beispiel oben habe ich immer folgendes getestet und ausgegeben...

        1. Fenster komplett geöffnet -> "is open": true
        2. Fenster schließen -> "is open": false
        3. Fenster kippen -> "is open": true
        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #14

        @tdcropower
        ich muß jetzt leider erstmal weg und kann im Moment nicht weiter lesen/schreiben.

        T 1 Antwort Letzte Antwort
        1
        • dslraserD dslraser

          @tdcropower
          ich muß jetzt leider erstmal weg und kann im Moment nicht weiter lesen/schreiben.

          T Offline
          T Offline
          TDCroPower
          schrieb am zuletzt editiert von
          #15

          @dslraser keine Eile ist ja mit dem Timeout erstmal unschön gefixt ;).
          Suche ja nur eine bessere Lösung das Problem abzufangen.

          1 Antwort Letzte Antwort
          0
          • T TDCroPower

            @dragon welche Datenpunkte sollen das sein? Verstehe deine Erklärung nicht so recht.

            @Cinimod den Wert von "is open" prüfe ich doch mit dem Trigger Objekt "Wert".
            Bei "true" gehts in den positiven "falls" Zweig und bei "false" ins "sonst".

            D Offline
            D Offline
            Dragon
            schrieb am zuletzt editiert von
            #16

            @tdcropower sagte in Fenster Öffnen/schließen steuert Heizung:

            @dragon welche Datenpunkte sollen das sein? Verstehe deine Erklärung nicht so recht.

            Hast du das Skript installiert?

            T 1 Antwort Letzte Antwort
            0
            • D Dragon

              @tdcropower sagte in Fenster Öffnen/schließen steuert Heizung:

              @dragon welche Datenpunkte sollen das sein? Verstehe deine Erklärung nicht so recht.

              Hast du das Skript installiert?

              T Offline
              T Offline
              TDCroPower
              schrieb am zuletzt editiert von
              #17

              @dragon welches Skript soll das sein?
              Ich verwende mein eigenes Skript in diesem Beispiel.

              D 1 Antwort Letzte Antwort
              0
              • T TDCroPower

                @dragon welches Skript soll das sein?
                Ich verwende mein eigenes Skript in diesem Beispiel.

                D Offline
                D Offline
                Dragon
                schrieb am zuletzt editiert von
                #18

                @tdcropower Gib oben im suchfeld einfach ein was ich dir als skript vorgeschlagen habe ("generischen Fenster offen Skripts") , dann findest du es. Man muss ja nicht alles in einem Skript verpacken, sondern kann auch Dinge mit mehreren Skripten erledigen. Ich habe so viele tolle und nützliche Skripte hier gefunden, welche ich alle niemals (auch da ich kein Java kann) alleine hätte erstellen können. Einige der Funktionen meines Systems zum Beispiel nutzen im Blockly eine Funktion die über ein JavaScript zur Verfügung gestellt wird. So kann ich diese tollen Skripte aus dem Forum, welche von den Erstellern liebevoll gepflegt und debugt werden nutzen ohne Java lernen zu müssen.

                T 1 Antwort Letzte Antwort
                0
                • D Dragon

                  @tdcropower Gib oben im suchfeld einfach ein was ich dir als skript vorgeschlagen habe ("generischen Fenster offen Skripts") , dann findest du es. Man muss ja nicht alles in einem Skript verpacken, sondern kann auch Dinge mit mehreren Skripten erledigen. Ich habe so viele tolle und nützliche Skripte hier gefunden, welche ich alle niemals (auch da ich kein Java kann) alleine hätte erstellen können. Einige der Funktionen meines Systems zum Beispiel nutzen im Blockly eine Funktion die über ein JavaScript zur Verfügung gestellt wird. So kann ich diese tollen Skripte aus dem Forum, welche von den Erstellern liebevoll gepflegt und debugt werden nutzen ohne Java lernen zu müssen.

                  T Offline
                  T Offline
                  TDCroPower
                  schrieb am zuletzt editiert von
                  #19

                  @dragon finde dazu nichts...
                  https://forum.iobroker.net/search?term=generischen Fenster offen Skripts&in=titlesposts

                  D 1 Antwort Letzte Antwort
                  0
                  • T TDCroPower

                    @dragon finde dazu nichts...
                    https://forum.iobroker.net/search?term=generischen Fenster offen Skripts&in=titlesposts

                    D Offline
                    D Offline
                    Dragon
                    schrieb am zuletzt editiert von
                    #20

                    @tdcropower

                    Link

                    Ist das erste was mir angezeigt wird bei den Suchbegriffen

                    T 1 Antwort Letzte Antwort
                    0
                    • D Dragon

                      @tdcropower

                      Link

                      Ist das erste was mir angezeigt wird bei den Suchbegriffen

                      T Offline
                      T Offline
                      TDCroPower
                      schrieb am zuletzt editiert von TDCroPower
                      #21

                      @dragon das Skript ist in meinem Beispiel wohl eher mit Raketen auf Spatzen schießen 😁

                      wobei hier eine Zeit von 10 Sekunden bei Fenstern verwendet wird...

                      const WindowIgnoreTime = 10000; // 10000 ms = 10 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                      

                      bei Türen ist es 1 Sekunde...

                      const DoorIgnoreTime = 1000; // 1000 ms = 1 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                      

                      Ist somit ja leider ähnlich gelöst wie in meinem Workaround.

                      D 1 Antwort Letzte Antwort
                      0
                      • T TDCroPower

                        @dragon das Skript ist in meinem Beispiel wohl eher mit Raketen auf Spatzen schießen 😁

                        wobei hier eine Zeit von 10 Sekunden bei Fenstern verwendet wird...

                        const WindowIgnoreTime = 10000; // 10000 ms = 10 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                        

                        bei Türen ist es 1 Sekunde...

                        const DoorIgnoreTime = 1000; // 1000 ms = 1 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                        

                        Ist somit ja leider ähnlich gelöst wie in meinem Workaround.

                        D Offline
                        D Offline
                        Dragon
                        schrieb am zuletzt editiert von
                        #22

                        @tdcropower Stimmt, aber zum einen Funktioniert es damit ohne Probleme und du hast einen Komfortgewinn. In der Vis die Möglichkeit alle Fenster und Türen zu kontrollieren, außerdem auch nutzbar über die Alarmanlage und eben die Entprellzeit... Es ist aber auch nicht das gleiche wie bei dir, da der Trigger erst nach der Entprellzeit ausgelöst wird. Heist das was du suchst wird bereits vor deinem Skript gemacht. Die Fehlgemeldeten Stati herausfiltern...

                        T 1 Antwort Letzte Antwort
                        0
                        • D Dragon

                          @tdcropower Stimmt, aber zum einen Funktioniert es damit ohne Probleme und du hast einen Komfortgewinn. In der Vis die Möglichkeit alle Fenster und Türen zu kontrollieren, außerdem auch nutzbar über die Alarmanlage und eben die Entprellzeit... Es ist aber auch nicht das gleiche wie bei dir, da der Trigger erst nach der Entprellzeit ausgelöst wird. Heist das was du suchst wird bereits vor deinem Skript gemacht. Die Fehlgemeldeten Stati herausfiltern...

                          T Offline
                          T Offline
                          TDCroPower
                          schrieb am zuletzt editiert von
                          #23

                          @dragon das ist identisch, wird nur von Blockly angezeigt.
                          Schaut man sich den JavaScript Code dahinter aus siehst du es besser, wo er die Timeout 2000 einträgt ;)

                          // Fenster/Tür Erkennung
                          // Bad
                          on({id: 'zigbee.0.00158d0001dff2ef.opened', change: "ne"}, async function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            console.error(('Is open: ' + String((obj.state ? obj.state.val : ""))));
                            console.error(('Power: ' + String(getState("tado.0.689827.Rooms.10.setting.power").val)));
                            (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                            timeout = setTimeout(async function () {
                              if ((obj.state ? obj.state.val : "")) {
                                if (getState("tado.0.689827.Rooms.10.setting.power").val == 'ON') {
                                  BadHKTTemp = getState("tado.0.689827.Rooms.10.setting.temperature.celsius").val;
                                  setState("tado.0.689827.Rooms.10.setting.power"/*Power*/, 'off');
                                }
                              } else {
                                setState("tado.0.689827.Rooms.10.setting.temperature.celsius"/*Temperature Celsius*/, BadHKTTemp);
                              }
                            }, 2000);
                          });
                          
                          D 1 Antwort Letzte Antwort
                          0
                          • T TDCroPower

                            @dragon das ist identisch, wird nur von Blockly angezeigt.
                            Schaut man sich den JavaScript Code dahinter aus siehst du es besser, wo er die Timeout 2000 einträgt ;)

                            // Fenster/Tür Erkennung
                            // Bad
                            on({id: 'zigbee.0.00158d0001dff2ef.opened', change: "ne"}, async function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              console.error(('Is open: ' + String((obj.state ? obj.state.val : ""))));
                              console.error(('Power: ' + String(getState("tado.0.689827.Rooms.10.setting.power").val)));
                              (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                              timeout = setTimeout(async function () {
                                if ((obj.state ? obj.state.val : "")) {
                                  if (getState("tado.0.689827.Rooms.10.setting.power").val == 'ON') {
                                    BadHKTTemp = getState("tado.0.689827.Rooms.10.setting.temperature.celsius").val;
                                    setState("tado.0.689827.Rooms.10.setting.power"/*Power*/, 'off');
                                  }
                                } else {
                                  setState("tado.0.689827.Rooms.10.setting.temperature.celsius"/*Temperature Celsius*/, BadHKTTemp);
                                }
                              }, 2000);
                            });
                            
                            D Offline
                            D Offline
                            Dragon
                            schrieb am zuletzt editiert von
                            #24

                            @tdcropower Ich will dir nichts aufzwängen. Habe dir lediglich mitgeteilt wie die Schaltung bei mir funktioniert. (gleiches Anliegen wie bei dir und läuft seit über einem Jahr ohne Probleme) Wenn du nicht möchtest ist das Ok. Dann weiterhin viel Erfolg bei der Lösungssuche.

                            T 1 Antwort Letzte Antwort
                            1
                            • D Dragon

                              @tdcropower Ich will dir nichts aufzwängen. Habe dir lediglich mitgeteilt wie die Schaltung bei mir funktioniert. (gleiches Anliegen wie bei dir und läuft seit über einem Jahr ohne Probleme) Wenn du nicht möchtest ist das Ok. Dann weiterhin viel Erfolg bei der Lösungssuche.

                              T Offline
                              T Offline
                              TDCroPower
                              schrieb am zuletzt editiert von
                              #25

                              @dragon kein Problem, ich bin sehr dankbar für den Tipp kann mir da drüben ebenfalls anschauen wie sie einige Sachen vielleicht gelöst haben.
                              Das gesamte Skript zu nutzen fällt bei mir halt raus, da ich in einem Skript alles für die Heizung verwalte und da ist zum Beispiel bei mir die Tado Temperatur Anpassung per Offset mit drin.
                              Das kann das Skript zum Beispiel nicht ;)

                              Aber zum Problem würde ich gerne verschieden Lösungsmöglichkeiten oder Ideen einholen, wie andere das lösen würden.

                              1 Antwort Letzte Antwort
                              0

                              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                              Registrieren Anmelden
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              589

                              Online

                              32.8k

                              Benutzer

                              82.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