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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • 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.
    • Chaot
      Chaot @_tobias_ last edited by

      @_tobias_
      Hast du mal geschaut ob der Datenpunkt geschrieben wird?
      Ich denke mal das da gar nichts geschrieben wird.

      Wenn du Scripte häufig startest und stoppst kann es passieren das ein Script einfach mal weiterläuft. Das habe ich auch schon erlebt. Bei mir habe ich mir angewöhnt nach mehrfachen Scriptstarts auch mal zwischendurch den IoBroker neu zu starten.

      Scripte sichern?

      Ich persönlich mache zwar regelmäßig ein Backup in Proxmox, aber für Scripte habe ich mir angewöhnt die zu exportieren und als Textdatei in einem eigenem Ordner auf dem PC zu lagern.
      Einerseits kann ich die dann auch schnell mal editieren (Notepad++) ohne über den internen Editor zu gehen und andererseits sind die dann auch wirklich sauber gesichert unabhängig davon was mit dem ioBroker passiert.

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

        @Chaot Also der Wert von Mode wechselt beim Schließen des Fensters von on 0 auf 1 und beim Öffnen von 1 auf 0, falls du das mit Datenpunkt geschrieben meinst?

        Zum Zeitpunkt des Screenshots ist das Fenster geöffnet.
        Wenn am Fenster nicht rumgespielt wird und es geschlossen bleibt dann steht permanent eine 0 als Wert drin. Unabhängig davon, ob über die Fritzbox das Thermostatventil aktuell angesteuert wird oder nicht.

        Wenn ich bei geschlossenem Thermostatventil, außerhalb der programmierten Heizzeit das Fenster schließe, wechselt der Wert von 1 auf 0 aber das Thermostat öffnet trotzdem.

        Unbenannt13221.PNG

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

          @_tobias_ Wenn der Wert im Thermostat auf 0 wechselt ist er dann doch im Automatikmodus. Das er dann öffnet ist doch normal.

          Nur zum Verständnis:
          Du kannst an den DECT Thermostaten keine manuelle Regelung einrichten. Wenn du den Thermostat auf irgendeinen Modus schaltest wird das bei der nächsten Kommunikation mit der Fritzbox wieder aufgehoben.
          Ebenso dauert die Übertragung zum Thermostat bis zu 30 Minuten.
          Deshalb ist eine Fenstererkennung mit den DECT Thermostaten eigentlich Blödsinn. Aber das habe ich ja schon mal geschrieben.

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

            @Chaot nochmals danke für die ganze Zeit die du damit verwendest mir zu helfen. Aber ich glaube auch, dass wir etwas an einander vorbei geredet haben. Das liegt vermutlich an meiner laienhaften Fehlerbeschreibung.
            Ich versuche es mit einem Beispiel:

            Ja der Thermostat wechselt auf 0 und ist damit im Automatikmodus.
            In der Fritzbox steht z.B. von 08:00 - 18:00 Uhr auf heizen.
            Dann macht doch der Automatikmodus nichts anderes als von 08:00 - 18:00 Uhr zu heizen. Von 18:00 Uhr - 08:00 Uhr heizt er dementsprechend nicht. Im Automatikmodus steht immer eine 0, der Automatikmodus ist 24h aktiv.

            • Öffne ich das Fenster von 12:00 - 14:00 Uhr, schließt und öffnet der Fensterkontakt das Thermostatventil unter Berücksichtigung der Verzögerung die sich bei Fritz + Dect Thermostaten ergibt.

            So weit so gut.

            • Öffne ich das Fenster von 17:00 Uhr - 19:00 Uhr schließt und öffnet der Fensterkontakt das Thermostatventil genauso. Das Schließen des Fensterkontaktes um 19:00 Uhr (also außerhalb der Heizphase laut Automatikmodus) bewirkt also ein öffnen des Thermostates, obwohl die laut Automatik programmierte Heizphase vorbei ist.
              Die Heizung heizt die ganze Nacht durch, da kein programmierter Schaltwechsel aus dem Automatikmodus heraus das Thermostat nochmal zu fährt.

            Das ist das Problem, welche ich beheben möchte.

            Aktuell bearbeite ich folgenden Ansatz.
            Ich teste erneut mit den Targettemps, da der Ansatz mit den modes scheinbar nicht gegen ein Betätigen der Fensterkontakte außerhalb der Heizphasen schützt:

            Unbenanntasdfasdf.PNG

            Das hat eben testweise funktioniert.
            Ich möchte das mit der zeitlichen Verknüpfung entsprechend der jeweiligen Heizphase im Raum optimieren. Aber dann sollte es klappen.

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

              @vikk88 die rot eingekringelten Elemente sind in Blockly eingefügte, selbst erstellte Variablen oder?
              Falls ja, wie schafft man es, dass das in der Steuerung auch funktioniert? Hast du Datenpunkte erstellte, die genauso heißen und bei gleicher Schreibweise findet das Skript den Datenpunkt oder kommt man über den Baustein irgendwie in ein Menü, in dem man den Datenpunkt auswählt ähnlich wie bei der Auswahl einer Objekt ID?

              Falls außer vikk88 noch jemand eine Lösung kennt, gerne her mit den Infos ^^

              1577911295477-98ee017d-6e87-4bc1-83be-b5259ed2454e-image.png

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

                @_tobias_
                wenn du eine Variable erstellst bekommst du pro Variable folgende Bausteine

                6ce7855a-89e9-407a-86e1-3385d5652d78-image.png

                In meinem Skript wird die Variable durch den Wert des Thermostates gesetzt und überall wo dieser jetzt gesetzt wird, wird jetzt der Wert vom Thermostat welcher zu dem Zeitpunkt eingestellt wird

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

                  @vikk88 ok, das dachte ich mir danke für deine Erklärung.
                  Ich habe es bei mir eigentlich genauso versucht. Einmal habe ich die Variable wie die Objekt ID "last target" des Thermostates genannt, einmal habe ich sie so benannt, wie ein im Thermostat angelegter Datenpunkt.
                  Beides hat nicht funktioniert.

                  Darf ich vielleicht doch noch darauf zurück kommen, dass du mir dein Blockly mal zudendest?

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

                    @_tobias_ klar

                    <xml xmlns="http://www.w3.org/1999/xhtml">
                     <variables>
                       <variable type="" id="jfC$kqcXkRd,FFJ0*FJ.">Temp Bad</variable>
                     </variables>
                     <block type="on_ext" id="~3k!L_d`(5-E^MZHDCxZ" x="-562" y="-337">
                       <mutation items="1"></mutation>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="cNEDC5Cz4ZVd=x.#X|X1">
                           <field name="oid">zigbee.0.00158d000316d4e3.opened</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="l7HPc)jk*~Cc++sJ@Kl^">
                           <mutation else="1"></mutation>
                           <value name="IF0">
                             <block type="logic_compare" id="7+PdoYor[qX:xQcRTl*`">
                               <field name="OP">EQ</field>
                               <value name="A">
                                 <block type="get_value" id="Dp%TW(mWuR{y3ubI9%RJ">
                                   <field name="ATTR">val</field>
                                   <field name="OID">zigbee.0.00158d000316d4e3.opened</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_boolean" id="*SABbtV9vL0`iolw/#fZ">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="variables_set" id="9I7Ahs`D_Z[Jn2X65?3Q">
                               <field name="VAR" id="jfC$kqcXkRd,FFJ0*FJ." variabletype="">Temp Bad</field>
                               <value name="VALUE">
                                 <block type="get_value" id="ZxuNL=vwaJl=Tbu+6=_A">
                                   <field name="ATTR">val</field>
                                   <field name="OID">maxcul.0.OEQ2041697.desiredTemperature</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="control" id=".JS7~.CbA,/13;)YxVO;">
                                   <mutation delay_input="true"></mutation>
                                   <field name="OID">maxcul.0.OEQ2041697.desiredTemperature</field>
                                   <field name="WITH_DELAY">TRUE</field>
                                   <field name="DELAY_MS">2</field>
                                   <field name="UNIT">sec</field>
                                   <field name="CLEAR_RUNNING">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="[0v?f8T^Yt*8c9]pQI/+">
                                       <field name="NUM">3</field>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </statement>
                           <statement name="ELSE">
                             <block type="control" id=")BKgC(O,G4%3{taeC7?m">
                               <mutation delay_input="false"></mutation>
                               <field name="OID">maxcul.0.OEQ2041697.desiredTemperature</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="variables_get" id="ntxQetXOunMm7b_VZ,(b">
                                   <field name="VAR" id="jfC$kqcXkRd,FFJ0*FJ." variabletype="">Temp Bad</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

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

                      @vikk88 Dankeschön.
                      Jetzt funktioniert es 🙂

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

                        @_tobias_ sehr gut

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

                          Kennt jemand eine Möglichkeit einen xiaomi temp. + humidity sensor so zu verwenden, dass er die dect-fähigen Thermostate von Fritz steuert?
                          Über das Fritz OS geht das ja leider nicht. Aber über ein Skript in iobroker?
                          Mir fällt nur der Ansatz ein über eine Logik abzufragen, ob der gemessene Temperaturwert kleiner oder größer als der gewünschte Sollwert ist und den mode entsprechend in opened oder closed zu setzen. Auf Grund der großen Abfragezyklen von 15 Minuten wird so aber keine sinnvolle Regelung aufzubauen sein.
                          Die Kommunikation zwischen Thermostat und fritzbox ist nie schneller als 15 Minuten, das ist klar. Aber vielleicht hat ja noch jemand eine elegantere Idee, bei der die Thermostate nicht nur zwischen vollständig geöffnet oder vollständig geschlossen schwanken.

                          Aber ich vermute, dass geht nicht anders? 😞

                          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

                          683
                          Online

                          32.0k
                          Users

                          80.4k
                          Topics

                          1.3m
                          Posts

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