FritzBox Temperaturalarm via Telefon: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „20 sec. Alarm über alle internen Telefone, wenn Kühlschrank Temperatur > 8 Grd. Es können auch beliebige externe Telefone genutzt werden. Modified Code …“)
 
(FHEM(R))
 
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 3: Zeile 3:
Modified Code from Rudi (Tx) by JK
Modified Code from Rudi (Tx) by JK
== fhem.cfg ==
== fhem.cfg ==
<nowiki>define TempAlarmCall notify HMS100T_XXXX:temp.* { FritzBoxCallnr('**9') if("%" =~ m/ (.*)/ &amp;&amp; floor($1) &gt;= 9) }
<pre>
alternativ
define TempAlarmCall notify HMS100T_XXXX:temp.* { FritzBoxCallnr('**9') if("$EVENT" =~ m/ (.*)/ &amp;&amp; floor($1) &gt;= 9) }
define TempAlarmCall notify HMS100T_XXXX:temp.* { FritzBoxCallnr('**9') if (floor(SplitVar("%"," ",1)) &gt;= 9) }</nowiki>
 
# alternativ
define TempAlarmCall notify HMS100T_XXXX:temp.* { FritzBoxCallnr('**9') if (floor(SplitVar("$EVENT"," ",1)) &gt;= 9) }
</pre>
 
== Sub (z.B.99_myutils.pm) ==
== Sub (z.B.99_myutils.pm) ==
  <nowiki>(also inspired by Rudi)
  <nowiki>(also inspired by Rudi)
Zeile 43: Zeile 47:


== Test ==
== Test ==
Testen kann man das durch Eingabe in fhem von:  
Testen kann man das durch Eingabe in FHEM von:  


trigger HMS100T_XXXX temperature 9.0 (Celsius)
<pre>trigger HMS100T_XXXX temperature 9.0       # Angabe in Celsius</pre>


== Links ==
== Links ==
[[Kategorie:FritzBox]]
[[Kategorie:Code Snippets]]

Aktuelle Version vom 27. Januar 2017, 17: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:

  1. in der FB ein Telefoniegerät anlegen,
  2. einen beliebigen Amts/VOIP Anschluss wählen,
  3. auf den Anschluss Fon 1 legen (sofern nicht benötigt)
  4. 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

Links