Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten

Begonnen von Invers, 17 Juli 2013, 21:50:06

Vorheriges Thema - Nächstes Thema

Rince

Callmonitor external_connection: SIP1

Dann versuchen wir mal die Nummernerkennung:

([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP1")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Thoffi1978

Danke.

Auf SIP1 wird geschaltet, auf den anderen nicht.
Jetzt wäre das noch gut wenn auf SIP0 und SIP2 auch reagiert wird.

Hoffi

Rince

Dann basteln wir die mal dazu :)

Zitat
([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP0" or [Callmonitor:external_connection] eq "SIP1" or [Callmonitor:external_connection] eq "SIP2"  )
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)

Geht das?




Alternativ:
Ist SIP3 dein Nachbar?

Dann könnten man kürzer schreiben:

([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] ne "SIP3")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Thoffi1978

Hallo.
Ich bin heute zu nicht viel gekommen.

Nun ist aber folgendes passiert.

Ich habe jemanden angerufen, ja das passiert mal :D. Als ich aufgelegt habe, ging die Lampe aus.
([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
Vorher wurde ja kein TEMP gesetzt, der letzte Status war wohl off.

Rince

Ja, das habe ich befürchtet.
Das wäre wohl auch Passiert, wenn dich wer angerufen hätte, ohne das du rangegangen wärst  ???
Darum kümmern wir uns später.


Schaust trotzdem mal ob das mit den or beim angerufen werden klappt? Also SIP0, SIP1 und SIP2?


Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Thoffi1978

Guten Morgen,
das klappt nicht ganz. Wenn ich auf SIP0 anrufe wird TEMP gesetzt und nach disconnect wieder abgerufen.
List von "SIP0":
Internals:
   DEF        ([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP0" or [Callmonitor:external_connection] eq "SIP1" or [Callmonitor:external_connection] eq "SIP2"  )(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF
([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
   NAME       di_Anruf_Licht
   NR         276
   NTFY_ORDER 50-di_Anruf_Licht
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2016-02-26 07:51:16   Device          Callmonitor
     2016-02-26 07:51:16   cmd_event       Callmonitor
    [color=red] 2016-02-26 07:51:16   cmd_nr          1
     2016-02-26 07:51:16   cmd_seqnr       2 [/color]
     2016-02-26 07:51:16   e_Callmonitor_event ring
     2016-02-26 07:51:16   e_Callmonitor_external_connection SIP0
     2016-02-26 07:49:50   e_Helligkeit_state 83.3
     2016-02-26 07:51:16   state           cmd_1
   Condition:
     0          ReadingValDoIf($hash,'Callmonitor','event','','',AttrVal($hash->{NAME},'notexist',undef)) eq "ring" and ReadingValDoIf($hash,'Helligkeit','state','','',AttrVal($hash->{NAME},'notexist',undef)) < 1000 and ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP0" or ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP1" or ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP2"
     1          ReadingValDoIf($hash,'Callmonitor','event','','',AttrVal($hash->{NAME},'notexist',undef)) eq "disconnect"
   Devices:
     0           Callmonitor Helligkeit
     1           Callmonitor
     all         Callmonitor Helligkeit
   Do:
     0:
       0          set Telefon_Info_Beleuchtung save TEMP
       1          set Telefon_Info_Beleuchtung scene AN
     1:
       0          set Telefon_Info_Beleuchtung scene TEMP
     2:
   Helper:
     event      event: ring,external_name: unknown,internal_number: 414315262,direction: incoming,call_id: 0,external_number: unknown,external_connection: SIP0
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Callmonitor
     timerevent event: ring,external_name: unknown,internal_number: 414315262,direction: incoming,call_id: 0,external_number: unknown,external_connection: SIP0
     triggerDev Callmonitor
     timerevents:
       event: ring
       external_name: unknown
       internal_number: 414315262
       direction: incoming
       call_id: 0
       external_number: unknown
       external_connection: SIP0
     triggerEvents:
       event: ring
       external_name: unknown
       internal_number: 414315262
       direction: incoming
       call_id: 0
       external_number: unknown
       external_connection: SIP0
   Internals:
   Itimer:
   Readings:
     0           Callmonitor:event Helligkeit:state Callmonitor:external_connection
     1           Callmonitor:event
     all         Callmonitor:event Helligkeit:state Callmonitor:external_connection
   Regexp:
     0:
     1:
     All:
   State:
   Trigger:
Attributes:
   room       Telefon


Nach dem Auflegen:
Readings:
     2016-02-26 07:51:50   Device          Helligkeit
     2016-02-26 07:51:48   cmd_event       Callmonitor
     2016-02-26 07:51:48   cmd_nr     2
     2016-02-26 07:51:48   e_Callmonitor_event disconnect
     2016-02-26 07:51:48   e_Callmonitor_external_connection SIP0
     2016-02-26 07:51:50   e_Helligkeit_state 95.7
     2016-02-26 07:51:48   state           cmd_2


Bei den Anderen wird TEMP nicht gesezt bzw. abgerufen:
Beim Klingeln:
nternals:
   DEF        ([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP0" or [Callmonitor:external_connection] eq "SIP1" or [Callmonitor:external_connection] eq "SIP2"  )(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF
([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)
   NAME       di_Anruf_Licht
   NR         276
   NTFY_ORDER 50-di_Anruf_Licht
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2016-02-26 07:59:50   Device          Helligkeit
     2016-02-26 07:57:28   cmd_event       Callmonitor
     2016-02-26 07:57:28   cmd_nr          1
     2016-02-26 07:57:28   cmd_seqnr       2
     2016-02-26 07:59:44   e_Callmonitor_event ring
     2016-02-26 07:59:44   e_Callmonitor_external_connection SIP2
     2016-02-26 07:59:50   e_Helligkeit_state 116.4
     2016-02-26 07:57:28   state           cmd_1
   Condition:
     0          ReadingValDoIf($hash,'Callmonitor','event','','',AttrVal($hash->{NAME},'notexist',undef)) eq "ring" and ReadingValDoIf($hash,'Helligkeit','state','','',AttrVal($hash->{NAME},'notexist',undef)) < 1000 and ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP0" or ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP1" or ReadingValDoIf($hash,'Callmonitor','external_connection','','',AttrVal($hash->{NAME},'notexist',undef)) eq "SIP2"
     1          ReadingValDoIf($hash,'Callmonitor','event','','',AttrVal($hash->{NAME},'notexist',undef)) eq "disconnect"
   Devices:
     0           Callmonitor Helligkeit
     1           Callmonitor
     all         Callmonitor Helligkeit
   Do:
     0:
       0          set Telefon_Info_Beleuchtung save TEMP
       1          set Telefon_Info_Beleuchtung scene AN
     1:
       0          set Telefon_Info_Beleuchtung scene TEMP
     2:
   Helper:
     event      116.4
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Helligkeit
     timerevent 116.4
     triggerDev Helligkeit
     timerevents:
       116.4
     triggerEvents:
       116.4
   Internals:
   Itimer:
   Readings:
     0           Callmonitor:event Helligkeit:state Callmonitor:external_connection
     1           Callmonitor:event
     all         Callmonitor:event Helligkeit:state Callmonitor:external_connection
   Regexp:
     0:
     1:
     All:
   State:
   Trigger:
Attributes:
   room       Telefon

nach dem Auflegen:
Readings:
     2016-02-26 08:00:28   Device          Callmonitor
     2016-02-26 07:57:28   cmd_event       Callmonitor
     2016-02-26 07:57:28   cmd_nr          1
     2016-02-26 07:57:28   cmd_seqnr       2
     2016-02-26 08:00:28   e_Callmonitor_event disconnect
     2016-02-26 08:00:28   e_Callmonitor_external_connection SIP2
     2016-02-26 07:59:50   e_Helligkeit_state 116.4
     2016-02-26 07:57:28   state           cmd_1 

Hoffi

Rince

Dann eben so :)

([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP0")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF ([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP1")
(set Telefon_Info_Beleuchtung save TEMP)
DOELSEIF ([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000 and [Callmonitor:external_connection] eq "SIP2")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)


Löst noch nicht das selber anrufen, aber jetzt müsste auf SIP, SIP1 und SIP2 ein save ausgelöst werden :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Thoffi1978

Ich habe da ein
(set Telefon_Info_Beleuchtung scene AN)
weiter nach oben verschoben.

Nun läuft es wenn jemand anruft.

Rince

Gut. Ist eine Dummy Lösung für das angerufen werden vs anrufen ok?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Thoffi1978


Rince

Bau doch mal eine Abfrage von:

and [Callmonitor:direction] ne "outgoing"

Ein.
Bei allen 4 Fällen.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Thoffi1978

#56
Hallo Rince.
tut mir leid das ich jetzt erst Antworte. Durch Schichtdienst klappt das nicht immer so.

Das Funktioniert. Lampe schaltet nicht wenn ich raustelefoniere.

Jetzt schaltet aber die Lampe erst wieder wenn aufgelegt wurde. Wenn ich nun auch im Hellen Telefonieren möchte kann ich dann
([Callmonitor:event] eq "disconnect" and [Callmonitor:direction] ne "outgoing") (set Telefon_Info_Beleuchtung scene TEMP)
gegen
([Callmonitor:event] ne "ring" and [Callmonitor:direction] ne "outgoing") (set Telefon_Info_Beleuchtung scene TEMP)
austauschen?

Edit:
Ja das geht.

Nun aber eine weitere Frage. Ich habe Schalter3 als IT Steckdose. Wenn ich nun on gegen set blink 4 1 austausche,
dann bleibt die Lampe zum Schluß immer Dunkel.
Kann man das so machen, das die Lampe trotz blink 4 1 den TEMP Status wieder zugewiesen wird?
Wenn ich innerhalb der 4 Blinks das telefonat annehme, dann kommt der TEMP Befehl "dazwischen" und der Status wird nicht richtig gesetzt.

Vielen Dank für die Hilfe
Hoffi

Ekksen

Zitat von: Rince am 22 Februar 2016, 10:38:47
Wärst du so lieb  und machst ein "list" von deinen Notifies

Ich habe den hier:
Recht einfach. Die Leute ist allerdings eine Philips Hue und blinkt immer ca. 5 Sekunden, ob ich abnehme oder nicht. Dert alte Zustand der Lampe wird danach aber wieder angenommen:

define CM_HUE_Signal_Flur notify Callmonitor:event:.ring set HUEDevice2 alert lselect

Thoffi1978

Hallo,
ich habe nun selbst etwas "gebastelt" so wie es aussieht funktioniert das.
Wenn Dir noch etwas auffällt sag bitte bescheid.
DOIF:
([Callmonitor:event] eq "ring" and [?Helligkeit:state] < 1000 and [Callmonitor:direction] ne "outgoing" and [Callmonitor:external_connection] eq "SIP0")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF ([Callmonitor:event] eq "ring" and [?Helligkeit:state] < 1000 and [Callmonitor:direction] ne "outgoing" and [Callmonitor:external_connection] eq "SIP1")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF ([Callmonitor:event] eq "ring" and [?Helligkeit:state] < 1000 and [Callmonitor:direction] ne "outgoing" and [Callmonitor:external_connection] eq "SIP2")
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] ne "ring" and [Callmonitor:direction] ne "outgoing")
(set Telefon_Info_Beleuchtung scene Aus)
(set Telefon_Info_Beleuchtung scene TEMP)

Damit die Lampe mit "blink" geschaltet werden kann und auch wieder in die entsprechende Ausgansstatus
mit folgendem Attribut:
wait      0,1:0,1:0,1:0,1

Lieben Gruß
Hoffi