AVM DECT 200 Rules / Alexa Echo
-
- Beiträge: 12
- Registriert: 5. Apr 2020 20:48
Re: AVM DECT 200 Rules / Alexa Echo
Allerbesten Dank, jetzt funktioniert die Sprachausgabe. Spitzen Hilfe hier im Forum. Super
-
- Beiträge: 12
- Registriert: 5. Apr 2020 20:48
Rules / openhab connect Push Notification
Hallo zusammen,
an welcher Stelle in folgender Rule, muss ich die sendNotification("your@email.address", "Waschmaschine fertig ") eintragen, wenn die Notification dann gesendet werden soll wenn auch Alexa gesprochen hat?
an welcher Stelle in folgender Rule, muss ich die sendNotification("your@email.address", "Waschmaschine fertig ") eintragen, wenn die Notification dann gesendet werden soll wenn auch Alexa gesprochen hat?
Code: Alles auswählen
// Globale Variablen zu Beginn der datei definieren
var Timer tWasher = null
rule "Waschmaschine fertig"
when
Item Leistung changed // Leistung hat sich geändert
then
logInfo("washer","Rule getriggert")
var Number nPower = 0 // Variable mit 0 initialisieren
if(Leistung.state instanceof Number) // falls gültiger Wert
nPower = (Leistung.state as Number).floatValue // Variable auf numerischen wert setzen
logInfo("washer","Leistung: {}",nPower)
var Number nPowerOld = 0 // Variable mit 0 initialisieren
if(previousState instanceof Number) // falls gültiger Wert
nPowerOld = (previousState as Number).floatValue // Variable auf numerischen wert setzen
logInfo("washer","Leistung Alt: {}",nPowerOld)
if(nPower > 0.15 && nPower < 4.94 && nPowerOld > 4.94) { // Wert war höher als 4.94 und ist jetzt zwischen 4.94 und 0.15
logInfo("washer","Timer wird gestartet")
tWasher?.cancel // falls Timer existiert, löschen
tWasher = createTimer(now.plusMinutes(1), [ | // Timer neu anlegen
logInfo("washer","Timer abgelaufen")
val String strMessage = "Die Waschmaschine ist fertig."
Badezimmer_TTS.sendCommand(strMessage)
Wohnzimmer_TTS.sendCommand(strMessage)
Esszimmer_TTS.sendCommand(strMessage)
Schlafzimmer_TTS.sendCommand(strMessage)
Thomaszimmer_TTS.sendCommand(strMessage)
])
} else if(nPower > 4.94) { // Falls Wert über 4.94
logInfo("washer","Timer wird abgebrochen")
tWasher?.cancel // Timer löschen
}
end
/code]
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: AVM DECT 200 Rules / Alexa Echo
Ich gehe mal davon aus, dass Alexa über die Items *_TTS zum Sprechen bewegt wird. Entsprechend wäre das der richtige Platz, um die Mail zu versenden.
Allerdings wird die Mail quasi zeitgleich mit dem Beginn der Ansage versendet, nicht, wenn die Ansage bereits zuende ist. openHAB bekommt meines Wissens nicht mit, ob eine Ansage schon komplett ausgegeben wurde.
Statt die sechs Alexas alle einzeln anzusteuern, könntest Du auch ein Group Item definieren:
Dann kannst Du im Code entweder den Text an das Group Item direkt schicken:
oder (falls diese Variante wider Erwarten nicht funktioniert) gezielt jedem Item die Nachricht schicken:
Das ist im Zweifel um Einiges eleganter 
Allerdings wird die Mail quasi zeitgleich mit dem Beginn der Ansage versendet, nicht, wenn die Ansage bereits zuende ist. openHAB bekommt meines Wissens nicht mit, ob eine Ansage schon komplett ausgegeben wurde.
Statt die sechs Alexas alle einzeln anzusteuern, könntest Du auch ein Group Item definieren:
Code: Alles auswählen
Group:String gAlexa_TTS
String Badezimmer_TTS (gAlexa_TTS)
...
Code: Alles auswählen
gAlexa_TTS.sendCommand(strMessage)
Code: Alles auswählen
gAlexa_TTS.members.forEach[i|i.sendCommand(strMessage)]

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet