rule "welcome"
when
Item Door_Sensor changed to CLOSED
then
sendCommand(AmazonEchoBadezimmer_Sprich, "<speak>Guten Morgen. Es ist UHRZEIT und ich hoffe, Ihr habt gut geschlafen. Die Außentemperatur beträgt aktuell TEMPARATUR</speak>")
end
rule "Alexa Family Report"
when
Item Alexa_Family_Report_Trigger changed to ON
then
val String currentTime = String::format( "%1$tH:%1$tm", now )
val rainNOW = (weather_forecast_Regen_now.state as Number).floatValue
val rain6h = (weather_forecast_Regen_6h.state as Number).floatValue
val snowNOW = (weather_forecast_Schnee_now.state as Number).floatValue
val String nextBirth = Ephemeris.getNextBankHoliday('/etc/openhab/services/anniversaries.xml')
val long untBirth = Ephemeris.getDaysUntil(nextBirth, '/etc/openhab/services/anniversaries.xml')
logInfo("Alexa", "{} Uhr rainNow={} Rain6h={} snowNOW={}", currentTime, rainNOW, rain6h, snowNOW)
if (untBirth >= 2) {logInfo("Nächster Ereigniss", "In " + untBirth + " Tagen ist " + nextBirth)}
if (untBirth == 1) {logInfo("Nächster Ereigniss", "Morgen ist " + nextBirth)}
var aText = "<speak>"
aText += "Guten Morgen Familie! "
aText += "Es ist " + currentTime + " Uhr und ich hoffe, Ihr habt gut geschlafen. "
aText += "Die Außentemperatur beträgt aktuell " + Out_THSensor_Temp.state + " ."
aText += "Das Wetter ist gerade " + weather_forecast_Wetterlage_now.state + " und es wird eine gefühlte Höchsttemperatur von " + weather_forecast_Gefuehlte_Temperatur_6h.state + " erwartet. "
if (rainNOW == 0.0) {aText += "Im Moment regnet es nicht. "}
if (rainNOW >= 0.1 && weather_forecast_Regen_now.state <= 1.0) {aText += "Im Moment regnet es ein bisschen. "}
if (rainNOW >= 1.1 ) {aText += "Im Moment regnet es stark. "}
if (rain6h <= 0.7) {aText += "Voraussichtlich werdet Ihr heute keinen Regenschirm benötigen. "}
if (rain6h >= 0.8 ) {aText += "Sicherheitshalber solltet Ihr heute Euren Regenschirm nicht vergessen. "}
aText += "Ich wünsche Euch einen schönen Tag! "
aText += "<amazon:effect name='whispered'>"
if (untBirth >= 2) {aText += "Übrigens, in " + untBirth + " Tagen ist " + nextBirth "."}
if (untBirth == 1) {aText += "Übrigens, morgen ist " + nextBirth "."}
aText += "</amazon:effect>"
aText += "</speak>"
sendCommand(AmazonEchoWohnzimmer_Sprich, aText)
Alexa_Family_Report_Trigger.postUpdate(OFF)
end
Der Trigger wird durch das Alexa-Kommando auf ON gesetzt und Alexa fängt an uns die Welt zu erklären.