Fritzbox 7390 - Bei eingehendem Anruf Lampe anschalten

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

Vorheriges Thema - Nächstes Thema

Rince

Wärst du so lieb  und machst ein "list" von deinen Notifies
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

#31
Hallo.
hier die List:
TelefonAN
Internals:
   DEF        Callmonitor:.ring {
  my $number=(ReadingsVal("Callmonitor","internal_number",99));
    my $Licht_An=Value("Schalter3");
  if ($number == 412100) {
    fhem "set STV4 PAUSE";
    if ($Helligkeit <= 100) {
      fhem ("set Licht_Alt on") if (($Licht_An) eq "on");
      fhem ("set Schalter on") if (($Licht_An) ne "on");
    }
  }
}
   NAME       TelefonAN
   NOTIFYDEV  Callmonitor
   NR         170
   NTFY_ORDER 50-TelefonAN
   REGEXP     Callmonitor:.ring
   STATE      active
   TYPE       notify
   Readings:
     2016-02-22 12:03:22   state           active
Attributes:

TelefonAUS:
Internals:
   DEF        Callmonitor:event:.disconnect {
  my $number=(ReadingsVal("Callmonitor","internal_number",99));
  my $Licht_Neu=Value("OG_wz_WS_LICHT");
  my $Licht_Alt=Value("Licht_Alt");
  if ($number == 1234567) {
    fhem "define Latenz2 at +00:00:10 set STV4 PLAY";
    if ($Licht_Alt ne $Licht_Neu) {
      fhem "define Latenz at +00:00:10 set OG_wz_WS_LICHT off";
    }
  }
}
   NAME       TelefonAUS
   NOTIFYDEV  Callmonitor
   NR         173
   NTFY_ORDER 50-TelefonAUS
   REGEXP     Callmonitor:event:.disconnect
   STATE      2016-02-22 12:09:04
   TYPE       notify
   Readings:
     2016-02-22 12:03:59   state           active
Attributes:


Vielen Dank
Hoffi

Rince

Ok.
Ich denke der Ansatz über eine LightScene ist schlauer.
Wie heißt dein Lichtschalter?
Oben schreibst du Schalter3 unten steht was von OG_wz_WS_LICHT (das sieht schwer nach meinem ersten Notify aus ;) )
Mit welchem Befehl machst du das Licht an?
set Schalter3 on ?
Wenn ja, ersetze die <Name....> durch Schalter3


Los gehts:
define Telefon_Info_Beleuchtung LightScene <NameVonDeinemLichtaktor>

Bitte folgende Fragen beantworten: (am besten gleich ein list von den Geräten :) )
Benutzt du das fhem eigene Samsung Modul?
Soll dein Licht nur bei Anruf auf einer Nummer angehen, oder ist es egal?
Hast du ein Gerät, welches dir die Helligkeit im Raum angibt? (So einen HM Bewegungsmelder z.B.)

Weiter geht es wenn die Fragen beantwortet sind :)
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 Rince,
der Name des Gerätes ist Schalter3
List:
Internals:
   DEF        F1FFFF10FF FF 00
   IODev      CUL
   NAME       Schalter3
   NR         125
   STATE      off
   TYPE       IT
   XMIT       f1ffff10ff
   XMITdimdown 00
   XMITdimup  00
   XMIToff    00
   XMITon     ff
   Code:
     1          f1ffff10ff
   Readings:
     2016-01-14 10:10:15   protocol        V1
     2016-02-23 06:54:44   state           off
Attributes:
   IODev      CUL
   alias      Beleuchtung WZ
   model      itswitch
   room       Steckdosen
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0


- mit Set Schalter3 on geht das Licht an.
- Das Samsungmodul kann raus"geschmissen" werden, da ich mittlerweile ein anderen TV habe.
- Das Licht soll im Prinzip bei allen anrufen angehen die auf external_connection     SIP0,SIP1,Sip2 angenommen werden. Oder alternativ; 412100, 412111, 414315263 (internal_number)
- Ich greife die Helligkeit mittels HTTP von meiner Aussenkamera ab.
Internals:
   BUSY       0
   DEF        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR) 120
   GetSeq     0
   HTTPHEADER
   Interval   120
   LASTSEND   1456210099.85394
   MainURL    http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR)
   NAME       Helligkeit
   NR         178
   STATE      100.2
   TRIGGERTIME 1456210219.85264
   TRIGGERTIME_FMT 2016-02-23 07:50:19
   TYPE       HTTPMOD
   addr       http://192.168.2.12:80
   auth       Fhem:fhem1234
   buf        HTTP/1.0 200 OK

