FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: DerTom am 28 Dezember 2012, 00:22:00

Titel: FB_Callmonitor (Anwendung)
Beitrag von: DerTom am 28 Dezember 2012, 00:22:00
Hallo,

ich komm nicht so ganz mit dem Modul bzw. der praktischen Anwendung desselben klar. Könnte bitte einer ein Beispiel geben, was ich ich einer .cfg eintragen muss, wenn ich eine bestimmte Nummer meiner FB anrufe und ich damit auslösen möchte, daß sich alle meine FHT's auf den lt. Zeitplan aktuellen Wert hochstellen sollen? Letzteres ist mir klar { FHTnominal("TYPE=FHT") }, nur das notify und das Abgreifen des Wertes aus dem Modul FB_Callmonitor nicht...

Durch diverse Postings weiss ich, daß es einige Leute implementiert haben (z.B.Andreas Schaller 12. Nov)

Danke nochmals für das Modul. Ich konnte gestern zum ersten mal sprachgesteuert aus dem Auto meine Heizung anrufen und hochfahren. Klarer Mehrwert um Kontakt von der Strasse ( und am Steuer (//images/smiley_icons/icon_wink.gif)  zu FHEM aufzubauen.

Wäre nett, DANKE!
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: Markus Bloch am 30 Dezember 2012, 00:39:17
Hallo Tom (ich hoffe das ist richtig),

hier ein Beispiel, wie man deinen Anwendungsfall realisieren kann.

in der fhem.cfg würde ich folgendes eintragen:


# fritzbox callmonitor definition
define FritzBox FB_CALLMONITOR 192.168.179.1
attr FritzBox local-area-code 02331            # Deine Ortsvorwahl
attr FritzBox room Flur


# dein notify um deine FHT's bei einem anruf (event: call) von eine bestimte rufnummer schalten
define CallMonitor_notify notify FritzBox:event.*call {if(ReadingsVal("@", "external_number", "") eq "02314567890") { FHTnominal("TYPE=FHT") } }
 
Gruß
Markus
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: DerTom am 30 Dezember 2012, 11:15:20
Hallo Markus,

Ja, Tom ist richtig...

Danke, werde es gleich mal probieren...muss es aber ein wenig abändern, da ich ja eine bestimmte Nummer meiner Fritzbox anrufen will und nicht von einer bestimmten Nummer. Aber das sollte umzusetzen sein...

Gruß
Tom
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: DerTom am 30 Dezember 2012, 12:26:38
Hallo Markus,

also es scheint noch ein anderes Problem zu geben. Ich sehe zwar im Telnet jedes Mal die Anrufe ankommen, aber der Befehl wird nicht ausgeführt. Habe , da ja die FB normalerweise den Anruf nicht annimmt, wenn keine Genestelle definiert ist, einen Anrufbeantworter unter meiner MSN geschaltet, welche ich anrufe. Aber nix. Habe es auch mit dem Event "ring" oder "connect" gestestet, weil ich ein "call" nie im Telnet gesehen habe.

Hier meine Veruche:

- deine Version:
define CallMonitor_notify notify FritzBox:event.*call {if(ReadingsVal("@","external_number","") eq "0123456789") { FHTnominal("AZO_FHT80B") } }

- mit einem Event "ring"
define CallMonitor_notify notify FritzBox:event.*ring {if(ReadingsVal("@","external_number","") eq "08154711") { FHTnominal("AZO_FHT80B") } }

- mit "internal_number"
define CallMonitor_notify notify FritzBox:event.*call {if(ReadingsVal("@","internal_number","") eq "12345") { FHTnominal("AZO_FHT80B") } }

bis hin zu:

define CallMonitor_notify notify FritzBox:event.*connect {if(ReadingsVal("@","internal_connection","") eq "Answering_Machine_2") { FHTnominal("AZO_FHT80B") } }

Meine Fragen wären jetzt:
- Wofür steht das @?
- Warum werden in den Readings 3 Werte abgefragt, obwohl der dritte eigentlich none ist?
- Muss ich noch was in der FB konfigurieren, ausser den Callmonitor einzuschalten, um ein Event "call" zu erhalten? Dies habe ich eigentlich nie gesehen...

Danke für Deine Mühen...

Gruß
Tom
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: stromer-12 am 30 Dezember 2012, 13:27:48
ich lasse bei mir das notify auf call_id triggern.

Gruß
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: DerTom am 30 Dezember 2012, 13:28:38
Hallo,

Frage 2 hat sich nach Konsultation der Commandref erledigt. Habe das @ auch mal mit dem Namen meiner FB (device) ersetzt:

define FB7390 FB_CALLMONITOR 192.168.200.7:1012
define CallMonitor_notify notify FritzBox:event.*ring {if(ReadingsVal("FB7390","internal_number","") eq "12345") { FHTnominal("AZO_FHT80B") } }

Keider passiert nix. Und auch mit Loglevel 5 steht nichts im Logfile.

Gruß
Tom
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: Markus Bloch am 30 Dezember 2012, 13:37:43
Hallo Tom,

das liegt daran, dass die Regexp in deinem Fall nicht passt, da dein FritzBox-Device ja FB7390 heist, musst du daher folgende Definition verwenden.

define CallMonitor_notify notify FB7390:event.*ring {if(ReadingsVal("FB7390","internal_number","") eq "12345") { FHTnominal("AZO_FHT80B") } }


Viele Grüße

Markus
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: DerTom am 30 Dezember 2012, 14:03:10
Hallo Markus,

Funktioniert. Besten Dank!

Wünsche einen guten Rutsch!

Gruß
Tom
Titel: Aw: FB_Callmonitor - Anrufbeantworter (Anwendung)
Beitrag von: cocojambo am 05 Februar 2013, 11:04:46
Hallo,
ich habe inzwischen auch schon mit dem fb_callmonitor herum experimentiert. Er funktioniert wunderbar. Tolle Sache. Jetzt habe ich mal folgendes probiert:

define FB7390 FB_CALLMONITOR 192.168.115.1:1012

define CallMonitor_notify notify FB7390:event.*connect {if(ReadingsVal("FB7390","internal_connection","") eq "Answering_Machine_2") { fhem "set Test_Schalter Ein"}}

Es passiert nichts, auch im Log ist keine Fehlermeldung. Im Eventmonitor erscheint:

2013-02-04 22:42:04 FB_CALLMONITOR FB7390 event: connect
2013-02-04 22:42:04 FB_CALLMONITOR FB7390 internal_connection: Answering_Machine_2

Warum kann ich den AB nicht abfragen? Im Eventmonito wird der Befehl doch angezeigt. Ist es ein Fehler von mir oder geht das nicht?
Meine Fritzbox steht zum Beispiel im Keller, und ich sehe keine blinkende Info-Led für den AB.
Es wäre doch toll wenn man abfragen könnte, ob der AB in Abwesenheit angesprungen ist.
Kann man das eventuell ergänzen?

Gruß aus dem demnächst ziemlich karnevalistischen ,,Kölle am Rhing"
Norbert

Titel: Aw: FB_Callmonitor - Anrufbeantworter (Anwendung)
Beitrag von: DerTom am 06 Februar 2013, 07:41:41
Hallo Norbert,

also die Callmonitor-Funktion ist meiner Meinung nach sehr wählerisch. Was Du vorschlägst ist sehr reizvoll, aber Stati abzufragen funktioniert in meinen Augen nur sehr bedingt. Ich für meinen Teil bekomme nie das Event "Call" ausgelesen sondern immer "Ring". Internal_Connection müsste ich mal testen...

Aber hast Du nicht sowieso einen Fehler in Deinem Notify? Müsste es nicht:

define CallMonitor_notify notify FB7390:event.*connect {if(ReadingsVal("FB7390","internal_connection","") eq "Answering_Machine_2") { fhem ("set Test_Schalter Ein")}}

Und ist "Ein" bei Dir als EventMap zu "on" gesetzt?

Gruß
Thomas
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: cocojambo am 06 Februar 2013, 11:28:57
Hallo Thomas,

man kann den Befehl "set Test_Schalter Ein" mit und ohne Klammern verwenden. habe ich mit einem anderen befehl ausprobiert. Funtioniert 100%ig. den "Ein" Befehl habe ich in der Eventmap zu "on" gesetzt.

attr Test_Schalter eventMap on:Ein off:Aus
attr Test_Schalter model FS20 ST
attr Test_Schalter onOffDevice true
attr Test_Schalter room Allgemein

daran kann es also nicht liegen. da muß ich wohl mal weiterprobieren.

trotzdem Danke
Norbert
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: DerTom am 06 Februar 2013, 17:44:18
Hallo Norbert,

was soll ich sagen, ich habs eben getestet:

define CallMonitor_not_22222 notify FB7390:event.*connect {if(ReadingsVal("FB7390","internal_connection","") eq "Answering_Machine_4") {fhem("set FLU_FS_1 on") }}

Schaltet bei mir sofort, wenn der AB anspringt...
Titel: Aw: FB_Callmonitor (Anwendung)
Beitrag von: cocojambo am 08 Februar 2013, 11:20:20
hallo thomas
werde ich über karneval mal probieren, wenn s bei dir geht, dann muß ich vielleicht einen tipfehler gemacht haben. ich werde deine befehszeile mal so übernehmen.
erst mal vielen dank
norbert