Beim durchlesen von "Generierung von Events bei Telefonaten jeglicher Art " kam mir auch sofort eine Idee wofür ich es einsetzen könnte, wenn einer an meiner Haustür klingelt (analoger Türsprechadapter an Analogport1 der Fritzbox) schalte Aktor xyz ein 3 mal blinken oder was auch immer, aber leider wurde mir hier beim lesen klar das es so einfach nicht funktionieren kann
Funktionale Einschränkungen:
- Interne Verbindungen werden nicht gemeldet - Internes Weiterverbinden externer Anrufe wird nicht gemeldet - Mehrere ISDN-Geräte am internen S0-Bus werden nicht unterschieden
Das neue Modul FB_CALLMONITOR hat folgende Features.
Hi Uli!
Hast du unbenutzte Rufnummern von deinem Telefonanbieter?
Oder hast oder dir weitere VoIP Rufnummern besorgt (z.B. sipgate)?
Dann hättest du ja die Möglichkeit mit ReadingsVal aus dem Callmonitor external_number oder internal_number auszulesen und damit desired-temp zu beeinflussen.
Mit VPN und einer App ist das aber sicher komfortabler ;)
Werden da die 3 Sekunden Abstände auch geloggt?
Habt ihr mal ein FileLog Objekt für die FritzBox erzeugt? Werden da die 3 Sekunden Abstände auch geloggt?Tritt das Phänomen ebenfalls auf, wenn ihr das Attribut "event-on-change-reading" auf "event" setzt?Ich bin durchaus dran interessiert zu erfahren wo diese doppelten Events herkommen.
readingsBulkUpdate($hash, "datum", $array[0]);
und dann in 99_myUtils folgendes:
nach use POSIX;
my $vglDatum="";
my $vglEvent="";
und dann als eigene Sub:
sub
FBNotify() {
my $extNr = ReadingsVal("FBTel", "external_number", "none");
my $intNr = ReadingsVal("FBTel", "internal_number", "none");
my $conNr = ReadingsVal("FBTel", "used_connection", "none");
my $event = ReadingsVal("FBTel", "event", "none");
my $datum = ReadingsVal("FBTel", "datum", "none");
if(($vglDatum ne $datum) && ($vglEvent ne $event)){
$vglDatum=$datum;
$vglEvent=$event;
if($event eq "ring"){
# Aktion bei ring;
} elsif($event eq "call"){
# Aktion bei call;
} elsif($event eq "disconnect"){
# Aktion bei disconnect;
} elsif($event eq "connect"){
# Aktion bei connect;
} else {
# sonstige Aktion;
}
}
}
in fhem cfg dann noch:
define FBLog dummy
attr FBLog comment FritzBox Anrufliste
attr FBLog room FritzBox
define FileLog_FBLog FileLog /var/log/fhem/FBLog-%Y-%m.log FBLog
attr FileLog_FBLog logtype text
attr FileLog_FBLog room FritzBox
define FBCall notify FBTel {FBNotify()}
attr FBCall room FritzBox
Damit bin ich dann soweit zufrieden.
Herzliche Grüße
Jörg
Ach ja:
FB7270v3 FRITZ!OS 05.27-23577 BETA
RPi + COC + Aktuelles Fhem aus SVN
Würde gerne helfen, aber bin schon mit Begriffen wie "FileLog Objekt" und "Attribut "event-on-change-reading" überfordert :-)
2012.11.14 19:02:27 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 2099 2012-11-08 20:56:21Z borisneubert $, pid 1904)
Hallo,habe jetzt für mich folgendes gebastelt:
Wenn ich Zeit habe werde ich alles noch mal prüfen.
Ich hatte 72_FB_CALLMONITOR.pm nach 99_FB_CALLMONITOR_Utils.pm kopiert.
Danach einen Global Replace von FB_CALLMONITOR nach FB_CALLMONITOR_Utils.
Beim $hash Teil meine eigene Einträgen gemacht.
Im 99_myUtils.pm meine eigene sub checkFB_MONITOR() angelegt und im fhem.cfg alles wie bei euch bis auf:
define FBTel FB_CALLMONITOR_Utils 192.168.178.1:1012
define FBCall notify FBTel { checkFB_MONITOR() }
Für mich währe daher interessant, was das FHEM Logfile sagt, wenn man FHEM vollen verbose-mode laufen lässt (Attribute "loglevel" auf 5 im Device global).