NEWS
Alexa IP Adresse wird nicht korrekt übermittelt
-
Ich habe bei mir im Haus mehrere Echo Geräte stehen und ich wollte es hinbekommen, dass wenn ich im Wohnzimmer "Licht an" sage auch nur im Wohnzimmer das Licht an geht. Das gleiche in den anderen Räumen. Die von amazon eingebaute Lösung stellte mich nicht zufrieden, weil dann einfach alle Licht Geräte in dem Raum geschaltet werden und wie ihr wisst wird ja jeder node red Datenpunkt als Lampe angezeigt.
Da dies nicht zum Ziel führte kam mir die Idee aus der message die alexa ip auszulesen und dann entsprechend nur ein Gerät zu schalten. Hat eine lange Zeit wunderbar funktioniert nur seit kurzem ist die alexa ip die übermittelt wird immer gleich, unabhängig davon von welchem echo der Befehl kam. Kann mir da einer von euch weiterhelfen oder hat eine andere Idee, wie ich das wieder zum laufen kriege? -
@chrisB ich habe es so, vllt. hilft dir das weiter
-
Vielen Dank schon mal. Zu meinem Verständnis hätte ich eine Rückfrage. Das Objekt "Echo device name" hast du manuell erzeugt? Wie bekommst du da den Namen vom Echo rein?
In Node.red habe ich mir das gesamte message objekt angesehen und finde das da drin einfach nicht... -
@chrisB das ist dieser
so, wie du halt deine Echos bezeichnet hast, wie bei mir...Küche, Schlafzimmer, Büro...
Die Namen deiner Echos musst du natürlich in der Alexa App bearbeiten -
Vielen Dank für die Hilfe. So lange ich nur 2 Echos hatte, die ich in die Funktion mit einbezogen hatte, funktionierte alles fehlerfrei. Jetzt habe ich einen Dritten Raum mit elektronisch schaltbarem Licht ausgerüstet und jetzt wird es total merkwürdig, wenn ich den Befehl "Alexa Licht an gebe" sage. Es wird gefühlt wahllos in einem der Räume das Licht eingeschaltet...
Äußerst merkwürdig ist, dass das Objekt "Echo Name" den richtigen Namen anzeigt. Wenn ich aber ins log schaue, steht dort, dass ein anderer Echo Name gesendet wurde...
Hat zufällig einer eine Idee woran das liegen könnte. Wir haben schon getestet ob zufällig ein anderer Echo auch auf die Stimme aus einem anderen Raum reagiert. Das ist leider nicht die Ursache. Hat zufällig einer von euch eine Idee woran das liegen könnte?javascript.0 2019-06-22 10:51:56.895 info script.js.common.Licht: getState(id=Meine_Geräte.0.Lichtstatus, timerId=0) => {"val":0,"ack":false,"ts":1561193516889,"q":0,"from":"system.adapter.node-red.0","lc":1561193516889}
javascript.0 2019-06-22 10:51:56.895 info script.js.common.Licht: getState(id=alexa2.0.History.name, timerId=0) => {"val":"Wohnzimmer","ack":true,"ts":1561193515848,"q":0,"from":"system.adapter.alexa2.0","lc":1561193515848} -
So, nach sehr viel ausprobieren weiß ich nun woran es lag und habe eine einigermaßen akzeptable Lösung gefunden.
Mein Blockly skript triggert auf die Variable "Lichtstatus" und prüft dann von welchem Echo der Befehl kam. Aus einem mir nicht erklärlichem Grund aktualisiert sich die Variable "Echo Name" mehrmals mit unterschiedlichen Namen meiner Echos und erst am Schluss steht der korrekte Name des Echos darin. Mit einem timeout von 800 ms vor der Prüfung auf den Namen des Echos ließ sich das Problem umgehen.
Es ist mir aber weiterhin absolut schleierhaft, weshalb da Echo Namen kurzzeitig auftauchen, obwohl der Echo noc nicht mal auf das Wort "Alexa" aus dem Nachbarzimmer reagiert hat....