Hallo zusammen,
ich habe mittels AskSin++ Sketch einen HM-Funkgong nachgebaut. Dieser läuft laut Beschreibung mit HomeMatic und RaspiMatic.
Da ich allerdings FHEM nutze und dort eigentlich alle HM-Geräte laufen, habe ich mein Glück versucht.
Angelernt habe ich das Device bekommen, aber weiter weiß ich nicht. Ziel ist, dass man ein MP3-File abspielen kann.
Hat jemand evtl. Erfahrungen damit oder selbst solch ein Gerät nachgebaut?
https://github.com/jp112sdl/HB-OU-MP3-LED (https://github.com/jp112sdl/HB-OU-MP3-LED)
Hier mien LIST Ausgaben. Das Device hat nur einen Kanal, da ich die LED's weggelassen habe.
F34400:
Internals:
CFGFN
DEF F34400
FUUID 5cb60adf-f33f-e114-2e67-f538bfe9b012e0a4
IODev nanoCUL2
NAME HM_F34400
NOTIFYDEV global
NR 495
STATE CMDs_done
TYPE CUL_HM
channel_01 HM_F34400_Btn1
protLastRcv 2019-04-16 19:08:33
protRcv 8 last_at:2019-04-16 19:08:33
protSnd 1 last_at:2019-04-16 19:08:30
protState CMDs_done
rssi_at_nanoCUL cnt:4 min:-60 max:-59.5 avg:-59.75 lst:-60
rssi_at_nanoCUL2 cnt:4 min:-64 max:-63.5 avg:-63.75 lst:-64
READINGS:
2019-04-16 19:03:28 D-firmware 1.0
2019-04-16 19:03:28 D-serialNr JPMP300000
2019-04-16 19:08:43 PairedTo 0x000000
2019-04-16 19:08:43 R-pairCentral 0x000000
2019-04-16 19:08:33 RegL_00. 00:00 05:40 0A:00 0B:00 0C:00
2019-04-16 19:09:37 state CMDs_done
helper:
HM_CMDNR 6
cSnd ,01F10000F3440000040000000000
mId
peerFriend -
peerOpt -
regLst
supp_Pair_Rep 0
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +F34400,00,01,00
nextSend 1555434513.55675
prefIO
rxt 0
vccu
p:
F34400
00
01
00
mRssi:
mNo 06
io:
nanoCUL:
-60
-60
nanoCUL2:
-60
-60
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
regCollect:
role:
dev 1
rssi:
at_nanoCUL:
avg -59.75
cnt 4
lst -60
max -59.5
min -60
at_nanoCUL2:
avg -63.75
cnt 4
lst -64
max -63.5
min -64
shadowReg:
Attributes:
IODev nanoCUL2
autoReadReg 4_reqStatus
expert 2_raw
firmware 1.0
model unknown
room CUL_HM
serialNr JPMP300000
subType
webCmd getConfig:clear msgEvents
HM_F34400_Btn1
Internals:
CFGFN
DEF F3440001
FUUID 5cb60c02-f33f-e114-8ffe-38d993cb906badf6
NAME HM_F34400_Btn1
NOTIFYDEV global
NR 566
STATE ???
TYPE CUL_HM
chanNo 01
device HM_F34400
READINGS:
peerList:
VAL
helper:
peerFriend -
peerOpt -
regLst
expert:
def 1
det 1
raw 0
tpl 0
role:
chn 1
Attributes:
expert 1_allReg
model unknown
peerIDs
Gruß
Thomas
Verwendest du HMCCU ?
Ich habe mir ein Programm in der CCU erstellt und rufe dieses dann aus FHEM heraus auf.
LG
Zitat
Verwendest du HMCCU ?
Nein, nur eine VCCU in FHEM. Also sollte ich mir eine VM mit Raspimatic installieren?
Gibt's auch nen anderen Weg?
Sorry da kann ich leider nichts dazu sagen. Ich verwende es mit einer CCU2 .
Lg
Das müsste mal mit in das HMConfig_AskSinPPCustom.pm aufgenommen werden. Ich habe dafür gerade aber keine Zeit. Vielleicht kann das ja auch jemand anders übernehmen und nen Pull Request senden.
Wäre cool, wenn das jemand machen könnte.
Ansonsten warte ich noch paar Wochen auf papa bis er mal Zeit dazu hat.
Muss ja nicht sofort sein. Keine Eile.
Hat jemand inzwischen den HB-OU-MP3-LED in FHEM eingebunden?
Ich möchte den Funk Gong nachbauen,die Einbindung in FHEM ist allerdings zu hoch für mich.
Gruß,
Claudiu
Bisher nicht
Was genau ist denn für diese Portierung zu machen?
Code für die CCU scheint ja in dem JP-HB-Devices-addon bereits vorhanden zu sein.
Es muss das Gerät und seine Kanäle/Register definiert werden. Das erfolgt hier
https://github.com/pa-pa/AskSinPP/tree/master/examples/custom/contrib/FHEM
Bei mir reicht die Zeit leider nicht - es entstehen zu viele Geräte :-)
Wie weit sind die Informatonen von hier wiederverwendbar?
https://github.com/jp112sdl/JP-HB-Devices-addon
Ok ich habe mal selber versucht aus dem Quellcode einigermaßen schlau zu werden.
So wie ich das verstehe hat das Gerät 2 Kanäle, Kanal1 für LED und Kanal2 für MP3, soweit richtig?
Hier mein Versuch(anhand anderer Aktoren und einiger Annahmen):
Es wäre super, wenn du mir für die Fertigstellung auf die Sprünge oder unter die Arme greifen könntest, papa.
# UNFERTIG netzbetriebene Lösung zur MP3-Wiedergabe und LED-Signalisierung in HomeMatic -HB-OU-MP3-LED
$HMConfig::culHmModel{"F344"} = {name=>"HB-OU-MP3-LED",st=>'custom',cyc=>'',rxt=>'',lst=>'1,3:1p.2p',chn=>"Sw:1:2"};
$HMConfig::culHmChanSets{"HB-OU-MP3-LED"}{fwUpdate} = "<filename>";
$HMConfig::culHmChanSets{"HB-OU-MP3-LED01"} = $HMConfig::culHmSubTypeSets{"switch"};
$HMConfig::culHmChanSets{"HB-OU-MP3-LED02"} = $HMConfig::culHmSubTypeSets{"switch"};
$HMConfig::culHmRegModel{"HB-OU-MP3-LED"} = { };
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"} = $HMConfig::culHmRegType{switch};
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"} = $HMConfig::culHmRegType{switch};
$customMsg{"HB-OU-MP3-LED"} = sub {
my ($msg,$target) = @_;
my $channel = $msg->channel;
return $msg->processSwitchStatus($target) if $msg->isStatus;
return ();
};
Was mir nicht ganz klar ist, wie ich die verschiedenen LED Farben und Modi bzw. die MP3 Nummer übergebe bzw. die verschiedenen Funktionen.
Ich kenne das Gerät auch nicht wirklich. 2 Kanäle sieht erst mal gut aus.
Es gibt dort noch zusätzliche Register, welche der "normale Switch" nicht hat.
SORT_ACT_TYPE, SHORT_ACT_NUM, SHORT_ACT_INTENS, LONG_ACT_TYPE, LONG_ACT_NUM, LONG_ACT_INTENS
Wahrscheinlich steuert man damit die Farben / Modi. Da müsstest Du entweder im Source-Code nachsehen oder einfach Jerome fragen.
Ich hatte mal begonnen, ein kleines Programm zu schreiben, welches die Registerdefinitionen aus dem XML nach FHEM "übersetzt".
https://github.com/pa-pa/AskSinPP/blob/master/examples/custom/contrib/FHEM/readxml.pl
Damit ist es etwas einfacher, die fehlenen Register zu definieren. Allerdings müssen diese dann auch noch in die Channel-Definitionen eingetragen werden. Also etwa so
# HB-OU-MP3-LED
$HMConfig::culHmRegDefine{"shortActType"} = {a=>0x24,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActType"}
$HMConfig::culHmRegDefine{"shortActNum"} = {a=>0x25,s=>1.0,l=>3,min=>1,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActNum"}
$HMConfig::culHmRegDefine{"shortActIntens"} = {a=>0x2B,s=>1.0,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActIntens"}
......
$HMConfig::culHmRegModel{"HB-OU-MP3-LED"} = { };
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"} = $HMConfig::culHmRegType{switch};
# add extra register
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActIntens"} = 1;
....
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"} = $HMConfig::culHmRegType{switch};
ich denke mal, so sollte es in etwa funktionieren.
Da ich auch daran gescheitert bin und der Sketch wohl nur mit einer CCU funktioniert, habe ich mir solch einen Funkgong mit einem D1-Mini nachgebaut.
https://wiki.gorjup.de/doku.php?id=public:mp3_kombisignalgeber (https://wiki.gorjup.de/doku.php?id=public:mp3_kombisignalgeber)
ich habe mal die Vorschläge von weiter oben in HMConfig_AskSinPPCustom.pm eingetragen und die restlichen LONG_ACT_TYPE, LONG_ACT_NUM, LONG_ACT_INTENS Register ergänzt:
#HB-OU-MP3-LED
$HMConfig::culHmRegDefine{"shortActType"} = {a=>0x24,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActType"};
$HMConfig::culHmRegDefine{"shortActNum"} = {a=>0x25,s=>1.0,l=>3,min=>1,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActNum"};
$HMConfig::culHmRegDefine{"shortActIntens"} = {a=>0x2B,s=>1.0,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActIntens"};
$HMConfig::culHmRegDefine{"longActType"} = {a=>0xA4,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActType"};
$HMConfig::culHmRegDefine{"longActNum"} = {a=>0xA5,s=>1.0,l=>3,min=>1,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActNum"};
$HMConfig::culHmRegDefine{"longActIntens"} = {a=>0xAB,s=>1.0,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActIntens"};
###########################################################################################
# HB-OU-MP3-LED
$HMConfig::culHmModel{"F344"} = {name=>"HB-OU-MP3-LED",st=>'custom',cyc=>'',rxt=>'',lst=>'1,3:1p.2p',chn=>"LED:1:1,MP3:2:2"};
$HMConfig::culHmChanSets{"HB-OU-MP3-LED"}{fwUpdate} = "<filename>";
$HMConfig::culHmChanSets{"HB-OU-MP3-LED01"} = $HMConfig::culHmSubTypeSets{"switch"};
$HMConfig::culHmChanSets{"HB-OU-MP3-LED02"} = $HMConfig::culHmSubTypeSets{"switch"};
$HMConfig::culHmRegModel{"HB-OU-MP3-LED"} = { };
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"} = $HMConfig::culHmRegType{switch};
# add extra register
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"} = $HMConfig::culHmRegType{switch};
# add extra register
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActIntens"} = 1;
$customMsg{"HB-OU-MP3-LED"} = sub {
my ($msg,$target) = @_;
my $channel = $msg->channel;
return $msg->processSwitchStatus($target) if $msg->isStatus;
return ();
};
Anlernen geht schon und die Kanäle werden angelegt:
Internals:
CFGFN
DEF F34400
FUUID 600b4e0b-f33f-93ab-7ede-bff7f9bedd58056a
IODev hmUART_Lan1
LASTInputDev hmUART_Lan1
MSGCNT 120
NAME HM_F34400
NOTIFYDEV global
NR 839
STATE CMDs_done
TYPE CUL_HM
channel_01 HM_F34400_LED
channel_02 HM_F34400_MP3
hmUART_Lan1_MSGCNT 60
hmUART_Lan1_RAWMSG 040300493B8002F344002424240102000055
hmUART_Lan1_RSSI -73
hmUART_Lan1_TIME 2021-01-22 23:27:20
hmUART_Lan2_MSGCNT 60
hmUART_Lan2_RAWMSG 050000413B8002F344002424240102000055
hmUART_Lan2_RSSI -65
hmUART_Lan2_TIME 2021-01-22 23:27:20
lastMsg No:3B - t:02 s:F34400 d:242424 0102000055
protLastRcv 2021-01-22 23:27:20
protRcv 63 last_at:2021-01-22 23:27:20
protSnd 58 last_at:2021-01-22 23:27:19
protState CMDs_done
rssi_at_hmUART_Lan1 cnt:61 min:-76 max:-72 avg:-73.06 lst:-73
rssi_at_hmUART_Lan2 cnt:60 min:-78 max:-63 avg:-69.76 lst:-65
rssi_hmUART_Lan1 cnt:14 min:-90 max:-84 avg:-85.57 lst:-85
READINGS:
2021-01-22 23:25:03 CommandAccepted yes
2021-01-22 23:25:38 D-firmware 1.0
2021-01-22 23:25:38 D-serialNr JPMP300000
2021-01-22 23:13:43 PairedTo 0x242424
2021-01-22 23:13:43 R-pairCentral 0x242424
2021-01-22 23:25:09 cfgState ok
2021-01-22 23:27:20 commState CMDs_done
2021-01-22 23:27:20 state CMDs_done
helper:
HM_CMDNR 59
cSnd 11242424F344000202C80000,11242424F344000202000000
mId F344
peerFriend
peerOpt -:custom
regLst 0
rxType 1
supp_Pair_Rep 0
ack:
cmds:
TmplKey :no:1611354343.39978
TmplTs 1611354343.39978
cmdKey 0:1:0::HM_F34400:F344:01:
cmdLst:
assignHmKey noArg
clear [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
deviceRename -newName-
fwUpdate -filename- [-bootTime-]
getConfig noArg
getDevInfo noArg
getRegRaw (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
raw -data- [...]
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2-...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
reset noArg
tplDel -tplDel-
tplSet_0 -tplChan-
unpair noArg
lst:
condition slider,0,1,255
peer
peerOpt
tplChan
tplDel
tplPeer
rtrvLst:
cmdList [({short}|long)]
deviceInfo [({short}|long)]
list [({normal}|full)]
param -param-
reg -addr- -list- [-peerChn-]
regList noArg
regTable noArg
regVal -addr- -list- [-peerChn-]
saveConfig [-filename-]
tplInfo noArg
expert:
def 1
det 1
raw 0
tpl 0
io:
newChn +F34400,00,01,00
nextSend 1611354440.1325
prefIO
rxt 0
vccu
p:
F34400
00
01
00
mRssi:
mNo 3B
io:
hmUART_Lan1:
-71
-71
hmUART_Lan2:
-65
-65
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
regCollect:
role:
dev 1
prs 1
rssi:
at_hmUART_Lan1:
avg -73.0655737704918
cnt 61
lst -73
max -72
min -76
at_hmUART_Lan2:
avg -69.7666666666667
cnt 60
lst -65
max -63
min -78
hmUART_Lan1:
avg -85.5714285714286
cnt 14
lst -85
max -84
min -90
shadowReg:
tmpl:
Attributes:
DbLogExclude .*
IODev hmUART_Lan1
IOgrp VCCU:hmUART_Lan1
autoReadReg 4_reqStatus
event-on-change-reading state
expert allReg
firmware 1.0
model HB-OU-MP3-LED
room CUL_HM
serialNr JPMP300000
subType custom
webCmd getConfig:clear msgEvents
LED Kanal:
Internals:
CFGFN
DEF F3440001
FUUID 600b4e0b-f33f-93ab-8611-8b56270f2ca07cea
NAME HM_F34400_LED
NOTIFYDEV global
NR 840
STATE off
TYPE CUL_HM
chanNo 01
device HM_F34400
peerList 0000FFFF,FFFFFFFF
READINGS:
2021-01-22 23:26:59 CommandAccepted yes
2021-01-22 23:13:45 R-0000FFFF-lgActionType toggleToCntInv
2021-01-22 23:13:45 R-0000FFFF-lgCtDlyOff undef lit:15
2021-01-22 23:13:45 R-0000FFFF-lgCtDlyOn undef lit:15
2021-01-22 23:13:45 R-0000FFFF-lgCtOff undef lit:15
2021-01-22 23:13:45 R-0000FFFF-lgCtOn undef lit:15
2021-01-22 23:13:45 R-0000FFFF-lgCtValHi 255
2021-01-22 23:13:45 R-0000FFFF-lgCtValLo 255
2021-01-22 23:13:45 R-0000FFFF-lgMultiExec on
2021-01-22 23:13:45 R-0000FFFF-lgOffDly 111600 s
2021-01-22 23:13:45 R-0000FFFF-lgOffTime unused
2021-01-22 23:13:45 R-0000FFFF-lgOffTimeMode minimal
2021-01-22 23:13:45 R-0000FFFF-lgOnDly 111600 s
2021-01-22 23:13:45 R-0000FFFF-lgOnTime unused
2021-01-22 23:13:45 R-0000FFFF-lgOnTimeMode minimal
2021-01-22 23:13:45 R-0000FFFF-lgSwJtDlyOff undef lit:15
2021-01-22 23:13:45 R-0000FFFF-lgSwJtDlyOn undef lit:15
2021-01-22 23:13:45 R-0000FFFF-lgSwJtOff undef lit:15
2021-01-22 23:13:45 R-0000FFFF-lgSwJtOn undef lit:15
2021-01-22 23:13:45 R-0000FFFF-longActIntens 255
2021-01-22 23:13:45 R-0000FFFF-longActNum 255
2021-01-22 23:13:45 R-0000FFFF-longActType 255
2021-01-22 23:25:08 R-0000FFFF-shActionType jmpToTarget
2021-01-22 23:13:45 R-0000FFFF-shCtDlyOff undef lit:15
2021-01-22 23:13:45 R-0000FFFF-shCtDlyOn undef lit:15
2021-01-22 23:13:45 R-0000FFFF-shCtOff undef lit:15
2021-01-22 23:13:45 R-0000FFFF-shCtOn undef lit:15
2021-01-22 23:13:45 R-0000FFFF-shCtValHi 255
2021-01-22 23:13:45 R-0000FFFF-shCtValLo 255
2021-01-22 23:25:08 R-0000FFFF-shMultiExec on
2021-01-22 23:13:45 R-0000FFFF-shOffDly 111600 s
2021-01-22 23:13:45 R-0000FFFF-shOffTime unused
2021-01-22 23:25:08 R-0000FFFF-shOffTimeMode minimal
2021-01-22 23:13:45 R-0000FFFF-shOnDly 111600 s
2021-01-22 23:13:45 R-0000FFFF-shOnTime unused
2021-01-22 23:25:08 R-0000FFFF-shOnTimeMode minimal
2021-01-22 23:25:08 R-0000FFFF-shSwJtDlyOff dlyOn
2021-01-22 23:25:08 R-0000FFFF-shSwJtDlyOn on
2021-01-22 23:25:08 R-0000FFFF-shSwJtOff dlyOn
2021-01-22 23:25:08 R-0000FFFF-shSwJtOn no
2021-01-22 23:13:45 R-0000FFFF-shortActIntens 255
2021-01-22 23:13:45 R-0000FFFF-shortActNum 255
2021-01-22 23:13:45 R-0000FFFF-shortActType 255
2021-01-22 23:13:46 R-FFFFFFFF-lgActionType toggleToCntInv
2021-01-22 23:13:46 R-FFFFFFFF-lgCtDlyOff undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-lgCtDlyOn undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-lgCtOff undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-lgCtOn undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-lgCtValHi 255
2021-01-22 23:13:46 R-FFFFFFFF-lgCtValLo 255
2021-01-22 23:13:46 R-FFFFFFFF-lgMultiExec on
2021-01-22 23:13:46 R-FFFFFFFF-lgOffDly 111600 s
2021-01-22 23:13:46 R-FFFFFFFF-lgOffTime unused
2021-01-22 23:13:46 R-FFFFFFFF-lgOffTimeMode minimal
2021-01-22 23:13:46 R-FFFFFFFF-lgOnDly 111600 s
2021-01-22 23:13:46 R-FFFFFFFF-lgOnTime unused
2021-01-22 23:13:46 R-FFFFFFFF-lgOnTimeMode minimal
2021-01-22 23:13:46 R-FFFFFFFF-lgSwJtDlyOff undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-lgSwJtDlyOn undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-lgSwJtOff undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-lgSwJtOn undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-longActIntens 255
2021-01-22 23:13:46 R-FFFFFFFF-longActNum 255
2021-01-22 23:13:46 R-FFFFFFFF-longActType 255
2021-01-22 23:13:46 R-FFFFFFFF-shActionType toggleToCntInv
2021-01-22 23:13:46 R-FFFFFFFF-shCtDlyOff undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-shCtDlyOn undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-shCtOff undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-shCtOn undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-shCtValHi 255
2021-01-22 23:13:46 R-FFFFFFFF-shCtValLo 255
2021-01-22 23:13:46 R-FFFFFFFF-shMultiExec on
2021-01-22 23:13:46 R-FFFFFFFF-shOffDly 111600 s
2021-01-22 23:13:46 R-FFFFFFFF-shOffTime unused
2021-01-22 23:13:46 R-FFFFFFFF-shOffTimeMode minimal
2021-01-22 23:13:46 R-FFFFFFFF-shOnDly 111600 s
2021-01-22 23:13:46 R-FFFFFFFF-shOnTime unused
2021-01-22 23:13:46 R-FFFFFFFF-shOnTimeMode minimal
2021-01-22 23:13:46 R-FFFFFFFF-shSwJtDlyOff undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-shSwJtDlyOn undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-shSwJtOff undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-shSwJtOn undef lit:15
2021-01-22 23:13:46 R-FFFFFFFF-shortActIntens 255
2021-01-22 23:13:46 R-FFFFFFFF-shortActNum 255
2021-01-22 23:13:46 R-FFFFFFFF-shortActType 255
2021-01-22 23:25:09 cfgState PeerUndef
2021-01-22 23:26:59 deviceMsg off (to VCCU)
2021-01-22 23:26:59 level 0 %
2021-01-22 23:26:59 pct 0
2021-01-22 23:25:06 peerList 0000FFFF,FFFFFFFF
2021-01-22 23:26:59 recentStateType ack
2021-01-22 23:26:59 state off
2021-01-22 23:26:59 timedOn off
2021-01-22 23:26:59 trigLast fhem:02
helper:
cfgChkResult No regs found for:-ret--ret-HM_F34400_LED type:custom - -ret-list:peer register :value-ret- 0000FFFF FFFFFFFF -ret- lg lo sh lg lo sh -ret-ActionType toggleToCntInv jmpToTarget toggleToCntInv toggleToCntInv -ret-CtDlyOff [lit]undef undef undef undef -ret-CtDlyOn [lit]undef undef undef undef -ret-CtOff [lit]undef undef undef undef -ret-CtOn [lit]undef undef undef undef -ret-CtValHi 255 255 255 255 -ret-CtValLo 255 255 255 255 -ret-MultiExec on on on on -ret-OffDly [s] 111600 111600 111600 111600 -ret-OffTime unused unused unused unused -ret-OffTimeMode minimal minimal minimal minimal -ret-OnDly [s] 111600 111600 111600 111600 -ret-OnTime unused unused unused unused -ret-OnTimeMode minimal minimal minimal minimal -ret-SwJtDlyOff [lit]undef dlyOn undef undef -ret-SwJtDlyOn [lit]undef on undef undef -ret-SwJtOff [lit]undef dlyOn undef undef -ret-SwJtOn [lit]undef no undef undef -ret-ngActIntens 255 255 -ret-ngActNum 255 255 -ret-ngActType 255 255 -ret-ortActIntens 255 255 -ret-ortActNum 255 255 -ret-ortActType 255 255 -ret-
dlvl 00
dlvlCmd ++A011242424F344000201000000
peerFriend peerSens,peerVirt
peerIDsRaw ,0000FFFF,FFFFFFFF,00000000
peerOpt 3:custom
regLst 1,3p
tmplChg 1
cfgChk:
idPz01 id:0000FFFF
id:FFFFFFFF
cmds:
TmplKey 0000FFFF,FFFFFFFF:no:1611354343.39864
TmplTs 1611354343.39864
cmdKey 1:0:0::HM_F34400:F344:01:0000FFFF,FFFFFFFF
cmdLst:
clear [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
eventL -peer- -cond-
eventS -peer- -cond-
getConfig noArg
getRegRaw (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
inhibit [(on|{off})]
off noArg
on noArg
on-for-timer -ontime-
on-till -time-
peerBulk -peer1,peer2,...- [({set}|unset)]
peerIODev [IO] -btn- [({set}|unset)] 'not for future use'
peerSmart -peerOpt-
press [(long|{short})] [(-peer-|{self01})] [(-repCount-|{0})] [(-repDelay-|{0.25})]
pressL [(-peer-|{self01})]
pressS [(-peer-|{self01})]
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2-...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
sign [(on|{off})]
statusRequest noArg
toggle noArg
tplDel -tplDel-
tplSet_0 -tplChan-
tplSet_0000FFFF -tplPeer-
tplSet_FFFFFFFF -tplPeer-
lst:
condition slider,0,1,255
peer 0000FFFF,FFFFFFFF
peerOpt remove_0000FFFF,remove_FFFFFFFF,HM_38125B_Btn_04,HM_38125B_Btn_05,HM_38125B_Btn_06,HM_38125B_Btn_07,HM_38125B_Btn_08,HM_3D646D_Btn_03,HM_3D646D_Btn_05,HM_3D646D_Btn_07,HM_3D646D_Btn_08,HM_6B057A_Btn_01,HM_6B057A_Btn_02,HM_B20171_Btn_01,HM_B20171_Btn_02,HM_B20172_Btn_01,HM_B20172_Btn_02,HM_B20184_Btn_01,HM_B20184_Btn_02,HM_C51DFF_Id_07,HM_C51DFF_Id_08,HM_F1D002_Weather,HM_F31C03_Id_04,HM_F31C03_Id_05,HM_F31C03_Id_06,HM_F31C03_Id_07,HM_F31C03_Id_08,HM_F33A10_Sen_01,HM_F33A10_Sen_02,HM_F33A10_Sen_03,HM_F33A10_Sen_04,HM_F33A10_Sen_05,HM_F33A10_Sen_06,HM_F33A10_Sen_07,HM_F33A10_Sen_08,HM_F33A10_Sw_01,HM_F33A10_Sw_02,HM_F33A10_Sw_03,HM_F33A10_Sw_04,HM_F33A10_Sw_05,HM_F33A10_Sw_06,VCCU_Btn1,VCCU_Btn2,VCCU_Btn3,bett_l1,bett_l2,bett_r1,bett_r2,bett_u,bewegungsmelder_aussen,bierlift_rauf,bierlift_runter,bwm_bad,bwm_bad_1,bwm_kinderzimmer,bwm_kuche,bwm_schlafzimmer,bwm_tuerstation,fenster_bad,fenster_kinderzimmer,fenster_kuche,fenster_tuer_schlafzimmer,fenster_wohnzimmer1,fenster_wohnzimmer2,frei,ibutton_andreea_to,ibutton_basti_to,ibutton_claudiu_blau,ibutton_claudiu_to,ibutton_dona_to,ibutton_jessica_gelb,ibutton_jessica_to,ibutton_nadja_rot,ibutton_nadja_to,klingeltaster_basti,klingeltaster_claudiu,regensensor_Rain,schiebetuer_kleiderschrank_sz,sensor_eingang_tuer,sensor_wohnung_tuer,status_heizung_lueftung,status_lueftung,status_volierentuer,status_volierentuer_offen,status_volierentuer_zu,taste_led_deckenlicht,taste_led_spiegel,taster_bwm_btn1,taster_bwm_btn2,taster_sz_Btn_01,taster_sz_Btn_02,tuer_schlafzimmer,wassermelder_bad_waschbecken
tplChan
tplDel 0000FFFF:short>SwOn
tplPeer SwCondAbove_long,SwOnCond_short,motionOnSw_short,SwOff_short,SwToggle_long,SwCondAbove_short,SwOn_short,SwToggle_short,autoOff_long,SwOnCond_long,SwCondBelow_short,SwOn_long,SwCondBelow_long,SwOff_long,motionOnSw_long,autoOff_short
rtrvLst:
cmdList [({short}|long)]
deviceInfo [({short}|long)]
list [({normal}|full)]
param -param-
reg -addr- -list- [-peerChn-]
regList noArg
regTable noArg
regVal -addr- -list- [-peerChn-]
saveConfig [-filename-]
tplInfo noArg
expert:
def 1
det 1
raw 0
tpl 0
regCollect:
role:
chn 1
shadowReg:
tmpl:
0000FFFF:short>SwOn
nb:
cnt 2
Attributes:
DbLogExclude .*
event-on-change-reading state
model HB-OU-MP3-LED
peerIDs 00000000,0000FFFF,FFFFFFFF,
mehr geht noch nicht.
Ich werde es mal mit der readxml.pl versuchen.
Auf jeden Fall ist es immer eine gute Idee, FHEM neu zu starten, wenn Änderungen im Addin vorgenommen wurden.
Hier das Ergebnis, das readxml.pl für JP-HB-Devices-addon-master\src\addon\firmware\rftypes\hb-ou-mp3-led.xml ausspuckt.
Die Kommentare sind von mir aus der hb-ou-mp3-led.xml von Hand hinzugefügt, um die Struktur besser zu verstehen und die Register leichter zuordnen zu können.
# channel index="0" type="MAINTENANCE" ui_flags="internal" class="maintenance" count="1"
# paramset type="MASTER" id="maint_ch_master"
$HMConfig::culHmRegDefine{"deviceLedMode"} = {a=>5.6,s=>0.2,l=>0,min=>0,max=>0,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"deviceLedMode"}
# paramset type="VALUES" id="maint_ch_values"
# <channel index="1" type="SIGNAL_LED" count="1">
# <link_roles>
# <target name="SWITCH"/>
# <target name="WEATHER_CS"/>
# <target name="WCS_TIPTRONIC_SENSOR"/>
# </link_roles>
# <paramset type="MASTER" id="signal_led_ch_master">
# <subset ref="signal_led_paramset"/>
# </paramset>
# <paramset type="VALUES" id="signal_led_ch_values">
# <subset ref="signal_led_valueset"/>
# </paramset>
# <paramset type="LINK" id="signal_hbled_ch_link">
# <subset ref="signal_led_linkset"/>
# </paramset>
# <enforce_link>
# <value id="LCD_SYMBOL" value="2"/>
# <value id="LCD_LEVEL_INTERP" value="1"/>
# </enforce_link>
# </channel>
# <channel index="2" type="SIGNAL_CHIME" count="1">
# <link_roles>
# <target name="SWITCH"/>
# <target name="WEATHER_CS"/>
# <target name="WCS_TIPTRONIC_SENSOR"/>
# </link_roles>
# <paramset type="MASTER" id="signal_chime_ch_master">
# <subset ref="signal_mp3_paramset"/>
# </paramset>
# <paramset type="VALUES" id="signal_chime_ch_values">
# <subset ref="signal_chime_valueset"/>
# </paramset>
# <paramset type="LINK" id="signal_hbchime_ch_link">
# <subset ref="signal_chime_linkset"/>
# </paramset>
# <enforce_link>
# <value id="LCD_SYMBOL" value="2"/>
# <value id="LCD_LEVEL_INTERP" value="1"/>
# <value id="PEER_NEEDS_BURST" value="true"/>
# </enforce_link>
# </channel>
# </channels>
# paramset id="signal_led_valueset"
# paramset id="signal_led_paramset"
$HMConfig::culHmRegDefine{"hbInterruptRunning"} = {a=>126,s=>0.1,l=>1,min=>0,max=>1,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"hbInterruptRunning"}
$HMConfig::culHmRegDefine{"hbLedCount"} = {a=>127,s=>1,l=>1,min=>1,max=>32,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"hbLedCount"}
# paramset id="signal_mp3_paramset"
$HMConfig::culHmRegDefine{"hbInterruptRunning"} = {a=>126,s=>0.1,l=>1,min=>0,max=>1,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"hbInterruptRunning"}
# paramset id="signal_led_linkset"
$HMConfig::culHmRegDefine{"shortCtOffdelay"} = {a=>0x2.4,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCtOffdelay"}
$HMConfig::culHmRegDefine{"shortCtOndelay"} = {a=>0x2.0,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCtOndelay"}
$HMConfig::culHmRegDefine{"shortCtOff"} = {a=>0x3.4,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCtOff"}
$HMConfig::culHmRegDefine{"shortCtOn"} = {a=>0x3.0,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCtOn"}
$HMConfig::culHmRegDefine{"shortCondValueLo"} = {a=>4,s=>1,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCondValueLo"}
$HMConfig::culHmRegDefine{"shortCondValueHi"} = {a=>5,s=>1,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCondValueHi"}
$HMConfig::culHmRegDefine{"shortOndelayTime"} = {a=>6,s=>1,l=>3,min=>0.0,max=>111600.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"shortOndelayTime"}
$HMConfig::culHmRegDefine{"shortOnTime"} = {a=>7,s=>1,l=>3,min=>0.0,max=>108000.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"shortOnTime",lit=>{notUsed=>111600.0,}}
$HMConfig::culHmRegDefine{"shortOffdelayTime"} = {a=>8,s=>1,l=>3,min=>0.0,max=>111600.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"shortOffdelayTime"}
$HMConfig::culHmRegDefine{"shortOffTime"} = {a=>9,s=>1,l=>3,min=>0.0,max=>108000.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"shortOffTime",lit=>{notUsed=>111600.0,}}
$HMConfig::culHmRegDefine{"shortOnTimeMode"} = {a=>0xA.7,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortOnTimeMode"}
$HMConfig::culHmRegDefine{"shortOffTimeMode"} = {a=>0xA.6,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortOffTimeMode"}
$HMConfig::culHmRegDefine{"shortActionType"} = {a=>0xA.0,s=>0.2,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActionType"}
$HMConfig::culHmRegDefine{"shortJtOff"} = {a=>0xB.4,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortJtOff"}
$HMConfig::culHmRegDefine{"shortJtOn"} = {a=>0xB.0,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortJtOn"}
$HMConfig::culHmRegDefine{"shortJtOffdelay"} = {a=>0xC.4,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortJtOffdelay"}
$HMConfig::culHmRegDefine{"shortJtOndelay"} = {a=>0xC.0,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortJtOndelay"}
$HMConfig::culHmRegDefine{"shortActType"} = {a=>0x24,s=>1.0,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActType"}
$HMConfig::culHmRegDefine{"shortActNum"} = {a=>0x25,s=>1.0,l=>3,min=>1,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActNum"}
$HMConfig::culHmRegDefine{"shortActIntens"} = {a=>0x2B,s=>1.0,l=>3,min=>1,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActIntens"}
$HMConfig::culHmRegDefine{"longCtOffdelay"} = {a=>0x82.4,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCtOffdelay"}
$HMConfig::culHmRegDefine{"longCtOndelay"} = {a=>0x82.0,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCtOndelay"}
$HMConfig::culHmRegDefine{"longCtOff"} = {a=>0x83.4,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCtOff"}
$HMConfig::culHmRegDefine{"longCtOn"} = {a=>0x83.0,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCtOn"}
$HMConfig::culHmRegDefine{"longCondValueLo"} = {a=>0x84,s=>1,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCondValueLo"}
$HMConfig::culHmRegDefine{"longCondValueHi"} = {a=>0x85,s=>1,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCondValueHi"}
$HMConfig::culHmRegDefine{"longOndelayTime"} = {a=>0x86,s=>1,l=>3,min=>0.0,max=>111600.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"longOndelayTime"}
$HMConfig::culHmRegDefine{"longOnTime"} = {a=>0x87,s=>1,l=>3,min=>0.0,max=>108000.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"longOnTime",lit=>{notUsed=>111600.0,}}
$HMConfig::culHmRegDefine{"longOffdelayTime"} = {a=>0x88,s=>1,l=>3,min=>0.0,max=>111600.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"longOffdelayTime"}
$HMConfig::culHmRegDefine{"longOffTime"} = {a=>0x89,s=>1,l=>3,min=>0.0,max=>108000.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"longOffTime",lit=>{notUsed=>111600.0,}}
$HMConfig::culHmRegDefine{"longOnTimeMode"} = {a=>0x8A.7,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longOnTimeMode"}
$HMConfig::culHmRegDefine{"longOffTimeMode"} = {a=>0x8A.6,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longOffTimeMode"}
$HMConfig::culHmRegDefine{"longMultiexecute"} = {a=>0x8A.5,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longMultiexecute"}
$HMConfig::culHmRegDefine{"longActionType"} = {a=>0x8A.0,s=>0.2,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActionType"}
$HMConfig::culHmRegDefine{"longJtOff"} = {a=>0x8B.4,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longJtOff"}
$HMConfig::culHmRegDefine{"longJtOn"} = {a=>0x8B.0,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longJtOn"}
$HMConfig::culHmRegDefine{"longJtOffdelay"} = {a=>0x8C.4,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longJtOffdelay"}
$HMConfig::culHmRegDefine{"longJtOndelay"} = {a=>0x8C.0,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longJtOndelay"}
$HMConfig::culHmRegDefine{"longActType"} = {a=>0xA4,s=>1.0,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActType"}
$HMConfig::culHmRegDefine{"longActNum"} = {a=>0xA5,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActNum"}
$HMConfig::culHmRegDefine{"longActIntens"} = {a=>0xAB,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActIntens"}
# paramset id="signal_chime_valueset"
# paramset id="signal_chime_paramset"
# paramset id="signal_chime_linkset"
$HMConfig::culHmRegDefine{"shortCtOffdelay"} = {a=>0x2.4,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCtOffdelay"}
$HMConfig::culHmRegDefine{"shortCtOndelay"} = {a=>0x2.0,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCtOndelay"}
$HMConfig::culHmRegDefine{"shortCtOff"} = {a=>0x3.4,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCtOff"}
$HMConfig::culHmRegDefine{"shortCtOn"} = {a=>0x3.0,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCtOn"}
$HMConfig::culHmRegDefine{"shortCondValueLo"} = {a=>4,s=>1,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCondValueLo"}
$HMConfig::culHmRegDefine{"shortCondValueHi"} = {a=>5,s=>1,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortCondValueHi"}
$HMConfig::culHmRegDefine{"shortOndelayTime"} = {a=>6,s=>1,l=>3,min=>0.0,max=>111600.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"shortOndelayTime"}
$HMConfig::culHmRegDefine{"shortOnTime"} = {a=>7,s=>1,l=>3,min=>0.0,max=>108000.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"shortOnTime",lit=>{notUsed=>111600.0,}}
$HMConfig::culHmRegDefine{"shortOffdelayTime"} = {a=>8,s=>1,l=>3,min=>0.0,max=>111600.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"shortOffdelayTime"}
$HMConfig::culHmRegDefine{"shortOffTime"} = {a=>9,s=>1,l=>3,min=>0.0,max=>108000.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"shortOffTime",lit=>{notUsed=>111600.0,}}
$HMConfig::culHmRegDefine{"shortOnTimeMode"} = {a=>0xA.7,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortOnTimeMode"}
$HMConfig::culHmRegDefine{"shortOffTimeMode"} = {a=>0xA.6,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortOffTimeMode"}
$HMConfig::culHmRegDefine{"shortActionType"} = {a=>0xA.0,s=>0.2,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActionType"}
$HMConfig::culHmRegDefine{"shortJtOff"} = {a=>0xB.4,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortJtOff"}
$HMConfig::culHmRegDefine{"shortJtOn"} = {a=>0xB.0,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortJtOn"}
$HMConfig::culHmRegDefine{"shortJtOffdelay"} = {a=>0xC.4,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortJtOffdelay"}
$HMConfig::culHmRegDefine{"shortJtOndelay"} = {a=>0xC.0,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortJtOndelay"}
$HMConfig::culHmRegDefine{"shortActType"} = {a=>0x24,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActType"}
$HMConfig::culHmRegDefine{"shortActNum"} = {a=>0x25,s=>1.0,l=>3,min=>1,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActNum"}
$HMConfig::culHmRegDefine{"shortActIntens"} = {a=>0x2B,s=>1.0,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"shortActIntens"}
$HMConfig::culHmRegDefine{"longCtOffdelay"} = {a=>0x82.4,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCtOffdelay"}
$HMConfig::culHmRegDefine{"longCtOndelay"} = {a=>0x82.0,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCtOndelay"}
$HMConfig::culHmRegDefine{"longCtOff"} = {a=>0x83.4,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCtOff"}
$HMConfig::culHmRegDefine{"longCtOn"} = {a=>0x83.0,s=>0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCtOn"}
$HMConfig::culHmRegDefine{"longCondValueLo"} = {a=>0x84,s=>1,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCondValueLo"}
$HMConfig::culHmRegDefine{"longCondValueHi"} = {a=>0x85,s=>1,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longCondValueHi"}
$HMConfig::culHmRegDefine{"longOndelayTime"} = {a=>0x86,s=>1,l=>3,min=>0.0,max=>111600.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"longOndelayTime"}
$HMConfig::culHmRegDefine{"longOnTime"} = {a=>0x87,s=>1,l=>3,min=>0.0,max=>108000.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"longOnTime",lit=>{notUsed=>111600.0,}}
$HMConfig::culHmRegDefine{"longOffdelayTime"} = {a=>0x88,s=>1,l=>3,min=>0.0,max=>111600.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"longOffdelayTime"}
$HMConfig::culHmRegDefine{"longOffTime"} = {a=>0x89,s=>1,l=>3,min=>0.0,max=>108000.0,c=>'',p=>'y',f=>'',u=>'s',d=>1,t=>"longOffTime",lit=>{notUsed=>111600.0,}}
$HMConfig::culHmRegDefine{"longOnTimeMode"} = {a=>0x8A.7,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longOnTimeMode"}
$HMConfig::culHmRegDefine{"longOffTimeMode"} = {a=>0x8A.6,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longOffTimeMode"}
$HMConfig::culHmRegDefine{"longMultiexecute"} = {a=>0x8A.5,s=>0.1,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longMultiexecute"}
$HMConfig::culHmRegDefine{"longActionType"} = {a=>0x8A.0,s=>0.2,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActionType"}
$HMConfig::culHmRegDefine{"longJtOff"} = {a=>0x8B.4,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longJtOff"}
$HMConfig::culHmRegDefine{"longJtOn"} = {a=>0x8B.0,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longJtOn"}
$HMConfig::culHmRegDefine{"longJtOffdelay"} = {a=>0x8C.4,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longJtOffdelay"}
$HMConfig::culHmRegDefine{"longJtOndelay"} = {a=>0x8C.0,s=>0x0.4,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longJtOndelay"}
$HMConfig::culHmRegDefine{"longActType"} = {a=>0xA4,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActType"}
$HMConfig::culHmRegDefine{"longActNum"} = {a=>0xA5,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActNum"}
$HMConfig::culHmRegDefine{"longActIntens"} = {a=>0xAB,s=>1.0,l=>3,min=>0,max=>0,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"longActIntens"}
Schlau werde ich daraus ehrlich gesagt noch nicht so ganz.
Gibt es dazu irgendwo eine Dokumentation?
Ich habe folgende Zuordnungen erschlossen:
a="index", s="size", l="list", min="min", max="max", t="id"
Was bedeuten c, p, f, u und d?
Müssen die ganzen option-en und value-s auch irgendwie definiert werden?
Doku gibt es da nur wenig. Schau mal hier
https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/HMConfig.pm
Im Prinzip müsste sich das doch alles sehr nahe am HM-OU-CFM-PL orientieren, oder?
Ich habe den Funk gong gestern zum laufen gebracht.Er spielt die mp3 ab und die Led`s blinken.
Was ich noch nicht rausgefunden habe, ist wie die Leds wieder von alleine ausgehen, da muss ich noch mit den Register Einstellungen probieren.
Wenn es läuft, würde ich es gern in das Addin integrieren.
kein Problem,soll ich hier die änderungen in HMConfig_AskSinPPCustom.pm posten?
Geht auch
Zitat von: papa am 27 Januar 2021, 13:06:47
Geht auch
Mit der HMConfig_AskSinPPCustom.pm läuft der Funkgong bei mir
# HB-OU-MP3-LED
$HMConfig::culHmRegDefine{"deviceLedMode"} = {a=>5.6,s=>0.2,l=>0,min=>0,max=>0,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"deviceLedMode"};
$HMConfig::culHmRegDefine{"hbInterruptRunning"} = {a=>126,s=>0.1,l=>1,min=>0,max=>1,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"hbInterruptRunning"};
$HMConfig::culHmRegDefine{"hbLedCount"} = {a=>127,s=>1,l=>1,min=>1,max=>32,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"hbLedCount"};
$HMConfig::culHmRegDefine{"shortActType"} = {a=>0x24,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"Led color or Mp3 Nummer"};
$HMConfig::culHmRegDefine{"shortActNum"} = {a=>0x25,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"BPM or Repeat"};
$HMConfig::culHmRegDefine{"shortActIntens"} = {a=>0x2B,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"Volume or Led Brightness"};
$HMConfig::culHmRegDefine{"longActType"} = {a=>0xA4,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"Led color or Mp3 Nummer"};
# Red=11, Green=21, Yellow=31, Blue=41, Violet=51, Cyan=61, White=71, Orange=81
$HMConfig::culHmRegDefine{"longActNum"} = {a=>0xA5,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"BPM or Repeat"};
$HMConfig::culHmRegDefine{"longActIntens"} = {a=>0xAB,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"Volume or Led Brightness"};
# Volume0=0, Volume10=20, Volume20=40, Volume40=60, .... Volume100=200
################################################################################################################################
# HB-OU-MP3-LED
$HMConfig::culHmModel{"F344"} = {name=>"HB-OU-MP3-LED",st=>'custom',cyc=>'',rxt=>'',lst=>'1,3:1p.2p',chn=>"LED:1:1,MP3:2:2"};
$HMConfig::culHmChanSets{"HB-OU-MP3-LED"}{fwUpdate} = "<filename>";
$HMConfig::culHmChanSets{"HB-OU-MP3-LED01"} = $HMConfig::culHmSubTypeSets{"switch"};
$HMConfig::culHmChanSets{"HB-OU-MP3-LED02"} = $HMConfig::culHmSubTypeSets{"switch"};
$HMConfig::culHmRegModel{"HB-OU-MP3-LED"} = { deviceLedMode =>1};
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"} = $HMConfig::culHmRegType{switch};
# add extra register
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"hbLedCount"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"hbInterruptRunning"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"} = $HMConfig::culHmRegType{switch};
# add extra register
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"hbInterruptRunning"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActIntens"} = 1;
$customMsg{"HB-OU-MP3-LED"} = sub {
my ($msg,$target) = @_;
my $channel = $msg->channel;
return $msg->processSwitchStatus($target) if $msg->isStatus;
return ();
};
Danke - kommt dann in die Lib
Zitat von: thgorjup am 18 Januar 2021, 15:37:51
Da ich auch daran gescheitert bin und der Sketch wohl nur mit einer CCU funktioniert, habe ich mir solch einen Funkgong mit einem D1-Mini nachgebaut.
https://wiki.gorjup.de/doku.php?id=public:mp3_kombisignalgeber (https://wiki.gorjup.de/doku.php?id=public:mp3_kombisignalgeber)
Warum verweist Du nicht gleich auf Deinen E**y-Shop? Mit dem Wiki alleine lässt sich ja das Ding nicht nachbauen!
Aber dafür müsste man ja sich als "Commercial User" registrieren und sich an die Forumsregeln halten, sprich solche Infos nur in einem entsprechenden Unterforum posten, nicht wahr ;)
Zitat von: sentinel1 am 27 Januar 2021, 23:19:45
Mit der HMConfig_AskSinPPCustom.pm läuft der Funkgong bei mir
# HB-OU-MP3-LED
$HMConfig::culHmRegDefine{"deviceLedMode"} = {a=>5.6,s=>0.2,l=>0,min=>0,max=>0,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"deviceLedMode"};
$HMConfig::culHmRegDefine{"hbInterruptRunning"} = {a=>126,s=>0.1,l=>1,min=>0,max=>1,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"hbInterruptRunning"};
$HMConfig::culHmRegDefine{"hbLedCount"} = {a=>127,s=>1,l=>1,min=>1,max=>32,c=>'',p=>'n',f=>'',u=>'',d=>1,t=>"hbLedCount"};
$HMConfig::culHmRegDefine{"shortActType"} = {a=>0x24,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"Led color or Mp3 Nummer"};
$HMConfig::culHmRegDefine{"shortActNum"} = {a=>0x25,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"BPM or Repeat"};
$HMConfig::culHmRegDefine{"shortActIntens"} = {a=>0x2B,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"Volume or Led Brightness"};
$HMConfig::culHmRegDefine{"longActType"} = {a=>0xA4,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"Led color or Mp3 Nummer"};
# Red=11, Green=21, Yellow=31, Blue=41, Violet=51, Cyan=61, White=71, Orange=81
$HMConfig::culHmRegDefine{"longActNum"} = {a=>0xA5,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"BPM or Repeat"};
$HMConfig::culHmRegDefine{"longActIntens"} = {a=>0xAB,s=>1.0,l=>3,min=>0,max=>255,c=>'',p=>'y',f=>'',u=>'',d=>1,t=>"Volume or Led Brightness"};
# Volume0=0, Volume10=20, Volume20=40, Volume40=60, .... Volume100=200
################################################################################################################################
# HB-OU-MP3-LED
$HMConfig::culHmModel{"F344"} = {name=>"HB-OU-MP3-LED",st=>'custom',cyc=>'',rxt=>'',lst=>'1,3:1p.2p',chn=>"LED:1:1,MP3:2:2"};
$HMConfig::culHmChanSets{"HB-OU-MP3-LED"}{fwUpdate} = "<filename>";
$HMConfig::culHmChanSets{"HB-OU-MP3-LED01"} = $HMConfig::culHmSubTypeSets{"switch"};
$HMConfig::culHmChanSets{"HB-OU-MP3-LED02"} = $HMConfig::culHmSubTypeSets{"switch"};
$HMConfig::culHmRegModel{"HB-OU-MP3-LED"} = { deviceLedMode =>1};
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"} = $HMConfig::culHmRegType{switch};
# add extra register
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"hbLedCount"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"hbInterruptRunning"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"shortActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED01"}{"longActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"} = $HMConfig::culHmRegType{switch};
# add extra register
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"hbInterruptRunning"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"shortActIntens"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActType"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActNum"} = 1;
$HMConfig::culHmRegChan {"HB-OU-MP3-LED02"}{"longActIntens"} = 1;
$customMsg{"HB-OU-MP3-LED"} = sub {
my ($msg,$target) = @_;
my $channel = $msg->channel;
return $msg->processSwitchStatus($target) if $msg->isStatus;
return ();
};
Hallo,
Kannst mir ein paar Beispiele nennen, wie ich die LEDs und den MP3 Player. Aus dem ansprechen kann.
Danke
Zitat von: Beetle2003 am 04 November 2021, 23:21:26
Hallo,
Kannst mir ein paar Beispiele nennen, wie ich die LEDs und den MP3 Player. Aus dem ansprechen kann.
Danke
Hallo,
in LED Kanal die 3 Register ändern:
R-VCCU_Btn4-shortActIntens 40 (Helligkeit)
R-VCCU_Btn4-shortActNum 40
R-VCCU_Btn4-shortActType 31 (# Red=11, Green=21, Yellow=31, Blue=41, Violet=51, Cyan=61, White=71, Orange=81)
in MP3 Kanal die 3 Register ändern:
R-klingeltaster_claudiu-shortActIntens 180 (# Volume0=0, Volume10=20, Volume20=40, Volume40=60, .... Volume100=200)
R-klingeltaster_claudiu-shortActNum 3 (Widerholungen))
R-klingeltaster_claudiu-shortActType 1 (MP3 Nummer)
Die Klingel muss mit einen Taster gepeert sein.
Zitat von: sentinel1 am 05 November 2021, 00:57:44
Hallo,
in LED Kanal die 3 Register ändern:
R-VCCU_Btn4-shortActIntens 40 (Helligkeit)
R-VCCU_Btn4-shortActNum 40
R-VCCU_Btn4-shortActType 31 (# Red=11, Green=21, Yellow=31, Blue=41, Violet=51, Cyan=61, White=71, Orange=81)
in MP3 Kanal die 3 Register ändern:
R-klingeltaster_claudiu-shortActIntens 180 (# Volume0=0, Volume10=20, Volume20=40, Volume40=60, .... Volume100=200)
R-klingeltaster_claudiu-shortActNum 3 (Widerholungen))
R-klingeltaster_claudiu-shortActType 1 (MP3 Nummer)
Die Klingel muss mit einen Taster gepeert sein.
Vielen Dank für die Info.
Die Readings habe ich gesetzt. Was meinst Du mit dem Satz "Die Klingel muss mit einen Taster gepeert sein."
Ich möchte verschiedene MP3 und dazu ggf die LEDs schalten.
Danke für die Hilfestellung
Gruss
Zitat von: Beetle2003 am 06 November 2021, 21:26:17
Vielen Dank für die Info.
Die Readings habe ich gesetzt. Was meinst Du mit dem Satz "Die Klingel muss mit einen Taster gepeert sein."
Ich möchte verschiedene MP3 und dazu ggf die LEDs schalten.
Danke für die Hilfestellung
Gruss
Bin mir nicht mehr ganz sicher,aber ich glaube LEDs schalten und MP3 ging bei mir erst als der Gong mit ein Taster gepeert war.Kann auch
eine virtuele Taste der VCCU sein.
Hallo,
stehe gerade auch vor dem Problem, den HB-OU-MP3-LED in FHEM einzubinden bzw. bedienbar zu machen.
Die 3 Register setzen ist klar, das geht. Dann habe ich die beiden Kanäle mit jeweils einer virtuellen VCCU-Taste gepeert. Scheint auch zu passen, bin mir aber nicht 100%ig sicher.
Sehe ich das richtig, dass ich mit einem short-press der jeweiligen Taste die Funktion (LED an / Sound an) starten können müsste? Kann mir da bitte jemand weiter helfen?
Hat sich erledigt. Funktioniert nun. War tatsächlich nur nicht richtig (beidseitig) gepeert. :-[
Zitat von: rih am 23 Februar 2022, 10:27:44
Hat sich erledigt. Funktioniert nun. War tatsächlich nur nicht richtig (beidseitig) gepeert. :-[
Hallo,
kannst Du mir Deine Konfig zusenden?
Ich weiss nicht wie ich ihn einbinden und aktivieren soll.
Danke
Hallo Beetle2003,
da gibt es noch nicht viel an Konfig zu senden. Ich muss das jetzt selbst erst noch komfortabel bedienbar und steuerbar machen.
Bis jezt ist es so, dass ich im Peer VCCU_Btn1 mit press short die zuvor manuell gesetzten 3 Register-Einstellungen (Intensität, BPM und Farbe) für den LED-Kanal aktiviere. Der LED-Kanal muss auf state on sein. Analog dazu mit VCCU_Btn2 steuere ich den MP3-Kanal. Klappt auch.
Bist Du auf dem gleichen Stand wie ich oder was Du für ein Problem? Dein DFPlayer läuft? Hast Du die virtuellen VCCU_Buttons angelegt und jeweils mit den beiden Kanälen gepeert? Geht ja mit peersmart ganz einfach (bei beiden Device-Paaren ausführen!). Das ist die Voraussetzung dafür, dass überhaupt etwas geht. Hatte ja schon sentinel1 geschrieben. Beschreibe mal genauer, was geht bzw. nicht geht.
Bezüglich der komfortableren Bedienung und Steuerung: da werde ich mir etwas in der 99_myUtils stricken. Aber da bin ich noch dran ...
@Beetle2003:
Bist Du schon weitergekommen? Bei mir sieht die manuelle Bedienung im Moment so wie in dem Bild unten aus. Die einzelnen Eingaben werden in Dummy's voreingestellt und mit "Start" in der 99_myUtils verarbeitet. Hier werden die Register entsprechend gesetzt und danach die LED's durch setzen des virtuellen VCCU_Btn1 (pressS) eingeschaltet.
Die Steuerung der LED's mittels Befehlscode sieht so aus:
{Signal_LED(100,100,11)}
Damit erfolgt ein Aufruf der Subroutine Signal_LED in der 99_myUtils mit dem 1. Parameter Helligkeit, 2. Laufgeschwindigkeit und 3. Farbe.
Dann werden die Register entsprechend gesetzt und anschliessend der VCCU_Btn1 (pressS) zum Einschalten der LED's gesetzt.
Beispiel-DOIF:
([Alarm] eq "on") ({Signal_LED(100,100,11)}) DOELSEIF ([Alarm] eq "off") (set Signalgeber_LED off)
Die Bedienung und Steuerung des MP3-Kanals erfolg nach dem gleichen Muster und kann auch gleichzeitig mit den LED's erfolgen.
In der 99_myUtils sind 4 Subroutinen (je 2 für LED und MP3) programmiert.
Vielleicht hilft Dir das weiter.
@rih
Ich habe mich dem Thema gestern noch einmal angenommen.
Das Modul in der CCU eingerichtet. Programme erstellt.
Nun rufe ich aus Fhem die Programme auf und das Ding macht was es soll. Ist nicht schön gelöst, doch es funktioniert.
Wenn jemand eine schöne Lösung gefunden hat, nehme ich mich der gerne an.