NEWS
[erledigt] Frage zu Blockly, Warnung bei Regen über Alexa bei geöffnete Fenster und Türen
-
wenn es dann fehlerfrei ist, gerne!
-
@StM47 sagte in Frage zu Blockly, Warnung bei Regen über Alexa bei geöffnete Fenster und Türen:
wenn es dann fehlerfrei ist, gerne!
Mach ruhig mal einen Export hier rein, da kann man besser dran basteln. Hab gerade etwas Zeit. Aber erklären trotzdem würde zu lange dauern.
-
gerne
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="Intervall">Intervall</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="CQC;{=jg+V-{lh0eV`E[" x="-1287" y="-1637"> <mutation items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Ii?[Ge~U7Qx+TSkkHcB:"> <field name="oid">lupusec.0.devices.RF:03039a10.status_ex</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="-Ev9T`,Vx@u]6M$fKi(-"> <value name="IF0"> <block type="logic_operation" id="$9(gAV+?aaRB3}QC/Nu;" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="time_compare_ex" id="D|xtf%.Chhx1,ccZt-YF"> <mutation end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">>=</field> <value name="START_TIME"> <shadow type="text" id="?K*{/r.QRytF2$0s,m9Y"> <field name="TEXT">09:00</field> </shadow> </value> </block> </value> <value name="B"> <block type="time_compare_ex" id="+d+V,+Lr;t+#FLKX24qf"> <mutation end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION"><=</field> <value name="START_TIME"> <shadow type="text" id="-qYk.|K6[YU[TaUcA1.K"> <field name="TEXT">21;00</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="@]yJPY-nJ7/,7H)KdWT:"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="V|ek53FGIFTyiQo-,PZ4"> <field name="TEXT">Terrassentüre auf!</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="]}WWtlQ]|4eT-%sK_]sh"> <field name="NAME">timeout</field> <field name="DELAY">10</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="A]Mj7aj%yfk51D@ujhZh"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="!5f8={J7ZXc2tvwcPK=*"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="Ep6.0Bhd),(KYdNYG,,9"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="N(If_xhK88`D{1@57YSP"> <field name="ATTR">val</field> <field name="OID">viessmannapi.0.heating.sensors.temperature.outside.value</field> </block> </value> <value name="B"> <block type="text" id="@~/6uJtdmhvwz_#E4o(."> <field name="TEXT">16</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="nmN)kUs##*)+4~8P}CXC"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="G68Le1WbHbv-*p.WAtjq"> <field name="ATTR">val</field> <field name="OID">lupusec.0.devices.RF:03039a10.status_ex</field> </block> </value> <value name="B"> <block type="logic_boolean" id="G:%|DKA]_7%HF.:AmMbF"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="D_P9nzAd!abD6}+@P4tv"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50984811V0M.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="K_Z]Cve^2-(:@v;-SFn_"> <field name="NUM">60</field> </block> </value> <next> <block type="control" id="=;Yj|xq4Q/P+1LATu[]D"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50984811V0M.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="OT.(b,`lmC#]/F5LP2E/"> <mutation items="7"></mutation> <value name="ADD0"> <block type="text" id="=4ry)=r64B=7#69CpP,m"> <field name="TEXT">Hallo Bewohner, Draußen sind es</field> </block> </value> <value name="ADD1"> <block type="math_round" id="r,x~a%n#:30k|%e,Pi7~"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="*iWC~ZLZ/?tc6L^oVCkY"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id="K*w(W:7b?*LW^wJ~^MbQ"> <field name="ATTR">val</field> <field name="OID">viessmannapi.0.heating.sensors.temperature.outside.value</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="|Mfti7/}/h9*Y!%N=Dp+"> <field name="TEXT">Grad, und die Terrassentüre ist noch offen, Aktuell sind im Wohnzimmer</field> </block> </value> <value name="ADD3"> <block type="math_round" id="2rhM59Jg_bWaC.r_|Z7Q"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="lsdbW.f([y^fl/jA,m_p"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id="^fQ!oB*7sqx7C{**HGB5"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0002b537d2.temperature</field> </block> </value> </block> </value> <value name="ADD4"> <block type="text" id="e~59-.]ySQWa+u2,U-9J"> <field name="TEXT">Grad, und die Luftfeuchtigkeit liegt bei </field> </block> </value> <value name="ADD5"> <block type="math_round" id="Qd7I5RtULhKOz%Ll5nxF"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id=":xbFKZ44tPFyXa.Dy*[#"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id="9d+x@6]Y~.vZM=ErH6ri"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0002b537d2.humidity</field> </block> </value> </block> </value> <value name="ADD6"> <block type="text" id="st3i0f9CeDYIXh,!AT7G"> <field name="TEXT">Prozent</field> </block> </value> </block> </value> <next> <block type="control" id="+NY=E1}/qdP%6+mx``Xk"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50984811V0M.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="4tOi@}jwB{1lY!^APj(8"> <field name="NUM">50</field> </block> </value> <next> <block type="debug" id="t!6~qp$[^^gxyp^Cq#gQ"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="EMd|_xS`krtmvKmNZVWM"> <field name="TEXT">Terrassentüre seit 10 Minuten auf!</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="K=v+WCq$)Da[-FI#s!Al"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Vnb.akopr{lY62zRj7o`"> <field name="ATTR">val</field> <field name="OID">lupusec.0.devices.RF:03039a10.status_ex</field> </block> </value> <value name="B"> <block type="logic_boolean" id="`h5}),db22ZX}V8yh7v*"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_cleartimeout" id="+}dRb6?~W,]YcrQ18k7d"> <field name="NAME">timeout</field> </block> </statement> </block> </statement> </block> </next> </block> </statement> <next> <block type="timeouts_setinterval" id="}^+FCJjs],(IlA;i^)7x"> <field name="NAME">Intervall</field> <field name="INTERVAL">15</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="o5B}^!IbLC0w|x*C2i;W"> <value name="IF0"> <block type="logic_operation" id="X)g9t`YR`yyi%`YZvb?i"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="P0c6=LnNSCpP8FiIr^HP"> <field name="OP">EQ</field> <value name="A"> <block type="logic_boolean" id="wK-=eaEsa6G[]Q3!/vx+"> <field name="BOOL">TRUE</field> </block> </value> <value name="B"> <block type="get_value" id="*dK$*jO$Us`*uXsujX;*"> <field name="ATTR">val</field> <field name="OID">lupusec.0.devices.RF:03039a10.status_ex</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="le3X~dv^;9dCaS},j]?n"> <field name="OP">EQ</field> <value name="A"> <block type="logic_boolean" id="YsC:~_j6zK1Eg52]TciC"> <field name="BOOL">TRUE</field> </block> </value> <value name="B"> <block type="get_value" id="Ct4PLzts6}3N9My$^PvV"> <field name="ATTR">val</field> <field name="OID">zuhause.0.wetter.regen</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="7x!upuL$UJ=#~a[Pe/=z"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50984811V0M.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="q(LXi%QX+og`[6F!YPM3"> <field name="NUM">60</field> </block> </value> <next> <block type="control" id="KU32~=CCIp.GQa7Tpla0"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50984811V0M.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text_join" id="mz++/`8dP7KRg.j7{C[/"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="7dZG$]BM6ir`)ghdq2m+"> <field name="TEXT">Achtung, es regnet, und im Erdgeschoß sind noch Fenster oder Türen geöffnet</field> </block> </value> </block> </value> <next> <block type="control" id="Q5VW6?FmWtJSt(lFqnUv"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50984811V0M.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="1QzIvf{,/bQmD}dOLv-1"> <field name="NUM">50</field> </block> </value> <next> <block type="debug" id="pP3glP([pR=)9r}eul}G"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="_):)uG2%haxBj@uC0DA-"> <field name="TEXT">Regenwarnung Erdgeschoß</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </xml>
-
@StM47 auf die Schnelle mal umgestellt.
Nicht getestet. Habe nicht son Kram wie Alexa
Schau mal ob ich etwas übersehen habe.
Export:
Grüße
-
Habe gerade noch etwas gesehen.
Bei der Prüfung zur zyklischen Meldung, kannst du noch die Abfrage ob die Tür offen ist weglassen.
In diesem "Falls-Zweig" ist die Tür definitiy offen. -
Sorry, dass ich mich nicht gleich gemeldet habe, bin zur Zeit mit einem anderem Problem beschäftigt.
Habe heute die Cloud auf IOT umgestellt. Seit dem läuft kein Skript mehr. Konnte deshalb noch nicht testen.Ich melde mich wieder, wenn alles läuft.
Computer sind dazu da, Probleme zu lösen, welche man ohne Computer gar nicht hätte!
-
Mit deinem Skript bringt Alexa leider keine Warnung.
-
@StM47 Falls ich mal kurz was einwerfen darf. So wie ich das Skript momentan verstehe triggerst du auf das öffnen/schließen der Tür und prüfst dann ob es regnet.
Was ist aber, wenn du die Tür öffnest und es erst später zu regnen beginnt?Da würde es mehr Sinn machen, den DP javascript.0.regen zu triggern und dann prüfen ob Tür offen ist.
-
deswegen das Intervall. Wenn Tür offen, wird ständig z.B alle 3 Minuten geprüft, ob es regnet.
-
@StM47 In dem Skript sehe ich keinen Intervall für 3 Minuten. Nur der alle 20 Sekunden für die Alarmierung, dass eine Tür offen ist.
Ebenso stoppst du am Ende des Skript direkt den Timeout und den Intervall. Das wird so nie funktionieren.
-
habe ich zu Testzwecken so kurz gewählt!
-
@StM47 In dem Intervall wird aber nicht überprüft bzw reagiert ob es anfängt zu regnen, sondern dient nur zum alarmieren.
und das ändert nix am direkten beenden der Intervalle und timeouts.
-
Hiermit funktioniert es, zumindestens die Ausgabe über Alexa.
Wird der Timeout und das Intervall bei Türe zu so beendet?
-
@StM47 So wird es nur zwischen 9 und 22 Uhr beendet, aber nicht mehr um 22:01^^
Kommt vll selten vor, aber wenn es mal vorkommt ist es nervig.
Ich würde den Sonst-Falls unterhalb der Zeitabfrage in ein einfaches Falls machen, damit es immer beendet, wenn es geschlossen wird. Zeitunabhängig. -
@StM47 Du fragst alle 3 Minuten etwas ab in der Annahme es könnte etwas passieren (pull) anstelle nur darauf zu reagieren WENN etwas passiert (push)?
Hälst Du das für zielführend? -
Danke, habs abgeändert!
-
-
@thewhobox ja, ich wollte in die selbe Kerbe schlagen
-
Der Sinn des Ganzen soll doch sein, dass ich nicht vergesse, Fenster im Winter (unter 16°C) nach 10 Minuten zu schließen. Und wenn es in dieser Zeit anfängt zu regnen, bekomme ich ebenfalls eine Meldung. So lange sind die Fenster ja nie auf. bei 10 Minuten wird 3Mal abgefragt, ob es regnet.
Oder wie würdest du das Ganze aufbauen?
-
@StM47
Kannst du dann das fertige Skript nochmal reinstellen. Habe es bei mir angepasst aber funktionierte nicht so Richtig....