NEWS
Fenster offen Script geht nicht mehr
-
Moin,
ich nutze den Fenster offen Script von @dslraser// Status Fenster. Das Script zählt alle Fenster im Gewerk Verschluss mit der id=*.STATE var logging = true; var idAnzahlAuf = 'javascript.0.Status.Fenster.Anzahl_auf', idAnzahl = 'javascript.0.Status.Fenster.Anzahl', idText = 'javascript.0.Status.Fenster.Text', idRaum = 'javascript.0.Status.Fenster.Raum', idAnsage = 'javascript.0.Status.Fenster.Ansage'; // Ab hier nix mehr ändern createState(idAnzahl, { // Anzahl der vorhandenen Fenster type: 'number', name: 'Anzahl aller Fenster', min: 0, def: 0, role: 'value' }); createState(idAnzahlAuf, { // Anzahl der Fenster, die auf sind type: 'number', name: 'Anzahl der geoeffneten Fenster', min: 0, def: 0, role: 'value' }); createState(idText, { // Anzahl der geoeffneten Fenster und deren Namen type: 'string', name: 'geoeffnete Fenster', desc: 'Namen der geoeffneten Fenster', def: ' ', role: 'value' }); createState(idAnsage, { type: 'string', name: 'geoeffnete Fenster (Ansage)', desc: 'Namen der geoeffneten Fenster (für Ansage aufbereitet)', def: ' ', role: 'value' }); createState(idRaum, { // Räume, in denen Fenster geoeffnet sind type: 'string', name: 'Räume mit geoeffneten Fenster', desc: 'Namen der Räume, in denen Fenster geoeffnet sind', def: ' ', role: 'value' }); var cacheSelectorState = $('channel[state.id=*.STATE](functions="Verschluss")'); // Gewerk Verschluss function checkDevices(obj) { // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Verschluss auf 0 var anzahlFensterAuf = 0; var anzahlFenster = 0; var textFensterAuf = []; var textRaum = []; if (logging) { log('++++++ Fenster Anzahl ++++ '); log('#### SCHALTER ##### '); } cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Verschluss var obj = getObject(id); var name = getObject(id).common.name; var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element) var devicename = name.substring(0, name.indexOf(".STATE")); //.STATE aus Text entfernen var raumname = getObject(id, "rooms"); if (logging) { log('-------'); log('Kanal: ' + name); log('Status: ' + status); } if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt ++anzahlFensterAuf; textFensterAuf.push(devicename); // Zu Array hinzufügen textRaum.push(raumname.enumNames); // } ++anzahlFenster; // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status }); textRaum = deleteDuplicates(textRaum); // Array mit Fensternamen sortieren textFensterAuf.sort(); textRaum.sort(); // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon auf) ausgegeben if (logging) log("Text: " + textFensterAuf); if (logging) log("Anzahl Fenster: " + anzahlFenster + " # davon Fenster auf: " + anzahlFensterAuf); // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS) setState(idText, textFensterAuf.join(',\nund\n')); // Schreibt die aktuelle Namen der geoeffneten Fenster setState(idAnzahlAuf, textFensterAuf.length); // Schreibt die aktuelle Anzahl der geoeffneten Fenster setState(idAnzahl, anzahlFenster); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Verschluss // setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Fenster geoeffnet sind setState(idRaum, textRaum.join(',\nund\n')); // Räume, in denen Fenster geoeffnet sind } // Trigger cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Verschluss if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat checkDevices(); }); function main() { setTimeout(function() { if (logging) log('Auslöser Skriptstart'); checkDevices(); }, 2000); } main(); // Skriptstart-Auslöser // Aufbereitung für Ansage function strip_tags(data) { var rueckgabe = data.replace(/( |<([^>]+)>)/ig, " "); return (rueckgabe); } on(idText, function(obj) { var text = obj.state.val; text = (text.length > 1) ? ' ' + strip_tags(text) : 'Alle Fenster geschlossen'; setState(idAnsage, text); });
Wenn ich den manuell aufrufe (unter Scripte und dann auf ausführen) dann aktualisiert er korrekt alle Objekte.
Jetzt hab ich ihn natürlich über iot Adapter bei Alexa eingebunden und rufe ihn als Routine per Sprachbefehl auf.
Das hat auch Monate lang gut geklappt.Jetzt kommt leider nur noch: Entschuldigung etwas ist schief gelaufen oder einfach nur stille...… Die Werte werden aktualisiert nur keine Sprachausgabe.
Ich habe nix bewust geändert, kommt vielleicht ein Update in Frage?21:47:28.393 info javascript.0 Stop script script.js.Alexa.Alexa_Fenster-offen_Anfrage
21:47:28.411 info javascript.0 Start javascript script.js.Alexa.Alexa_Fenster-offen_Anfrage
21:47:28.411 info javascript.0 script.js.Alexa.Alexa_Fenster-offen_Anfrage: registered 0 subscriptions and 0 schedulesHier noch der ausführende Blockly:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="8/qE?_.0uV[^E2]DmWJ{">Ausgabetext</variable> <variable type="undefined" id="timeout">timeout</variable> <variable type="undefined" id="timeout2">timeout2</variable> </variables> <block type="control" id="@J7@ob/rsR9OCYN+!hI7" x="-513" y="-1063"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.History.#trigger</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="oI]KS-#7{`Lh(W#]MB7C"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="controls_if" id="{_JT|3Mpv*tSOVWD3Pz6"> <value name="IF0"> <block type="logic_compare" id="D?,*QGBBwauCm,Qte=Q-"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="]irLwLWGul].x{m`.#.@"> <field name="ATTR">val</field> <field name="OID">javascript.0.Status.Fenster.Anzahl_auf</field> </block> </value> <value name="B"> <block type="math_number" id="5LL6xi4F_7}-aEi^jHY@"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="5VFfHYTB!S7A^A*?SicA"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> <value name="VALUE"> <block type="text_join" id="4?k[0reCRn.mjkxHg41~"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="75Z)Wn`YF@;38~bIM;pA"> <field name="TEXT">aktuell sind</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">javascript.0.Status.Fenster.Ansage</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">Echo im Wohnzimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="*:v3HBKA07feJ,T]E*CR"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A0RF03745603AP.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="MsV6O9gIHcS!5``lHIBc"> <field name="NUM">40</field> </block> </value> <next> <block type="control" id=")M^jLcZ!hCpj,X={-`nV"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A0RF03745603AP.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="p)bNOdcZFVoq1e^M5V-."> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="24mOHp`Pl!sIG*2Ro^CG"> <field name="COMMENT">Wohnzimmer Show</field> <next> <block type="controls_if" id="3=XmFd}jdwc!em|Y4RVN"> <value name="IF0"> <block type="logic_compare" id="JWjp],xrEuQh^S=No]Fe"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="^tb-(m.St/S5a,1kIi.J"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="2rmyM;!Q{.pI}GP-SP|%"> <field name="TEXT">Echo Show</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="/r+Sampj-mq+JTIEb^Jf" disabled="true"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0913L0592730345.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="cJwZie[vn_f9k|v@9hnq"> <field name="NUM">40</field> </block> </value> <next> <block type="control" id="%4#|wDN[PK6i}Jtu_oIZ"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0913L0592730345.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="7!aNg#4^0Ku!ti3bLOUh"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </next> </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">Echo Dot 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.G090LF0965020FXA.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="qHoN]~u1FI@iDQs*2C2v"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">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">Echo Dot 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.G090L911750408WX.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="*X*~qQG3]~[NC{WMMndW"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </statement> <next> <block type="comment" id="CJNG59[?CJ|U-=Bf]c)z"> <field name="COMMENT">Oben</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">Echo Dot oben</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.G090L911743607RA.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="5q6/z~S`0DeJ6sYrWhj1"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </statement> <next> <block type="comment" id="H=6r:HZpL-h.,hq!RDwm"> <field name="COMMENT">Schlafzimmer</field> <next> <block type="controls_if" id="T,e@q~MMg;]@}O8m;!,("> <value name="IF0"> <block type="logic_compare" id="8#)iZJ[r;E|g}y2!V5l0"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=":bc$q{-hECHLgV5UPQQx"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="-ei;WistBFu8C*xZu=r_"> <field name="TEXT">Echo Dot Schlafzimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=")H|V9lr911Tq6AN$1w1k"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090L911750408WX.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="%4Kxlx?n(!7nTqbb?G2K"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">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> </statement> </block> </next> </block> </statement> <next> <block type="controls_if" id="N+F+/fYbDeMZL#(HaEo|"> <value name="IF0"> <block type="logic_compare" id="T+)nZ(]w4LgDY/|?p56g"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="k=BXdEuQo7?Mo%bdfdng"> <field name="ATTR">val</field> <field name="OID">javascript.0.Status.Fenster.Anzahl_auf</field> </block> </value> <value name="B"> <block type="math_number" id="j-blGyC;V4jTLHKvikXr"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="mk,--n%8x}e1WshOCBc."> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> <value name="VALUE"> <block type="text_join" id="Ew3VTw7qG|Fx:}vq3hIR"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="Lo0@rGsN^gt1iZ#@~A/7"> <field name="TEXT">Im Moment sind im </field> </block> </value> <value name="ADD1"> <block type="get_value" id="i?[Ze,W23|M`_S5@d?;q"> <field name="ATTR">val</field> <field name="OID">javascript.0.Status.Fenster.Raum</field> </block> </value> <value name="ADD2"> <block type="text" id="NqEob9;8UT11wT`dCQi#"> <field name="TEXT">geöffnete Fenster</field> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="^c,bQ)^![(HGz2QrWw/u"> <field name="NAME">timeout2</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="3e5[cR-lQ2P@g3-V]T.*"> <field name="COMMENT">Wohnzimmer Show</field> <next> <block type="controls_if" id="3u:p^,6xy9QNDKxHl!5^"> <value name="IF0"> <block type="logic_compare" id="cx5Fn-jf#7f?`Q~(.a|+"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="5mYuD9}Npv3,=efZVeP9"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="CQiC(Kqn@0^;:O|VQG8K"> <field name="TEXT">Echo Show</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="@F:_kN/@`2om.CRK{C=}" disabled="true"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0913L0592730345.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="b_L%DEY1[#ZVh0c507U;"> <field name="NUM">20</field> </block> </value> <next> <block type="control" id=").):C@B$Dyn/h$}U:?5#"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0913L0592730345.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="x{6EPQQ`pRNiSC;s?0xe"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="S$yW4n.#sNY-1nBaKP_@"> <field name="COMMENT">Wohnzimmer</field> <next> <block type="controls_if" id="KauxWUEJAP2sp)D%Cdm9"> <value name="IF0"> <block type="logic_compare" id="F4MK(fbY8WU[yWO)@Z~O"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Oe@)VM+1Y`_1YJn?6xyl"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="Q8@T8q|P]D*WR6aG#*j0"> <field name="TEXT">Echo im Wohnzimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="7T%#GM]Sfp/0JEQ_?FN2"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A0RF03745603AP.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="]2?@{_.w5V)0mvfy!8,L"> <field name="NUM">20</field> </block> </value> <next> <block type="control" id="r|w?GKF2R8A%WSX@AP[|"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A0RF03745603AP.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="HTcKd2V9F)=k:Ae4mS}F"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="Lg@:ha-a2x,0rfhC.]_="> <field name="COMMENT">Küche</field> <next> <block type="controls_if" id="DTWD3KK_f2CmowWl}Dw+"> <value name="IF0"> <block type="logic_compare" id="*r~k%Po!vzUQHybU`)sv"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="285L,qT@eWkZS(#hgXnl"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="w!HtM,nb,KI1aqaOeI36"> <field name="TEXT">Echo Dot Küche</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="_H{%k4b|sj!:P^rDu%};"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LF0965020FXA.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="~51B8(3{stq1BpR1J~p%"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </statement> <next> <block type="comment" id="0Y;8c=RG%f;qqP2yyjbm"> <field name="COMMENT">Badezimmer</field> <next> <block type="controls_if" id="JS`zfpqZ~NiBhWxa_;gH"> <value name="IF0"> <block type="logic_compare" id="-7AVWpsa42LalJseqzv{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="cm6sMr|*pCsxx{9uCMrm"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="7+szyIbBBP!dtC~D1h)O"> <field name="TEXT">Echo Dot Badezimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Hg;Dq%gJEXg{SLV;t6{6"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090L911750408WX.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="*lX{ZM`VBTc}A`1!gM9H"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </statement> <next> <block type="comment" id=":Ka+W*uwIV:h(pjzq_h,"> <field name="COMMENT">Oben</field> <next> <block type="controls_if" id="Ug#8mH1FI!icK/)QEYjQ"> <value name="IF0"> <block type="logic_compare" id=")@76q4MZ/}oCH_mLKWO4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="iI-HkvUXFC@;;_+[TcRP"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="#:=Dp]Dt1gil*WOPj/h{"> <field name="TEXT">Echo Dot oben</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="yoHnz^WG58=+X)|S-u8#"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090L911743607RA.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Y8LHCPPH..OnEJN^sjFQ"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">Ausgabetext</field> </block> </value> </block> </statement> <next> <block type="comment" id="#l}N1xoERM3(TKE,I4(}"> <field name="COMMENT">Schlafzimmer</field> <next> <block type="controls_if" id="f`(p1gLz,t?Le0_I4}m+"> <value name="IF0"> <block type="logic_compare" id="Eb5M$I`ovl{oLv_]=g:]"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="c2BXe!DtC9e_KM9L|DxP"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="F1Hg2B{6$cMuHL-_DZcO"> <field name="TEXT">Echo Dot Schlafzimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="q~j-#|O^MhYwgJB_D`C}"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090L911750408WX.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="ugz)I|Gg8C.RsMvZemQ,"> <field name="VAR" id="8/qE?_.0uV[^E2]DmWJ{" variabletype="">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> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@Belei
also erstmal, das Script ist nicht von mir, davon gibt es einige Varianten hier im Forum.
Gehen denn andere Abfragen ? Also bekommst Du antworten bei Anfragen die über iot/cloud laufen ? -
@Belei
noch was anderes, wieviele Fenster sind es denn ? Bzw. wie lang wird die Ausgabe ? Über speak gehen max. 250 Zeichen. (das kannst Du mit einem Semikolon zwischendurch trennen, dann gehen mehr)Es kann auch helfen einmal kurz den Skill(nicht den Adapter) in der Amazon App zu deaktivieren und sofort wieder aktivieren, eine neue Gerätesuche brauchte ich bisher nicht machen und auch keine Geräte verwerfen.
-
-Jetzt sind nur 3 Räume auf und es wird nichts angesagt.
-Skill hab ich gerade mal deaktiviert und wieder aktiviert sowie Geräte neu gesucht, leider ohne Erfolg.
-Andere Anfrage hab ich gar nicht...Ich sehe gerade unter Objekte im Wert Feld Alexa/Gerät/Commands/speak wird auch der korrekte Text hinterlegt
(Im Moment sind im Badezimmer,undKüche,undSchlafzimmergeöffnete Fenster)Wenn ich dann dort auf den Haken drücke liest sie es korrekt vor.
-
@Belei
mal den Alexa2 Adapter neu gestartet ? -
@Belei
in Deinem Blockly ist gar kein Trigger ? Startest Du das ganze Blockly bei einer Abfrage ? -
Ja, JS/AlexaAdapter/iobroker und sogar ganzes Gerät neu gestartet.
Mir fällt gerade eine Ich hab noch eine Anrufer Nr Ansage per Alexa, die funktioniert.Stimmt da ist kein Trigger drin... Irgendwie bin ich gerade selber verwundert warum es sonst immer geklappt hat?
Wo wird denn überhaupt das Blockly gestartet?Ich starte per Alexa Routine 1x den Text " Moment ich schau mal für dich nach" und darunter dann den Fenster offen JS der auch die entsprechenden Werte schreibt.
-
@Belei sagte in Fenster offen Script geht nicht mehr:
Stimmt da ist kein Trigger drin...
hast Du vielleicht script enabled im iot eingefügt ? (um das Blockly zu starten)
Eventuell bitte nicht stören an oder Kommunikation in der Alexa App aus ?
-
Script enable? Finde ich nicht die Funktion.
Kommunikation ist an. -
Der Script läuft unter ScriptEnabled trotzdem schnall ich das gerade nicht.. Wie wird der denn ausgelöst und warum geht's nicht
-
@Belei
ich benutze das "Fensterscript" in dieser Form nicht mehr, weil ich immer mal wieder Probleme mit den Aufzählungen hatte.Ich kann Dir gerne meine Variante zur Verfügung stellen. Das läuft nicht über speak, sondern über ssml.
In meinem Blockly habe ich vier Stimmen zur Auswahl, die entweder per Schalter, oder per Sprachbefehl umgeschaltet werden können. Alle benötigten Datenpunkte werden mit dem Blockly erstellt. Aktuell habe ich bei mir 22 Fenster/Türen, die überprüft werden. Ich lasse mir aber nur die Räume mit geöffneten Fenstern ansagen, nicht die einzelnen Fenster, das könnte man aber auch anpassen. Ausgelöst wird es ebenfalls über eine Routine. Die benötigten Datenpunkte werden ebenfalls direkt in iot eingefügt und müssen dann nur noch über Alexa, suche neue Geräte gesucht werden und die Fensteransage mit der Routine verknüpft werden. Aktuell habe ich 10 ECHO Geräte für die Ansage in diesem Blockly. Das was angepasst werden muss sollte im Blockly sichtbar sein. Kommentare habe ich eigentlich überall drinn.
Wenn Du Fragen dazu hast, frag einfach. -
Super vielen Dank gucke ich mir mal die Tage an und komme auf die Fragen zurück