Re: AVM DECT 200 Rules / Alexa Echo
Verfasst: 6. Apr 2020 22:37
Allerbesten Dank, jetzt funktioniert die Sprachausgabe. Spitzen Hilfe hier im Forum. Super
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]
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)]