From 5fe3e7bba92b6999145600d69b68a84f062a2bcc Mon Sep 17 00:00:00 2001 From: martinp876 <> Date: Sat, 28 May 2016 09:53:40 +0000 Subject: [PATCH] CUL_HM: add new devices git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@11535 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/10_CUL_HM.pm | 6 ++---- FHEM/98_HMinfo.pm | 30 ++++++++++++++++++++++++++++++ FHEM/HMConfig.pm | 17 +++++++++++++---- 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/FHEM/10_CUL_HM.pm b/FHEM/10_CUL_HM.pm index 8d43d99f3..b460de58d 100755 --- a/FHEM/10_CUL_HM.pm +++ b/FHEM/10_CUL_HM.pm @@ -934,12 +934,10 @@ sub CUL_HM_Notify(@){################################# return undef if (grep !/INITIALIZED/,@{$events}); delete $modules{CUL_HM}{NotifyFn}; # execute some cleanup after init + CUL_HM_updateConfig("startUp"); InternalTimer(1,"CUL_HM_setupHMLAN", "initHMLAN", 0);#start asap once FHEM is operational - - #we need to init the templist if HMInfo is in use - HMinfo_listOfTempTemplates() if (eval "defined(&HMinfo_listOfTempTemplates)"); - + return undef; } diff --git a/FHEM/98_HMinfo.pm b/FHEM/98_HMinfo.pm index a1aba7025..65dcaa7ea 100644 --- a/FHEM/98_HMinfo.pm +++ b/FHEM/98_HMinfo.pm @@ -26,9 +26,12 @@ sub HMinfo_Initialize($$) {#################################################### $hash->{SetFn} = "HMinfo_SetFn"; $hash->{GetFn} = "HMinfo_GetFn"; $hash->{AttrFn} = "HMinfo_Attr"; + $hash->{NotifyFn} = "HMinfo_Notify"; $hash->{AttrList} = "loglevel:0,1,2,3,4,5,6 " ."sumStatus sumERROR " ."autoUpdate autoArchive " + ."autoLoadArchive:0_no,1_load " +# ."autoLoadArchive:0_no,1_template,2_register,3_templ+reg " ."hmAutoReadScan hmIoMaxDly " ."hmManualOper:0_auto,1_manual " ."configDir configFilename configTempFile " @@ -175,9 +178,29 @@ sub HMinfo_Attr(@) {########################################################### delete $modules{CUL_HM}{AttrListDef}; } } + elsif($attrName eq "autoLoadArchive"){ + if ($cmd eq "set"){ + } + } return; } +sub HMinfo_Notify(@){################################# + my ($ntfy, $dev) = @_; + return "" if ($dev->{NAME} ne "global"); + + my $events = deviceEvents($dev, AttrVal($ntfy->{NAME}, "addStateEvent", 0)); + return undef if(!$events); # Some previous notify deleted the array. + return undef if (grep !/INITIALIZED/,@{$events}); + delete $modules{HMinfo}{NotifyFn}; + HMinfo_SetFn($ntfy,$ntfy->{NAME},"loadConfig") + if (substr(AttrVal($ntfy->{NAME}, "autoLoadArchive", 0),0,1) ne 0); + + #we need to init the templist if HMInfo is in use + HMinfo_listOfTempTemplates(); + + return undef; +} sub HMinfo_status($){########################################################## # - count defined HM entities, selected readings, errors on filtered readings # - display Assigned IO devices @@ -3029,6 +3052,9 @@ sub HMinfo_noDup(@) {#return list with no duplicates########################### example:
attr hm hmDefaults hmProtocolEvents:0_off,rssiLog:0
+
  • autoLoadArchive + if set the register config will be loaded after reboot automatically. See loadConfig for details
    +
  • @@ -3460,6 +3486,10 @@ sub HMinfo_noDup(@) {#return list with no duplicates########################### Beispiel:
    attr hm hmDefaults hmProtocolEvents:0_off,rssiLog:0
    +
  • autoLoadArchive + das Register Archive sowie Templates werden nach reboot automatischgeladen. + Siehe loadConfig fuer details
    +

  • diff --git a/FHEM/HMConfig.pm b/FHEM/HMConfig.pm index 7262079cb..9e57de542 100644 --- a/FHEM/HMConfig.pm +++ b/FHEM/HMConfig.pm @@ -310,13 +310,13 @@ my $K_actDetID = '000000'; # id of actionDetector ,"00F8" => {name=>"HM-RC-4-3-D" ,st=>'remote' ,cyc=>'' ,rxt=>'c:w:l' ,lst=>'1,4' ,chn=>"Btn:1:4",} ,"00F9" => {name=>"HM-Sec-Sir-WM" ,st=>'siren' ,cyc=>'' ,rxt=>'c:b' ,lst=>'1,3' ,chn=>"Sen:1:2,Panic:3:3,Arm4:4",} ,"00FA" => {name=>"HM-OU-CFM-TW" ,st=>'outputUnit' ,cyc=>'' ,rxt=>'c:b' ,lst=>'3' ,chn=>"Led:1:1,Mp3:2:2",} + ,"00FB" => {name=>"HM-Dis-EP-WM55" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c:b' ,lst=>'1,3' ,chn=>"Dis:1:2,Key:3:9",} ,"00FC" => {name=>"OLIGO-smart-iq-HM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Dim:1:2,Dim1_V:3:4,Dim2_V:5:6",} ,"00FD" => {name=>"HM-Sen-LI-O" ,st=>'senBright' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'1' ,chn=>""} - - ,"0101" => {name=>"HM-LC-Sw2PBU-FM" ,alias=>"HM-LC-Sw2-FM-2"} ,"0102" => {name=>"HM-WDS30-OT2-SM-2" ,alias=>"HM-WDS30-OT2-SM" } + ,"0103" => {name=>"HM-LC-Sw1-PCB" ,alias=>"HM-LC-Sw4-SM-2" } ,"8001" => {name=>"PS-switch" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:4",} ,"8002" => {name=>"PS-Th-Sens" ,st=>'THSensor' ,cyc=>'' ,rxt=>'' ,lst=>'1,4' ,chn=>"Sen:1:4",} @@ -470,6 +470,7 @@ foreach my $al (keys %culHmModel){ # duplicate entries for alias devices backlOnMode =>{a=> 5.6,s=>0.2,l=>0,min=>0 ,max=>2 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Backlight mode" ,lit=>{off=>0,auto=>2}}, backlOnMode2 =>{a=> 5.6,s=>0.2,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Backlight mode" ,lit=>{off=>0,on=>1}}, ledMode =>{a=> 5.6,s=>0.2,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"LED mode" ,lit=>{off=>0,on=>1}}, + displayInvert =>{a=> 5.6,s=>0.1,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"invert Display" ,lit=>{off=>0,on=>1}}, language =>{a=> 7.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"Language" ,lit=>{English=>0,German=>1}}, backAtKey =>{a=> 13.7,s=>0.1,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"Backlight at keystroke" ,lit=>{off=>0,on=>1}}, backAtMotion =>{a=> 13.6,s=>0.1,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"Backlight at motion" ,lit=>{off=>0,on=>1}}, @@ -486,6 +487,7 @@ foreach my $al (keys %culHmModel){ # duplicate entries for alias devices brightness =>{a=> 4.0,s=>0.4,l=>0,min=>0 ,max=>15 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"Display brightness"}, energyOpt =>{a=> 8.0,s=>1.0,l=>0,min=>0 ,max=>127 ,c=>'' ,f=>1 ,u=>'s' ,d=>1,t=>"energy Option: Duration of ilumination",lit=>{permanent=>0}}, + powerSupply =>{a=> 8.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"power supply option" ,lit=>{main=>0,bat=>1}}, # sec_mdir cyclicInfoMsg =>{a=> 9.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"cyclic message" ,lit=>{off=>0,on=>1,on_100=>200}}, sabotageMsg =>{a=> 16.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"enable sabotage message" ,lit=>{off=>0,on=>1}},# sc needs 1 - others? @@ -510,6 +512,7 @@ foreach my $al (keys %culHmModel){ # duplicate entries for alias devices devRepeatCntMax =>{a=> 31.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'' ,f=>'' ,u=>'' ,d=>0,t=>"act as repeater"}, wakeupDefChan =>{a=> 32.0,s=>1.0,l=>0,min=>0 ,max=>20 ,c=>'' ,f=>'' ,u=>'' ,d=>0,t=>"wakeup default channel"}, wakeupBehavior =>{a=> 33.0,s=>0.1,l=>0,min=>0 ,max=>20 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"wakeup behavior" ,lit=>{off=>0,on=>1}}, + wakeupBehavMsg =>{a=> 33.1,s=>0.1,l=>0,min=>0 ,max=>20 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"wakeup behavior status message" ,lit=>{off=>0,on=>1}}, alarmTimeMax =>{a=> 34.0,s=>1.0,l=>0,min=>1 ,max=>900 ,c=>'' ,f=>1.6 ,u=>'s' ,d=>0,t=>"maximum Alarm time" ,lit=>{unused=>0}}, baudrate =>{a=> 35.0,s=>1.0,l=>0,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"baudrate" ,lit=>{Bd300=>0,Bd600=>1,Bd1200=>2,Bd2400=>3,Bd4800=>4,Bd9600=>5,Bd19200=>6}}, @@ -656,8 +659,8 @@ foreach my $al (keys %culHmModel){ # duplicate entries for alias devices # weather units sunThresh =>{a=> 5 ,s=>1 ,l=>1,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"Sunshine threshold"}, - stormUpThresh =>{a=> 6 ,s=>1 ,l=>1,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"Storm upper threshold"}, - stormLowThresh =>{a=> 7 ,s=>1 ,l=>1,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"Storm lower threshold"}, + stormUpThresh =>{a=> 6 ,s=>1 ,l=>1,min=>0 ,max=>200 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"Storm upper threshold"}, + stormLowThresh =>{a=> 7 ,s=>1 ,l=>1,min=>0 ,max=>200 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"Storm lower threshold"}, # others localResetDis =>{a=> 7 ,s=>1 ,l=>1,min=>0 ,max=>255 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"LocalReset disable" ,lit=>{off=>0,on=>200}}, @@ -998,6 +1001,9 @@ $culHmRegType{pushButton} = $culHmRegType{remote}; ,"HM-PB-4DIS-WM" =>{ peerNeedsBurst =>1,expectAES =>1,language =>1,stbyTime =>1} ,"HM-Dis-WM55" =>{ stbyTime =>1} + ,"HM-Dis-EP-WM55" =>{ powerSupply =>1,localResDis =>1,wakeupBehavior =>1,wakeupBehavMsg =>1 + ,displayInvert =>1} + ,"HM-WDS100-C6-O" =>{ burstRx =>1,sunThresh =>1,stormUpThresh =>1,stormLowThresh =>1} ,"HM-OU-LED16" =>{ brightness =>1,energyOpt =>1,localResDis =>1} ,"HM-OU-CFM-PL" =>{ localResetDis =>1 @@ -1666,6 +1672,7 @@ $culHmModelSets{"ROTO_ZEL-STG-RM-FWT"} = $culHmModelSets{"HM-CC-TC"}; $culHmModelSets{"HM-Sen-Wa-Od"} = $culHmModelSets{"HM-SEC-SD"}; $culHmModelSets{"HM-PB-4DIS-WM-2"} = $culHmModelSets{"HM-PB-4DIS-WM"}; $culHmModelSets{"HM-Dis-WM55"} = $culHmModelSets{"HM-PB-4DIS-WM"}; +$culHmModelSets{"HM-Dis-EP-WM55"} = $culHmModelSets{"HM-PB-4DIS-WM"}; $culHmModelSets{"HM-RC-Dis-H-x-EU"} = $culHmModelSets{"HM-PB-4DIS-WM"}; $culHmModelSets{"ROTO_ZEL-STG-RM-DWT-10"}= $culHmModelSets{"HM-PB-4DIS-WM"}; #$culHmModelSets{"HM-OU-CFM-PL"} = $culHmModelSets{"HM-SEC-SD"};# no statusrequest possible @@ -1790,6 +1797,8 @@ $culHmModelSets{"HM-OU-CM-PCB"} = $culHmModelSets{"HM-SEC-SD"}; ); # clones- - - - - - - - - - - - - - - - - $culHmChanSets{"HM-Dis-WM5502"} = $culHmChanSets{"HM-Dis-WM5501"}; +$culHmChanSets{"HM-Dis-EP-WM5501"} = $culHmChanSets{"HM-Dis-WM5501"}; +$culHmChanSets{"HM-Dis-EP-WM5502"} = $culHmChanSets{"HM-Dis-WM5501"}; $culHmChanSets{"WDF-solar01"} = $culHmSubTypeSets{THSensor}; $culHmChanSets{"HM-Sen-RD-O01"} = $culHmSubTypeSets{THSensor};