Hallo,
ich möchte die Fernbedienung (IT) auch als Lautstärkeregler (Taste On + /Taste Off) nutzen.
Grundlage für mein Vorhaben ist der Code "Zusatzfunktion Volume- Slider und Bedienung per FS20- Wandtaster", der auf folgender Seite zu finden ist:
http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe (http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe)
Angepasst sieht das nun zur Zeit so bei mir so aus:
Internals:
NAME Dum_Volume_D
NR 321
STATE 50
TYPE dummy
Readings:
2016-09-04 23:11:11 state 50
Attributes:
setList setList state:slider,0,1,100
webCmd state
Internals:
DEF Dum_Volume_D { my $vol = Value("Dum_Volume_D"); fhem "set Sonos_Wohnzimmer_PLAY3 Volume $vol"; }
NAME Func_Volume_N
NOTIFYDEV Dum_Volume_D
NR 322
NTFY_ORDER 50-Func_Volume_N
REGEXP Dum_Volume_D
STATE 2016-09-04 23:11:11
TYPE notify
Readings:
2016-09-04 22:53:49 state active
Attributes:
Internals:
DEF 0F00FFFF0F 0F F0
IODev nanoCUL433
LASTInputDev nanoCUL433
MSGCNT 47
NAME FB_433_TasteD
NR 278
STATE off
TYPE IT
XMIT 0f00ffff0f
XMITdimdown 00
XMITdimup 00
XMIToff f0
XMITon 0f
nanoCUL433_MSGCNT 47
nanoCUL433_RAWMSG i105514
nanoCUL433_RSSI -57.5
nanoCUL433_TIME 2016-09-04 23:11:11
Code:
1 0f00ffff0f
Readings:
2016-09-04 23:11:11 dim 0
2016-08-05 11:02:13 protocol V1
2016-09-04 23:11:11 state off
Attributes:
IODev nanoCUL433
dummy 1
model itdimmer
room IT
Internals:
DEF FB_433_TasteD:* {
my $dim = (ReadingsVal("FB_433_TasteD", "dim", "0"));
my $Vol_plus = Value("Dum_Volume_D") + 5;
my $Vol_minus = Value("Dum_Volume_D") - 5;
if ($dim eq "0" and $Vol_plus >= 100) {
fhem("set Dum_Volume_D 100");
}
if ($dim eq "1" and $Vol_minus <= 0) {
fhem("set Dum_Volume_D 0");
}
if ($dim eq "0" and $Vol_plus <= 100) {
fhem("set Dum_Volume_D $Vol_plus");
}
if ($dim eq "1" and $Vol_minus >= 0) {
fhem("set Dum_Volume_D $Vol_minus");
}
}
NAME Func_Radio_Play_N
NOTIFYDEV FB_433_TasteD
NR 325
NTFY_ORDER 50-Func_Radio_Play_N
REGEXP FB_433_TasteD:*
STATE 2016-09-04 23:11:11
TYPE notify
Readings:
2016-09-04 22:53:49 state active
Attributes:
room Radio
Funktioniert auch erstmal, jedoch erfolgt beim Tastendruck kein 5er Schritt (wie im notify Func_Radio_Play_N angegeben) sondern ein 10er Schritt. Warum das ? Kann mir da wer weiterhelfen.
Im Eventmonitor wird bei Tastendruck folgendes ausgegeben:
2016-09-05 00:07:21 dummy Dum_Volume_D 55
2016-09-05 00:07:21 dummy Dum_Volume_D 60
2016-09-05 00:07:21 IT FB_433_TasteD dim: 0
2016-09-05 00:07:21 IT FB_433_TasteD off
2016-09-05 00:07:21 CUL nanoCUL433 UNKNOWNCODE i10555f
Volume Stand zu diesem Zeitpunkt auf 50
Ich nehme mal an, ohne alle Details überprüft zu haben, dass vielleicht:
1) Der Tastendruck und das loslassen der taste jeweils einen Event auslöst, sodass 2 Events erzeugt werden auf die Dein notify reagiert und 2 mal erhöht
2) Vielleicht senden die Tasten ja das Kommando mehrfach (leicht unterschiedlich)?
Beides müsste im event monitor zu überprüfen sein. Wie gesagt, dass sind erstmal nur Vermutungen
Hallo,
hab das notify Func_Radio_Play_N wie folgt geändert:
Internals:
DEF FB_433_TasteD:* {
my $dim = (ReadingsVal("FB_433_TasteD", "state", "off"));
my $Vol_plus = Value("Dum_Volume_D") + 5;
my $Vol_minus = Value("Dum_Volume_D") - 5;
if ($dim eq "on" and $Vol_plus >= 100) {
fhem("set Dum_Volume_D 100");
}
if ($dim eq "off" and $Vol_minus <= 0) {
fhem("set Dum_Volume_D 0");
}
if ($dim eq "on" and $Vol_plus <= 100) {
fhem("set Dum_Volume_D $Vol_plus");
}
if ($dim eq "off" and $Vol_minus >= 0) {
fhem("set Dum_Volume_D $Vol_minus");
}
}
NAME Func_Radio_Play_N
NOTIFYDEV FB_433_TasteD
NR 325
NTFY_ORDER 50-Func_Radio_Play_N
REGEXP FB_433_TasteD:*
STATE 2016-09-06 16:35:28
TYPE notify
Readings:
2016-09-06 15:36:24 state active
Attributes:
room Radio
Und den ITdimmer in einen ITswitch:
Internals:
DEF 0F00FFFF0F 0F F0
IODev nanoCUL433
LASTInputDev nanoCUL433
MSGCNT 101
NAME FB_433_TasteD
NR 278
STATE off
TYPE IT
XMIT 0f00ffff0f
XMITdimdown 00
XMITdimup 00
XMIToff f0
XMITon 0f
nanoCUL433_MSGCNT 101
nanoCUL433_RAWMSG i105514
nanoCUL433_RSSI -52.5
nanoCUL433_TIME 2016-09-06 16:35:28
Code:
1 0f00ffff0f
Readings:
2016-09-06 13:54:59 dim 1
2016-08-05 11:02:13 protocol V1
2016-09-06 16:35:28 state off
Attributes:
IODev nanoCUL433
model itswitch
room IT
verbose 0
Das funktioniert soweit☺.
Im Event-Monitor ist allerdings weiterhin bei Tastendruck die Unknowncode Fehlermeldung vorhanden:
016-09-06 16:46:40 dummy Dum_Volume_D 15
2016-09-06 16:46:40 IT FB_433_TasteD on
2016-09-06 16:46:40 CUL nanoCUL433 UNKNOWNCODE i10555f
Womit ich aber leben kann.Wissen würd ichs aber trotzdem gerne warum das so ist.