NEWS
Luftfeuchtigkeit mit Alexa abfragen?
-
Hat es evtl jemand geschafft Alexa dazu zu bringen die Luftfeuchtigkeit zu nennen?
Wenn ich den Datenpunkt zum Cloudadapter hinzufügen will kommt immer eine Fehlermeldung nicht unterdtützt…
Fände es eigentlich ganz praktisch. Temperatur Frage ich regelmäßig ab
-
Hallo!
Ich habe genau das gleiche Problem.
Hat keiner eine Lösung?
VG Marcus
-
Auch wenn das Thema schon etwas älter ist….hatte jemand bereits Erfolg? Ist bei meinen HM-Geräten HM-WDS10-TH-O, HM-WDS40-TH-I, HM-TC-IT-WM-W-EU genau so. Die Temperaturabfrage funktioniert, die HUMIDITY lässt sich erst garnicht als Datenpunkt zufügen. Setze ich dieses Objekt allerdings auf "beschreibbar", wird es in den Smart-Devices angenommen. Nur kann Alexa damit nichts anfangen. Außerdem wird der Datenpunkt nach dem Hinzufügen als switch angezeigt:
also mit "an aus" mit der Einheit % Verstehe nicht, was an diesem Datenpunkt anders ist, als bei der Temperatur.Grüße Thomas
-
Unterstützt Alexa nicht
-
Achso..liegt dann sicher eher am iobroker-Skill? Mit dem HConnect-Smart-Skill geht das hervorragend. Ok…danke!!
-
Also offiziell kann alexa nur Temperaturen. Luftfeuchtigkeit könnte man vllt maximal als Prozentzahl wie beibringen rollladen „verkaufen“.
Das wäre dann ein Feature request beim Cloud Adapter.
Bzw in dem Fall spielt denkerisch auch eine Rolle das der aktuelle ioBroker skill noch nicht so wirklich Abfragen erlaubt außer Bei Temperaturen.
Gesendet vom Handy …
-
Also offiziell kann alexa nur Temperaturen. Luftfeuchtigkeit könnte man vllt maximal als Prozentzahl wie beibringen rollladen „verkaufen“.
Das wäre dann ein Feature request beim Cloud Adapter.
Bzw in dem Fall spielt denkerisch auch eine Rolle das der aktuelle ioBroker skill noch nicht so wirklich Abfragen erlaubt außer Bei Temperaturen.
Gesendet vom Handy … `
Hey apollon77 ,
das kann Dein eigener Alexa2 Adapter prima. Ich lasse mir brav die Luftfeuchtigkeit von Alexa ansagen. Kleines Blockly, das dann in den Cloudadapter und eine Routine erstellen.
-
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');