rule "send Message"
when
Item Meldung received update
then
GoogleHomeMinni_Lautstarke.sendCommand(100)
if(Meldung.state == NULL || Meldung.state.toString == "") {
logWarn("message","Item Meldung erhielt Update auf {}, keine Ausgabe möglich!",Meldung.state)
return;
}
val String strMessage = Meldung.state.toString
val urlmessage = java.net.URLEncoder::encode(strMessage, 'UTF-8')
val telegramAction = getActions("telegram","telegram:telegramBot:XXXXXXX")
telegramAction.sendTelegram(strMessage)
say(strMessage,null)
sendHttpGetRequest("https://api.callmebot.com/whatsapp.php?source=openHAB&phone=+XXXXXX&apikey=XXXXXX&text=" + urlmessage)
GoogleHomeMinni_Lautstarke.sendCommand(50)
end
jetzt ist es so das die Lautstärke zwar vor der Sprachausgabe hoch geht aber während der Ausgabe wieder runter
könnte man da mit einem Timmer arbeiten ? Also das die Lautstärke nach 30 Sekunden oder so wieder runter geht
MfG Snatsch
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
Vor allem setzt Du die Lautstärke schon hoch, bevor Du weißt, ob Du überhaupt einen Ton ausgeben kannst wenn also die Warnmeldung ausgegeben wird, bleibt die Lautstärke auf 100 %.
Leider gibt es keine Rückmeldung von der say() Action für das Ende der Ausgabe, weshalb tatsächlich ein Timer das Mittel der Wahl sein dürfte.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
var Timer mVolume = null
rule "send Message"
when
Item Meldung received update
then
GoogleHomeMinni_Lautstarke.sendCommand(80)
if(Meldung.state == NULL || Meldung.state.toString == "") {
logWarn("message","Item Meldung erhielt Update auf {}, keine Ausgabe möglich!",Meldung.state)
return;
}
val String strMessage = Meldung.state.toString
val urlmessage = java.net.URLEncoder::encode(strMessage, 'UTF-8')
val telegramAction = getActions("telegram","telegram:telegramBot:xxxxxxx")
telegramAction.sendTelegram(strMessage)
say(strMessage,null)
sendHttpGetRequest("https://api.callmebot.com/whatsapp.php?source=openHAB&phone=xxxxxxxxx&apikey=xxxxxxx&text=" + urlmessage)
mVolume = createTimer(now.plusSeconds(10), [|
GoogleHomeMinni_Lautstarke.sendCommand(50)
])
end
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
Ja, aber wie erwähnt... oder vielleicht etwas anders formuliert: Du solltest die Lautstärke erst nach der Prüfung auf eine gültige Meldung auf 80 setzen, also die Zeile
var Timer mVolume = null
rule "send Message"
when
Item Meldung received update
then
if(Meldung.state == NULL || Meldung.state.toString == "") {
logWarn("message","Item Meldung erhielt Update auf {}, keine Ausgabe möglich!",Meldung.state)
return;
}
GoogleHomeMinni_Lautstarke.sendCommand(80)
val String strMessage = Meldung.state.toString
val urlmessage = java.net.URLEncoder::encode(strMessage, 'UTF-8')
val telegramAction = getActions("telegram","telegram:telegramBot:xxxxxxx")
telegramAction.sendTelegram(strMessage)
say(strMessage,null)
sendHttpGetRequest("https://api.callmebot.com/whatsapp.php?source=openHAB&phone=+xxxxxxxx&apikey=xxxxxxx&text=" + urlmessage)
mVolume = createTimer(now.plusSeconds(10), [|
GoogleHomeMinni_Lautstarke.sendCommand(50)
])
end
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz