Bei Anruf LED Lichtband auf bestimmte Farbe einstellen und anschließend zurück

Begonnen von Dedi75, 13 Oktober 2017, 16:29:36

Vorheriges Thema - Nächstes Thema

Dedi75

Hier mal das List des FritzBox_Monitor:


Internals:
   DEF        192.xxx.xxx.xxx
   DeviceName 192.xxx.xxx.xxx:1012
   FD         17
   NAME       FritzBox_Monitor
   NOTIFYDEV  global
   NR         40
   NTFY_ORDER 50-FritzBox_Monitor
   PARTIAL
   STATE      opened
   TYPE       FB_CALLMONITOR
   READINGS:
     2017-10-16 14:24:54   call_duration   0
     2017-10-16 14:24:54   call_id         0
     2017-10-16 14:24:54   direction       incoming
     2017-10-16 14:24:54   event           disconnect
     2017-10-16 14:24:54   external_connection SIP0
     2017-10-16 14:24:54   external_name   xxxxxx
     2017-10-16 14:24:54   external_number 0175xxxxxx
     2017-10-16 13:18:46   internal_connection DECT_1
     2017-10-16 14:24:54   internal_number xxxxxx
     2017-10-16 14:24:54   missed_call     0175xxxxxx (xxxxxx)
     2017-10-16 09:16:43   state           opened


Ich würde also mal sagen, dass die Nummer stehen bleibt.

herrmannj

Komisch. Wird beim einem zweiten (dritten) Anruf der caller ins log geschrieben ?

Dedi75

Nein leider auch nicht:


2017.10.16 13:16:08 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 0, flags:
2017.10.16 13:16:08 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 20, flags: q
2017.10.16 13:16:08 3: Wohnzimmer_LED_01 set HSV 217, 100, 0 with ramp: 0, flags: q
2017.10.16 13:59:05 1: TEST:
2017.10.16 13:59:05 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 0, flags:
2017.10.16 13:59:06 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 20, flags: q
2017.10.16 13:59:06 3: Wohnzimmer_LED_01 set HSV 217, 100, 0 with ramp: 0, flags: q
2017.10.16 14:24:53 1: TEST:
2017.10.16 14:24:53 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 0, flags:
2017.10.16 14:24:53 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 20, flags: q
2017.10.16 14:24:53 3: Wohnzimmer_LED_01 set HSV 217, 100, 0 with ramp: 0, flags: q
2017.10.16 14:46:48 1: TEST:
2017.10.16 14:46:48 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 0, flags:
2017.10.16 14:46:49 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 20, flags: q
2017.10.16 14:46:49 3: Wohnzimmer_LED_01 set HSV 217, 100, 0 with ramp: 0, flags: q

Dedi75

Raw definition vom FritzBox_Monitor (FB_Callist):


setstate FritzBox_Monitor 2017-10-16 14:48:45 external_number 0175xxxxxx

Nicht wundern wegen der Uhrzeit, das setstate kommt vom auflegen, daher 2 Minuten später ;-)

herrmannj

Wie meinst du raw Definition ? Es geht um die readings und Events.

Bitte ruf mal mehrfach an und schau ob im log der Eintrag mit Nummer erscheint

Dedi75

ZitatWie meinst du raw Definition ? Es geht um die readings und Events.

Fhem Web - wenn man das Device "FritzBox_Monitor" aufruft, kann man unten auf Raw definition klicken. Da wird halt auch dieser Eintrag angezeigt. Dachte das wäre evtl. wichtig ob er das auch fest übernimmt.

ZitatBitte ruf mal mehrfach an und schau ob im log der Eintrag mit Nummer erscheint

Das hatte ich ja schon gemacht. Mindestens 3 mal aber ohne Erfolg. Der Test bleibt immer leer - siehe Eintrag oben

herrmannj

Mysteriös

Wenn Du das {ReadingsVal('Fritzbox_Monitor', 'external_number', '');} in die Eingabezeile von fhem gibst sollte was passieren- das Reading der Fritzbox soll (muss) ausgegeben werden. Bitte probiere das mal. Evtl auch mit anderen Readings (ob nur die Nummer nicht geht, Name des Device falsch, etc)

Dedi75

Dann bekomme ich:

Unknown command {ReadingsVal('Fritzbox_Monitor',, try help.
Unknown command }, try help.

Dedi75

Ich glaub ich habe es:


{ReadingsVal('FritzBox_Monitor','external_number','')}


So eingegeben gibt er mir die Nummer aus ;-)

Das Leerzeichen nach dem Komma scheint ihn zu stören - grrrrr

Ist es eigentlich egal ob ich ' das oder " das nehme. Kommt beides auf das selbe raus, gibt es da noch etwas, was ich beachten muss?

Dedi75

Habe das mal in der DEF von dem Notify geändert, aber unter dem Test wird mir noch keine Rufnummer angezeigt.

Hab noch rausgefunden dass dieses funktioniert:

{ReadingsVal("FritzBox_Monitor","external_number","")}



und dieses NICHT:

{ReadingsVal('Fritzbox_Monitor','external_number','')}


Hier nochmal nun das aktuelle DEF vom Notify:

