NEWS
Fenster offen Mitteilung auf mehrere Fenster umsetzten
-
Tach allerseits
Ich hab mir ein Blockly geschrieben, das Uhrzeitabhängig ein Fensterzustand abfragt, und bei Offen ein Telegram schickt.
Jetzt würd ich das gern so umschreiben, das es nicht nur ein Fenster abfrägt, sondern eben alle. Und das eben am besten alles in diesem Blockly. Wie würdet ihr das umsetzten ?
Anbei mein Versuch für das erste Fenster:<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="controls_if" id="m#w,{e3iK]pe)`1iPY;u" x="-12" y="13"> <value name="IF0"> <block type="time_compare" id="n.kiq!R)M2=(lpZIBUd="> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">20:00</field> <field name="END_TIME">23:00</field> </block> </value> <statement name="DO0"> <block type="on" id="H]~Jt_;z[bu-m+vlVDqv"> <field name="OID">hmip.0.devices.3014F711A00000DBE9953074.channels.1.windowOpen</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="kEYcUI_gk4tHC0_%gVfg"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="b:4R|Ish?Ud3W/nq^P%r"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="6^.ROl-]cg!ua%/f@#{="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="KTO,ZYF]Q.t}fd9-},4n"> <field name="ATTR">val</field> <field name="OID">hmip.0.devices.3014F711A00000DBE9953074.channels.1.windowOpen</field> </block> </value> <value name="B"> <block type="logic_boolean" id="?@T.QQOZn{8eyrEq=5?8"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="IfB[X{$bD4i$7k?90k3_"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="b=^4IAuwjVhvYLuVn2O?"> <field name="ATTR">val</field> <field name="OID">openweathermap.0.forecast.current.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="b1Le-*8G-tF9.tg!=0BX"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id="-@,T)XH{XhH-KaFWD8X;"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="telegram" id="-dAX^XP6s0B(+hUYGzen"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="=5hd1YOmHxLN83Mu+9tk"> <field name="TEXT">Das Küchenfenster ist offen</field> </shadow> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="timeouts_clearinterval" id="mDtar$u(Fc3/-nqW?}.V"> <field name="NAME">Intervall</field> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
-
Tach allerseits
Ich hab mir ein Blockly geschrieben, das Uhrzeitabhängig ein Fensterzustand abfragt, und bei Offen ein Telegram schickt.
Jetzt würd ich das gern so umschreiben, das es nicht nur ein Fenster abfrägt, sondern eben alle. Und das eben am besten alles in diesem Blockly. Wie würdet ihr das umsetzten ?
Anbei mein Versuch für das erste Fenster:<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="controls_if" id="m#w,{e3iK]pe)`1iPY;u" x="-12" y="13"> <value name="IF0"> <block type="time_compare" id="n.kiq!R)M2=(lpZIBUd="> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">20:00</field> <field name="END_TIME">23:00</field> </block> </value> <statement name="DO0"> <block type="on" id="H]~Jt_;z[bu-m+vlVDqv"> <field name="OID">hmip.0.devices.3014F711A00000DBE9953074.channels.1.windowOpen</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="kEYcUI_gk4tHC0_%gVfg"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="b:4R|Ish?Ud3W/nq^P%r"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="6^.ROl-]cg!ua%/f@#{="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="KTO,ZYF]Q.t}fd9-},4n"> <field name="ATTR">val</field> <field name="OID">hmip.0.devices.3014F711A00000DBE9953074.channels.1.windowOpen</field> </block> </value> <value name="B"> <block type="logic_boolean" id="?@T.QQOZn{8eyrEq=5?8"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="IfB[X{$bD4i$7k?90k3_"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="b=^4IAuwjVhvYLuVn2O?"> <field name="ATTR">val</field> <field name="OID">openweathermap.0.forecast.current.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="b1Le-*8G-tF9.tg!=0BX"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id="-@,T)XH{XhH-KaFWD8X;"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="telegram" id="-dAX^XP6s0B(+hUYGzen"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="=5hd1YOmHxLN83Mu+9tk"> <field name="TEXT">Das Küchenfenster ist offen</field> </shadow> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="timeouts_clearinterval" id="mDtar$u(Fc3/-nqW?}.V"> <field name="NAME">Intervall</field> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
ich würde fogendes, bereits vorhandene und super laufende Skript nutzen:
https://forum.iobroker.net/topic/31674/vorlage-generisches-fensteroffenskript-vis
-
Tach allerseits
Ich hab mir ein Blockly geschrieben, das Uhrzeitabhängig ein Fensterzustand abfragt, und bei Offen ein Telegram schickt.
Jetzt würd ich das gern so umschreiben, das es nicht nur ein Fenster abfrägt, sondern eben alle. Und das eben am besten alles in diesem Blockly. Wie würdet ihr das umsetzten ?
Anbei mein Versuch für das erste Fenster:<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="controls_if" id="m#w,{e3iK]pe)`1iPY;u" x="-12" y="13"> <value name="IF0"> <block type="time_compare" id="n.kiq!R)M2=(lpZIBUd="> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">20:00</field> <field name="END_TIME">23:00</field> </block> </value> <statement name="DO0"> <block type="on" id="H]~Jt_;z[bu-m+vlVDqv"> <field name="OID">hmip.0.devices.3014F711A00000DBE9953074.channels.1.windowOpen</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="kEYcUI_gk4tHC0_%gVfg"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="b:4R|Ish?Ud3W/nq^P%r"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="6^.ROl-]cg!ua%/f@#{="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="KTO,ZYF]Q.t}fd9-},4n"> <field name="ATTR">val</field> <field name="OID">hmip.0.devices.3014F711A00000DBE9953074.channels.1.windowOpen</field> </block> </value> <value name="B"> <block type="logic_boolean" id="?@T.QQOZn{8eyrEq=5?8"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="IfB[X{$bD4i$7k?90k3_"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="b=^4IAuwjVhvYLuVn2O?"> <field name="ATTR">val</field> <field name="OID">openweathermap.0.forecast.current.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="b1Le-*8G-tF9.tg!=0BX"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id="-@,T)XH{XhH-KaFWD8X;"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="telegram" id="-dAX^XP6s0B(+hUYGzen"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="=5hd1YOmHxLN83Mu+9tk"> <field name="TEXT">Das Küchenfenster ist offen</field> </shadow> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="timeouts_clearinterval" id="mDtar$u(Fc3/-nqW?}.V"> <field name="NAME">Intervall</field> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
@IObroker_chris
Dein Ansatz ist besser als meiner von heute Morgen.
Ich habe jetzt nur das Problem dass Dein Skript nur anläuft wenn das Fenster seinen Zustand wenigstens einmal ändert.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden