Hallo zusammen,
mit dem Standard Perl Script läuft Prowl leider auf der Fritzbox nicht und die Wiki-Lösung (http://www.fhemwiki.de/wiki/Erinnerungsfunktion_durch_FHEM_inkl._Anzeige_auf_dem_Iphone) mit E-Mail API fand ich aufgrund der angezeigten E-Mail-Adresse nicht schick. In den Google Groups gab es mal eine Lösungsbeitrag, der jedoch bei Sonderzeichen scheiterte. Ich habe jetzt beides integriert und eine neue Routine für die 99_myUtils.pm geschrieben.
sub myProwl($$$) {
my ($event, $notification, $priority) = @_;
# URL encode our arguments
$event =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
$notification =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
my $ret = "";
$ret .= system("wget -q -O /dev/null 'http://api.prowlapp.com/publicapi/add?apikey=xxx\&application=FHEM\&event=$event\&priority=$priority\&description=$notification'");
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "prowl returned: $ret";
}
Die xxx beim apikey müsst ihr natürlich durch Euren eigenen ersetzen.
Der Aufruf kann dann als Beispiel so erfolgen:
{myProwl('Alarm: Tür in Abwesenheit geöffnet','Die Wohnungstür wurde in Abwesenheit geöffnet!',1)}
Bei mir funktioniert das Ganze tadellos. Man sollte sich dessen bewusst sein, dass der Aufruf der API unverschlüsselt erfolgt, aber auch bei E-Mail kann man sich auf die verschlüsselte Übertragung nicht wirklich verlassen.
Falls jemand Verbesserungsvorschläge hat, dann gern her damit.
Gruß,
Veit