FritzBox Temperaturalarm via Telefon: Unterschied zwischen den Versionen
(→fhem.cfg: ersetzen von % mit $EVENT) |
Krikan (Diskussion | Beiträge) (FHEM(R)) |
||
Zeile 47: | Zeile 47: | ||
== Test == | == Test == | ||
Testen kann man das durch Eingabe in | Testen kann man das durch Eingabe in FHEM von: | ||
<pre>trigger HMS100T_XXXX temperature 9.0 # Angabe in Celsius</pre> | <pre>trigger HMS100T_XXXX temperature 9.0 # Angabe in Celsius</pre> |
Aktuelle Version vom 27. Januar 2017, 16:15 Uhr
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("$EVENT" =~ m/ (.*)/ && floor($1) >= 9) } # alternativ define TempAlarmCall notify HMS100T_XXXX:temp.* { FritzBoxCallnr('**9') if (floor(SplitVar("$EVENT"," ",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