Content-type: text/plain

100.2
   code       200
   conn
   data
   displayurl http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR)
   header
   host       192.168.2.12
   httpheader HTTP/1.0 200 OK

Content-type: text/plain
   hu_blocking 0
   hu_filecount 427
   ignoreredirects 0
   loglevel   4
   path       /control/rcontrol?action=gettext&message=$(SEN.LXR)
   protocol   http
   redirects  0
   timeout    10
   url        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR)
   QUEUE:
   Readings:
     2016-02-23 07:48:20   state           100.2
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       Update
     url        http://Fhem:fhem1234@192.168.2.12/control/rcontrol?action=gettext&message=$(SEN.LXR)
   Sslargs:
Attributes:
   reading01Name state
   reading01Regex \n([\d\.]+)
   room       Haus
   timeout    10
   userattr   reading01Name reading01Regex timeout


Vielen Dank
Hoffi

Rince

#34
Gut.
Die Lightscene ist angelegt?

Dann schalte mall dein Licht an (set Schalter3 on) und speichere dies als Lichtszenario:
set Telefon_Info_Beleuchtung save AN

Dann mach das Licht aus (set Schalter3 off) und speichere dieses Szenario ebenfalls.
set Telefon_Info_Beleuchtung save AUS

(Zur Lightscene:
Das schöne daran ist, dass wir später ein weiteres Szenario anlegen lassen werden, welches den Lichtstatus beim Klingeln speichert)


Als nächstes bauen wir uns einen Dummy für den Schwellwert der Beleuchtung. Wenn du später den Schwellwert ändern willst, schreibst einfach in den Dummy die neue Zahl. Ist imho später einfacher zu warten denke ich.

define du_Licht_Schwellwert  dummy
set du_Licht_Schwellwert 60



Frage:
Bezügl. der SIP Nummern: sind das alle? Oder andersrum gefragt: gibt es Anrufe auf die du NICHT reagieren willst? Weil in dem Fall brauchen wir nur einen Trigger auf das Klingeln, ohne jede weitere Filterung :)


Edit:
Zur Sicherheit:
Machst du ein list Callmonitor?
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)

Rince

Mal ein Schnellschuss:


define di_Anruf_Licht DOIF ([Callmonitor:event] eq "ring" and [Helligkeit] < [[du_Licht_Schwellwert]])
(set Telefon_Info_Beleuchtung save TEMP)
(set Telefon_Info_Beleuchtung scene AN)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set Telefon_Info_Beleuchtung scene TEMP)


(Vorausgesetzt dein Callmonitor heißt Callmonitor und du hast den Dummy du_Licht_Schwellwert mit einer Zahl gefüttert sowie die LightScene von oben angelegt)
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

#36
Alles soweit angelegt wie oben beschrieben.

Ich teile mir den Anschluss mit meinem Nachbarn, von daher wären die auszuschließenden Nummern noch mehrere.

List Callmonitor:
Internals:
   DEF        192.168.2.1:1012
   DeviceName 192.168.2.1:1012
   FD         13
   NAME       Callmonitor
   NR         43
   NTFY_ORDER 50-Callmonitor
   PARTIAL
   STATE      opened
   TYPE       FB_CALLMONITOR
   Readings:
     2016-02-23 10:40:04   call_duration   14
     2016-02-23 10:40:04   call_id         0
     2016-02-23 10:40:04   direction       incoming
     2016-02-23 10:40:04   event           disconnect
     2016-02-23 10:40:04   external_connection SIP1
     2016-02-23 10:40:04   external_name   unknown
     2016-02-23 10:40:04   external_number unknown
     2016-02-23 10:40:04   internal_connection DECT_1
     2016-02-23 10:40:04   internal_number 412100
     2016-02-23 07:56:36   missed_call     unknown
     2016-02-22 17:36:04   state           opened
   Helper:
     Temp:
