Files
lauters_wetter/getwetter_test.pl

70 lines
2.3 KiB
Perl

use Mojo::UserAgent;
use Data::Printer;
use File::Slurp;
use JSON;
my $ua = Mojo::UserAgent->new;
# # my $tx = $ua->get('https://wetter.lauters.heim-server.de/current.html')->result->body;
# # my $netext = $tx =~ s/\R//rg;
my $tx = $ua->get('https://wetter.lauters.heim-server.de/clientraw.txt')->result->body;
append_file('clientraw.txt', "$tx");
# my $red = read_file('clientraw.txt');
my @read = split(' ', $tx);
my $var = read_file('variablen.txt');
my @vari = split(/\n/, $var);
# p @vari;
# p @read;
my $c = 0;
my $json = {};
for my $v ( @read ) {
if ( $vari[$c] =~ /,/ ) {
my ($wert, $einheit, $jsonkey ) = split(',', $vari[$c]);
if ( $jsonkey ) {
$json->{$jsonkey} = $read[$c];
}
print "$wert: $read[$c] $einheit\n";
}
$c ++;
}
# my @tr = $red =~ /<tr>(.*?)<\/tr>/g;
# for my $t ( @tr ) {
# if ( $t =~ /<nobr>Temperatur Au&szlig;en<\/nobr>/ ) {
# my ($aktuell) = $t =~ /<b><font size="1">aktuell<\/font><\/b><br><b><font size="5">(.*?)&deg;C<\/font><\/b/g;
# $json->{temp} = $aktuell =~ s/,/\./r;
# }
# if ( $t =~ /<nobr>Luftfeuchte Au&szlig;en<\/nobr>/ ) {
# my ($aktuell) = $t =~ /<b><font size="1">aktuell<\/font><\/b><br><b><font size="5">(.*?)%<\/font><\/b/g;
# $json->{luftfeuchte} = $aktuell;
# }
# if ( $t =~ /<nobr>Luftdruck<\/nobr>/ ) {
# my ($aktuell) = $t =~ /<b><font size="1">aktuell<\/font><\/b><br><b><font size="5">(.*?)hPa<\/font><\/b/g;
# $json->{luftdruck} = $aktuell =~ s/,/\./r;
# }
# if ( $t =~ /<nobr>Taupunkt<\/nobr>/ ) {
# my ($aktuell) = $t =~ /<b><font size="1">aktuell<\/font><\/b><br><b><font size="5">(.*?)&deg;C<\/font><\/b/g;
# $json->{taupunkt} = $aktuell =~ s/,/\./r;
# }
# if ( $t =~ /<nobr>UV-Index<\/nobr>/ ) {
# my ($aktuell) = $t =~ /<b><font size="1">aktuell<\/font><\/b><br><b><font size="5">(.*?)UV-I<\/font><\/b/g;
# $json->{uvindex} = $aktuell =~ s/,/\./r;
# }
# if ( $t =~ /<nobr>Solarstrahlung<\/nobr>/ ) {
# my ($aktuell) = $t =~ /<b><font size="1">aktuell<\/font><\/b><br><b><font size="5">(.*?)W\/m&sup2;<\/font><\/b/g;
# $json->{solarstrahlung} = $aktuell =~ s/,/\./r;
# }
# }
write_file( 'wetter.json', encode_json($json) );