﻿#!/usr/bin/perl
#
# kleines Programm zum Auslesen von Wetterdaten von aprs.fi
#
# Adi Bier / DL1HRC
#
# V0.03 liest Temperatur von aprs.fi
#

use LWP::UserAgent;

#$call = "ON7SD-5";
$call = "EW1953";
$apikey = "*******************";
$owninfo = "SvxLink - no website";

#####################################################################
$ua = LWP::UserAgent->new();
$ua->timeout(10);
$ua->agent($owninfo);

$ret = $ua->get("https://api.aprs.fi/api/get?name=$call&what=wx&apikey=$apikey&format=xml");

if ($ret->is_success) {
  $r = $ret->decoded_content;
  $r =~ m/<temp>(-?\d{1,}\.\d)<\/temp>/;
  $temp = $1;
} else {
  print "Fehler bei Abfrage der Webseite\n";
}
## pour temp négative
  $ret =~ m/temp: (-?\d{1,}\.\d)/;
##

# eine tcl-Datei für SvXLink-Ausgabe erstellen.
# Diese tcl-Datei wird dann z.B. bei der stündlichen Ansage 
# gesourced
#
# -> Eintrag in die Prozedur send_log_ident {hour minute} nach dem 
#    locale-Konzept einfügen:
#
# source "/tmp/wx.tcl";
#
open(WX,">/tmp/wx.tcl");

  print WX "playMsg \"MetarInfo\" \"temperature\";\n";
  print WX "playNumber $temp;\n";
#
#  print WX "playMsg \"MetarInfo\" \"degrees\";\n";
# 

  print WX "playMsg \"MetarInfo\" \"unit_degrees\";\n";
close(WX);
