Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Fenster Öffnen/schließen steuert Heizung

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Fenster Öffnen/schließen steuert Heizung

    This topic has been deleted. Only users with topic management privileges can see it.
    • Cinimod
      Cinimod Most Active @TDCroPower last edited by

      @tdcropower

      ja das ist schon klar, sollte der trigger tatsächlich aber nur einmal auslösen, solltest du nicht den schon beim triggern gelesenen Wert benutzen, lieber dann nach dem timeout noch mal "wert von ID" neu abfragen. sonst kannst auch den timeout weg lassen. 😉

      1 Reply Last reply Reply Quote 0
      • T
        TDCroPower @dslraser last edited by TDCroPower

        @dslraser der Sensor ist ein Aqara ZigBee Tür/Fenstersensor, der Datenpunkt ist ein boolean mit folgenden RAW Daten...

        {
          "type": "state",
          "common": {
            "name": "Is open",
            "type": "boolean",
            "read": true,
            "write": false,
            "role": "state"
          },
          "native": {},
          "from": "system.adapter.zigbee.0",
          "user": "system.user.admin",
          "ts": 1622678872085,
          "_id": "zigbee.0.00158d0001dff2ef.opened",
          "acl": {
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator",
            "object": 1636,
            "state": 1636
          }
        }
        

        Der Datenpunkt erkennt alle Änderungen und triggert hier jeweils ein true/false.
        Also geschiet zwischen offen zu gekippt ein...
        offen = true
        offen -> zu = false
        zu -> gekippt = true

        dslraser 1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @TDCroPower last edited by

          @tdcropower
          mach einen debug Baustein mit Wert und schau was passiert.

          geschlossen dann offen
          offen dann gekippt

          wird da dann immer getriggert ? (als auch von offen und dann gekippt)

          T 1 Reply Last reply Reply Quote 0
          • T
            TDCroPower @dslraser last edited by TDCroPower

            @dslraser ja werden beide wechsel getriggert...

            javascript.0
            2021-10-27 10:44:56.974 error script.js.common.Heizung: true

            javascript.0
            2021-10-27 10:44:56.973 error script.js.common.Heizung: TEST TRIGGER

            javascript.0
            2021-10-27 10:44:55.897 error script.js.common.Heizung: false

            javascript.0
            2021-10-27 10:44:55.896 error script.js.common.Heizung: TEST TRIGGER

            hier war es sogar länger als 1 Sekunde und somit hat der Timeout von 1 Sekunden nicht gegriffen.

            dslraser 1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @TDCroPower last edited by

              @tdcropower
              Ich kann Dir jetzt nicht ganz folgen. Ich sehe nur einen wechsel von false nach true. Wie sieht Dein Blockly jetzt aus ?

              T 1 Reply Last reply Reply Quote 0
              • T
                TDCroPower @dslraser last edited by 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

                dslraser 1 Reply Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active @TDCroPower last edited by

                  @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 Reply Last reply Reply Quote 1
                  • T
                    TDCroPower @dslraser last edited by

                    @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
                    dslraser 1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @TDCroPower last edited by

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

                      T 1 Reply Last reply Reply Quote 1
                      • T
                        TDCroPower @dslraser last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • D
                          Dragon @TDCroPower last edited by

                          @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 Reply Last reply Reply Quote 0
                          • T
                            TDCroPower @Dragon last edited by

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

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              Dragon @TDCroPower last edited by

                              @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 Reply Last reply Reply Quote 0
                              • T
                                TDCroPower @Dragon last edited by

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

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Dragon @TDCroPower last edited by

                                  @tdcropower

                                  Link

                                  Ist das erste was mir angezeigt wird bei den Suchbegriffen

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    TDCroPower @Dragon last edited by 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 1 Reply Last reply Reply Quote 0
                                    • D
                                      Dragon @TDCroPower last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • T
                                        TDCroPower @Dragon last edited by

                                        @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 Reply Last reply Reply Quote 0
                                        • D
                                          Dragon @TDCroPower last edited by

                                          @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 Reply Last reply Reply Quote 1
                                          • T
                                            TDCroPower @Dragon last edited by

                                            @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 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            712
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            25
                                            1187
                                            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