FritzBox Temperaturalarm via Telefon
20 sec. Alarm über alle internen Telefone, wenn Kühlschrank Temperatur > 8 Grd. Es können auch beliebige externe Telefone genutzt werden. Modified Code from Rudi (Tx) by JK
fhem.cfg
define TempAlarmCall notify HMS100T_XXXX:temp.* { FritzBoxCallnr('**9') if("%" =~ m/ (.*)/ && floor($1) >= 9) } alternativ define TempAlarmCall notify HMS100T_XXXX:temp.* { FritzBoxCallnr('**9') if (floor(SplitVar("%"," ",1)) >= 9) }
Sub (z.B.99_myutils.pm)
(also inspired by Rudi) sub FritzBoxCallnr ($) { my ($callnr) = @_; $callnr = "ATDT".$callnr."#"; my $ret = "ATD: " . `echo $callnr | nc 127.0.0.1 1011` ; InternalTimer(gettimeofday()+20, "FritzBoxHangOn", "", 0); return } sub FritzBoxHangOn () { my $ret = " ATH: " . `echo "ATH" | nc 127.0.0.1 1011` ; $ret =~ s,[\r\n]*,,g; # remove CR from return-string return } sub SplitVar($$$) { my @temparr; @temparr = split(/@_[1]/,@_[0]); return @temparr[@_[2]]; }
FritzBox
Um den Anruf auf internen Telefonen mit Hinweis im Telefondisplay zu signalisieren:
- in der FB ein Telefoniegerät anlegen,
- einen beliebigen Amts/VOIP Anschluss wählen,
- auf den Anschluss Fon 1 legen (sofern nicht benötigt)
- und eine geeignete Bezeichnung (Temperaturalarm...) geben.
Die Bezeichnung wird dann im Display angewählter intener Telefone angezeigt. Bei externen Telefonen allerdings nur die eigene Rufnummer...
Test
Testen kann man das durch Eingabe in fhem von:
trigger HMS100T_XXXX temperature 9.0 # Angabe in Celsius