Damit tts nicht losquatscht wenn ich gar nicht zu Hause bin habe ich mir folgende kleine Funktion gebastelt:
per cmdalias werden die Benachrichtigungen an ein Script gegeben:
define c_msg cmdalias msg .* AS { msg($EVENT)}
das Script in der myUtils prüft dann ob jemand zu Hause ist. Wenn ja erfolgt die Ausgabe per tts, ansonsten per Telegram:
my $msg = "";
sub msg ($){
my $homestatus = ReadingsVal("Handy","state","");
($msg) = @_;
if ($homestatus eq "present"){
fhem "set MyTTS tts $msg";
}
else {
fhem "set TelegramBot message $msg";
}
}
Benachrichtigungen können dann einfach mit dem Befehl msg ausgegeben werden und werden immer passend verteilt.
Der eingebaute msg Befehl macht bereits genau das (und mehr), was du hier nachbaust.
Gruß
Julian