NEWS
Wo ist mein denkfehler, Skript für Lüften
-
Hallo Zusammen,
ich weiß das Thema gab es bereits öfters und ich habe mir auch paar Youtube Videos dazu angeschaut. Dennoch sehe ich den Wald scheinbar vor lauter Bäumen nicht. Mein Skript tut zumindest nicht jenes, was es soll.
Was soll es tun:
- Erfassen, dass das Fenster auf ist,
- Erkennen, dass die Temperatur kleiner einem Sollwert (beispielhaft 21 Grad) ist
- Den Ist Wert mit einer Warnmeldung an Alex & Pushover übergeben
Kann mal einer mit Adleraugen schauen wo ich noch etwas justieren muss? Teilweise hat es schon funktioniert, aber nun hänge ich.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="comment" id="r);rS2`-8DQD9|2g.S]," x="-612" y="-1337"> <field name="COMMENT">auf Fensteröffnung Schlafzimmer triggern</field> <next> <block type="on" id="gt-=bIZ?RYU_2y~gEAIB"> <field name="OID">hm-rpc.1.0000D3C99985C1.1.STATE</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="comment" id="^NYJt7pZ_MjYTw1M]KUC"> <field name="COMMENT">Temperatur und Fensterstatus abfragen</field> </block> </statement> <next> <block type="controls_if" id="WST.9X0@t=?f3HT}Awm*"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="WceBeZX09u%+:kUJmkMj" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="XU`!5+im#/yUksgUfbfZ"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="XD):+E7.Y7yR3js%X[j$"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.0000D3C99985C1.1.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id=",QSApU49|L-Y{H`cC~G:"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="ecsiAU0ax`p.%5Seu1mU" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="9Aj}RO}_J]%JA1GlWsHM"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="d_7=A~})_NnN,!F~ap}m"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.000393C99BEECA.1.ACTUAL_TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id=",)8m)q;Nr]Fk--,Va7|s"> <field name="NUM">21</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="7r!PU:RehB%)uA*m:%^6"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="U7j#St7Gv1RyiThlD(18"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d000273c35f.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="7)UQzu|umPPX`1=%c+0!"> <field name="NUM">21</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="VNX`R(-z1hdjl841LK`|"> <field name="COMMENT">Alexa und Pushover mit variablen Text ansprechen</field> <next> <block type="timeouts_settimeout" id="=Vju)wrYVCw7+c~SA{$C"> <field name="NAME">timeout</field> <field name="DELAY">10</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control" id="]Ul{`mu/{j/e~,F(=;_~"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.429c7541422f43bfbf236d2d3d7af066.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="WM%@-:YC-I$4prv6.[bN"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="_hdpH;8fAM(0XPHWkA|z"> <field name="TEXT">Fenster Schlafzimmer schließen, Temperatur nur noch bei </field> </block> </value> <value name="ADD1"> <block type="math_round" id="Vd~0{~)02BzqT_IM3.6s"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id="3=y/E#SJd-v8susE94mE"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d000273c35f.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="7lt;[m|Uvcb?c#^aZk#v"> <field name="TEXT"> Grad</field> </block> </value> </block> </value> <next> <block type="pushover" id=".KQO5,XYBdF:^RPG}E(W"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="B`,lTv/-Df5Szb/R!9HE"> <field name="TEXT">Fenster im Schlafzimmer schließen</field> </shadow> <block type="text_join" id="YPbYht64Knl#9GqfF`c{"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="N,+@|n:a]DD#;76u0gLV"> <field name="TEXT">Fenster Schlafzimmer schließen, Temperatur nur noch bei </field> </block> </value> <value name="ADD1"> <block type="math_round" id="c(XKF)o+9%~qj{IS1,ge"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id="9iFdVS`+EQ[%szQ[edGb"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d000273c35f.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id=",I#bp.R^7%sAI1kNdq8D"> <field name="TEXT"> Grad</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="=D|}[tWy04],j1tF_HA{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="xp)zsfg)0[6}{{Y:^q0L"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.0000D3C99985C1.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="`.6@^.q8aPY$7Oq;YcFe"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_cleartimeout" id="li0B*r@pjIn!T[muQCXJ"> <field name="NAME">timeout</field> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@robbsen @robbsen Ich bin der festen Überzeugung, dass Dein Ansatz zu kurz greift, weil irgendwann auch die relative Luftfeuchte und der Taupunkt ein Thema sein werden. Deshalb empfehle ich Dir dieses geniale Script.
-
@robbsen Du solltest besser auf die Temperaturen triggern, da sonst die Temperaturwerte nur zum Zeitpunkt des "Fenster öffnen" erfasst werden.
-
@meister-mopper hey danke das schaue ich mir an.... ggf. was für später. Aktuell geht es mir aber um "learning by doing"
-
@robbsen said: Aktuell geht es mir aber um "learning by doing"
Der falls-Block gehört in den Trigger, nicht darunter. Darunter wird er nur einmal bei Skript-Start ausgeführt.
-
@robbsen Okay, wollte ja nur die Zielerreichung beschleunigen
-
@paul53 oh man augenroll da ist der Wald. Danke da setze ich an.
-
@meister-mopper jap ich bin auch immer gut in Copy Paste... leider lerne ich dadurch nicht die Grundzüge.
danke euch beiden
-
@robbsen Na ja, musst es ja auf Deine Bedürfnisse anpassen, das ist ja auch schon eine sehr intensive Beschäftigung mit der Ganzheit der Materie.