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?
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
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.