code style and version number changed

This commit is contained in:
Marko Oldenburg 2020-04-28 14:42:56 +02:00
parent 2529758f86
commit e8f92c5f0b

454
77_UWZ.pm
View File

@ -898,7 +898,7 @@ sub JSONAcquire {
my $err_log = "Can't get $URL -- " . $err; my $err_log = "Can't get $URL -- " . $err;
readingsSingleUpdate( $hash, 'lastConnection', $err, 1 ); readingsSingleUpdate( $hash, 'lastConnection', $err, 1 );
Log $hash, 1, 'Error: ' . $err_log; Log $hash, 1, 'Error: ' . $err_log;
return main::encode_utf8('{"Error": "' . $err . '"}'); return main::encode_utf8( '{"Error": "' . $err . '"}' );
} }
Log $hash, 4, Log $hash, 4,
@ -920,7 +920,7 @@ sub Start {
RemoveInternalTimer($hash); RemoveInternalTimer($hash);
InternalTimer( gettimeofday() + $hash->{INTERVAL}, 'UWZ_Start', $hash ); InternalTimer( gettimeofday() + $hash->{INTERVAL}, 'UWZ_Start', $hash );
return readingsSingleUpdate($hash,'state','disabled',1) return readingsSingleUpdate( $hash, 'state', 'disabled', 1 )
if ( IsDisabled($name) ); if ( IsDisabled($name) );
readingsSingleUpdate( $hash, 'currentIntervalMode', 'normal', 0 ); readingsSingleUpdate( $hash, 'currentIntervalMode', 'normal', 0 );
@ -999,7 +999,8 @@ sub Done {
if ( defined $values{Error} ) { if ( defined $values{Error} ) {
readingsBulkUpdate( $hash, 'lastConnection', $values{Error} ); readingsBulkUpdate( $hash, 'lastConnection', $values{Error} );
readingsBulkUpdate( $hash, 'state', 'error at last run, please check >>lastConnection<< reading' ); readingsBulkUpdate( $hash, 'state',
'error at last run, please check >>lastConnection<< reading' );
} }
else { else {
@ -1153,28 +1154,13 @@ sub Run {
Log $hash, 5, length($response) . ' characters captured'; Log $hash, 5, length($response) . ' characters captured';
my $uwz_warnings = JSON->new->ascii->decode($response); my $uwz_warnings = JSON->new->ascii->decode($response);
my $message; my $message;
my $uwz_warncount; my $uwz_warncount;
if ( !exists $uwz_warnings->{Error} ) { if ( !exists $uwz_warnings->{Error} ) {
my $enc = guess_encoding($uwz_warnings); my $enc = guess_encoding($uwz_warnings);
Log $hash, 2, 'DEBUG!!! Response: ' . $uwz_warnings; Log $hash, 2, 'DEBUG!!! Response: ' . $uwz_warnings;
$uwz_warncount = scalar( @{ $uwz_warnings->{'results'} } ); $uwz_warncount = scalar( @{ $uwz_warnings->{'results'} } );
@ -1184,23 +1170,23 @@ sub Run {
if ( $sortby eq 'creation' ) { if ( $sortby eq 'creation' ) {
Log $hash, 4, 'Sorting by creation'; Log $hash, 4, 'Sorting by creation';
@sorted = sort { $b->{payload}{creation} <=> $a->{payload}{creation} } @sorted =
@{ $uwz_warnings->{'results'} }; sort { $b->{payload}{creation} <=> $a->{payload}{creation} }
@{ $uwz_warnings->{'results'} };
} }
elsif ( $sortby ne 'severity' ) { elsif ( $sortby ne 'severity' ) {
Log $hash, 4, 'Sorting by dtgStart'; Log $hash, 4, 'Sorting by dtgStart';
@sorted = sort { $a->{dtgStart} <=> $b->{dtgStart} } @sorted = sort { $a->{dtgStart} <=> $b->{dtgStart} }
@{ $uwz_warnings->{'results'} }; @{ $uwz_warnings->{'results'} };
} }
else { else {
Log $hash, 4, 'Sorting by severity'; Log $hash, 4, 'Sorting by severity';
@sorted = sort { $a->{severity} <=> $b->{severity} } @sorted = sort { $a->{severity} <=> $b->{severity} }
@{ $uwz_warnings->{'results'} }; @{ $uwz_warnings->{'results'} };
} }
my $i = 0; my $i = 0;
my %typenames = ( my %typenames = (
@ -1293,126 +1279,137 @@ sub Run {
foreach my $single_warning (@sorted) { foreach my $single_warning (@sorted) {
push @uwzmaxlevel, push @uwzmaxlevel,
GetUWZLevel( $hash, $single_warning->{'payload'}{'levelName'} ); GetUWZLevel( $hash, $single_warning->{'payload'}{'levelName'} );
Log $hash, 4, Log $hash, 4,
'Warn_' . $i . '_EventID: ' . $single_warning->{'payload'}{'id'}; 'Warn_' . $i . '_EventID: ' . $single_warning->{'payload'}{'id'};
$message .= $message .=
'Warn_' . $i . '_EventID|' . $single_warning->{'payload'}{'id'} . '|'; 'Warn_'
. $i
. '_EventID|'
. $single_warning->{'payload'}{'id'} . '|';
my $chopcreation = my $chopcreation =
substr( $single_warning->{'payload'}{'creation'}, 0, 10 ); substr( $single_warning->{'payload'}{'creation'}, 0, 10 );
$chopcreation = $chopcreation; $chopcreation = $chopcreation;
Log $hash, 4, 'Warn_' . $i . '_Creation: ' . $chopcreation; Log $hash, 4, 'Warn_' . $i . '_Creation: ' . $chopcreation;
$message .= 'Warn_' . $i . '_Creation|' . $chopcreation . '|'; $message .= 'Warn_' . $i . '_Creation|' . $chopcreation . '|';
Log $hash, 4, 'Warn_' . $i . '_Type: ' . $single_warning->{'type'}; Log $hash, 4, 'Warn_' . $i . '_Type: ' . $single_warning->{'type'};
$message .= 'Warn_' . $i . '_Type|' . $single_warning->{'type'} . '|'; $message .=
'Warn_' . $i . '_Type|' . $single_warning->{'type'} . '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_uwzLevel: ' . '_uwzLevel: '
. GetUWZLevel( $hash, $single_warning->{'payload'}{'levelName'} ); . GetUWZLevel( $hash, $single_warning->{'payload'}{'levelName'} );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_uwzLevel|' . '_uwzLevel|'
. GetUWZLevel( $hash, $single_warning->{'payload'}{'levelName'} ) . GetUWZLevel( $hash, $single_warning->{'payload'}{'levelName'} )
. '|'; . '|';
Log $hash, 4, Log $hash, 4,
'Warn_' . $i . '_Severity: ' . $single_warning->{'severity'}; 'Warn_' . $i . '_Severity: ' . $single_warning->{'severity'};
$message .= $message .=
'Warn_' . $i . '_Severity|' . $single_warning->{'severity'} . '|'; 'Warn_' . $i . '_Severity|' . $single_warning->{'severity'} . '|';
Log $hash, 4, 'Warn_' . $i . '_Start: ' . $single_warning->{'dtgStart'}; Log $hash, 4,
'Warn_' . $i . '_Start: ' . $single_warning->{'dtgStart'};
$message .= $message .=
'Warn_' . $i . '_Start|' . $single_warning->{'dtgStart'} . '|'; 'Warn_' . $i . '_Start|' . $single_warning->{'dtgStart'} . '|';
Log $hash, 4, 'Warn_' . $i . '_End: ' . $single_warning->{'dtgEnd'}; Log $hash, 4, 'Warn_' . $i . '_End: ' . $single_warning->{'dtgEnd'};
$message .= 'Warn_' . $i . '_End|' . $single_warning->{'dtgEnd'} . '|'; $message .=
'Warn_' . $i . '_End|' . $single_warning->{'dtgEnd'} . '|';
## Begin of redundant Reading ## Begin of redundant Reading
if ( $UWZ_humanreadable eq 1 ) { if ( $UWZ_humanreadable eq 1 ) {
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_Start_Date: ' . '_Start_Date: '
. strftime( "%d.%m.%Y", . strftime( "%d.%m.%Y",
localtime( $single_warning->{'dtgStart'} ) ); localtime( $single_warning->{'dtgStart'} ) );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_Start_Date|' . '_Start_Date|'
. strftime( "%d.%m.%Y", . strftime( "%d.%m.%Y",
localtime( $single_warning->{'dtgStart'} ) ) localtime( $single_warning->{'dtgStart'} ) )
. '|'; . '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_Start_Time: ' . '_Start_Time: '
. strftime( "%H:%M", localtime( $single_warning->{'dtgStart'} ) ); . strftime( "%H:%M",
localtime( $single_warning->{'dtgStart'} ) );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_Start_Time|' . '_Start_Time|'
. strftime( "%H:%M", localtime( $single_warning->{'dtgStart'} ) ) . strftime( "%H:%M",
. '|'; localtime( $single_warning->{'dtgStart'} ) )
. '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_End_Date: ' . '_End_Date: '
. strftime( "%d.%m.%Y", . strftime( "%d.%m.%Y",
localtime( $single_warning->{'dtgEnd'} ) ); localtime( $single_warning->{'dtgEnd'} ) );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_End_Date|' . '_End_Date|'
. strftime( "%d.%m.%Y", localtime( $single_warning->{'dtgEnd'} ) ) . strftime( "%d.%m.%Y",
. '|'; localtime( $single_warning->{'dtgEnd'} ) )
. '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_End_Time: ' . '_End_Time: '
. strftime( "%H:%M", localtime( $single_warning->{'dtgEnd'} ) ); . strftime( "%H:%M",
localtime( $single_warning->{'dtgEnd'} ) );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_End_Time|' . '_End_Time|'
. strftime( "%H:%M", localtime( $single_warning->{'dtgEnd'} ) ) . strftime( "%H:%M",
. '|'; localtime( $single_warning->{'dtgEnd'} ) )
. '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_Creation_Date: ' . '_Creation_Date: '
. strftime( "%d.%m.%Y", localtime($chopcreation) ); . strftime( "%d.%m.%Y", localtime($chopcreation) );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_Creation_Date|' . '_Creation_Date|'
. strftime( "%d.%m.%Y", localtime($chopcreation) ) . '|'; . strftime( "%d.%m.%Y", localtime($chopcreation) ) . '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_Creation_Time: ' . '_Creation_Time: '
. strftime( "%H:%M", localtime($chopcreation) ); . strftime( "%H:%M", localtime($chopcreation) );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_Creation_Time|' . '_Creation_Time|'
. strftime( "%H:%M", localtime($chopcreation) ) . '|'; . strftime( "%H:%M", localtime($chopcreation) ) . '|';
# Begin Language by AttrVal # Begin Language by AttrVal
if ( $hash->{CountryCode} ~~ [ 'DE', 'AT', 'CH' ] ) { if ( $hash->{CountryCode} ~~ [ 'DE', 'AT', 'CH' ] ) {
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_Type_Str: ' . '_Type_Str: '
. $typenames_de_str{ $single_warning->{'type'} }; . $typenames_de_str{ $single_warning->{'type'} };
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_Type_Str|' . '_Type_Str|'
. $typenames_de_str{ $single_warning->{'type'} } . '|'; . $typenames_de_str{ $single_warning->{'type'} } . '|';
my %uwzlevelname = ( my %uwzlevelname = (
'0' => 'Stufe Grün (keine Warnung)', '0' => 'Stufe Grün (keine Warnung)',
'1' => 'Stufe Dunkelgrün (Wetterhinweise)', '1' => 'Stufe Dunkelgrün (Wetterhinweise)',
@ -1423,71 +1420,71 @@ sub Run {
); );
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_uwzLevel_Str: ' . '_uwzLevel_Str: '
. $uwzlevelname{ . $uwzlevelname{
GetUWZLevel( $hash, GetUWZLevel( $hash,
$single_warning->{'payload'}{'levelName'} ) $single_warning->{'payload'}{'levelName'} )
}; };
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_uwzLevel_Str|' . '_uwzLevel_Str|'
. $uwzlevelname{ . $uwzlevelname{
GetUWZLevel( $hash, GetUWZLevel( $hash,
$single_warning->{'payload'}{'levelName'} ) $single_warning->{'payload'}{'levelName'} )
} }
. '|'; . '|';
} }
elsif ( $hash->{CountryCode} ~~ ['NL'] ) { elsif ( $hash->{CountryCode} ~~ ['NL'] ) {
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_Type_Str: ' . '_Type_Str: '
. $typenames_nl_str{ $single_warning->{'type'} }; . $typenames_nl_str{ $single_warning->{'type'} };
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_Type_Str|' . '_Type_Str|'
. $typenames_nl_str{ $single_warning->{'type'} } . '|'; . $typenames_nl_str{ $single_warning->{'type'} } . '|';
my %uwzlevelname = ( my %uwzlevelname = (
'0' => 'niveau groen (geen waarschuwingen)', '0' => 'niveau groen (geen waarschuwingen)',
'1' => 'niveau donkergroen (weermelding)', '1' => 'niveau donkergroen (weermelding)',
'2' => 'niveau geel (voorwaarschuwing)', '2' => 'niveau geel (voorwaarschuwing)',
'3' => '3' =>
'waarschuwingsniveau oranje (waarschuwing voor matig noodweer)', 'waarschuwingsniveau oranje (waarschuwing voor matig noodweer)',
'4' => '4' =>
'waarschuwingsniveau rood (waarschuwing voor zwaar noodweer)', 'waarschuwingsniveau rood (waarschuwing voor zwaar noodweer)',
'5' => '5' =>
'waarschuwingsniveau violet (waarschuwing voor zeer zwaar noodweer)' 'waarschuwingsniveau violet (waarschuwing voor zeer zwaar noodweer)'
); );
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_uwzLevel_Str: ' . '_uwzLevel_Str: '
. $uwzlevelname{ . $uwzlevelname{
GetUWZLevel( $hash, GetUWZLevel( $hash,
$single_warning->{'payload'}{'levelName'} ) $single_warning->{'payload'}{'levelName'} )
}; };
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_uwzLevel_Str|' . '_uwzLevel_Str|'
. $uwzlevelname{ . $uwzlevelname{
GetUWZLevel( $hash, GetUWZLevel( $hash,
$single_warning->{'payload'}{'levelName'} ) $single_warning->{'payload'}{'levelName'} )
} }
. '|'; . '|';
} }
elsif ( $hash->{CountryCode} ~~ ['FR'] ) { elsif ( $hash->{CountryCode} ~~ ['FR'] ) {
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_Type_Str: ' . '_Type_Str: '
. $typenames_nl_str{ $single_warning->{'type'} }; . $typenames_nl_str{ $single_warning->{'type'} };
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_Type_Str|' . '_Type_Str|'
. $typenames_nl_str{ $single_warning->{'type'} } . '|'; . $typenames_nl_str{ $single_warning->{'type'} } . '|';
my %uwzlevelname = ( my %uwzlevelname = (
'0' => 'niveau vert (aucune alerte)', '0' => 'niveau vert (aucune alerte)',
'1' => 'niveau vert foncé (indication météo)', '1' => 'niveau vert foncé (indication météo)',
@ -1498,32 +1495,32 @@ sub Run {
); );
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_uwzLevel_Str: ' . '_uwzLevel_Str: '
. $uwzlevelname{ . $uwzlevelname{
GetUWZLevel( $hash, GetUWZLevel( $hash,
$single_warning->{'payload'}{'levelName'} ) $single_warning->{'payload'}{'levelName'} )
}; };
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_uwzLevel_Str|' . '_uwzLevel_Str|'
. $uwzlevelname{ . $uwzlevelname{
GetUWZLevel( $hash, GetUWZLevel( $hash,
$single_warning->{'payload'}{'levelName'} ) $single_warning->{'payload'}{'levelName'} )
} }
. '|'; . '|';
} }
else { else {
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_Type_Str: ' . '_Type_Str: '
. $typenames_en_str{ $single_warning->{'type'} }; . $typenames_en_str{ $single_warning->{'type'} };
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_Type_Str|' . '_Type_Str|'
. $typenames_en_str{ $single_warning->{'type'} } . '|'; . $typenames_en_str{ $single_warning->{'type'} } . '|';
my %uwzlevelname = ( my %uwzlevelname = (
'0' => 'level green (no warnings)', '0' => 'level green (no warnings)',
'1' => 'level dark green (weather notice)', '1' => 'level dark green (weather notice)',
@ -1534,20 +1531,20 @@ sub Run {
); );
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_uwzLevel_Str: ' . '_uwzLevel_Str: '
. $uwzlevelname{ . $uwzlevelname{
GetUWZLevel( $hash, GetUWZLevel( $hash,
$single_warning->{'payload'}{'levelName'} ) $single_warning->{'payload'}{'levelName'} )
}; };
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_uwzLevel_Str|' . '_uwzLevel_Str|'
. $uwzlevelname{ . $uwzlevelname{
GetUWZLevel( $hash, GetUWZLevel( $hash,
$single_warning->{'payload'}{'levelName'} ) $single_warning->{'payload'}{'levelName'} )
} }
. '|'; . '|';
} }
@ -1556,39 +1553,39 @@ sub Run {
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_levelName: ' . '_levelName: '
. $single_warning->{'payload'}{'levelName'}; . $single_warning->{'payload'}{'levelName'};
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_levelName|' . '_levelName|'
. $single_warning->{'payload'}{'levelName'} . '|'; . $single_warning->{'payload'}{'levelName'} . '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_AltitudeMin: ' . '_AltitudeMin: '
. $enc->decode( $single_warning->{'payload'}{'altMin'} ); . $enc->decode( $single_warning->{'payload'}{'altMin'} );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_AltitudeMin|' . '_AltitudeMin|'
. encode( 'UTF-8', . encode( 'UTF-8',
decode( 'iso-8859-1', $single_warning->{'payload'}{'altMin'} ) ) decode( 'iso-8859-1', $single_warning->{'payload'}{'altMin'} ) )
. '|'; . '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_AltitudeMax: ' . '_AltitudeMax: '
. $enc->decode( $single_warning->{'payload'}{'altMax'} ); . $enc->decode( $single_warning->{'payload'}{'altMax'} );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_AltitudeMax|' . '_AltitudeMax|'
. encode( 'UTF-8', . encode( 'UTF-8',
decode( 'iso-8859-1', $single_warning->{'payload'}{'altMax'} ) ) decode( 'iso-8859-1', $single_warning->{'payload'}{'altMax'} ) )
. '|'; . '|';
my $uclang = 'EN'; my $uclang = 'EN';
if ( AttrVal( $name, 'lang', undef ) ) { if ( AttrVal( $name, 'lang', undef ) ) {
@ -1611,77 +1608,84 @@ sub Run {
} }
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_LongText: ' . '_LongText: '
. $enc->decode( . $enc->decode(
$single_warning->{'payload'}{'translationsLongText'}{$uclang} ); $single_warning->{'payload'}{'translationsLongText'}{$uclang} );
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_LongText|' . '_LongText|'
. encode( . encode(
'UTF-8', 'UTF-8',
decode( decode(
'iso-8859-1', 'iso-8859-1',
$single_warning->{'payload'}{'translationsLongText'}{$uclang} $single_warning->{'payload'}{'translationsLongText'}
{$uclang}
) )
) . '|'; ) . '|';
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_ShortText: ' . '_ShortText: '
. $enc->decode( . $enc->decode(
$single_warning->{'payload'}{'translationsShortText'}{$uclang} ); $single_warning->{'payload'}{'translationsShortText'}{$uclang}
);
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_ShortText|' . '_ShortText|'
. encode( . encode(
'UTF-8', 'UTF-8',
decode( decode(
'iso-8859-1', 'iso-8859-1',
$single_warning->{'payload'}{'translationsShortText'}{$uclang} $single_warning->{'payload'}{'translationsShortText'}
{$uclang}
) )
) . '|'; ) . '|';
### ###
if ( AttrVal( $name, 'localiconbase', undef ) ) { if ( AttrVal( $name, 'localiconbase', undef ) ) {
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_IconURL: ' . '_IconURL: '
. AttrVal( $name, 'localiconbase', undef ) . AttrVal( $name, 'localiconbase', undef )
. $typenames{ $single_warning->{'type'} } . '-' . $typenames{ $single_warning->{'type'} } . '-'
. $single_warning->{'severity'} . '.png'; . $single_warning->{'severity'} . '.png';
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_IconURL|' . '_IconURL|'
. AttrVal( $name, 'localiconbase', undef ) . AttrVal( $name, 'localiconbase', undef )
. $typenames{ $single_warning->{'type'} } . '-' . $typenames{ $single_warning->{'type'} } . '-'
. GetSeverityColor( . GetSeverityColor(
$hash, $hash,
GetUWZLevel( $hash, $single_warning->{'payload'}{'levelName'} ) GetUWZLevel(
) . '.png|'; $hash, $single_warning->{'payload'}{'levelName'}
)
) . '.png|';
} }
else { else {
Log $hash, 4, Log $hash, 4,
'Warn_' 'Warn_'
. $i . $i
. '_IconURL: http://www.unwetterzentrale.de/images/icons/' . '_IconURL: http://www.unwetterzentrale.de/images/icons/'
. $typenames{ $single_warning->{'type'} } . '-' . $typenames{ $single_warning->{'type'} } . '-'
. $single_warning->{'severity'} . '.gif'; . $single_warning->{'severity'} . '.gif';
$message .= 'Warn_' $message .= 'Warn_'
. $i . $i
. '_IconURL|http://www.unwetterzentrale.de/images/icons/' . '_IconURL|http://www.unwetterzentrale.de/images/icons/'
. $typenames{ $single_warning->{'type'} } . '-' . $typenames{ $single_warning->{'type'} } . '-'
. GetSeverityColor( . GetSeverityColor(
$hash, $hash,
GetUWZLevel( $hash, $single_warning->{'payload'}{'levelName'} ) GetUWZLevel(
) . '.gif|'; $hash, $single_warning->{'payload'}{'levelName'}
)
) . '.gif|';
} }
### ###
## Hagel start ## Hagel start
my $hagelcount = 0; my $hagelcount = 0;
@ -1691,29 +1695,29 @@ sub Run {
if ( $hash->{CountryCode} ~~ [ 'DE', 'AT', 'CH' ] ) { if ( $hash->{CountryCode} ~~ [ 'DE', 'AT', 'CH' ] ) {
$hagelcount = my @hagelmatch = $hagelcount = my @hagelmatch =
$single_warning->{'payload'}{'translationsLongText'}{'DE'} =~ $single_warning->{'payload'}{'translationsLongText'}{'DE'} =~
/Hagel/g; /Hagel/g;
} }
elsif ( $hash->{CountryCode} ~~ ['NL'] ) { elsif ( $hash->{CountryCode} ~~ ['NL'] ) {
$hagelcount = my @hagelmatch = $hagelcount = my @hagelmatch =
$single_warning->{'payload'}{'translationsLongText'}{'NL'} =~ $single_warning->{'payload'}{'translationsLongText'}{'NL'} =~
/hagel/g; /hagel/g;
} }
elsif ( $hash->{CountryCode} ~~ ['FR'] ) { elsif ( $hash->{CountryCode} ~~ ['FR'] ) {
$hagelcount = my @hagelmatch = $hagelcount = my @hagelmatch =
$single_warning->{'payload'}{'translationsLongText'}{'FR'} =~ $single_warning->{'payload'}{'translationsLongText'}{'FR'} =~
/grêle/g; /grêle/g;
} }
else { else {
$hagelcount = my @hagelmatch = $hagelcount = my @hagelmatch =
$single_warning->{'payload'}{'translationsLongText'}{'EN'} =~ $single_warning->{'payload'}{'translationsLongText'}{'EN'} =~
/Hail/g; /Hail/g;
} }
# end language by AttrVal # end language by AttrVal
@ -1742,7 +1746,8 @@ sub Run {
$message .= $max . '|'; $message .= $max . '|';
Log $hash, 4, 'WarnUWZLevel_Color: ' . GetSeverityColor( $hash, $max ); Log $hash, 4, 'WarnUWZLevel_Color: ' . GetSeverityColor( $hash, $max );
$message .= 'WarnUWZLevel_Color|' . GetSeverityColor( $hash, $max ) . '|'; $message .=
'WarnUWZLevel_Color|' . GetSeverityColor( $hash, $max ) . '|';
## Begin of redundant Reading ## Begin of redundant Reading
if ( $UWZ_humanreadable eq 1 ) { if ( $UWZ_humanreadable eq 1 ) {
@ -1765,11 +1770,11 @@ sub Run {
'1' => 'niveau donkergroen (voorwaarschuwing)', '1' => 'niveau donkergroen (voorwaarschuwing)',
'2' => 'niveau geel (voorwaarschuwing)', '2' => 'niveau geel (voorwaarschuwing)',
'3' => '3' =>
'waarschuwingsniveau oranje (waarschuwing voor matig noodweer)', 'waarschuwingsniveau oranje (waarschuwing voor matig noodweer)',
'4' => '4' =>
'waarschuwingsniveau rood (waarschuwing voor zwaar noodweer)', 'waarschuwingsniveau rood (waarschuwing voor zwaar noodweer)',
'5' => '5' =>
'waarschuwingsniveau violet (waarschuwing voor zeer zwaar noodweer)' 'waarschuwingsniveau violet (waarschuwing voor zeer zwaar noodweer)'
); );
Log $hash, 4, 'WarnUWZLevel_Str: ' . $uwzlevelname{$max}; Log $hash, 4, 'WarnUWZLevel_Str: ' . $uwzlevelname{$max};
$message .= 'WarnUWZLevel_Str|' . $uwzlevelname{$max} . '|'; $message .= 'WarnUWZLevel_Str|' . $uwzlevelname{$max} . '|';
@ -1806,11 +1811,12 @@ sub Run {
$message .= sprintf "%.2f", time() - $readingStartTime; $message .= sprintf "%.2f", time() - $readingStartTime;
Log $hash, 3, 'Done fetching data'; Log $hash, 3, 'Done fetching data';
Log $hash, 4, 'Will return : ' . "$name|$message|WarnCount|$uwz_warncount"; Log $hash, 4,
'Will return : ' . "$name|$message|WarnCount|$uwz_warncount";
} }
else { else {
$message = 'Error|' . $uwz_warnings->{Error}; $message = 'Error|' . $uwz_warnings->{Error};
$uwz_warncount = -1; $uwz_warncount = -1;
} }
return "$name|$message|WarnCount|$uwz_warncount"; return "$name|$message|WarnCount|$uwz_warncount";
@ -3374,7 +3380,7 @@ sub UWZSearchAreaID {
], ],
"release_status": "stable", "release_status": "stable",
"license": "GPL_2", "license": "GPL_2",
"version": "v2.2.5", "version": "v3.0.0",
"author": [ "author": [
"Marko Oldenburg <leongaultier@gmail.com>" "Marko Oldenburg <leongaultier@gmail.com>"
], ],