NEWS
Blockly - Begrüssung mit erkennung per Radar
-
Moin,
ich versuche gerade meine Anwesenheit per BT Beacon zu erkennen und dann 1x am Tag eine Begrüssung mit Musik abzuspielen.
Hab jetzt mal versucht eine Variabel einzubauen, damit sie nicht mehrfach am Tag losplaudert, weil der Kontakt gerade mal nicht da ist aber heute wurde ich gar nicht begrüsst.
Zuerst hab ich oben die Variabel iniziert? mit wahr. Somit gings gestern nicht aber ich dachte das dann heute morgens um 07:00 diese wieder auf false gesetzt wird und dann heute Abend zur Begrüssung wieder funktioniert?
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="sOl:MA,b~G?!4]n]8|DE" x="-262" y="-63"><field name="VAR">Begrüssung abgespielt</field> <value name="VALUE"><block type="logic_boolean" id="`T1KVg7z`q1LKShH1*SC"><field name="BOOL">TRUE</field></block></value></block> <block type="on_ext" id="ybh}Dr)25cnX.,.~G.PL" x="-262" y="13"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="Kf7wpGPqD4@(B){7XW9^"><field name="oid">radar.0.Benny_Schlüssel_Gigaset.here</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="+LZKBk1lkL~^@BOlFEz?"><value name="IF0"><block type="logic_operation" id="At+K2qEl~jnZSYaY.ylq"><field name="OP">AND</field> <value name="A"><block type="logic_operation" id="y7zB]9hcg@fGKM=96twF"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="PY((!?PV4NQVWQ;Z*}+p"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="]S,wromL4-mG^-1JMF*g"><field name="ATTR">val</field> <field name="OID">radar.0.Moni_Schlüssel_Nut.btHere</field></block></value> <value name="B"><block type="logic_boolean" id="MdN4WGn][Mg(V*SxCrK-"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="#svuEq}wY~}qXvWIK#ZO"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="4~,|bPbtNW`ayb0c_Vr/"><field name="VAR">Begrüssung abgespielt</field></block></value> <value name="B"><block type="logic_boolean" id="lxxrC_B!cC@ZD|e[2.K."><field name="BOOL">FALSE</field></block></value></block></value></block></value> <value name="B"><block type="time_compare_ex" id="bMQIZ5O1q^xe/A_m,c2("><mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"><shadow type="text" id="jq4a_C4o;2xeno3s3d58"><field name="TEXT">12:00</field></shadow></value> <value name="END_TIME"><shadow type="text" id="S3RP`UZL)B|gWf+8Wcsh"><field name="TEXT">22:00</field></shadow></value></block></value></block></value> <statement name="DO0"><block type="control" id="+~5mMvv`hCu[t(c%?(if"><mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.8d53e55ee2f94af19cbcae13bc5ccc3e.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">30</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="text" id="7kA?m~G{/*15GQ1A2t9k"><field name="TEXT">Hallo Benni, schön das du wieder zuhause bist.</field></block></value> <next><block type="control" id="+gcF}`?izNBDTn#=6H(S"><mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.8d53e55ee2f94af19cbcae13bc5ccc3e.Music-Provider.Amazon-Music</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">35</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="text" id="~LvYGT2sPP}y}Cz~7xV#"><field name="TEXT">guns and roses paradise city</field></block></value> <next><block type="variables_set" id="y`%O=is5c?YO2?RVak4;"><field name="VAR">Begrüssung abgespielt</field> <value name="VALUE"><block type="logic_boolean" id="zwgsHJ9P`/p]Gxx^8jFk"><field name="BOOL">TRUE</field></block></value> <next><block type="pushover" id="/Qo)1z%6xOW=MN+-rh}Z"><field name="INSTANCE">.0</field> <field name="SOUND">spacealarm</field> <field name="PRIORITY">0</field> <value name="MESSAGE"><shadow type="text" id="3yZ;a=)fhqi#T7NCX^(*"><field name="TEXT">Test ist zuhause</field></shadow></value></block></next></block></next></block></next></block></statement></block></statement> <next><block type="controls_if" id="axgWxp~w#[8BgmQooCLi"><value name="IF0"><block type="time_compare_ex" id="toa6UxKv*Eu`j;2Ano4%"><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="3*lfk@s!FZGE=6/JjYXS"><field name="TEXT">07:00</field></shadow></value></block></value> <statement name="DO0"><block type="variables_set" id="YvnDj_7??~/UESBrtFq:"><field name="VAR">Begrüssung abgespielt</field> <value name="VALUE"><block type="logic_boolean" id="PDO;t671qnI{9+wR7.%5"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></xml>
-
So wie ich es auf dem Blocky erkenne, setzt du bei start des Scripts die variable Begrüßung gleich auf wahr, so dass beim Erkennen Deines G-Tags / Keepers nie der Sound abgespielt werden kann. Heißt obersten Block deaktivieren..
Auch die Abfrage ob es um 07:00 Uhr ist, sollte so nicht funktionieren, da sie nur einmal beim Script-Start (oder Serverneustart) ausgeführt wird.
Ich würde hier einen Trigger-> Zeitplan machen, der täglich um 7 Uhr die Variable auf unwahr setzt.
MFG Alex
-
Bin der Meinung das führt er nur 1x zum Scriptstart aus. Meine mal gelesen zu haben das man der Variable so einen "start" Wert mit gibt, damit sie nicht undefiniert ist.
Deswegen habe ich den auf True gesetzt damit er beim Neustart des Brokers/Adapters/Scripts nicht automatisch begrüsst.
Aber die Uhrzeit unten hab ich jetzt in ein Zeitplantrigger gepackt.
Sieht ganz gut aus beim testen, jetzt mal morgen abwarten obs auch live funktioniert 8-)
-
Habe jetzt den obersten Block deaktiviert und unten einen Zeittrigger eingebaut, leider wird nichts abgespielt…
jmd eine Idee?
-
Setze mal ein Log ganz am Anfang was im "Begrüßung abgespielt " steht.
-
noch so ein debug output unter den ersten aktiven Begrüssung abgespielt oder ganz oben?
-
Ganz oben, vor dem if.
-
Hab nochmal rumprobiert,jetzt funktioniert es!
Die erste Zeile ist wieder aktiv und auf unwahr und vor dem falls/mache habe ich einen Timeout über 61 Sekunden eingefügt und es klappt endlich!