Beim Channel lastvoiceCommand muss eigentlich was ankommen
Amazon Echo Control Binding
-
Grabber66 -
8. Februar 2019 um 20:06 -
Unerledigt
-
-
Leider nicht - der echo ist aber eingebunden und amazon account auch online also scheint so das es tuen sollte - was könnt ich noch prüfen ?
-
-
Vergleich mal den channel der paperUI mit dem in der Items Datei.
-
oder sag irgendwas anderes....beim channel muss sich im [definition='1','0']log[/definition] was ändern
-
-
Warum auch immer - jetzt scheint es zu funktionieren.
Was noch komisch ist:
Frage wenn alles zu "Tut mir leid grmlbrr (abgehackt)" dann "Keine Fenster sind offen"
Wenn eines offen ist " "Tut mir leid grmlbrr (abgehackt) dann "Achtung, folgende Fenster sind geöffnet null"
Wie unterbinde ich das "tut mir leid" und warum sagt er nicht den Item Name des Fensters was offen ist?
-
das hatte ich anfangs schonmal angesprochen....es kann sein, dass alexa irrtümlich annimmt das sie ein gerät steuern soll.
da du aber nichts steuerbares hast was "fenster" heisst kommt es dazu.
sie will sagen "es tut mir leid, ich kann kein gerät fenster finden".
null nutzt sie bestimmt weil nicht der status aller fenster bekannt ist. das passiert wenn man im laufenden betrieb editiert.
alle fenster 1x auf & zu machen, dann nochmal prüfen. -
-
ok werde ich alle mal auf und zu machen - das mit dem "ich kann kein gerät finden " kann man nicht abschalten ? Das sie nur das antwortet was sie soll ? Hab nochmal den Thread hier durchgelesen und nichts dazu gefunden
-
das mit dem "ich kann kein gerät finden " kann man nicht abschalten ?
das kann man mit einer alexa routine umgehen.
dummyswitch anlegen mit alexa-tag, alexa routine erstellen die nach "Alexa sind alle Fenster zu?" den Dummy aktiviert.
Deine rule abändern..."when dummy received command on" -
-
So ?
Switch Fenster_Dummy "Fenster Dummy" [ "Switchable" ]
echofenster.rules
rule "Alexa - Fenster offen"
when
Item Fenster_Dummy received command ON
then
val currentEcho = Amazon_Echos.members.sortBy[lastUpdate].last
val OffeneFenster = Fenster.members.filter[ i | i.state == OPEN ].map[ label ].reduce[ s, label | s + ", " + label ]
if(Fenster.state == OPEN) {
currentEcho.sendCommand("Achtung, folgende Fenster sind geöffnet. " + OffeneFenster)
}
else {
currentEcho.sendCommand("Alle Fenster sind verschlossen")
}
end -
ja so wie ich das auf die schnelle überschauen kann passt das, dann halt noch die alexa routine dazu
HALT!!!! das teil darf kein mitglied der fenstergruppe sein!!!!
nur fenster in die fenstergruppe.
du fragst in der rule schliesslich nach membern in der gruppe die den status OPEN haben.
ein switch kann diesen status nicht haben.
also kontrolliere nochmal alle items....das kann auch deinen "null" fehler verursacht haben -
-
geändert auf dummy - bzw brauch der eigentlich unbedingt ne Gruppe `? sonst lass ichs einfach weg
-
Nein der braucht keine Gruppe.
-
-
das kann man mit einer alexa routine umgehen.dummyswitch anlegen mit alexa-tag, alexa routine erstellen die nach "Alexa sind alle Fenster zu?" den Dummy aktiviert.
Deine rule abändern..."when dummy received command on"Eine alternative dazu hatte ich hier OH2 - Alexa Control - LastVoiceCommand Frage schon geschrieben. Das funktioniert bei mir auch prima.
-
Also alle Fenster mehrmals auf und zu gemacht - wenn alles zu antwortet sie richtig- wenn aber eines offen ist ist das Ergebnis immer Null Status beim auf und zu hab ich immer in OH gegengeprüft - irgendwie will das noch nicht so
So siehts bei den Events aus:
2019-04-17 03:22:50.953 [vent.ItemStateChangedEvent] - Echo_Kitchen_LastVoiceCommand changed from Unknown to alexa
2019-04-17 03:22:53.025 [vent.ItemStateChangedEvent] - Echo_Kitchen_LastVoiceCommand changed from alexa to welche fenster sind offen
2019-04-17 03:22:53.027 [ome.event.ItemCommandEvent] - Item 'Echo_Kitchen_LastVoiceCommand' received command Achtung, folgende Fenster sind geöffnet. null
2019-04-17 03:22:53.028 [nt.ItemStatePredictedEvent] - Echo_Kitchen_LastVoiceCommand predicted to become Achtung, folgende Fenster sind geöffnet. null
2019-04-17 03:22:53.028 [vent.ItemStateChangedEvent] - Echo_Kitchen_LastVoiceCommand changed from welche fenster sind offen to Achtung, folgende Fenster sind geöffnet. null
2019-04-17 03:23:02.445 [vent.ItemStateChangedEvent] - Fenster_Kueche_Hof changed from OPEN to CLOSED
2019-04-17 03:23:02.445 [GroupItemStateChangedEvent] - Fenster changed from OPEN to CLOSED through Fenster_Kueche_Hof -
-
da stimmt wohl was mit val OffeneFenster nicht bei dir.
das ist meine rule und die funktioniert auchCode
Alles anzeigenrule "fensterabfrage" when Item Dummy_Fenster received command ON then val OffeneFenster = Fenster.members.filter[ i | i.state == OPEN ].map[ label ].reduce[ s, label | s + ", " + label ] val currentEcho = Alexa_Kommando.members.sortBy[lastUpdate].last if(Fenster.state == OPEN) { currentEcho.sendCommand("Nein, " + OffeneFenster + " ist noch offen") } if (Fenster.state == CLOSED) { currentEcho.sendCommand("Ja, alle Fenster sind geschlossen") } end
-
hmmmm........map transform nutzt du aber oder?
die rule fragt ja den status OPEN ab. der muss in der xxx.map natürlich auch enthalten sein. -
-
wie sollte die map heisen - habe mehrere maps wo steht welche er nimmt ?
Fenster.members.filter[ i | i.state == OPEN ].map
Fenster
.members.filter[ i | i.state == OPEN ].mapFenster.map ?
-
wie sie heisst ist egal, sie muss nur von allen fenster items verwendet werden...bspw
Contact Computerfensterstat "Computerzimmerfenster [MAP(Fenster.map):%s]" <window> (Fenster) {channel="mihome:sensor_magnet_aq2:286c0788c548:158d0001de8cd7:isOpen"}
Fenster.members.filter[ i | i.state == OPEN ].map
Fenster.map ?
ne...Fenster.members bezieht sich auf die gruppe
-
-
ein contact hatte keine map hinterlegt - und einer eine andere (namentlich aber mit dem selber inhalt) hab alle glatt gezogen - kann aber alexa erst nach arbeit fragen !
guter tipp maybe tuts nun
-
an dem kontakt ohne map hats bestimmt gelegen
-
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!