Ansage der Wetterwarnung von DWD und/oder UWZ

Begonnen von rischbiter123, 12 März 2019, 12:08:35

Vorheriges Thema - Nächstes Thema

rischbiter123

Hier mal eine Möglichkeit, die Wetterwarnungen von DWD und UWZ ansagen zu lassen.

DWD:

Notify:
defmod DWDSprachausgabe notify 'Name des Warndevice':a_count:.* {Warnansage()}

99_myUtils:
# Ansage für DWD
sub Warnansage() {
my $Na = "Name des Warndevice"; # z.B. Wetterwarnung
my $warncounter = (ReadingsVal($Na,'a_count',""));
my $warntext = "";
my $warntext1 = "";
my $i = 0;
    my $aq = "";
while ($i < $warncounter)
{
$aq = "a_".$i."_description";
$warntext1 = (ReadingsVal($Na,$aq,""));
$warntext = $warntext." ".$warntext1;
$i += 1;
}
# Löschen des Klammerausdrucks, m/s, kn, Bft
$warntext =~ tr/\(/#/;
$warntext =~ tr/\)/#/;
$warntext =~ s/#([^#]+)#//g;
# Löschen Ende
if($warncounter > 0) {fhem( "set MyTTS tts Wetterwarnung. $warntext" )};
}


UWZ:

Notify:
defmod UWZSprachausgabe notify 'Name des Warndevice':WarnCount:.* {Warnansage2()}

99_myUtils:
# Ansage für UWZ
sub Warnansage2() {
my $Na = "Name des Warndevice"; # z.B. Unwetterzentrale
my $warncounter = (ReadingsVal($Na,'WarnCount',""));
my $warntext = "";
my $warntext1 = "";
my $i = 0;
    my $aq = "";
while ($i < $warncounter)
{
$aq = "Warn_".$i."_LongText"; # hier kann auch _ShortText stehen
$warntext1 = (ReadingsVal($Na,$aq,""));
$warntext = $warntext." ".$warntext1;
$i += 1;
}
if($warncounter > 0) {fhem( "set MyTTS tts Wetterwarnung. $warntext" )};
}


LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

inesa394

my $Na = "Name des Warndevice" # z.B. Wetterwarnung
kommt da nicht noch ein ";" am Ende damit es funktioniert

rischbiter123

Stimmt, ist wohl beim Kommentieren überschrieben worden. Habs geändert.

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2