NEWS
Luftfeuchtigkeit mit Alexa abfragen?
-
Danke für die Ausführungen apollon77 und Dank für den "Gedankenanstoß" dslraser
Auch mithilfe der Videos von Dennis Schimmer bin ich -glaube ich- jetzt auf dem richtigen Weg!
Grüße Thomas
-
Da ich zu diesem Thema angeschrieben wurde stelle ich hier mal mein Blockly mit einer Anleitung hier rein.
Voraussetzung für dieses Blockly ist der Alexa2 Adapter sowie der iot oder Cloud Adapter.
Nachtrag: Ich habe den Alexa2 Adapter auf Push Verbindung eingeschaltet stehen.
Als erstes ist hier mein Blockly Export sowie Screenshot. In diesem Blockly sind mehrere Echos drinn, wer nicht alle braucht muss das im Blockly ändern bzw. raus nehmen was nicht gebraucht wird. Die eigenen Echos und Datenpunkte müssen dann ohnehin "reingeklickt" werden.
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="-537" y="-713"><mutation statements="false"><arg name="Name"></arg>
<arg name="Initialisierung"></arg>
<arg name="Beschreibung"></arg>
<arg name="Type"></arg>
<arg name="Rolle"></arg></mutation>
<field name="NAME">Variablen anlegen</field>
<field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIG5hbWU6IEJlc2NocmVpYnVuZywNCiAgcmVhZDogdHJ1ZSwgDQogIHdyaXRlOiB0cnVlLCANCiAgdHlwZTogVHlwZSwgDQogIGRlZjogZmFsc2UsDQogIHJvbGU6IFJvbGxlDQp9KTs=</field>
<comment pinned="false" h="80" w="160">Hier ist das Javascript drin.</comment></block>
<block type="procedures_callcustomnoreturn" id="O45R/5Gw(j@)2M*_xdcB" x="-538" y="-613"><mutation name="Variablen anlegen"><arg name="Name"></arg>
<arg name="Initialisierung"></arg>
<arg name="Beschreibung"></arg>
<arg name="Type"></arg>
<arg name="Rolle"></arg></mutation>
<value name="ARG0"><block type="text" id="nSr7Hq~;DUU2#lB+Yj:}"><field name="TEXT">Eigene_Datenpunkte.Alexa2Ansagen.Luftfeuchttigkeit.Garten</field></block></value>
<value name="ARG1"><block type="text" id="xlqa55O11o`@{+#@Yj;%"><field name="TEXT">true</field></block></value>
<value name="ARG2"><block type="text" id="yEhqZqxh*}Ip8?yzOW7I"><field name="TEXT">Luftfeuchtigkeit_Garten_aussen</field></block></value>
<value name="ARG3"><block type="text" id="sYAGk@@-Fz^fIDONX!/i"><field name="TEXT">boolean</field></block></value>
<value name="ARG4"><block type="text" id="/t]#6;-K%9u+eD1jG09@"><field name="TEXT">switch</field></block></value></block>
<block type="on_ext" id="@~[w%fmFqR.NBzMP;9K7" x="-538" y="-412"><mutation items="1"></mutation>
<field name="CONDITION">any</field><value name="OID0"><shadow type="field_oid" id="E8A-04PbAI,c1dpi4@}5"><field name="oid">javascript.0.Eigene_Datenpunkte.Alexa2Ansagen.Luftfeuchttigkeit.Garten</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id="5VFfHYTB!S7A^A*?SicA"><field name="VAR">Ausgabetext</field> <value name="VALUE"><block type="text_join" id="4?k[0reCRn.mjkxHg41~"><mutation items="4"></mutation> <value name="ADD0"><block type="text" id="75Z)Wn`YF@;38~bIM;pA"><field name="TEXT">Aktuell ist die Luftfeuchtigkeit im Garten</field></block></value> <value name="ADD1"><block type="get_value" id="Vh/8rxU]yD!3mT}0y[eC"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.HUMIDITY</field></block></value> <value name="ADD2"><block type="text" id="w?*M1*U4/O9S.6%iB.?Q"><field name="TEXT">Prozent,</field></block></value></block></value> <next><block type="timeouts_settimeout" id="xA_MJ^@=AB=-WtDTe(3}"><field name="NAME">timeout</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="comment" id="s30b2{fSQ:a0uC3`+QWU"><field name="COMMENT">Wohnzimmer</field> <next><block type="controls_if" id="l(E24=q]l]b,GJDj4dSj"><value name="IF0"><block type="logic_compare" id="MKwJn0C!O]xc!~.9|B`*"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="p-SHbJ5Dmwr6djxg2ohH"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="?}A;8(IyMF%F@(t]Kc~+"><field name="TEXT">Wohnzimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id=")M^jLcZ!hCpj,X={-`nV"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="p)bNOdcZFVoq1e^M5V-."><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="As,dG(xO[B@wIYcyAG?h"><field name="COMMENT">Küche</field> <next><block type="controls_if" id="wrH-}P(84mn7Y/rg8A[."><value name="IF0"><block type="logic_compare" id="kg.QKB751NaS#Ihk1Vlg"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="qnTz1Oe31sq:NXjmbxIJ"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="3=W.?c8BZN+QrGX4xL}h"><field name="TEXT">Küche</field></block></value></block></value> <statement name="DO0"><block type="control" id="}?dK++*V.7JQcjG{3uhB"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="qHoN]~u1FI@iDQs*2C2v"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="_amxz6B=9F}_2uEGsK}`"><field name="COMMENT">Badezimmer</field> <next><block type="controls_if" id=".n7JtGwDJDGfaeyl!8*B"><value name="IF0"><block type="logic_compare" id="I-@9%{Ng!%}9rE#IESc;"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="c?dSeG!fu]W8UO@?D4I3"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="MivGV@*kt)3rY9COKpKA"><field name="TEXT">Badezimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="zTwXc~r8Ldt0u-5TNcVn"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="*X*~qQG3]~[NC{WMMndW"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="CJNG59[?CJ|U-=Bf]c)z"><field name="COMMENT">Gästezimmer</field> <next><block type="controls_if" id="OC]k1_}iDlExQPVc=(ib"><value name="IF0"><block type="logic_compare" id="OBIXw6hJ@]2Xr`HBIz5h"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="=x~5W)ns/VV;c|RFqQcE"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="IxW:hplIvDQm1ax=@X+M"><field name="TEXT">Gästezimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="g+2]wvsrhR8vxv7c,kJ_"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="5q6/z~S`0DeJ6sYrWhj1"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="C6,wSh?BEZ,G:B9Tl@#w"><field name="COMMENT">Flur</field> <next><block type="controls_if" id="l/g@UNw6pzeQ6_698R:-"><value name="IF0"><block type="logic_compare" id="=Z)D6qrCzY2oU/fVV93A"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="StsaG2CB;*5f5wIvH,kE"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="7N;yy7cC=tE`}MYOFfF6"><field name="TEXT">Flur</field></block></value></block></value> <statement name="DO0"><block type="control" id="5#-V887QhCCSAzI+twok"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="NurE:%K_z!^Vlj(fn5qI"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="qKD3bDxHV;NBtuFFs|e."><field name="COMMENT">Schlafzimmer</field> <next><block type="controls_if" id="iMz(H}c1#NO@KVNnhnlQ"><value name="IF0"><block type="logic_compare" id="z`vyyAWvaYdxt8YZt,0O"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="mEF)naqwJ#xLCe1NeKO:"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="F7::fb4cokeJJD:fk~pV"><field name="TEXT">Schlafzimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="{2s/h/xpkm]F+1ik-f4m"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="ft7Uf33@IB1zu_xdTAxn"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="wIYZ1bLOSjFi=NxT9WcM"><field name="COMMENT">Keller-Flur</field> <next><block type="controls_if" id="%EEK(pKJ%lGo)32cR7qF"><value name="IF0"><block type="logic_compare" id="7Mb(anM]kR9056)gxqnW"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="xF~b7`{fV||4n}zB-}.u"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="VH^2CJsPGOd!6hGoqdK4"><field name="TEXT">Keller-Flur</field></block></value></block></value> <statement name="DO0"><block type="control" id="F_[xezXeyr~*(A=q.YFJ"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="SjtrIJ?gA20oj88N|srb"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="E#D1a/,rcH`dm3?Nx^:q"><field name="COMMENT">Werkstatt</field> <next><block type="controls_if" id="=s~d:-WIg1#TE`^zf9[4"><value name="IF0"><block type="logic_compare" id="*:X%VM^+2MoYl-:u!WK`"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="6fnRWyK0;P(.x;H{)22T"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="S:#keRENw1gGjHWLUD!-"><field name="TEXT">Werkstatt</field></block></value></block></value> <statement name="DO0"><block type="control" id="ql@`4(PNtjS_AM0bEqD+"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="P[ojMqQDVRouu#vN~{[%"><field name="VAR">Ausgabetext</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml>
![3822_blockly-sreenshot.png](/assets/uploads/files/3822_blockly-sreenshot.png) In diesem Blockly ist der zu erstellende Datenpunkt bereits enthalten und kann auch nach Wunsch angepasst werden. Der Datenpunkt wird erst nach dem ersten Scriptstart erstellt, danach das Script einfach nochmal aktualisieren oder neu starten. Wenn das Script auf die eigenen Wünsche und Echos sowie der Datenpunkt für den Luftfeuchtigkeitssensor angepasst wurde und läuft kann nun der neu erstellte Datenpunkt in den iot/Cloud Adapter hinzu gefügt werden. Dort ist der neu erstellte Datenpunkt, wenn er nicht verändert wurde zu finden. ![3822_neues_ger_t_in_iot-cloud_adapter_suchen-einf_gen.png](/assets/uploads/files/3822_neues_ger_t_in_iot-cloud_adapter_suchen-einf_gen.png) So wird der neue Datenpunkt beim einfügen in iot/cloud Adapter angezeigt. Ihr könnt den auch umbenennen, aber der Name ist eigentlich egal, da der später in der Alexa App als Routine verarbeitet werden soll. ![3822_name_in_iot-cloud_adapter_egal.png](/assets/uploads/files/3822_name_in_iot-cloud_adapter_egal.png) Danach noch einen Switch draus machen und dann den Adapter schliessen. ![3822_neues_ger_t_im_iot-oder_cloud_adapter_al_switch.png](/assets/uploads/files/3822_neues_ger_t_im_iot-oder_cloud_adapter_al_switch.png) Nun noch im Browser oder in der App, oder mit dem Sprachbefehl, Alexa, suche neue Geräte, das eben angelegte Smartgerät suchen lassen. ![3822_neues_ger_t_suchen.png](/assets/uploads/files/3822_neues_ger_t_suchen.png) Ein neues Smartgerät sollte gefunden werden. ![3822_neus_ger_t_gefunden.png](/assets/uploads/files/3822_neus_ger_t_gefunden.png) Nun noch eine Routine in der Alexa App erstellen, z.B. so… ![3822_alexa_app_routine.png](/assets/uploads/files/3822_alexa_app_routine.png) Die Abfrage über die Alexa App im Handy wird nicht unterstüzt, aber auf allen Echos läuft es über diesen Weg bei mir. Das Blockly kann man natürlich auch für alle anderen gewünschten Werte anpassen, z.B. Temperaturen oder auch andere Werte. Das sollte es gewesen sein.
-
Hier z.B. noch ein ähnliches Blockly, wo ich mir die Temperaturen nacheinander ansagen lasse. Zum Schluss wird noch die Temperaturdifferenz zwischen Wohnzimmer und Garten angesagt.
-
klasse Lösung, werde es mal nachbauen. Kannst du den export des Tempansage Blockys auch posten?
Danke schon einmal vorab.
-
klasse Lösung, werde es mal nachbauen. Kannst du den export des Tempansage Blockys auch posten?
Danke schon einmal vorab. `
Hier der Blockly Export für die Temperaturen. Dort ist der zu erstellende Datenpunkt noch nicht enthalten.
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="Ac;^b|`@QSn~WL%:8Hxc" x="-563" y="-363"><mutation items="1"></mutation>
<field name="CONDITION">any</field><value name="OID0"><shadow type="field_oid" id="hD}F{s%j}T;e:l|Y_t5O"><field name="oid">javascript.0.Eigene_Datenpunkte.Alexa_antwortet.Temperaturansage</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id="5VFfHYTB!S7A^A*?SicA"><field name="VAR">Ausgabetext</field> <value name="VALUE"><block type="text_join" id="4?k[0reCRn.mjkxHg41~"><mutation items="20"></mutation> <value name="ADD0"><block type="text" id="75Z)Wn`YF@;38~bIM;pA"><field name="TEXT">aktuell sind im Wohnzimmer,</field></block></value> <value name="ADD1"><block type="math_round" id="=Sjw*S7,U~n|=SoUAA7`"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="w6+0fkAEgJTb`42#?dd;"><field name="NUM">3.1</field></shadow> <block type="get_value" id="Vh/8rxU]yD!3mT}0y[eC"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ADD2"><block type="text" id="gj9|0C4CJF7J/jO@)Qa0"><field name="TEXT">Grad,</field></block></value> <value name="ADD3"><block type="text" id="V-?)sVqOhiHxgXJau^Y/"><field name="TEXT">im Badezimmer sind,</field></block></value> <value name="ADD4"><block type="math_round" id="1BVZ4e-_0m~y[;Poi3M1"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="6a_*^5AGQuj]pYG50L1M"><field name="NUM">3.1</field></shadow> <block type="get_value" id="N^fvXxS?U^9FH9H~FyO1"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ADD5"><block type="text" id="psW)bV:jxy].Oq,TVa^|"><field name="TEXT">Grad,</field></block></value> <value name="ADD6"><block type="text" id="Y/;^_8by#+Wv;GK9Uw[."><field name="TEXT">im Gästezimmer sind,</field></block></value> <value name="ADD7"><block type="math_round" id="|;lvHqRQ^0SyD*KrIUEM"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="PPF:IX4@#TO[Dr3dzHCX"><field name="NUM">3.1</field></shadow> <block type="get_value" id="7qi*(nV(UYS-Tuv|8jlW"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ADD8"><block type="text" id="=9*~;2As+4jdwnG)[ZaT"><field name="TEXT">Grad,</field></block></value> <value name="ADD9"><block type="text" id="eA_XDkA3j=V]yQ=K+{)."><field name="TEXT">im Flur sind,</field></block></value> <value name="ADD10"><block type="math_round" id="oMi_A%knE:+q)ZS+/vT8"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id=":x)|GF`-Q/u?RbrEEj]N"><field name="NUM">3.1</field></shadow> <block type="get_value" id="Tn*:8tA`~C7p8SgNv22:"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ADD11"><block type="text" id="G@Z@}vulKz7}(vVeP{6A"><field name="TEXT">Grad,</field></block></value> <value name="ADD12"><block type="text" id="^hNa]9{L,Dpf7V:o4@N+"><field name="TEXT">im Schlafzimmer sind,</field></block></value> <value name="ADD13"><block type="math_round" id="pqSpV/d51?|g%vi.caa2"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="tVd%u)c]!b;#)+|/G2mg"><field name="NUM">3.1</field></shadow> <block type="get_value" id="nMFY1KX.,-1Dce-.EFC!"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ADD14"><block type="text" id="c2I2]DQ]fU,e8,BD|jN="><field name="TEXT">Grad,</field></block></value> <value name="ADD15"><block type="text" id="]lFGA{ekTsq|3F}m-INm"><field name="TEXT">draussen im Garten sind</field></block></value> <value name="ADD16"><block type="math_round" id="+Xd~B5]S6@Bg8k|ZHHJF"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="tVd%u)c]!b;#)+|/G2mg"><field name="NUM">3.1</field></shadow> <block type="get_value" id="@J4Y-Z:c[Op:V3S`%YyD"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ADD17"><block type="text" id="d#c`L:%f08RF*TBL8HSs"><field name="TEXT">Grad,</field></block></value> <value name="ADD18"><block type="text" id="JwHdrX|z-y@2~J8Q1|[t"><field name="TEXT">Draussen ist es also,</field></block></value> <value name="ADD19"><block type="logic_ternary" id="S{74YB:Y2^TEglKrPJP%"><value name="IF"><block type="logic_compare" id=")_hY18wP}%6Qg5q_atMg" inline="false"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="_02nRJ8492r`ZdJh.v5*"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><block type="get_value" id="I5MSL7nE(89H8?+(LCtu"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="THEN"><block type="text_join" id="3%c,.)-wr[?I8iC^m%jU"><mutation items="2"></mutation> <value name="ADD0"><block type="math_round" id="A+vy7T{UZ5d;/N:cH6yi"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="c(,JG5V;KHu_WJV+K[U`"><field name="NUM">3.1</field></shadow> <block type="math_arithmetic" id="Kb1o1ArN5l}`i{(]OdE8" inline="false"><field name="OP">MINUS</field> <value name="A"><shadow type="math_number" id="2G!Ri.;i*K0fft2Q3^e2"><field name="NUM">1</field></shadow> <block type="get_value" id="E{Y;kx^;NuPVpc6_3MOc"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><shadow type="math_number" id="+V:WMEp-}NY`s7g*:SOt"><field name="NUM">1</field></shadow> <block type="get_value" id="dP3*|rmhsFG{8tn%dS{C"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value></block></value> <value name="ADD1"><block type="text" id="cPWiWrL88R{z*XfKm8ig"><field name="TEXT">Grad kälter als im Wohnzimmer</field></block></value></block></value> <value name="ELSE"><block type="text_join" id="2sqUa5;,`iSdRH-xDDIC"><mutation items="2"></mutation> <value name="ADD0"><block type="math_round" id="~0rB3|idqsDi{eu+iwUY"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="c(,JG5V;KHu_WJV+K[U`"><field name="NUM">3.1</field></shadow> <block type="math_arithmetic" id="hrU!yq.-ZtXT(3baAoa*" inline="false"><field name="OP">MINUS</field> <value name="A"><shadow type="math_number" id="2G!Ri.;i*K0fft2Q3^e2"><field name="NUM">1</field></shadow> <block type="get_value" id="z_s{^wg-kI.~]mgf3jZ+"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><shadow type="math_number" id="+V:WMEp-}NY`s7g*:SOt"><field name="NUM">1</field></shadow> <block type="get_value" id="X#Hx-YdH9VI0bq@qLxl["><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value></block></value> <value name="ADD1"><block type="text" id="XB-zLdm-nmdmU9k0LxW0"><field name="TEXT">Grad wärmer als im Wohnzimmer</field></block></value></block></value></block></value></block></value> <next><block type="timeouts_settimeout" id="xA_MJ^@=AB=-WtDTe(3}"><field name="NAME">timeout</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="comment" id="s30b2{fSQ:a0uC3`+QWU"><field name="COMMENT">Wohnzimmer</field> <next><block type="controls_if" id="l(E24=q]l]b,GJDj4dSj"><value name="IF0"><block type="logic_compare" id="MKwJn0C!O]xc!~.9|B`*"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="p-SHbJ5Dmwr6djxg2ohH"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="?}A;8(IyMF%F@(t]Kc~+"><field name="TEXT">Wohnzimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id=")M^jLcZ!hCpj,X={-`nV"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="p)bNOdcZFVoq1e^M5V-."><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="As,dG(xO[B@wIYcyAG?h"><field name="COMMENT">Küche</field> <next><block type="controls_if" id="wrH-}P(84mn7Y/rg8A[."><value name="IF0"><block type="logic_compare" id="kg.QKB751NaS#Ihk1Vlg"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="qnTz1Oe31sq:NXjmbxIJ"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="3=W.?c8BZN+QrGX4xL}h"><field name="TEXT">Küche</field></block></value></block></value> <statement name="DO0"><block type="control" id="}?dK++*V.7JQcjG{3uhB"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="qHoN]~u1FI@iDQs*2C2v"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="_amxz6B=9F}_2uEGsK}`"><field name="COMMENT">Badezimmer</field> <next><block type="controls_if" id=".n7JtGwDJDGfaeyl!8*B"><value name="IF0"><block type="logic_compare" id="I-@9%{Ng!%}9rE#IESc;"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="c?dSeG!fu]W8UO@?D4I3"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="MivGV@*kt)3rY9COKpKA"><field name="TEXT">Badezimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="zTwXc~r8Ldt0u-5TNcVn"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="*X*~qQG3]~[NC{WMMndW"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="CJNG59[?CJ|U-=Bf]c)z"><field name="COMMENT">Gästezimmer</field> <next><block type="controls_if" id="OC]k1_}iDlExQPVc=(ib"><value name="IF0"><block type="logic_compare" id="OBIXw6hJ@]2Xr`HBIz5h"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="=x~5W)ns/VV;c|RFqQcE"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="IxW:hplIvDQm1ax=@X+M"><field name="TEXT">Gästezimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="g+2]wvsrhR8vxv7c,kJ_"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="5q6/z~S`0DeJ6sYrWhj1"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="C6,wSh?BEZ,G:B9Tl@#w"><field name="COMMENT">Flur</field> <next><block type="controls_if" id="l/g@UNw6pzeQ6_698R:-"><value name="IF0"><block type="logic_compare" id="=Z)D6qrCzY2oU/fVV93A"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="StsaG2CB;*5f5wIvH,kE"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="7N;yy7cC=tE`}MYOFfF6"><field name="TEXT">Flur</field></block></value></block></value> <statement name="DO0"><block type="control" id="5#-V887QhCCSAzI+twok"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="NurE:%K_z!^Vlj(fn5qI"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="qKD3bDxHV;NBtuFFs|e."><field name="COMMENT">Schlafzimmer</field> <next><block type="controls_if" id="iMz(H}c1#NO@KVNnhnlQ"><value name="IF0"><block type="logic_compare" id="z`vyyAWvaYdxt8YZt,0O"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="mEF)naqwJ#xLCe1NeKO:"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="F7::fb4cokeJJD:fk~pV"><field name="TEXT">Schlafzimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="{2s/h/xpkm]F+1ik-f4m"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="ft7Uf33@IB1zu_xdTAxn"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="wIYZ1bLOSjFi=NxT9WcM"><field name="COMMENT">Keller-Flur</field> <next><block type="controls_if" id="%EEK(pKJ%lGo)32cR7qF"><value name="IF0"><block type="logic_compare" id="7Mb(anM]kR9056)gxqnW"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="xF~b7`{fV||4n}zB-}.u"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="VH^2CJsPGOd!6hGoqdK4"><field name="TEXT">Keller-Flur</field></block></value></block></value> <statement name="DO0"><block type="control" id="F_[xezXeyr~*(A=q.YFJ"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="SjtrIJ?gA20oj88N|srb"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="E#D1a/,rcH`dm3?Nx^:q"><field name="COMMENT">Werkstatt</field> <next><block type="controls_if" id="=s~d:-WIg1#TE`^zf9[4"><value name="IF0"><block type="logic_compare" id="*:X%VM^+2MoYl-:u!WK`"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="6fnRWyK0;P(.x;H{)22T"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="S:#keRENw1gGjHWLUD!-"><field name="TEXT">Werkstatt</field></block></value></block></value> <statement name="DO0"><block type="control" id="ql@`4(PNtjS_AM0bEqD+"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="P[ojMqQDVRouu#vN~{[%"><field name="VAR">Ausgabetext</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml>
Hier das Blockly zum erstellen eines Datenpunktes. (hier als Button, wenn man einen Switch will einfach switch an diese Stelle schreiben) >! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="-337" y="13"><mutation statements="false"><arg name="Name"></arg> <arg name="Initialisierung"></arg> <arg name="Beschreibung"></arg> <arg name="Type"></arg> <arg name="Rolle"></arg></mutation> <field name="NAME">Variablen anlegen</field> <field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIG5hbWU6IEJlc2NocmVpYnVuZywNCiAgcmVhZDogdHJ1ZSwgDQogIHdyaXRlOiB0cnVlLCANCiAgdHlwZTogVHlwZSwgDQogIGRlZjogZmFsc2UsDQogIHJvbGU6IFJvbGxlDQp9KTs=</field> <comment pinned="false" h="80" w="160">Hier ist das Javascript drin.</comment></block> <block type="procedures_callcustomnoreturn" id="O45R/5Gw(j@)2M*_xdcB" x="-337" y="62"><mutation name="Variablen anlegen"><arg name="Name"></arg> <arg name="Initialisierung"></arg> <arg name="Beschreibung"></arg> <arg name="Type"></arg> <arg name="Rolle"></arg></mutation> <value name="ARG0"><block type="text" id="nSr7Hq~;DUU2#lB+Yj:}"><field name="TEXT">Eigene_Datenpunkte.OrdnerX.DatenpunktY</field></block></value> <value name="ARG1"><block type="text" id="xlqa55O11o`@{+#@Yj;%"><field name="TEXT">true</field></block></value> <value name="ARG2"><block type="text" id="yEhqZqxh*}Ip8?yzOW7I"><field name="TEXT">neuer Datenpunkt</field></block></value> <value name="ARG3"><block type="text" id="sYAGk@@-Fz^fIDONX!/i"><field name="TEXT">boolean</field></block></value> <value name="ARG4"><block type="text" id="/t]#6;-K%9u+eD1jG09@"><field name="TEXT">button</field></block></value></block></xml>
-
Vielen Dank
Übrigens es hat bei mir funktioniert , sage nur bei der Abfrage immer beides zusammen an, Feuchtigkeit und Temperatur geht ja auch , danke für den Lösungsansatz, hat mir viel Zeit erspart
-
Freut mich das Du es gebrauchen kannst und das es funktioniert.
Man kann zwar die Datenpunkte inklusive Smartgeräte Namen auch in JS erstellen und erspart sich einige Schritte, aber ich wollte bewußt mal bei Blockly bleiben.
Hier noch ein Beispiel wo gleich der Datenpunkt inklusive SmartName mit einem Javascript erstellt wird und automatisch im iot/Cloud Adapter landet. (ist mir mit Blockly noch nicht gelungen)
//Alexa Luftfeuchtigkeit-Ansage aussen createState("Eigene_Datenpunkte.Alexa_antwortet.Luftfeuchtigkeitaussenansage", { name: 'Alexa_Luftfeuchtigkeitaussenansage', role: 'switch', type: 'boolean', read: true, write: true, "smartName": { "de": "Alexa Luftfeuchtigkeitaussenansage", "smartType": "SWITCH" } })
-
falls es gerade Jemand probiert und es nicht funktionieren sollte…es liegt nicht am Blockly
-
sagt bei dir Alexa die Werte mit Komma? ich hab jetzt extra die Zahl von 12.5 als 12,5 übertragen trotzdem sagt sie 12 –-- 5 nur ne Pause gibt es da einen Trick?
-
in meinen Script ist ein runden Baustein, sonst habe ich es auch nicht anders hin bekommen. Ich habe mich dann mit ganzen Zahlen begnügt.
-
Top!
Vielen Dank an dslraser!
Eine gute Inspiration und Dank der geposteten Blockly Scripte schnell umgesetzt, wodurch meine Frau unsere Alexas noch ein wenig mehr ins Herz geschlossen hat
-
Hallo und vielen Dank für das gute Skript.
Ich habe nur ein Problem. Wenn ich die Sache über speak an einen Echo sende passt Dach auch aber ich möchte gern, dass er mir die Antwort auf den Echo zurückgibt, den ich ansprach. Bzw. alle den Text ausgeben. Über das speak der Gruppe "überall" gehts auch nicht zuverlässig. Das wäre mir z.B. bei der Infoausgabe, dass die Waschmaschine fertig ist wichtig.
Viele Grüße,
Jens
-
dann mach das doch
setState("alexa2.0.Echo-Devices." + getState('alexa2.0.History.serialNumber').val + ".Commands.speak", 'hier der text rein');
-
Ich habe den Alexa2 Adapter auf Push-Verbindung stehen.
In diesem Script kommt die Ansage immer auf den angesprochenen Echo. Die Prüfung welcher Echo angesprochen wurde findet hier statt.
Meine Echos haben Namen. In meinem Fall heißen die Echos genau so wie der Raum in dem sie stehen.(ein Vergleich/Prüfung geht aber auch über die Seriennummer) Ist der Name in der History/Alexa2 Adapter gleich mit dem Namen des angesprochenen Echos gibt dieser die Antwort aus.Der Speak in der "Überall" Gruppe ist für Musik gedacht und ist dafür meines Wissens nicht geeignet.
Wenn mehrere Echos die Ausgabe machen sollen, dann lasse die Prüfung weg. Bei kurzen Antworten, wie z.B. "die Waschmaschine ist fertig", oder Anwesenheitshansagen usw. lasse ich mir das auch nacheinander in verschiedenen Räumen ansagen.Synchron geht das leider nicht, soweit ich weiß .
Hier mal z.B. Ansagen nacheinander:
-
Super. Vielen Dank DSLRASER! Jetzt klappt alles genau so wie ich es möchte. Das mit dem History habe ich noch nicht gewusst.
-
-
Das ist so super und funktioniert bestens. Vielen Dank
Grüße
-
Das einzige Problem, was ich jetzt noch habe, ist dass die Lautstärke der Ansage immer wieder auf 8 "rutscht" die Ursache habe ich aber noch nicht ausmachen können. Ich hatte händisch auf allen Gerät unter Objekte die commands die speak-Volume auf 50 gesetzt. Aber das wird immer wieder verspult. Ich habe jetzt noch in keinem Skript gesehen, dass ihr vor der Ausgabe die Speak Volume auf einen Wert setzt- Was mir jetzt als einziges noch einfallen würde. Wie macht ihr das?
Beste Grüße,
Schlenz
-
Das einzige Problem, was ich jetzt noch habe, ist dass die Lautstärke der Ansage immer wieder auf 8 "rutscht" die Ursache habe ich aber noch nicht ausmachen können. Ich hatte händisch auf allen Gerät unter Objekte die commands die speak-Volume auf 50 gesetzt. Aber das wird immer wieder verspult. Ich habe jetzt noch in keinem Skript gesehen, dass ihr vor der Ausgabe die Speak Volume auf einen Wert setzt- Was mir jetzt als einziges noch einfallen würde. Wie macht ihr das?
Beste Grüße,
Schlenz ` Du kannst mal probieren vor dem ersten Wort Deiner Ansage die gewünschte Lautstärke mit Semikolon getrennt einzutragen.
Dann wird die Ansage mit dieser Lautstärke gemacht und anschliessend auf den vorherigen Wert zurück gestellt.
In dem Bild ist es Lautstärke 80 (8)
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201812 ... 3bfd61.jpg">https://uploads.tapatalk-cdn.com/20181228/2fd059097770fbfddae8df4aab3bfd61.jpg</link_text>" /> -
Temperatur und Luftfeuchtigkeit.
Im Blockly weiter oben wurden mir keine negativen Temperaturen angesagt, bzw negative Werte als positiver Wert angesagt.
Ich habe jetzt mal mein Blockly umgebaut. So sagt mir jetzt Alexa sogar die Kommastellen an, obwohl die gleichen Datenpunkte verwendet werden.
Ich habe testweise mal einen Datenpunkt mit Minuswerten angelegt, auch den hat Alexa korrekt angesagt. Einen echten Minus Temperaturwert von meinem Sensor konnte ich bisher nicht testen….ist gerade nicht unter Null..
Vielleicht kann das ja mal jemand bei sich ausprobieren.
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="Ac;^b|`@QSn~WL%:8Hxc" x="-563" y="-363"><mutation items="1"></mutation>
<field name="CONDITION">any</field><value name="OID0"><shadow type="field_oid" id="hD}F{s%j}T;e:l|Y_t5O"><field name="oid">javascript.0.Eigene_Datenpunkte.Alexa_antwortet.Temperaturansage</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id="5VFfHYTB!S7A^A*?SicA"><field name="VAR">Ausgabetext</field> <value name="VALUE"><block type="text_join" id="4?k[0reCRn.mjkxHg41~"><mutation items="30"></mutation> <value name="ADD0"><block type="logic_ternary" id="Z|]fwNAWC=?[6OKQZ,Li"><value name="IF"><block type="logic_compare" id="BL[Gz2X7Ts^n=W/8+L=L" inline="false"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="Vh/8rxU]yD!3mT}0y[eC"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><block type="math_number" id="LEjfr~5Tm;4%0R];R1}s"><field name="NUM">0</field></block></value></block></value> <value name="THEN"><block type="text_join" id="ZmQmi(8rSQwnTHmbtjXY"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="75Z)Wn`YF@;38~bIM;pA"><field name="TEXT">60;die Temperatur im Wohnzimmer ist,</field></block></value> <value name="ADD1"><block type="get_value" id="Wbs}M!Y#v^O/FCR=ZHbS"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ELSE"><block type="text_join" id="T7wA,7+oYWw6TN;HSJEd"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="8zS(b~Y(awb#-jwG}JoS"><field name="TEXT">60;die Temperatur im Wohnzimmer ist,</field></block></value> <value name="ADD1"><block type="get_value" id="8gul,ghV=o6*A|tf#*ad"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value></block></value> <value name="ADD1"><block type="text" id="gj9|0C4CJF7J/jO@)Qa0"><field name="TEXT">Grad,</field></block></value> <value name="ADD2"><block type="text" id="k59DZfRE#w~3y~/b[OH_"><field name="TEXT">Die Luftfeuchtigkeit im Wohnzimmer ist,</field></block></value> <value name="ADD3"><block type="get_value" id="WhS9vGl{iR}*!Z.~8_Hj"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.HUMIDITY</field></block></value> <value name="ADD4"><block type="text" id="6{|}5^GsE]F!31Nfa6my"><field name="TEXT">Prozent,</field></block></value> <value name="ADD5"><block type="logic_ternary" id="f,SIc2DQs%ESsrx;zY/G"><value name="IF"><block type="logic_compare" id="zJj8Z:wS]Cip8yDik4Gu" inline="false"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="-qXhG^2pUhaXf2@?b`K`"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><block type="math_number" id="A8iOq!T[_):2p-1oi679"><field name="NUM">0</field></block></value></block></value> <value name="THEN"><block type="text_join" id="/OqaV#R0fBz?!j{M}d.4"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="S5_s|F5_Z,5*j_MUnOQy"><field name="TEXT">die Temperatur im Badezimmer ist,</field></block></value> <value name="ADD1"><block type="get_value" id="zmnIm]cR#fwJ^DSyjn8x"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ELSE"><block type="text_join" id="UP8i;R_KGkv68WARc_VJ"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="6{Sw?O9jVb*|TZ#XU!xA"><field name="TEXT">die Temperatur im Badezimmer ist,</field></block></value> <value name="ADD1"><block type="get_value" id="]OiSykO.@.35*Kdk`tK,"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value></block></value> <value name="ADD6"><block type="text" id="psW)bV:jxy].Oq,TVa^|"><field name="TEXT">Grad,</field></block></value> <value name="ADD7"><block type="text" id="UNCShr{=ZXsSqVO95Wi0"><field name="TEXT">Die Luftfeuchtigkeit im Badezimmer ist,</field></block></value> <value name="ADD8"><block type="get_value" id="5^rJ:)).382)ocB06`K~"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.HUMIDITY</field></block></value> <value name="ADD9"><block type="text" id="e@XpCF(B#LXe|a83/VjS"><field name="TEXT">Prozent;</field></block></value> <value name="ADD10"><block type="logic_ternary" id="{Zn7g5Vb#GV2/R?}W;P;"><value name="IF"><block type="logic_compare" id="/F`%)Z4jSoOLsb-w801v" inline="false"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="?x]iB=yxy)Y(pvzDNdwk"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><block type="math_number" id=":cL.ufEZKK)88sSzweT5"><field name="NUM">0</field></block></value></block></value> <value name="THEN"><block type="text_join" id="WlOpT(Aqq9=.Pfc2:348"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="]z}ZZ4ffz~NZCjyrsS!k"><field name="TEXT">die Temperatur im Gästezimmer ist,</field></block></value> <value name="ADD1"><block type="get_value" id="vpnH(etC/yvyU*|(Xq,/"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ELSE"><block type="text_join" id="MRd[yIP%fE;L=dEx*Bqf"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="e4-nQY~sGl+u}CH}09yw"><field name="TEXT">die Temperatur im Gästezimmer ist,</field></block></value> <value name="ADD1"><block type="get_value" id="^s,]jd56HsEsj9DLkTJj"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value></block></value> <value name="ADD11"><block type="text" id="=9*~;2As+4jdwnG)[ZaT"><field name="TEXT">Grad,</field></block></value> <value name="ADD12"><block type="text" id="K{FLtQ0IpfSo_K:y2AJa"><field name="TEXT">Die Luftfeuchtigkeit im Gästezimmer ist,</field></block></value> <value name="ADD13"><block type="get_value" id="T^b``Vu4H;lon=V+Q#M9"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.HUMIDITY</field></block></value> <value name="ADD14"><block type="text" id="=0N|agK(V,LF}!n#Trpi"><field name="TEXT">Prozent,</field></block></value> <value name="ADD15"><block type="logic_ternary" id="#eJIBRjq-9Th-w_L]%j6"><value name="IF"><block type="logic_compare" id="!pSLYDJktWP=-m)5f+]7" inline="false"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="oQW@VuOTfQ6KGj0CuTn7"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><block type="math_number" id="ErIrD!M7~8hjjmo=|Wbd"><field name="NUM">0</field></block></value></block></value> <value name="THEN"><block type="text_join" id="s.AP,}z_XVs!{ULAp-n*"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="eA_XDkA3j=V]yQ=K+{)."><field name="TEXT">die Temperatur im Flur ist,</field></block></value> <value name="ADD1"><block type="get_value" id="qg[`Rw`Q%VGItqT~@VHm"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ELSE"><block type="text_join" id="*HC#%dBk:w+]usd)LZ!P"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="rr~,!qsVe7z;6l~]oflx"><field name="TEXT">die Temperatur im Flur ist,</field></block></value> <value name="ADD1"><block type="get_value" id="Tn*:8tA`~C7p8SgNv22:"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value></block></value> <value name="ADD16"><block type="text" id="G@Z@}vulKz7}(vVeP{6A"><field name="TEXT">Grad,</field></block></value> <value name="ADD17"><block type="text" id="}u~?Kb0ZoKMHm0*0GMvU"><field name="TEXT">Die Luftfeuchtigkeit im Flur ist,</field></block></value> <value name="ADD18"><block type="get_value" id="BjA6!Y4MOGmu3}rynH*u"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.HUMIDITY</field></block></value> <value name="ADD19"><block type="text" id="(N+_]54!Ovr67nR/KpdW"><field name="TEXT">Prozent;</field></block></value> <value name="ADD20"><block type="logic_ternary" id="kGI/S(.75^B:WdHVkswQ"><value name="IF"><block type="logic_compare" id="7y~Hfjf0;F!w3_[kSmeE" inline="false"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="jj3rvz88^Fl7AFzSJqC`"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><block type="math_number" id="W!=7A/Z7)_i1nezJ!{`a"><field name="NUM">0</field></block></value></block></value> <value name="THEN"><block type="text_join" id="3EgUtSkGcNg)7]VkmTKG"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="^hNa]9{L,Dpf7V:o4@N+"><field name="TEXT">die Temperatur im Schlafzimmer ist,</field></block></value> <value name="ADD1"><block type="get_value" id="~Y]]h~_%Ad`P1mVihjSG"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ELSE"><block type="text_join" id="v}q:R|.6Q@q3:Qr1%UPt"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="e%OEsGXIdIZX0(8hPPTc"><field name="TEXT">die Temperatur im Schlafzimmer ist,</field></block></value> <value name="ADD1"><block type="get_value" id="Q)C@KTL.q8YQQI}QilkO"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value></block></value> <value name="ADD21"><block type="text" id="c2I2]DQ]fU,e8,BD|jN="><field name="TEXT">Grad,</field></block></value> <value name="ADD22"><block type="text" id="F7^vXdo1h/]X/Ui.[N_Z"><field name="TEXT">Die Luftfeuchtigkeit im Schlafzimmer ist,</field></block></value> <value name="ADD23"><block type="get_value" id="fXvE~k+AfJ]PCc`:8-n`"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.HUMIDITY</field></block></value> <value name="ADD24"><block type="text" id=",FwwyIU;YbFW_6.(5o1R"><field name="TEXT">Prozent,</field></block></value> <value name="ADD25"><block type="logic_ternary" id="3R^%y4^|=R!FMA91Q`B3"><value name="IF"><block type="logic_compare" id="7ut_k9YzOKm?yRf0[fJz" inline="false"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="m@LU4AG__EhAFpikBeA%"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <value name="B"><block type="math_number" id="e+LUFHFLnhpx*omF]0U?"><field name="NUM">0</field></block></value></block></value> <value name="THEN"><block type="text_join" id="GQgwFy?vD,~^bO81N5t`"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="]lFGA{ekTsq|3F}m-INm"><field name="TEXT">die Temperatur im Garten ist,</field></block></value> <value name="ADD1"><block type="get_value" id="J]seew@gP`rol=b]v;`@"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value> <value name="ELSE"><block type="text_join" id="~M6_|#Z(LfQ7{}z_[o#:"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="E@ovX*h#~.%03AuT4h*_"><field name="TEXT">die Temperatur im Garten ist,</field></block></value> <value name="ADD1"><block type="get_value" id="_^qS,T(F}{C*kIfziVGX"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value></block></value></block></value> <value name="ADD26"><block type="text" id="d#c`L:%f08RF*TBL8HSs"><field name="TEXT">Grad,</field></block></value> <value name="ADD27"><block type="text" id="CMt@{::RVx2lIY3:zT*%"><field name="TEXT">Die Luftfeuchtigkeit im Garten ist,</field></block></value> <value name="ADD28"><block type="get_value" id="WkU8|jMTbfdF+2ZjnjGq"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.HUMIDITY</field></block></value> <value name="ADD29"><block type="text" id=",@[KI6x]H(,!t*4keBJx"><field name="TEXT">Prozent,</field></block></value></block></value> <next><block type="timeouts_settimeout" id="xA_MJ^@=AB=-WtDTe(3}"><field name="NAME">timeout</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="comment" id="s30b2{fSQ:a0uC3`+QWU"><field name="COMMENT">Wohnzimmer</field> <next><block type="controls_if" id="l(E24=q]l]b,GJDj4dSj"><value name="IF0"><block type="logic_compare" id="MKwJn0C!O]xc!~.9|B`*"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="p-SHbJ5Dmwr6djxg2ohH"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="?}A;8(IyMF%F@(t]Kc~+"><field name="TEXT">Wohnzimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id=")M^jLcZ!hCpj,X={-`nV"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="p)bNOdcZFVoq1e^M5V-."><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="As,dG(xO[B@wIYcyAG?h"><field name="COMMENT">Küche</field> <next><block type="controls_if" id="wrH-}P(84mn7Y/rg8A[."><value name="IF0"><block type="logic_compare" id="kg.QKB751NaS#Ihk1Vlg"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="qnTz1Oe31sq:NXjmbxIJ"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="3=W.?c8BZN+QrGX4xL}h"><field name="TEXT">Küche</field></block></value></block></value> <statement name="DO0"><block type="control" id="}?dK++*V.7JQcjG{3uhB"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="qHoN]~u1FI@iDQs*2C2v"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="_amxz6B=9F}_2uEGsK}`"><field name="COMMENT">Badezimmer</field> <next><block type="controls_if" id=".n7JtGwDJDGfaeyl!8*B"><value name="IF0"><block type="logic_compare" id="I-@9%{Ng!%}9rE#IESc;"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="c?dSeG!fu]W8UO@?D4I3"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="MivGV@*kt)3rY9COKpKA"><field name="TEXT">Badezimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="zTwXc~r8Ldt0u-5TNcVn"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="*X*~qQG3]~[NC{WMMndW"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="CJNG59[?CJ|U-=Bf]c)z"><field name="COMMENT">Gästezimmer</field> <next><block type="controls_if" id="OC]k1_}iDlExQPVc=(ib"><value name="IF0"><block type="logic_compare" id="OBIXw6hJ@]2Xr`HBIz5h"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="=x~5W)ns/VV;c|RFqQcE"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="IxW:hplIvDQm1ax=@X+M"><field name="TEXT">Gästezimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="g+2]wvsrhR8vxv7c,kJ_"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="5q6/z~S`0DeJ6sYrWhj1"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="C6,wSh?BEZ,G:B9Tl@#w"><field name="COMMENT">Flur</field> <next><block type="controls_if" id="l/g@UNw6pzeQ6_698R:-"><value name="IF0"><block type="logic_compare" id="=Z)D6qrCzY2oU/fVV93A"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="StsaG2CB;*5f5wIvH,kE"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="7N;yy7cC=tE`}MYOFfF6"><field name="TEXT">Flur</field></block></value></block></value> <statement name="DO0"><block type="control" id="5#-V887QhCCSAzI+twok"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="NurE:%K_z!^Vlj(fn5qI"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="qKD3bDxHV;NBtuFFs|e."><field name="COMMENT">Schlafzimmer</field> <next><block type="controls_if" id="iMz(H}c1#NO@KVNnhnlQ"><value name="IF0"><block type="logic_compare" id="z`vyyAWvaYdxt8YZt,0O"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="mEF)naqwJ#xLCe1NeKO:"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="F7::fb4cokeJJD:fk~pV"><field name="TEXT">Schlafzimmer</field></block></value></block></value> <statement name="DO0"><block type="control" id="{2s/h/xpkm]F+1ik-f4m"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="ft7Uf33@IB1zu_xdTAxn"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="wIYZ1bLOSjFi=NxT9WcM"><field name="COMMENT">Keller-Flur</field> <next><block type="controls_if" id="%EEK(pKJ%lGo)32cR7qF"><value name="IF0"><block type="logic_compare" id="7Mb(anM]kR9056)gxqnW"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="xF~b7`{fV||4n}zB-}.u"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="VH^2CJsPGOd!6hGoqdK4"><field name="TEXT">Keller-Flur</field></block></value></block></value> <statement name="DO0"><block type="control" id="F_[xezXeyr~*(A=q.YFJ"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="SjtrIJ?gA20oj88N|srb"><field name="VAR">Ausgabetext</field></block></value></block></statement> <next><block type="comment" id="E#D1a/,rcH`dm3?Nx^:q"><field name="COMMENT">Werkstatt</field> <next><block type="controls_if" id="=s~d:-WIg1#TE`^zf9[4"><value name="IF0"><block type="logic_compare" id="*:X%VM^+2MoYl-:u!WK`"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="6fnRWyK0;P(.x;H{)22T"><field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field></block></value> <value name="B"><block type="text" id="S:#keRENw1gGjHWLUD!-"><field name="TEXT">Werkstatt</field></block></value></block></value> <statement name="DO0"><block type="control" id="ql@`4(PNtjS_AM0bEqD+"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="P[ojMqQDVRouu#vN~{[%"><field name="VAR">Ausgabetext</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml>
![3822_bildschirmfoto_2018-12-29_um_18.00.05.png](/assets/uploads/files/3822_bildschirmfoto_2018-12-29_um_18.00.05.png) ![3822_bildschirmfoto_2018-12-29_um_18.00.52.png](/assets/uploads/files/3822_bildschirmfoto_2018-12-29_um_18.00.52.png)