NEWS
Blockly Skript mit Alexa stoppen (gelöst)
-
-
Hi, Danke. Leider nicht die Lösung für mein Problem.
Vielleicht hab ich mich einwenig falsch ausgedrückt
Die Sprachausgabe läuft einwandfrei. Aber ich möchte ja die Sprachausgabe per Alexa Sprachbefehl stoppen.
Also so:
Fenster ist länger als 7 Minuten aus. Es folgt über Alexa die Warnung: "Fenster im Bad ist offen" bis ich das Fenster wieder schließe.
Möchte ich es jedoch absichtlich länger als 7 Minuten offen lassen, kommt ständig die Warnung: Fenster im Bad ist offen.
Darum möchte ich die Warnung per Sprachbefehl beenden können.
Alexa, Warnung aus. Daraufhin soll die Sprachausgabe "Fenster im Bad ist offen" verstummen. Auch wenn das Fenster nach wie vor offen ist.
-
@leo200 guck mal bei deinen DP nach alexa.0....summary.
bau in dein Script einen 2. Trigger auf diesen DP summary und die Hilfsvariable "WarnmeldungAnAus" mit ein.
- So brauchst du kein zweites Script um das erste zu schalten und das Script kann dann immer laufen.
- wenn du nach dem Fensteröffnen schon weißt dass es länger auf bleiben soll, kannst du auch schon vor dem 7minTimeout sagen "A..., Warnung aus","A..., Warnung ausschalten","A..., Fensterwarnung aus die Maus"
- jedes Fensterschließen schaltet die Warnmeldungen wieder ein
setze WarnmeldungAnAus=wahr [Objekt]<IDvom 0_userdata{ //ich nehme an das ist der Fensterkontakt falls [[0_userdata=wahr] UND [WarnmeldungAnAus]=wahr]{ [ausführen timeout 7min] [ausführen intervall 30sek] falls [WarnmeldungAnAus=wahr] .... sonst setze WarnmeldungAnAus=wahr ... } [Objekt]<IDvonSummary { falls 0 < [textsuche in [umwandeln in kleinbuchstaben[Wert(von summary)]] suchbegriff "warnung aus"] //textsuche ergibt 0 wenn der Begriff nicht gefunden wurde //wie die Blöcke genau heißen musst du selber unter den Textbausteinen suchen WarnmeldungAnAus=unwahr stop timeout7min stop intervall30sek }
hoffe da ist jetzt kein Denkfehler drin, probier mal aus.
-
Hi, vielen Dank für deine Nachricht.
Nein genau richtig verstanden, so sollte es aussehen.
Jedoch bekomm ich das nicht umgesetzt
Habe leider gar keine Erfahrung mit js. Habe nur mit Blockly gearbeitet. Summary konnte ich auch nicht finden. Kannst du mir sagen wie das mit Blockly aussehen müsste.
Danke
-
@leo200
das ist auch keine JS, nur die Anleitung für dein Blockly in pseudocodeTextform weil ich hier gerade keine ioBroker installiert habe
Musst etwas warten dann klicke ich das mal zusammen wenn ich zu hause bin.
Dann bitte dein Script über Button oben rechts [Blöcke exportieren] rauskopieren und hier in Code-tags </> einfügen, damit ich nicht alles neu zusammenklicken muss.nur über die Forensuche rausgesucht alexa2.0.History.summary, unbestätigt
-
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout">timeout</variable> <variable type="undefined" id="Intervall">Intervall</variable> </variables> <block type="on_ext" id="9}QIUuReag2hg.J6:bMM" x="-367" y="-668"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="?yq7.I4$3xeV}~}eJ3?m"> <field name="oid">hm-rpc.1.001559939626AE.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="aLwULk(v5Gr?Vo*m8kcY"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="vWBzXkIEBnTMvlq2OjzE"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="8bcmCj%UOO8VAsc!bu7}"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.001559939626AE.1.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="@vKc-pgDJ4{Iu%opr*EQ"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id="0qB0Cf5NrvYNi*K47fuu"> <field name="NAME">timeout</field> <field name="DELAY">7</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="timeouts_setinterval" id="%-g7Wdr2YqTtPoT4kd}+"> <field name="NAME">Intervall</field> <field name="INTERVAL">30</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control" id="MW#OWa_F#E..V3}Ki5nY"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090RF04747406D0.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="1m%eI/#%EdR0VnALy!(7"> <field name="NUM">50</field> </block> </value> <next> <block type="control" id="4Of34B.Y#D#y/Y3I3teS"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090RF04747406D0.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="}SLQNh2}(MdniAO5UM^6"> <field name="TEXT">Fenster im Bad ist offen</field> </block> </value> <next> <block type="telegram" id="/5Z]2`Rq+eZ.gR$iE)D}"> <field name="INSTANCE"></field> <field name="LOG">warn</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="Yg1I|Q.,cdfryF{WpXd$"> <field name="TEXT">Fenster im Bad noch offen</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="timeouts_clearinterval" id="={VEkRp/[Nko+5A$(RQ*"> <field name="NAME">Intervall</field> <next> <block type="timeouts_cleartimeout" id="*~;+Wy@Q#XZY@b?sDljJ"> <field name="NAME">timeout</field> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
@xbow42 Hi, super vielen Dank. Kein js, erklärt einiges für mich
alexa2.0.History.summary hab ich jetzt gefunden. Dachte nicht das es unter history ist.
-
Hallo @leo200 wie versprochen,
wenn du fertig bist mit testen kannst du die Debug-Puzzle wieder löschen.
s. speek-volume, hoffe hab richtig interpretiert was du da machen willst.
Bei mir hat Alexa auch ein paarmal Quatsch verstanden, ob wohl ich sehr wenig dialekt spreche
javascript.0 2020-01-30 18:33:42.489 info (12350) script.js.Fenster_Türen.BadfensterTest: summary: 'warnung aus' erkannt!warnung aus javascript.0 2020-01-30 18:32:33.365 info (12350) script.js.Fenster_Türen.BadfensterTest: summary:sprich mir nach Fenster im Bad ist offen javascript.0 2020-01-30 18:32:20.185 info (12350) script.js.Fenster_Türen.BadfensterTest: summary:warum auch
hab ich garnicht gesagt, wir haben gar keinen Papagei
code:
-
Mega. Läuft super. Muss nur "Warnung aus" in "Stopp Warnung" ändern dann lief es einwandfrei. Bei Warnung aus kam immer die Alex-Meldung das er das Gerät Baum nicht finden kann????
Vielen vielen Dank. Großes Lob. Perfekt.
-
gerne freut mich dass es bei dir läuft.
Wusste garnicht das Alexa jetzt schon versucht das Rohmaterial zu erkennen