FritzBox_Monitor:event:.ring {my $d = 'Wohnzimmer_LED_01'; my %color; $color{'0175xxxxxx'}{'hue'} = 120; $color{'0175xxxxxx'}{'sat'} = 100; $color{'0175xxxxxx'}{'val'} = 100; my $caller = ReadingsVal("Fritzbox_Monitor","external_number",""); Log3(undef, 1, "TEST: $caller"); my $hue = 0; my $sat = 100; my $val = 100; if (exists($color{$caller})) { $hue = $color{$caller}{'hue'}; $val = $color{$caller}{'val'}; $sat = $color{$caller}{'sat'};} my $t = 20; my $h = ReadingsVal($d, 'hue' ,0); my $s = ReadingsVal($d, 'saturation' ,0); my $v = ReadingsVal($d, 'brightness' ,0); fhem "set $d HSV $hue,$sat,$val; set $d HSV $hue,$sat,$val $t q; set $d HSV $h,$s,$v 0 q";}


auch wenn ich es wie folgt ändere steht unter Test im Log kein Eintrag:

FritzBox_Monitor:event:.ring {my $d = "Wohnzimmer_LED_01"; my %color; $color{"0175xxxxxx"}{"hue"} = 120; $color{"0175xxxxxx"}{"sat"} = 100; $color{"0175xxxxxx"}{"val"} = 100; my $caller = ReadingsVal("Fritzbox_Monitor","external_number",""); Log3(undef, 1, "TEST: $caller"); my $hue = 0; my $sat = 100; my $val = 100; if (exists($color{$caller})) { $hue = $color{$caller}{"hue"}; $val = $color{$caller}{"val"}; $sat = $color{$caller}{"sat"};} my $t = 20; my $h = ReadingsVal($d,"hue",0); my $s = ReadingsVal($d,"saturation",0); my $v = ReadingsVal($d,"brightness",0); fhem "set $d HSV $hue,$sat,$val; set $d HSV $hue,$sat,$val $t q; set $d HSV $h,$s,$v 0 q";}


global Log:

2017.10.16 15:52:56 1: TEST:
2017.10.16 15:52:56 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 0, flags:
2017.10.16 15:52:57 3: Wohnzimmer_LED_01 set HSV 0, 100, 100 with ramp: 20, flags: q
2017.10.16 15:52:57 3: Wohnzimmer_LED_01 set HSV 217, 100, 0 with ramp: 0, flags: q

herrmannj

ändere mal bitte die Variable $caller in $call (jeweils an allen Stellen)

Dazu über(!) der logausgabe einmal
print {ReadingsVal('FritzBox_Monitor','external_number','')};

Dedi75

Ok - ändere das später mal auf "call" ab.

Das mit der Logausgabe und (!) verstehe ich irgendwie nicht. Weiß nicht wo ich das ausführen soll?

herrmannj

Zitat von: Dedi75 am 16 Oktober 2017, 16:15:13
Ok - ändere das später mal auf "call" ab.

Das mit der Logausgabe und (!) verstehe ich irgendwie nicht. Weiß nicht wo ich das ausführen soll?
Direkt vor (über) der Logausgabe im code (Log3 ...) diese Zeile einfügen. Im Code

herrmannj

so ist sie richtig
print ReadingsVal('FritzBox_Monitor','external_number','');
Nach dem Komma sind zwei einzelne Hochkomma. Kein doppeltes (") .

eisman

hi,

defmod TelefonStumm DOIF ([Anrufmonitor:event] ne "disconnect" and [TV01STG:Stumm] eq "off") (set Taster.05 on)\
DOELSEIF\
([Anrufmonitor:event] eq "disconnect" and [TV01STG:Stumm] eq "on") (set Taster.05 on)\
DOELSE ()
attr TelefonStumm alias TV mute:
attr TelefonStumm cmdState abgenommen|aufgelegt|frei
attr TelefonStumm devStateStyle style=color:red;;font-weight:bold;;text-align:right
attr TelefonStumm do always
attr TelefonStumm group Steuerung
attr TelefonStumm icon audio_volume_mute@brown
attr TelefonStumm room Telefon

setstate TelefonStumm aufgelegt
setstate TelefonStumm 2017-10-15 17:47:30 Device Anrufmonitor
setstate TelefonStumm 2017-10-15 17:47:30 cmd 2
setstate TelefonStumm 2017-10-15 17:47:30 cmd_event Anrufmonitor
setstate TelefonStumm 2017-10-15 17:47:30 cmd_nr 2
setstate TelefonStumm 2017-10-15 17:47:30 e_Anrufmonitor_event disconnect
setstate TelefonStumm 2017-10-15 12:38:26 e_TV01STG_Stumm off
setstate TelefonStumm 2017-10-15 17:47:30 state aufgelegt
setstate TelefonStumm 2017-10-15 12:43:32 wait_timer no timer



vieleicht kan das helfen, bei mir geht die stummschaltung vom tv ohne Probleme.
und man könnte es noch auf nummern erweitern.

FG
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 7x ESP
1x FHEM Debian, Homematic,Z2M             / 1X Raspberry, ConBee / 6x ESP
1x FHEM Debian,MQTT2                             / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S