Hallo Leute,
bin fast am verzweifeln
Habe gestern mal probiert ein Skript für die geplante Heizungssteuerung zu erstellen, aber leider funktioniert es nicht richtig.
Also kurz zur Ausgangssituation:
-verbaute elektrische Fußbodenheizung im Esszimmer mit zwei Heizkreisen und daran angeschlossenen Thermostaten von Jung (ohne Anzeige)
-bestehende Thermostate sind in Doppelwechselrahmen unter Lichtschalter eingebaut.
Geplante Smarthomelösung:
-Ausbau der Thermostate
-Einbau von Shelly01 Wlan Unterputzaktoren in Unterputzdose von bestehenden Thermostaten
-Installation von einem Homematic oder MAX! Wandthermostat um beide Shellys zu steuern
-Installation von Xiaomi Fenstersensoren und Kopplung mit Wandthermostat
Was soll das Heizungssteurungsskript können:
1. Absenken der Solltemperatur bei Fensteroffen Erkennung auf 12°C und Shelly01 ausschalten
2. Wenn Fenster wieder geschlossen zurückstellen auf Auto Modus
3. Wenn Solltemperatur <= Ist Temperatur dann Shelly01 anschalten
4. Wenn Solltemperatur > Ist Temperatur dann Shelly01 ausschalten
5. Auto Mode mit Nachtabsenkung usw. wird über internes Programm von Wandthermostat gesteuert
6. Die Steuerung sollte auch von Alexa funktionieren ohne das Skript zu blockieren.
Das Skript läuft bis jetzt nur bis zur Fenstererkennung und dann geht nichts mehr.
Der Shelly Dummy macht keine Zustandsänderung.
Ich hab irgendwo ein Denkfehler aber ich komm einfach nicht drauf.
Vielleicht hat ja von euch einer einen Lösungsvorschlag
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="on_ext" id="%tv{/[/n|fUutv48diwo" x="-937" y="13">
<mutation items="4"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="pCj/0!d3pYe*MQ=rw#r]">
<field name="oid">Dummy.0.Fensterkontakt_Dummy</field>
</shadow>
</value>
<value name="OID1">
<shadow type="field_oid" id="bS/C?4FN6OTO.|XqT[0x">
<field name="oid">maxcube.0.devices.thermostat_14aae7.temp</field>
</shadow>
</value>
<value name="OID2">
<shadow type="field_oid" id="}F5m%8nFSR,LbZ@RkdnB">
<field name="oid">Dummy.0.Jelly01_Dummy</field>
</shadow>
</value>
<value name="OID3">
<shadow type="field_oid" id="q(KPhVhfp^3zCCSF+!y+">
<field name="oid">maxcube.0.devices.thermostat_14aae7.setpoint</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id=",9_Nr-P-{%Fd+Tc0-=Nu">
<mutation elseif="3"></mutation>
<value name="IF0">
<block type="logic_compare" id="-[H8[s*+:kh6%tTyvx}3">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="KGMJtOa#9Z`)CRfQA~cZ">
<field name="ATTR">val</field>
<field name="OID">Dummy.0.Fensterkontakt_Dummy</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="B!nl(H-/4xr^~M+oZvAk">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="?T9xfhV5hk1`ZlnMhoj{">
<field name="VAR">etwas</field>
<value name="VALUE">
<block type="get_value" id="%gX?C_HiHh7N^/p=O;QF">
<field name="ATTR">val</field>
<field name="OID">maxcube.0.devices.thermostat_14aae7.setpoint</field>
</block>
</value>
<next>
<block type="control" id="/e2h*hlB^fyz.^m2i6=*">
<mutation delay_input="false"></mutation>
<field name="OID">maxcube.0.devices.thermostat_14aae7.setpoint</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="I}^_i`27{RSi2m7LN#-S">
<field name="NUM">12</field>
</block>
</value>
<next>
<block type="control" id="xsg4oK2hm)2^hjs*f2lA">
<mutation delay_input="false"></mutation>
<field name="OID">Dummy.0.Jelly01_Dummy</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Z9~*,b8OrxeP2s8Ul,V}">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id="Aw-_WU?a:Z;p1r?kyVfQ">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="@luAa.c-j*i^E~(FUFpd">
<field name="ATTR">val</field>
<field name="OID">Dummy.0.Fensterkontakt_Dummy</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="+4zGe=19n|x)n)RR;8|i">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="control" id="YXbOo#wiy.Y~%H8jsque">
<mutation delay_input="false"></mutation>
<field name="OID">maxcube.0.devices.thermostat_14aae7.mode</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text" id="x5[S,skZOu6E.dnKa,ef">
<field name="TEXT">"AUTO"</field>
</block>
</value>
</block>
</statement>
<value name="IF2">
<block type="logic_compare" id=";_i]cfZdrmL/qXWB6PuO">
<field name="OP">LTE</field>
<value name="A">
<block type="get_value" id="05hB:}da}@CQX_^vBlC@">
<field name="ATTR">val</field>
<field name="OID">maxcube.0.devices.thermostat_14aae7.temp</field>
</block>
</value>
<value name="B">
<block type="get_value" id="/+URQdwg1iM]^-+riA3J">
<field name="ATTR">val</field>
<field name="OID">maxcube.0.devices.thermostat_14aae7.setpoint</field>
</block>
</value>
</block>
</value>
<statement name="DO2">
<block type="control" id="}6;6~]L4/!BY.JwxYt#d">
<mutation delay_input="false"></mutation>
<field name="OID">Dummy.0.Jelly01_Dummy</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="PDGjw4AYy[^(T_9;v]R|">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<value name="IF3">
<block type="logic_compare" id="X;DwL2M+ET^tv5jB0m5?">
<field name="OP">GT</field>
<value name="A">
<block type="get_value" id="-jjxx-8Ad8=RmIUF48S|">
<field name="ATTR">val</field>
<field name="OID">maxcube.0.devices.thermostat_14aae7.temp</field>
</block>
</value>
<value name="B">
<block type="get_value" id="Y:r]__,A;:^cXsYg=]P=">
<field name="ATTR">val</field>
<field name="OID">maxcube.0.devices.thermostat_14aae7.setpoint</field>
</block>
</value>
</block>
</value>
<statement name="DO3">
<block type="control" id="uH=y!(uzpe!@XAo-?a[!">
<mutation delay_input="false"></mutation>
<field name="OID">Dummy.0.Jelly01_Dummy</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Cv3*g6JYM@.+K?u|6L^!">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</statement>
</block>
</statement>
</block>
</xml>
Alles anzeigen