Alarm, Timer on alexa soll eine Aktion auslösen
Verfasst: 12. Dez 2019 06:13
Hallo,
ich nutze OpenHab 2 jetzt schon seit ein paar Jahren und habe einiges an Erfahrungen gesammelt.
Jetzt habe ich wieder etwas meine Hausautomation erweitert und habe in diesem Zuge von OpenHab 2.1 auf 2.5 hochgerüstet.
------------------------------------------------------------------------
Hintergrund und Problembeschreibung:
Ich steuere viele Sachen mit einem Echo Dot über Sprachbefehle. Jetzt habe ich mir eine Neue 5.1 Souround Anlage von Yamaha gekauft. Die alte von CIA Tronik war mit dem Dot Verbunden und war immer aktiv. Die Neue von Yamaha geht nach ca. 2 Minuten in StandBy und schaltet ab sobald kein Ton auf dem ausgewählten Kanal erkannt wird.
Die Bindings zu dem Yamaha Reciver sind installiert und Konfiguriert. Es gibt auch schon verschiedenen Regeln und Verbindungen, die ich erstellt habe, um mit dem Echo den Reciver zu steuern. Alles kein Problem.
Wenn jetzt aber ein Timer oder Wecker (Alarm) im Echo gesetzt wird und der Reciver in Standby geht, hört man das Signal natürlich nicht. Also hatte ich mir gedacht, kein Problem. Über das Amazon Binding erhalte ich die Informationen "Nächster Timer" und "Nächster Alarm" im DateTime Format. Also habe ich mit noch über das NTP Binding ein Item gemacht wo die aktuelle Uhrzeit auch im DateTime Format drinnen steht.
--------------------------------------------------------------------------
Das Script bzw. die Regel hatte ich mir so gedacht:
Wenn (Nächster Timer == Aktuelle Zeit) ODER (Nächster Alarm == Aktuelle Zeit)
Dann Schalte Item Boxen auf Ein und Schalte Kanal Auf Echo
Alle Items existieren und Funktionieren, da diese in verschiedenen Anderen Regeln verwendet werden. Das Hauptproblem liegt im Syntax der If Anweisung. Ich habe jetzt schon sehr viel versucht, komme aber einfach nicht weiter.
--------------------------------------------------------------------------
Probleme die mir die Lösungsfindung erschweren:
Ich bin SPS Programmierer, heißt ich bin es gewohnt beim Debuggen jedes Bit sehen zu können und das Programm mit der Laufzeit zu beobachten.
Bei den Regeln bin ich aber Blind und sehe nicht welche Werte sich aktuell wo befinden. Die Hinweise die ich habe sind die anzeigen im Paper UI und die Items die ich mir im Basic UI Anzeigen lassen kann. Aber ich weiß nicht ob meine Regel zu lauf zeit abgefragt wird oder nicht. Ich bin da aktuell ziemlich blind.
ich nutze OpenHab 2 jetzt schon seit ein paar Jahren und habe einiges an Erfahrungen gesammelt.
Jetzt habe ich wieder etwas meine Hausautomation erweitert und habe in diesem Zuge von OpenHab 2.1 auf 2.5 hochgerüstet.
------------------------------------------------------------------------
Hintergrund und Problembeschreibung:
Ich steuere viele Sachen mit einem Echo Dot über Sprachbefehle. Jetzt habe ich mir eine Neue 5.1 Souround Anlage von Yamaha gekauft. Die alte von CIA Tronik war mit dem Dot Verbunden und war immer aktiv. Die Neue von Yamaha geht nach ca. 2 Minuten in StandBy und schaltet ab sobald kein Ton auf dem ausgewählten Kanal erkannt wird.
Die Bindings zu dem Yamaha Reciver sind installiert und Konfiguriert. Es gibt auch schon verschiedenen Regeln und Verbindungen, die ich erstellt habe, um mit dem Echo den Reciver zu steuern. Alles kein Problem.
Wenn jetzt aber ein Timer oder Wecker (Alarm) im Echo gesetzt wird und der Reciver in Standby geht, hört man das Signal natürlich nicht. Also hatte ich mir gedacht, kein Problem. Über das Amazon Binding erhalte ich die Informationen "Nächster Timer" und "Nächster Alarm" im DateTime Format. Also habe ich mit noch über das NTP Binding ein Item gemacht wo die aktuelle Uhrzeit auch im DateTime Format drinnen steht.
--------------------------------------------------------------------------
Das Script bzw. die Regel hatte ich mir so gedacht:
Wenn (Nächster Timer == Aktuelle Zeit) ODER (Nächster Alarm == Aktuelle Zeit)
Dann Schalte Item Boxen auf Ein und Schalte Kanal Auf Echo
Alle Items existieren und Funktionieren, da diese in verschiedenen Anderen Regeln verwendet werden. Das Hauptproblem liegt im Syntax der If Anweisung. Ich habe jetzt schon sehr viel versucht, komme aber einfach nicht weiter.
--------------------------------------------------------------------------
Probleme die mir die Lösungsfindung erschweren:
Ich bin SPS Programmierer, heißt ich bin es gewohnt beim Debuggen jedes Bit sehen zu können und das Programm mit der Laufzeit zu beobachten.
Bei den Regeln bin ich aber Blind und sehe nicht welche Werte sich aktuell wo befinden. Die Hinweise die ich habe sind die anzeigen im Paper UI und die Items die ich mir im Basic UI Anzeigen lassen kann. Aber ich weiß nicht ob meine Regel zu lauf zeit abgefragt wird oder nicht. Ich bin da aktuell ziemlich blind.