Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Xiaomi Fensterkontakt und Comet Dect

    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

    Xiaomi Fensterkontakt und Comet Dect

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

      Hallo ins Forum!

      Ich möchte meine Heizkörper zukünftig mittels Eurotronic Comet Dect Thermostate steuern. Dabei sollen Xiaomi Fensterkontaktschalter das jeweilige Thermostat schließen, sobald das Fenster geöffnet wurde.

      Das ist das erste Mal, dass ich mich mit einem raspberry pi und / oder iobroker versuche. Bisher habe ich darin keine Erfahrung und bin auf der Suche nach Hilfe.

      Beschreibung des aktuellen Zustandes:

      • an acht Heizungen sind Comet Dect Thermostate montiert.

      • Alle Thermostate werden über die Fritzbox gesteuert (Komfort- und Spartemperatur)

      • iobroker läuft auf einem raspberry pi 4

      • Eine Xiaomi Gateway läuft und wird mir ink. aller Fensterkontaktschalter im mihome Adapter angezeigt

      Aktuell bin ich am tüfteln, wie ein Skript (Blocky) aufgebaut sein muss, damit die Fensterkontakte das Thermostat auf oder zu machen.
      Hier ein Screenshot des Skriptes:
      Unbenannt.PNG
      Hier ein Screenshot aus der Objektübersicht:
      Unbenannt1.PNG

      Problem / Frage:

      • Der Fensterkontakt schaltet das Thermostat, allerdings nur, wenn ich am Thermostat auf "OK" klicke. Dann wird das Thermostatdisplay angeschaltet und das Thermostat fährt auf / zu.
      • Öffnet / schließt der Fensterkontaktschalter ohne, dass das Thermostat aus dem Standby geweckt wird bzw. ohne, dass ich auf "OK" drücke, passiert augenscheinlich nichts. Das Thermostat fährt nicht. Zumindest nicht innerhalb von 30 Sekunden. Länger habe ich nicht getestet.

      Was muss ich machen, damit das Thermostat möglichst zeitnah den Befehl vom Fensterkontaktschalter verarbeitet?

      Im iobroker unter Objekte erfolgen die Wertänderungen bei der Targettemp. direkt, ohne Verzögerung.

      vorab schon mal vielen Dank
      Gruß
      Tobias

      B Chaot 2 Replies Last reply Reply Quote 0
      • B
        Badwater @_tobias_ last edited by

        @_tobias_
        Das habe ich hier irgendwo schon mal gelesen. Du musst den "mode" Datenpunkt für dein Vorhaben nutzen. Ein generelles Problem mit der Reaktionszeit bleibt eventuell bestehen, was auch in der Bedienungsanleitung steht: ...es kann bis zu 15 Minuten dauern, bis die Box das Kommando überträgt.

        1 Reply Last reply Reply Quote 0
        • Chaot
          Chaot @_tobias_ last edited by Chaot

          @_tobias_ Das wird so nicht funktionieren.
          Die Thermostate bekommen nur alle ca. 30 Minuten ihre Werte. Wenn am Thermostat eine Taste gedrückt wird kommt die Kommunikation sofort zustande.
          Einen Fenstersensor "sofort" zu setzen funktioniert mit den DECT nicht automatisch. Bei den Comet DECT kommt noch dazu das die (eigentlich verbaute) Fenstererkennung auch nicht sauber funktioniert.

          Zum direkten Regeln der Thermostate verwende ich den Punkt "mode". Damit steuer ich beispielsweise ein Aufheizen im Badezimmer für 60 Minuten. Aber wie gesagt, für Fensterkontakte reicht die Zeit nicht. Außer das Fenster bleibt offen stehen.

          Edit:
          Den Abfragezyklus kannst du auch nicht per Remote beeinflussen, da der vom Thermostat vorgegeben wird.

          1 Reply Last reply Reply Quote 0
          • _
            _tobias_ last edited by _tobias_

            Hallo @Badwater und @Chaot und danke für eure Antworten.

            Dass es bis zu 15 Minuten dauern kann, hatte ich auch gelesen. Allerdings konnte ich auch in einigen Foren lesen, dass die Comet Dect in der Regel deutlich schneller reagieren.
            Scheinbar ist es bei mir leider nicht der Fall.

            Nach deiner Beschreibung @Chaot fällt mir auf, dass in einem Videotutorial, welches mich zum Kauf der Comets und Xiaomis motiviert hat, bei jedem Schaltvorgang die OK-Taste gedrückt wird. Schade.
            Eigentlich habe ich ja aber eine Installation angestrebt, die fehlersicherer ist. Also dass die Heizung nicht läuft, auch wenn man sie beim Lüften vergisst zu runter zu drehen. Meine Frau vergisst das i.d.R.... Und ja - auch ohne Kenntnisse über iobroker, raspberry etc. erschien es mir erfolgsversprechender die Tüftelarbeit aufzunehmen, wie meine Frau dazu zu bewegen, an die Heizung zu denken 🙂

            In einigen Räumen funktioniert die "Fenster offen Erkennung". Wenn ich diese Zeit plus z.B. 5 Minuten als Puffer in der Fritzbox als Fenster offen Zeitraum definiere, helfen mir die Kontaktschalter vielleicht dennoch. Falls ein Fenster nicht geschlossen wird, greift zu erst die Fenster offen Erkennung und danach die Verschaltung mit dem Kontaktschalter.

            Wie meint ihr das, ich solle den Punkt "mode" verwenden?
            So war es vermutlich nicht gemeint? Zumindest funktioniert es nicht^^
            Unbenannt2.PNG

            Grüße

            Chaot L 2 Replies Last reply Reply Quote 0
            • Chaot
              Chaot @_tobias_ last edited by

              @_tobias_ Das klappt nicht weil dei Trigger falsch ist.
              Aber mehr kenne ich mich in Blockly leider nicht aus.
              Du musst auf jeden Fall oben im Ojekt die ID des Schalter stehen haben wenn ich mich richtig erinnere.
              Also der thermostat hat dort nichts verloren.

              _ 1 Reply Last reply Reply Quote 0
              • _
                _tobias_ @Chaot last edited by

                @Chaot ok, danke
                Vielleicht kann ich mit deinem Hinweis ja weitere Hilfe finden 👍 😊

                1 Reply Last reply Reply Quote 0
                • _
                  _tobias_ last edited by _tobias_

                  Wirklich weiter gekommen bin ich noch nicht.

                  Ich habe für alle Räume ein Skript erstellt, wie im Eingangspost dargestellt. Also:
                  Unbenannt.PNG

                  Mittlerweile habe ich folgendes Problem erkannt:
                  Über meine Fritzbox habe ich raumspezifische Spar- und Komforttemperaturen konfiguriert.
                  In einem Raum wird z.B. nur nachts geheizt und tagsüber ist entsprechend eine Spartemperatur hinterlegt.
                  Wird in diesem Raum außerhalb der Heizphase das Fenster geöffnet und wieder geschlossen, löst das Schließen des Fensters einen Impuls über iobroker aus (Wert vom Objekt ID "Is opended" (Status false oder true des Fensterkontaktschalters), der das Thermostatventil über die Target Temp wieder aufsteuert.

                  Das Skript zur Überwachung der Fensterkontaktschalter überlagert also die konfigurierten Heizphasen in der Fritzbox.

                  Wie kann ich das Problem lösen?
                  Mir fallen zwei Ansätze ein.

                  1. Mein Skript spricht nicht die Target Temp des Thermostates an, sondern den operation mode des Thermostates (0=auto, 1=zu, 2=offen). Mit dem Skript, dass in Post 4 im Screen zu sehen ist, hatte ich das versucht. Allerdings hatte das aus mir unbekannten Gründen nicht funktioniert. Ziel war es die Zeitsteuerung der Heizphasen in der Fritzbox zu lassen und nur als Ergänzung die Fensterkontaktschalter oben drauf wirken zu lassen.

                  2. In den iobroker Skripten wird die Zeitsteuerung realisiert und in der Fritzbox steht permanent eine Spartemperatur drin, damit die Befehle von iobroker immer führend sind.
                    Ich finde aber ehrlich gesagt in Blockly nicht die Möglichkeiten, wie das Skript aussehen muss.
                    Wie macht man so etwas in Blockly?

                  z.B. sollte im Bad morgens von 5:30 - 9:00 Uhr und von 17:00 - 22 Uhr geheizt werden. Wann immer das Fenster geöffnet wird, soll nicht geheizt werden.

                  Chaot 1 Reply Last reply Reply Quote 0
                  • Chaot
                    Chaot @_tobias_ last edited by Chaot

                    @_tobias_ Ich nutze für die Fenstererkennung UND für die Boost Funktion die direkte Ansteuerung des Mode (einzelne Scripte).
                    In der Fritzbox habe ich die Zeitsteuerung deaktiviert (alles auf Tag oder Absenkung) und so wird nur aus dem ioBroker geregelt.

                    Ach so: Heizungssteuerung mache ich über den "heatingcontrol" Adapter.

                    1 Reply Last reply Reply Quote 0
                    • V
                      vikk88 last edited by

                      Ich habe zwar nicht die Fritz Thermostate sondern die Max aber ich habe dies auf dem Manual Modus laufen und habe meine Zeitpläne über Blockly konfiguriert. So zum Beispiel.
                      1987a48a-347c-4450-bd8e-039081bb1333-image.png

                      Die Xiaomi Fensterkontakte habe ich auch. Diese steuere ich so.
                      98ee017d-6e87-4bc1-83be-b5259ed2454e-image.png

                      Hier merkt er sich den zuvor eingestellten Wert, schaltet das Thermostat bei geöffnetem Fenster ab und stellt den zuvor gespeicherten Wert beim Schließen wieder ein.

                      1 Reply Last reply Reply Quote 0
                      • L
                        Leviathan09 @_tobias_ last edited by

                        @_tobias_ said in Xiaomi Fensterkontakt und Comet Dect:

                        Dass es bis zu 15 Minuten dauern kann, hatte ich auch gelesen. Allerdings konnte ich auch in einigen Foren lesen, dass die Comet Dect in der Regel deutlich schneller reagieren.
                        Scheinbar ist es bei mir leider nicht der Fall.

                        Da muss ich dich enttäuschen, die 15 min sind es bei den Fritz sowie auch bei den Comet DECT.
                        Woher dieser Irrglaube kommt das die Comet schneller sind weiß ich nicht.
                        Ich habe beide Varianten im Einsatz und kann es definitiv nicht bestätigen.

                        1 Reply Last reply Reply Quote 0
                        • _
                          _tobias_ last edited by

                          Wow!
                          Danke, dass ihr so schnell geantwortet habt.

                          Ich möchte eure Ansätze möglichst schnell umsetzen und werde danach nochmals eine Rückmeldung geben. Vorher habe ich aber noch eine Frage was mögliche Handeingriffe in die Steuerung direkt an den Thermostaten betrifft.

                          In der Beschreibung der Comet Dect Thermostate wird beschrieben, dass ein Handeingriff immer möglich ist. Wird in einem Zeitraum von z.B. 06:00 - 18:00 Uhr über die Fritzbox auf 22°C geheizt und jemand dreht am Thermostat um 09:00 Uhr auf 23°C hoch bleiben die 23°C der neue Sollwert bis der nächste programmierte Schaltpunkt um 18:00 Uhr eintritt. Am nächsten Tag wiederholt sich das Programm wieder mit 22°C.
                          Das funktioniert aktuell genau so und so ist es auch gut. Ich gebe den Sollwert in der Fritzbox vor, meine Frau kann wenn alleine zu Hause immer die Heizung "langfristig" also für den restlichen Tag verstellen.

                          Wie verhält sich das bei Euren Steuerungen @Chaot @vikk88 ? Was passiert wenn um 09:00 Uhr manuell der Thermostat aufgedreht wird - um 09:15 Uhr synchronisiert sich die Fritzbox das nächste mal mit dem Thermostat... Wird der Sollwert dann durch die Fritzbox wieder nach unten korrigiert?

                          @Chaot said in Xiaomi Fensterkontakt und Comet Dect:

                          @_tobias_ Ich nutze für die Fenstererkennung UND für die Boost Funktion die direkte Ansteuerung des Mode (einzelne Scripte).
                          In der Fritzbox habe ich die Zeitsteuerung deaktiviert (alles auf Tag oder Absenkung) und so wird nur aus dem ioBroker geregelt.

                          Ach so: Heizungssteuerung mache ich über den "heatingcontrol" Adapter.

                          Danke. Du hattest mir schonmal vorgeschlagen den mode zu nutzen und erklärt, dass das Thermostat im Blockly Skript nichts verloren hat. Ich finde aber nicht, wie das Skript anders aufgebaut werden kann. Könntest Du bitte dein Skript hier zur Orientierung posten oder mir per Nachricht schicken? Ich weiß, dass du kein Blockly verwendest, aber vielleicht kann ich ja trotzdem etwas damit lernen.

                          Chaot V 2 Replies Last reply Reply Quote 0
                          • Chaot
                            Chaot @_tobias_ last edited by

                            @_tobias_
                            Ich denke ich habe das sogar noch als altes Blockly vorliegen:

                            <xml xmlns="http://www.w3.org/1999/xhtml">
                             <block type="on_ext" id="tH#8-m!Aak7CQDV+oC#2" x="38" y="-62">
                               <mutation items="1"></mutation>
                               <field name="CONDITION">ne</field>
                               <field name="ACK_CONDITION"></field>
                               <value name="OID0">
                                 <shadow type="field_oid" id="MF7`V(Xc1CabpH+0IKkL">
                                   <field name="oid">default</field>
                                 </shadow>
                                 <block type="field_oid" id="F6YzML/W6*mr/iaMI:gY">
                                   <field name="oid">sonoff.0.Umweltsensor.POWER</field>
                                 </block>
                               </value>
                               <statement name="STATEMENT">
                                 <block type="controls_if" id="WRy:k{Xr:WZP*X]zX{XL">
                                   <mutation else="1"></mutation>
                                   <value name="IF0">
                                     <block type="on_source" id="Go#26M!ncR5F;Ik?!*J.">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="control" id=":OIpE8[f9[?54j9Nlo:f">
                                       <mutation delay_input="true"></mutation>
                                       <field name="OID">fritzdect.0.Hgroup_2E:B9:36-900.mode</field>
                                       <field name="WITH_DELAY">TRUE</field>
                                       <field name="DELAY_MS">3000</field>
                                       <field name="UNIT">ms</field>
                                       <field name="CLEAR_RUNNING">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text" id="%_^nILm]I8V;0_QKjPA2">
                                           <field name="TEXT">1</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="pushover" id="qz+oL{jIhdM9wQ=D2VW8">
                                           <field name="INSTANCE"></field>
                                           <field name="SOUND"></field>
                                           <field name="PRIORITY">0</field>
                                           <field name="LOG"></field>
                                           <value name="MESSAGE">
                                             <shadow type="text" id="g/(JPAFOnPaOOB=OGFyg">
                                               <field name="TEXT">Wohnzimmerfenster offen</field>
                                             </shadow>
                                             <block type="text" id="H=4VHfu7r=[%08;a:uhs">
                                               <field name="TEXT">Wohnzimmerfenster offen</field>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                   <statement name="ELSE">
                                     <block type="control" id="(?o_w^3M19wLH|A1jsGp">
                                       <mutation delay_input="false"></mutation>
                                       <field name="OID">fritzdect.0.Hgroup_2E:B9:36-900.mode</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text" id="W_yP;kv?|vO[.4=!05RC">
                                           <field name="TEXT">0</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="pushover" id="prP;2]uK-`!@+F/(wzIa">
                                           <field name="INSTANCE"></field>
                                           <field name="SOUND"></field>
                                           <field name="PRIORITY">0</field>
                                           <field name="LOG"></field>
                                           <value name="MESSAGE">
                                             <shadow type="text" id="*.1tG)vjZh#*LMpKoIF[">
                                               <field name="TEXT">Wohnzimmerfenster zu</field>
                                             </shadow>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                             </block>
                            </xml>
                            
                            

                            _ 1 Reply Last reply Reply Quote 0
                            • V
                              vikk88 @_tobias_ last edited by

                              @_tobias_ said in Xiaomi Fensterkontakt und Comet Dect:

                              Wie verhält sich das bei Euren Steuerungen @Chaot @vikk88 ? Was passiert wenn um 09:00 Uhr manuell der Thermostat aufgedreht wird - um 09:15 Uhr synchronisiert sich die Fritzbox das nächste mal mit dem Thermostat... Wird der Sollwert dann durch die Fritzbox wieder nach unten korrigiert?

                              Also bei meiner Steuerung ist es so, dass nur dann geschaltet wird wie es auch im Skript steht. Wenn das Thermostat sich um 6 Uhr auf 20 Grad stellt und ich stelle es eine Minute später manuell auf 16 Grad bleibt es bis zu nächsten Schaltzeit auf dem Wert.

                              1 Reply Last reply Reply Quote 0
                              • _
                                _tobias_ last edited by

                                @vikk88 said in Xiaomi Fensterkontakt und Comet Dect:

                                @_tobias_ said in Xiaomi Fensterkontakt und Comet Dect:

                                Wie verhält sich das bei Euren Steuerungen @Chaot @vikk88 ? Was passiert wenn um 09:00 Uhr manuell der Thermostat aufgedreht wird - um 09:15 Uhr synchronisiert sich die Fritzbox das nächste mal mit dem Thermostat... Wird der Sollwert dann durch die Fritzbox wieder nach unten korrigiert?

                                Also bei meiner Steuerung ist es so, dass nur dann geschaltet wird wie es auch im Skript steht. Wenn das Thermostat sich um 6 Uhr auf 20 Grad stellt und ich stelle es eine Minute später manuell auf 16 Grad bleibt es bis zu nächsten Schaltzeit auf dem Wert.

                                Ok, beruhigend, danke 🙂

                                @vikk88 said in Xiaomi Fensterkontakt und Comet Dect:

                                Ich habe zwar nicht die Fritz Thermostate sondern die Max aber ich habe dies auf dem Manual Modus laufen und habe meine Zeitpläne über Blockly konfiguriert. So zum Beispiel.
                                1987a48a-347c-4450-bd8e-039081bb1333-image.png

                                Die Xiaomi Fensterkontakte habe ich auch. Diese steuere ich so.
                                98ee017d-6e87-4bc1-83be-b5259ed2454e-image.png

                                Hier merkt er sich den zuvor eingestellten Wert, schaltet das Thermostat bei geöffnetem Fenster ab und stellt den zuvor gespeicherten Wert beim Schließen wieder ein.

                                Noch eine Anfängerfrage... Beide von dir gezeigten Skripte beziehen sich ja (u.a.) auf die Heizung im Bad. Schreibt man sowas als zwei separate Skripte oder hast du ein Skript angelegt und darin einmal den Zeitplan und einmal den Falls Objekt Trigger für die Fensterkontakte eingefügt?

                                V 1 Reply Last reply Reply Quote 0
                                • _
                                  _tobias_ @Chaot last edited by

                                  @Chaot Danke! Erstmal verstehe ich nur Bahnhof^^ Aber ich muss mich auch erstmal damit beschäftigen.

                                  1 Reply Last reply Reply Quote 0
                                  • V
                                    vikk88 @_tobias_ last edited by

                                    @_tobias_ Ich habe zwei Skripte gemacht man kann aber auch beides in einem unterbringen. Was davon jetzt besser oder schlechter ist weiß ich auch nicht😅 .
                                    Wenn du willst kann ich das Blockly hochladen wenn es dir hilft.

                                    _ 1 Reply Last reply Reply Quote 0
                                    • _
                                      _tobias_ @vikk88 last edited by

                                      @vikk88
                                      Erst mal nicht, vielen Dank. Deine Screenshots helfen schon genug und ich lerne Blockly vermutlich schneller, wenn ich die Skripte selbst schreibe und bloß kopiere.
                                      Sehe ich es eigentlich richtig, dass du von 5 - 7 auf 20°C heizt, von 7 - 12 senkst du auf 16°C ab und ab 12 Uhr heizt du erneut - bis wann? Bis 5 Uhr morgens des Folgetages? Vermutlich hast du das nur so programmiert, weil im Laufe der Nacht sowieso die Heizung abschaltet oder möchtest du wirklich die ganze Nacht das Bad geheizt haben? 🙂
                                      Im Zimmer von unserem Kleinen soll auch nachts leicht geheizt werden. Deshalb habe ich die Nachtabsenkung an der Heizung deaktiviert. Daher "kopiere" ich dein Skript mit einem Zeitplan mehr, der abends die Temperatur wieder absenkt.

                                      V 1 Reply Last reply Reply Quote 0
                                      • V
                                        vikk88 @_tobias_ last edited by

                                        @_tobias_
                                        Ne ich senke um 21 Uhr nochmal auf 16 Grad ab. Hat nur nicht mehr auf den Screenshot gepasst 😅

                                        _ 1 Reply Last reply Reply Quote 0
                                        • _
                                          _tobias_ @vikk88 last edited by

                                          @vikk88 ^^ Alles klar 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • _
                                            _tobias_ last edited by

                                            Ich glaube, dass es jetzt so funktioniert wie ich möchte.
                                            Ihr seid super, vielen Dank.

                                            Zu erst hatte ich versucht die Steuerung für die Fensterkontakte von @vikk88 auf meine Comet Dects zu übertragen. Als Objekt ID habe ich den "lasttarget" verwendet, unter der Annahme, dass der sich durch das Öffnen des Fensters von 22 auf 1 reduziert. Das tut er allerdings nicht, der Lasttarget bleibt bei 22, der mode springt auf 1 = closed.
                                            Jetzt weiß ich auch, was du meintest @chaot, als du gesagt hast, ich muss den mode nutzen.

                                            Nach ein wenig hin und her sieht ein Skript jetzt so aus und scheinbar funktioniert ist:
                                            Unbenannt.PNG

                                            So muss ich noch nicht mal die Zeitsteuerung von der Fritzbox entkoppeln und in iobroker erstellen. Das hätte den Vorteil, dass das kleine lcd Diplay an den Cometen weiter anzeigt von wann bis wann der Heizzyklus programmiert ist.

                                            Im Skript bekomme ich eine Fehlermeldung/Hinweis "javascript.0 script.js.Heizung_Gäste_WC_Test_1: Cannot parse "fritzdect.1.Comet_119630432256"SyntaxError: Unexpected token r in JSON at position 1" und das Skript läuft zwar, aber der grüne Pausebutton ist gelb dargestellt. Ich weiß nicht was das bedeutet, aber scheinbar funktioniert trotzdem alles.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            420
                                            Online

                                            31.9k
                                            Users

                                            80.3k
                                            Topics

                                            1.3m
                                            Posts

                                            comet dect xiaomi türkontakt
                                            5
                                            33
                                            2986
                                            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