FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: ujaudio am 04 Januar 2016, 16:08:56

Titel: [gelöst] FB_CALLMONITOR und 2 Amtsleitungen anzeigen
Beitrag von: ujaudio am 04 Januar 2016, 16:08:56
Mhm, ich habe jetzt die commandref 3x gelesen, aber irgendwie fehlt mir die zündende Idee, wie es gehen müsste.

Ich nutze FB_CALLMONITOR, dazu ein readingsProxy und kann zusammen mit entsprechendem deviceStateIcon auf meinem Floorplan anzeigen, ob das Telefon aufgelegt ist, ob telefoniert wird oder ob gewählt wird, bzw. ein Anruf hereinkommt. Alles ist gut.

Wir haben aber an der Fritzbox 2 Telefone - und die bekomme ich nicht unterschiedlich signalisiert. Es gibt ja nur ein reading "Event", wie soll ich da die beiden Telefone/Amtsleitungen unterscheiden?

Gibt es irgendeine Idee - oder hat jemand die Herausforderung sogar schon gelöst?
Titel: Antw:FB_CALLMONITOR und 2 Amtsleitungen anzeigen
Beitrag von: Markus Bloch am 04 Januar 2016, 22:01:50
Sobald ein Gesprächsereignis stattfindet (durch das Reading "event") sind bereits alle anderen Readings passend zu dem Gespräch gefüllt.

Wenn also ein Gespräch stattfindet und man dies mit einem Notify oder anderen Mitteln abfängt. Steht die entsprechende Leitung, über die das Telefonat geführt wurde in den Readings internal_number (Telefonnummer) sowie external_connection (Verbindungsart).

Damit kann man das auseinanderhalten. Ich beispielsweise habe ein Notify auf "event.*". Prüfe aber dann dennoch ob internal_number = XXXXXX ist.

Viele Grüße

Markus
Titel: Antw:FB_CALLMONITOR und 2 Amtsleitungen anzeigen
Beitrag von: ujaudio am 05 Januar 2016, 10:20:42
Danke für den Tipp, ich habe nun für jede Amtsleitung ein DOIF wie folgt definiert (Kopie aus der fhem.cfg):

define wk_telefon DOIF ([Telefon:internal_number] == 123456 && [Telefon:event] eq "disconnect")\
DOELSEIF ([Telefon:internal_number] == 123456 && [Telefon:event] eq "connect")\
DOELSEIF ([Telefon:internal_number] == 123456 && [Telefon:event] eq "call")\
DOELSEIF ([Telefon:internal_number] == 123456 && [Telefon:event] eq "ring")\

attr wk_telefon devStateIcon cmd_1:phone_call_end@red cmd_2:phone_call@green cmd_3:phone_ring_out@blue cmd_4:phone_ring_in@blue


Die ersten Tests verliefen alle erfolgreich.