NEWS
Temperatur mit Alexa abfragen
-
Das mit den Leerzeichen ist bei mir nur durch Zufall entstanden.
Aber im Grunde sind es wirklich nur die Leerzeichen in den Textbausteinen damit Alexa Minus und auch Komma Werte ansagt.
Deshalb reicht auch ein kürzeres Blockly.
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="Ac;^b|`@QSn~WL%:8Hxc" x="-588" y="-563"><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="12"></mutation> <value name="ADD0"><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; im Wohnzimmer sind,</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="ADD1"><block type="text" id="gj9|0C4CJF7J/jO@)Qa0"><field name="TEXT">Grad,</field></block></value> <value name="ADD2"><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">im Badezimmer sind,</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="ADD3"><block type="text" id="psW)bV:jxy].Oq,TVa^|"><field name="TEXT">Grad,</field></block></value> <value name="ADD4"><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">im Gästezimmer sind,</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="ADD5"><block type="text" id="=9*~;2As+4jdwnG)[ZaT"><field name="TEXT">Grad,</field></block></value> <value name="ADD6"><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">im Flur sind,</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="ADD7"><block type="text" id="G@Z@}vulKz7}(vVeP{6A"><field name="TEXT">Grad,</field></block></value> <value name="ADD8"><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">im Schlafzimmer sind,</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="ADD9"><block type="text" id="c2I2]DQ]fU,e8,BD|jN="><field name="TEXT">Grad,</field></block></value> <value name="ADD10"><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">im Garten sind,</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="ADD11"><block type="text" id="d#c`L:%f08RF*TBL8HSs"><field name="TEXT">Grad,</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>
Bildschirmfoto 2019-01-03 um 20.37.42.png `
Hey dslraser,
Könntest du vll auch noch deinen Datenpunkt posten?
Ich würde gerne Alexa nach der Temperatur in meinem Aquarium fragen.
Aktuell hab ich den Datenpunkt der Temperatur direkt in den Coud Adapter eingebunden, Alex Antwortet leider bisschen unschön
"Die Temperatur von Aquarium beträgt …." Hätte lieber "Die Temperatur im Aquarium beträgt.."
-
Ich habe bei mir alles auf die ssml Ansagen umgestellt. Bei mir läuft der Alexa2 Adapter 2.2.0 Ich habe Dir mal einen Ausschnitt von meinem gesamten Script gemacht. Da ich bei mir auch die Aussentemperatur ansagen lasse und in ssml die Werte anders angesagt werden habe ich noch einen zusätzlichen Datenpunkt drinn. Dort wird dann die Temperatur in Komma Werte umgerechnet. Bei mir funktioniert das gut.
Wenn Du eine andere Stimme als Hans willst, dann musst Du das nur in den Text schreiben da wo Hans steht, z.B. Vicki, oder Marlene oder Alexa.
Die Datenpunkte und den Smartnamen kannst Du benennen wie Du willst, da es anschließend eine Routine in der Amazon App wird. Die Ordnerstrucktur der Datenpunkte bestimmst Du mit den Punkten im Pfad.
Nach dem Scriptstart werden die Datenpunkte erst angelegt, anschließend nochmal das Script neu starten oder aktualisieren. Im Iot/Cloud Adapter nur noch aus dem erstellten Smartgerät ein Switch machen.
Wenn Du Fragen hast, frag einfach nochmal.
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="-3312" y="-2487"><mutation statements="false"><arg name="Name"></arg>
<arg name="Initialisierung"></arg>
<arg name="Beschreibung"></arg>
<arg name="Unit"></arg>
<arg name="Type"></arg>
<arg name="Rolle"></arg>
<arg name="smartName"></arg></mutation>
<field name="NAME">Variablen anlegen</field>
<field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIG5hbWU6IEJlc2NocmVpYnVuZywNCiAgcmVhZDogdHJ1ZSwgDQogIHdyaXRlOiB0cnVlLCANCiAgdHlwZTogVHlwZSwgDQogIGRlZjogZmFsc2UsDQogIHJvbGU6IFJvbGxlLA0KICB1bml0OiBVbml0LA0KICBzbWFydE5hbWU6IHNtYXJ0TmFtZQ0KfSk7DQo=</field>
<comment pinned="false" h="80" w="160">Hier ist das Javascript drin.</comment></block>
<block type="procedures_callcustomnoreturn" id="fmQ5.U~u7eU~H_;7~cf(" x="-3312" y="-2412"><mutation name="Variablen anlegen"><arg name="Name"></arg>
<arg name="Initialisierung"></arg>
<arg name="Beschreibung"></arg>
<arg name="Unit"></arg>
<arg name="Type"></arg>
<arg name="Rolle"></arg>
<arg name="smartName"></arg></mutation>
<value name="ARG0"><block type="text" id="xvjB@.U(0M6q=RegkQd"><field name="TEXT">Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.Gartentemperatur</field></block></value> <value name="ARG1"></value> <value name="ARG2"><block type="text" id="7
7rLw]Mf^I2!|G![t3C"><field name="TEXT">Gartentemperatur</field></block></value>
<value name="ARG3"><block type="text" id="~L5,-@e-p4nR?CzKEnU"><field name="TEXT">°C</field></block></value> <value name="ARG4"><block type="text" id="Y2^(M|5:}LEj(^EwJsg4"><field name="TEXT">string</field></block></value> <value name="ARG5"><block type="text" id="c:yONrEkeds5U#wFzd}4"><field name="TEXT">value.temperature</field></block></value> <value name="ARG6"></value> <next><block type="procedures_callcustomnoreturn" id="Zr1-r5Ob6J};#u)uJHvo"><mutation name="Variablen anlegen"><arg name="Name"></arg> <arg name="Initialisierung"></arg> <arg name="Beschreibung"></arg> <arg name="Unit"></arg> <arg name="Type"></arg> <arg name="Rolle"></arg> <arg name="smartName"></arg></mutation> <value name="ARG0"><block type="text" id="h8Q1Dil_an8
feVRbdu"><field name="TEXT">Eigene_Datenpunkte.01Alexa2Ansagen.Ansagen.01Temperaturansage_Garten</field></block></value> <value name="ARG1"><block type="text" id="fNbe#XjVTQ1kPU4b)vHu"><field name="TEXT">true</field></block></value> <value name="ARG2"><block type="text" id="-wgyV+1
ljgk~0?I*hj2"><field name="TEXT">Temperaturansage</field></block></value>
<value name="ARG3"></value>
<value name="ARG4"><block type="text" id="TDUEFb#y[7nougL=hkw."><field name="TEXT">boolean</field></block></value>
<value name="ARG5"><block type="text" id="NuIc[naCx}11f8{o!0jM"><field name="TEXT">button</field></block></value>
<value name="ARG6"><block type="text" id="HY[%c-(Ilf_MxpS[0NHG"><field name="TEXT">Temperatur Ansage Garten</field></block></value>
<next><block type="on_ext" id="HWy+4CLLtzWD3_3G87(D"><mutation items="1"></mutation>
<field name="CONDITION">any</field><value name="OID0"><shadow type="field_oid" id="AzV4hsdCEbHDqcBc.B=j"><field name="oid">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></shadow></value> <statement name="STATEMENT"><block type="comment" id="2eIdM#}2*Ld6Y+!PI,}*"><field name="COMMENT">Muss durch eigenen Datenpunkt ersetzt werden</field> <next><block type="variables_set" id="C,Q+vt~R4N,O_cg4%jIz"><field name="VAR">ATTempalt</field> <value name="VALUE"><block type="get_value" id="N~,PW5}_38t3Mm9Zgl2T"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE</field></block></value> <next><block type="comment" id="2ZZJVs6H?5hpH]:W;(mf"><field name="COMMENT">Prüfung ob es eine Zahl mit Punkt ist</field> <next><block type="controls_if" id="E|*.CXy#U7.!~f%[Z3uX"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="5g_Q,60ArWyOy_gm!v%#"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="Dvv.ng}8+nXc~6Wc,0LN"><field name="END">FIRST</field> <value name="VALUE"><block type="convert_tostring" id="8w@[eSuHw(Xj^W%Q-ie}"><value name="VALUE"><block type="variables_get" id="PQJ5651lB#ho,m8)N]OS"><field name="VAR">ATTempalt</field></block></value></block></value> <value name="FIND"><shadow type="text" id=":~m1t|7:+{3sN??Qg8k3"><field name="TEXT">.</field></shadow></value></block></value> <value name="B"><block type="math_number" id="~Q?DphZBPZ*yd?,jn{K1"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="comment" id="kQ|L%IbCckL,*QIeVv,a"><field name="COMMENT">Reduzierung auf eine Nachkommastelle</field> <next><block type="variables_set" id="kyb53p6qG0y2b+i?ZE7)"><field name="VAR">ATnumber_with_dot</field> <value name="VALUE"><block type="convert_tostring" id="`i)}aCg[}[,3X4gI,Lo`"><value name="VALUE"><block type="math_arithmetic" id="[U9o@^8Shy:a6SaT5Y./"><field name="OP">DIVIDE</field> <value name="A"><shadow type="math_number" id=":m83B^ocMuWT[1)v5r!%"><field name="NUM">1</field></shadow> <block type="math_round" id="zJyC;7])I;^RP#:0zUtL"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id=":8im043{@komE:.%No`-"><field name="NUM">0.16666</field></shadow> <block type="math_arithmetic" id=".Rnz%lC3jhowi^0j^*T|"><field name="OP">MULTIPLY</field> <value name="A"><shadow type="math_number" id="3v;V[EwqL{E|VWc[:[/R"><field name="NUM">22</field></shadow> <block type="variables_get" id="IP78,/ZpG{g55_,9*^Wk"><field name="VAR">ATTempalt</field></block></value> <value name="B"><shadow type="math_number" id="I!IH0LjtSJ`@WRLpxh{s"><field name="NUM">10</field></shadow></value></block></value></block></value> <value name="B"><shadow type="math_number" id="fQ(lV5hwk:WZ^LF}Oaml"><field name="NUM">10</field></shadow></value></block></value></block></value> <next><block type="comment" id="%kjM4z}uI?/:u+bB-fl;"><field name="COMMENT">Ziffern vor dem Punkt</field> <next><block type="variables_set" id="~^dN*J*MO0M,BnSlKPB("><field name="VAR">ATdecimal</field> <value name="VALUE"><block type="text_getSubstring" id="yTtA,qJ@9f2@/AE-EpH="><mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"><block type="variables_get" id="%5K/d!^is(kk{u3TJgen"><field name="VAR">ATnumber_with_dot</field></block></value> <value name="AT2"><block type="math_arithmetic" id="0+BL`~d.~kH^C=k@HbO!"><field name="OP">MINUS</field> <value name="A"><shadow type="math_number" id="dqeWj1g.3?|/lv}BP28V"><field name="NUM">1</field></shadow> <block type="text_indexOf" id="XbWz9i#c36fba:=@H*j_"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="99(),.-1pJX7*,9?t3I~"><field name="VAR">ATnumber_with_dot</field></block></value> <value name="FIND"><shadow type="text" id="j)wFGK{!g)T|QCszFSHZ"><field name="TEXT">.</field></shadow></value></block></value> <value name="B"><shadow type="math_number" id="ZU2@}SbCt;iamp+7P2*."><field name="NUM">1</field></shadow></value></block></value></block></value> <next><block type="comment" id="ue7mbc`1B!WmfluN^;=`"><field name="COMMENT">Ziffern nach dem Punkt</field> <next><block type="variables_set" id="}(0k)T9PMz@e7Vo_QA;V"><field name="VAR">ATdecimal_place</field> <value name="VALUE"><block type="text_getSubstring" id="ecCC;B,m}V|:=)eIl2QG"><mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"><block type="variables_get" id="0GBG5_WP3Hsm(7P9m-oE"><field name="VAR">ATnumber_with_dot</field></block></value> <value name="AT1"><block type="math_arithmetic" id="^@GB;i3GWjqi^2zyONdM"><field name="OP">ADD</field> <value name="A"><shadow type="math_number" id="dqeWj1g.3?|/lv}BP28V"><field name="NUM">1</field></shadow> <block type="text_indexOf" id="5p_F3nLTLg1!K!8:S%{I"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="+=Y9BpNCNVLUcE]yJ3Td"><field name="VAR">ATnumber_with_dot</field></block></value> <value name="FIND"><shadow type="text" id="VWNL?q]xtow,d?J25::s"><field name="TEXT">.</field></shadow></value></block></value> <value name="B"><shadow type="math_number" id="]7tSw`Q/}s[9o(NItFiv"><field name="NUM">1</field></shadow></value></block></value></block></value> <next><block type="comment" id="4jE+y/^DQva`GSs;e)Rn"><field name="COMMENT">Zusammensetzen der Teile mit Komma</field> <next><block type="variables_set" id="xX,UYQmi60v(!7AU!B@_"><field name="VAR">ATnumber_with_comma</field> <value name="VALUE"><block type="text_join" id="2}A5i;,3I!,2VWW[0@XT"><mutation items="3"></mutation> <value name="ADD0"><block type="variables_get" id=".@!5JN@V5IOwh-[_BOtH"><field name="VAR">ATdecimal</field></block></value> <value name="ADD1"><block type="text" id="!Qrz934?1,~IDf9]y1_w"><field name="TEXT">,</field></block></value> <value name="ADD2"><block type="variables_get" id="Am2qU)J3KMvAlHUMXoT@"><field name="VAR">ATdecimal_place</field></block></value></block></value> <next><block type="update" id="b0e4!FJXIB3oP+obq;{|"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.Gartentemperatur</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="k%^/QGka6TDD2,x{}xX{"><field name="VAR">ATnumber_with_comma</field></block></value> <next><block type="debug" id="iDDsr.Gdw?=kJ-~!5b2m"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="or0T6K!uuP5AB[y.A/P!"><field name="TEXT">Schlafzimmer</field></shadow> <block type="variables_get" id="@.bCA)+ian-9,{A8,dtU"><field name="VAR">ATnumber_with_comma</field></block></value> <next><block type="comment" id="CQ6ifzYjbo4jB`kl{]rx"><field name="COMMENT">Debugausgabe des neuen Wertes</field></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement> <statement name="ELSE"><block type="comment" id="F!{3tN!2A-bFji^LXN,@"><field name="COMMENT">Falls kein Punkt bzw. Nachkommastelle vorhanden</field> <next><block type="variables_set" id="So@qIYE1vO-Y){NX,I}%"><field name="VAR">ATnumber_with_comma</field> <value name="VALUE"><block type="variables_get" id=".k:xdbO+#)HDsyAEaGaD"><field name="VAR">ATTempalt</field></block></value> <next><block type="update" id="r4parV0pXKu9vzV?/0ij"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.06Garten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="convert_tostring" id="ii#rmY.|EHT5[GyO00E="><value name="VALUE"><block type="variables_get" id="x(dY!e5U]{XM/SC@a]L}"><field name="VAR">ATTempalt</field></block></value></block></value> <next><block type="debug" id="1WDec7ClL0dw/rwe)C}/"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="or0T6K!uuP5AB[y.A/P!"><field name="TEXT">Schlafzimmer_alt</field></shadow> <block type="variables_get" id="{r|r0ZRa3b[5#?R2BmsE"><field name="VAR">ATTempalt</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></statement> <next><block type="on_ext" id="Ac;^b|`@QSn~WL%:8Hxc"><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.01Alexa2Ansagen.Ansagen.01Temperaturansage_Garten</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id="|WVj*24xafVIwBG=DDOS"><field name="VAR">Garten</field> <value name="VALUE"><block type="get_value" id="J]seew@gP`rol=b]v;`@"><field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.06Garten</field></block></value> <next><block type="variables_set" id="5VFfHYTB!S7A^A*?SicA"><field name="VAR">Ansage_Hans</field> <value name="VALUE"><block type="text_join" id="d!(X5;m%acXr+.RTR[c_"><mutation items="8"></mutation> <value name="ADD0"><block type="text" id="2C(`*jF(a)Ur[D*Y3G(F"><field name="TEXT"><speak><voice name="Alexa"></field></block></value> <value name="ADD1"><block type="text" id="l?H[uW)])c`!Xq~D?E=|"><field name="TEXT">Alles klar, Hans sieht gerade nach.</field></block></value> <value name="ADD2"><block type="text" id="Yd6VT^,#ZvAD%HYXlPNw"><field name="TEXT"></voice><voice name="Hans"></field></block></value> <value name="ADD3"><block type="text" id="#xpb|4Rb:|faA+]n/3t="><field name="TEXT">Okay, los gehts:</field></block></value> <value name="ADD4"><block type="text" id="^hNa]9{L,Dpf7V:o4@N+"><field name="TEXT">draussen im Garten sind,</field></block></value> <value name="ADD5"><block type="variables_get" id="S2kH5GpI=fEo?4sQ*UMc"><field name="VAR">Garten</field></block></value> <value name="ADD6"><block type="text" id="d#c`L:%f08RF*TBL8HSs"><field name="TEXT">Grad.</field></block></value> <value name="ADD7"><block type="text" id="5s)P@Uf1}gTE7/fes^|z"><field name="TEXT"></voice></speak></field></block></value></block></value> <next><block type="comment" id="E#D1a/,rcH`dm3?Nx^:q"><field name="COMMENT">Echo Wohnzimmer</field> <next><block type="control" id=")M^jLcZ!hCpj,X={-`nV"><mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.ssml</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="p)bNOdcZFVoq1e^M5V-."><field name="VAR">Ansage_Hans</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></xml>
![3822_bildschirmfoto_2019-02-02_um_16.05.53.png](/assets/uploads/files/3822_bildschirmfoto_2019-02-02_um_16.05.53.png)
-
Wenn Du Fragen hast, frag einfach nochmal. `
Hallo DSLRaser!
Ich hab dieses Script von dir in Verwendung.
Verknüpft hab ich es mit dem HUE-Temperatursensor vom Bewegungsmelder.
Diesen kann ich mit Node-Red auslesen.
Die Abfrage über eine Routine über Alexa funktioniert soweit.
Nur kommt nach "Ok, ich schau mal nach" erst nach mehreren Minuten die Ansage der Temperatur!
EDIT: es sind genau 20 Minuten! Als sich nach 20 Minuten der Datenpunkt aktualisiert hat, hat Alexa geplappert!
EDIT 2: Ok, es sind nich immer 20 Minuten. Hab gerade in der Alexa-App gesehen, dass es sehr unterschiedlich ist. 2, 10, 5, usw.
Könnte es auch mit Node-Red zusammenhängen, dass der DP erst so spät erstellt/abgefragt wird?
Könntest du dir eventuell denken was das sein kann?
-
also mehrere Minuten kann ich nicht nach vollziehen…?
Das Timeout steht auf 1000ms, oder hast Du da was anderes eingestellt ?
Ich habe für diese Blocklys immer einen separaten Datenpunkt als Trigger, dieser wird dann in der Routine angesprochen und aktualisiert und löst dann das Blockly aus bzw. arbeitet es ab.
Was ist hue-motion-temperatur-kinderzimmer ? ist der selbst erstellt, oder ein state vom Bewegungsmelder ?
-
also mehrere Minuten kann ich nicht nach vollziehen…?
Das Timeout steht auf 1000ms, oder hast Du da was anderes eingestellt ?
Ich habe für diese Blocklys immer einen separaten Datenpunkt als Trigger, dieser wird dann in der Routine angesprochen und aktualisiert und löst dann das Blockly aus bzw. arbeitet es ab.
Was ist hue-motion-temperatur-kinderzimmer ? ist der selbst erstellt, oder ein state vom Bewegungsmelder ? `
Ja, Timeout steht auf 1000ms! Hab ich von deinem Blockly nicht verändert.
Hab auch einen seperaten DP, bzw. eh nur den einen!
Der wurde mit deinem Blockly erfolgreich erstellt.
hue-motion-temperatur-kinderzimmer wird durch ein Node-Red angelegt. Dies ist der DP des Temperatursensors vom HUE-Bewegungsmelder!
-
Wenn ich es richtig sehe hast Du den falschen Trigger im Blockly. In das Falls Objekt (Trigger) muss der vom Blockly erstellte Datenpunkt rein. Der ist auch im Iot Adapter drinn, dieser wird dann auch in der Routine angesprochen.
PS: mit Node Red kenne ich mich nicht aus.
-
Wenn ich es richtig sehe hast Du den falschen Trigger im Blockly. In das Falls Objekt (Trigger) muss der vom Blockly erstellte Datenpunkt rein. Der ist auch im Iot Adapter drinn, dieser wird dann auch in der Routine angesprochen. `
Ah, ich Depp!
Hätt ich auch selber sehn können!
Im Cloudadapter hab ich den richtigen eingetragen gehabt.
Aber durch den falschen im Blockly hat sich das ganze total durcheinandergewürfelt.
Jetzt teste ich es dann später nochmal.
Danke
-
ja, so wie es jetzt bei Dir ist kommt die Ansage wahrscheinlich auch ohne Deine Annfage, und zwar dann wenn Dein Temperaturwert aktualisiert wird. (wahrscheinlich auf dem Echo der zu letzt verwendet wurde)
-
ja, so wie es jetzt bei Dir ist kommt die Ansage wahrscheinlich auch ohne Deine Annfage, und zwar dann wenn Dein Temperaturwert aktualisiert wird. (wahrscheinlich auf dem Echo der zu letzt verwendet wurde) `
genau so war es!
Erst als ich den Blockly deaktiviert habe, hat sie aufgehört.
-
Wenn Du Fragen hast, frag einfach nochmal. `
Danke für deine Antwort dslraser,
Als blutiger Anfänger erschlägt mich deine Antwort
SSML höre ich zum ersten mal
Habe erstmal den Adapter auf 2.2.0 geupdatet.
Das Script angepasst, habs einfach mal bei Garten belassen, kann ich ja im nachhinein noch anpassen.
Angepasst wurde das Falls Objekt, dort meinen DS18B20 Sensor gewählt
Den Datenpunkt ersetzt und gespeichert das Script.
Im iot Adapter ein neues Gerät hinzugefügt, wurde auch in der Alexa App erkannt. So wollte eine neue Routine erstellen. Nur steht hier das Gerät nicht zur Auswahl
Gefundene Geräte:
Routine erstellen:
Hast du noch ne Idee?
-
ich schaue es mir später genauer an. Eins habe ich schon gesehen, bei der Auswahl Deines Echos im letzten Bild musst Du jetzt ssml auswählen(war vorher speak) Wenn in Deinem Alexa2 Adapter dieser Datenpunkt nicht zur Verfügung steht musst Du noch einen upload beim Adapter machen.(da wo Du eine Instanz installieren kannst, ganz rechts auf den Pfeil nach oben klicken, das ist der upload) Danach den Alexa2 Adapter einmal neu starten.
Irgendwie sind Deine Bilder doppelt.
Aus dem neu erstellten Datenpunkt musst Du im iot noch einen Switch machen. Danach in der Alexa App neue Geräte suchen.
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201902 ... 60c8de.jpg">https://uploads.tapatalk-cdn.com/20190203/54ea5a718f5388ac8f7c5153eb60c8de.jpg</link_text>" /> -
Danke für deine Hilfe und Geduld dslraser
Also SSML steht mir nun zur Verfügung führe ich das Gerät in der Alexa App manuell aus,
Taucht folgendes im Log auf, es passiert aber nichts.
javascript.0 2019-02-04 09:44:13.662 info script.js.common.Alexa.Aquarium_temp: registered 2 subscriptions and 0 schedules javascript.0 2019-02-04 09:44:13.662 info Start javascript script.js.common.Alexa.Aquarium_temp javascript.0 2019-02-04 09:44:13.640 info Stop script script.js.common.Alexa.Aquarium_temp
Dann passiert ne Minute nichts, Alexa legt dann los mit "Alles klar" und dann spricht Hans, allerdings ohne Temperatur Wert
sonoff.0 2019-02-04 09:46:11.749 info Client [sonoff-basic-abschaeumer] connected with secret 1549269971748_2489 sonoff.0 2019-02-04 09:46:01.205 info Client [sonoff-basic-abschaeumer] connection closed: closed javascript.0 2019-02-04 09:45:20.082 info script.js.common.Alexa.Aquarium_temp: true javascript.0 2019-02-04 09:45:20.082 warn at Object. <anonymous>(script.js.common.Alexa.Aquarium_temp:44:5) javascript.0 2019-02-04 09:45:20.082 warn Wrong type of javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Ansagen.01Temperaturansage_Garten: "string". Please fix, while deprecated and will not work in next versions.</anonymous>
Das komische ist wieso verliert der Sonoff Basic mit dem DS18B20 die Verbindung?..
Mein Script sieht jetzt so aus:
![](</s><ATTACHMENT )[attachment=0]block.png[/attachment]" /> -
Da muss Dein Temperatursensor hin.
Und zeig noch mal alles, auch Deine fertige Routine wenn Du das geändert hast.
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201902 ... 38c846.jpg">https://uploads.tapatalk-cdn.com/20190204/a5b592828380acd6f9ec5bef3838c846.jpg</link_text>" /> -
Nochmal zum Vergleich.~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201902 ... c0e475.jpg">https://uploads.tapatalk-cdn.com/20190204/046b59226f89e08b3e426ec043c0e475.jpg</link_text>" />
und hier Dein Bild
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201902 ... ec5c1d.jpg">https://uploads.tapatalk-cdn.com/20190204/ee401e5aeae7c24aa800808a38ec5c1d.jpg</link_text>" />~~ -
Habe mir auch ein Script zusammengestellt, wo ich alle Termostate abfrage. Ein Problem habe ich - 2 von 3 Alexas antworten. Die "Alexa Büro" nicht.
So wie ich das sehe, habe ich alles richtig gemacht. Auf eine andere Abfrage (Türsensoren) reagiert Alexa Büro ohne Probleme.
Habe ich etwas übersehen??
9698_firefox.jpg -
Ich kann keinen Fehler sehen…
-
Ich kann keinen Fehler sehen… `
Ich habe Fehler gefunden. Es lag an erstellten Datenpunkt. Habe "Variablen anlegen" ins Script hinzugefügt und jetzt antworten alle Alexas
-
Danke für deine Hilfe und Geduld dslraser
Also SSML steht mir nun zur Verfügung führe ich das Gerät in der Alexa App manuell aus,
Taucht folgendes im Log auf, es passiert aber nichts.
javascript.0 2019-02-04 09:44:13.662 info script.js.common.Alexa.Aquarium_temp: registered 2 subscriptions and 0 schedules javascript.0 2019-02-04 09:44:13.662 info Start javascript script.js.common.Alexa.Aquarium_temp javascript.0 2019-02-04 09:44:13.640 info Stop script script.js.common.Alexa.Aquarium_temp
Dann passiert ne Minute nichts, Alexa legt dann los mit "Alles klar" und dann spricht Hans, allerdings ohne Temperatur Wert
sonoff.0 2019-02-04 09:46:11.749 info Client [sonoff-basic-abschaeumer] connected with secret 1549269971748_2489 sonoff.0 2019-02-04 09:46:01.205 info Client [sonoff-basic-abschaeumer] connection closed: closed javascript.0 2019-02-04 09:45:20.082 info script.js.common.Alexa.Aquarium_temp: true javascript.0 2019-02-04 09:45:20.082 warn at Object. <anonymous>(script.js.common.Alexa.Aquarium_temp:44:5) javascript.0 2019-02-04 09:45:20.082 warn Wrong type of javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Ansagen.01Temperaturansage_Garten: "string". Please fix, while deprecated and will not work in next versions.</anonymous>
Das komische ist wieso verliert der Sonoff Basic mit dem DS18B20 die Verbindung?..
Mein Script sieht jetzt so aus:
![](</s>block.png)`Ich habe Dir vor einigen Tagen eine PN gesendet…Kannst ja mal lesen, die scheinst Du übersehen zu haben. -
Hallo ihr lieben,
ich klinke mich hier mal mit ein.
Um erstmal keinen neuen Thread zu eröffnen.
Meine Frage ist wie kann ich es hinbekommen das Alexa mir eine Frage stellt und ich sie dann mit ja und nein beantworte und sie dann eben eine bestimme Aktion ausführt.
Mir ist klar das es über die History des Alexa2 Adapters läuft wenn ich dort eben ab frage von welche Alexa es kommt und was in der JSON steht. Wenn dort ja dann ausführen.
Das Problem ist bei mir was ich nicht gelöst bekomme wenn ich sie etwas Frage oder ihr etwas sage das sie dann nicht wartet. So lange es eben in einer Routine steckt.
Sonst wenn man ihr sagt "Alexa Licht aus" dann wartet sie ja noch durch den Aufmerksamkeitsmodus ja noch etwas.
Und das wäre eben schön wenn man dass dann für so etwas nutzen kann.Vielleicht habe ich auch etwas übersehen,
MFG
Maggi
-
Hallo und Guten Tag,
ich habe Temperatur Sensoren die ich via mqtt auslese. Und dann den Wert in Objekte habe.Ich habe versucht hier durchzublicken, würde gerne, das mit Alexa auf nachfrage einfach die Temperatur in dem Fall vom Pool ansagt.
Habe kein RedNode laufen.
Was muss ich nun wie machen. Wäre klasse, wenn mir das bitte jemand mal sagen könnte.
cu Deta