Attributes:
   room       Telefon

Schalten tut Schalter3 jetzt aber noch nicht. Auch wenn ich den Schwellwert ändere.
Es wird nur der Anruf im Event Monitor angezeigt:
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor event: ring
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-23 10:45:36 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor event: connect
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor internal_connection: DECT_1
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-23 10:45:40 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor event: disconnect
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor internal_connection: DECT_1
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-23 10:45:47 FB_CALLMONITOR Callmonitor call_duration: 5

Rince

Ich sagte ja, Schnellschuss :)

Gut. Wir gehen nochmal einige Schritte zurück:

define du_Test dummy

Dann ändere bitte das DOIF folgendermaßen ab:
([Callmonitor:event] eq "ring")
(set du_Test es läutet)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set du_Test aufgelegt)


Dann schaue dir den Dummy du_Test an, rufe dich an, hebe ab, und lege auf :)
Er sollte beim läuten auf "es läutet" stehen, beim abheben bleibt er auf "es läutet", beim auflegen sollte "aufgelegt" da stehen...
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

DOIF ändern:


([Callmonitor:event] eq "ring" and [Helligkeit] < [[du_Licht_Schwellwert]])
(set du_Test es läutet)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set du_Test aufgelegt)
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 Rince,
ich habe den Helligkeitswert mal direkt über die STATE Abfrage eingebunden:
([Callmonitor:event] eq "ring" and [Helligkeit:state] < 1000)
(set du_Test es läutet)
DOELSEIF  ([Callmonitor:event] eq "disconnect") (set du_Test aufgelegt)

Der Dummy funktioniert :D
Sofern der Schwellwert nicht für was anderes gebraucht wird, kann dieser sonst auch gern entfallen.

Hoffi

Rince

Hm. Na ja, gut.
Hast mal versucht die 1000 in dem Dummy zu lassen?
([Callmonitor:event] eq "ring" and [Helligkeit:state] < [[du_Licht_Schwellwert]])

Zitat von: DOIF_commandref
Anwendungsbeispiel: Lampe soll zu einer bestimmten Zeit eingeschaltet werden. Die Zeit soll über den Dummy time einstellbar sein:

define time dummy
set time 08:00
define di_time DOIF ([[time]])(set lamp on)

Wenn du das mal testen würdest?


Aber weiter:
Dann schaun wir als nächstes, ob der Schnellschuss mit der LightScene klappt ;)


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


Die Abfragen bezügl. den Zielnummern basteln wir dann im Anschluss dazu.
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

Das mit dem Schwellwert funktioniert nicht.
mit Helligkeit:State schon.


2016-02-24 13:22:58 LightScene Telefon_Info_Beleuchtung save TEMP
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_nr: 1
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_seqnr: 1
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_event: Callmonitor
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_1_1
2016-02-24 13:22:58 LightScene Telefon_Info_Beleuchtung AN
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_nr: 1
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_seqnr: 2
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_event: Callmonitor
2016-02-24 13:22:58 DOIF di_Anruf_Licht cmd_1
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor event: ring
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-24 13:22:58 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor event: connect
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor internal_connection: DECT_1
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-24 13:23:02 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-24 13:23:06 LightScene Telefon_Info_Beleuchtung Schalter3.state:
2016-02-24 13:23:06 IT Schalter3 off
2016-02-24 13:23:06 LightScene Telefon_Info_Beleuchtung TEMP
2016-02-24 13:23:06 DOIF di_Anruf_Licht cmd_nr: 2
2016-02-24 13:23:06 DOIF di_Anruf_Licht cmd_event: Callmonitor
2016-02-24 13:23:06 DOIF di_Anruf_Licht cmd_2
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor event: disconnect
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor external_connection: SIP1
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor direction: incoming
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor internal_connection: DECT_1
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor internal_number: 412100
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor external_name: unknown
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor call_id: 0
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor external_number: unknown
2016-02-24 13:23:06 FB_CALLMONITOR Callmonitor call_duration: 3

Rince

Sorry, viel Spielzeug heute bekommen ;)

Also Lightscene wird richtig geschaltet bei Anruf?
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