[cul_hm] probleme mit register localResDis (HM-ES-PMSW1-PL)

Begonnen von frank, 17 März 2021, 11:10:57

Vorheriges Thema - Nächstes Thema

frank

moin martin,

die register definition für localResDis des HM-ES-PMSW1-PL passt nicht (size, min, lit):

#  localResDis     =>{a=> 24.0,s=>1.0,l=>0,min=>1      ,max=>1     ,c=>'lit'      ,p=>'n',f=>''      ,u=>''    ,d=>0,t=>"local reset disable"                  ,lit=>{off=>0,on=>200}},
  localResDis     =>{a=> 24.0,s=>0.1,l=>0,min=>0      ,max=>1     ,c=>'lit'      ,p=>'n',f=>''      ,u=>''    ,d=>0,t=>"local reset disable"                  ,lit=>{off=>0,on=>1}},



<?xml version="1.0" encoding="ISO-8859-1"?>
<device version="16" supports_aes="true" cyclic_timeout="600">
  <supported_types>
    <type name="power meter switch actuator 1-channel" id="HM-ES-PMSw1-Pl" updatable="true" priority="2">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="10.0" size="2.0" const_value="0x00ac" />
    </type>
    <type name="power meter switch actuator 1-channel" id="HM-ES-PMSw1-Pl-DN-R1" updatable="true" priority="2">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="10.0" size="2.0" const_value="0x00d7" />
    </type>
    <type name="power meter switch actuator 1-channel" id="HM-ES-PMSw1-Pl-DN-R2" updatable="true" priority="2">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="10.0" size="2.0" const_value="0x00e2" />
    </type>
    <type name="power meter switch actuator 1-channel" id="HM-ES-PMSw1-Pl-DN-R3" updatable="true" priority="2">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="10.0" size="2.0" const_value="0x00e3" />
    </type>
    <type name="power meter switch actuator 1-channel" id="HM-ES-PMSw1-Pl-DN-R4" updatable="true" priority="2">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="10.0" size="2.0" const_value="0x00e4" />
    </type>
    <type name="power meter switch actuator 1-channel" id="HM-ES-PMSw1-Pl-DN-R5" updatable="true" priority="2">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="10.0" size="2.0" const_value="0x00e5" />
    </type>
    <type name="Wireless Switch Actuator 1-channel with power metering, DIN Rail mount" id="HM-ES-PMSw1-DR"
          updatable="true" priority="2">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="10.0" size="2.0" const_value="0x00ea" />
    </type>
    <type name="Wireless Switch Actuator 1-channel with power metering,  surface-mount" id="HM-ES-PMSw1-SM"
          updatable="true" priority="2">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="10.0" size="2.0" const_value="0x00f6" />
    </type>
    <type name="generic power meter switch" id="HM-ES-PMSwX" priority="1">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="0x25" />
      <parameter index="22.0" size="1.0" const_value="0x51" />
      <parameter index="23.5" size="0.1" const_value="1" />
    </type>
  </supported_types>
  <paramset type="MASTER" id="switch_dev_master">
    <parameter id="INTERNAL_KEYS_VISIBLE" ui_flags="internal">
      <logical type="boolean" default="false" />
      <physical type="integer" interface="config" list="0" index="2.7" size="0.1" />
    </parameter>
    <parameter id="CONF_BUTTON_TIME">
      <logical type="integer" min="1" max="254" default="255" unit="minutes">
        <special_value id="PERMANENT" value="255" />
      </logical>
      <physical type="integer" interface="config" list="0" index="0x15" size="1" />
    </parameter>
    <parameter id="LOCAL_RESET_DISABLE" operations="read,write">
      <logical type="boolean" default="false" />
      <physical type="integer" interface="config" list="0" index="24.0" size="0.1" />
    </parameter>
  </paramset>
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

martinp876

min = 1 ist natürlich Quatsch.

On 200 hingegen nicht / nicht immer. Das machen die Devices gelegentich unterschiedlich. Typisch gilt = alles ungleich 0 ist "wahr".  Da es nicht nur für den PMSW1 gilt ist 200 wohl sicherer

frank

ZitatOn 200 hingegen nicht / nicht immer. Das machen die Devices gelegentich unterschiedlich. Typisch gilt = alles ungleich 0 ist "wahr".  Da es nicht nur für den PMSW1 gilt ist 200 wohl sicherer
aber mit lit=>{off=>0,on=>200} kann fhem nicht umgehen, da beim auslesen 0x01 gesendet wird.

R-localResDis    undef lit:1
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

noansi

Hallo Martin,

bei openCCU finde ich für localResDis nur Franks Definitionsversion beschrieben, über alle devices. Also List 0, Byte 24, Bit 0. Damit auch Wertebereich 0 und 1.
Welches device in welcher Firmwareversion verwendet Byte 24 anders für localResDis?

Gruß, Ansgar.

martinp876

gute Frage- das ist lange her. unten einmal eine List -wie du an Size sehen kannst ist es manechmal als Bit und manchmal als Byte definiert.
Grundsätzlich wirft es Probleme auf:
wenn es kein Bit ist, was ist true, was false?
wenn es ein Bit ist - kann man die restlichen 7 Bits zurücklesen und setzen (zum Compare)?
ich könnte 2 typen einführen....



Zitatrf_ao                     r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_bl                     r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_bl_644                 r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_bl_conf_644            r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_cc_rt_dn               r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_cc_rt_dn_bom           r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_cfm                    r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_cfm_tw                 r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_cm                     r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_dim_1l_644             r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dim_1pwm_644           r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dim_1t_644             r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dim_1t_dr              r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dim_1t_fm_lf           r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dim_1tconf_644         r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dim_2l_644             r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dim_2pwm               r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dim_2t_644             r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_dis_ep_wm55            r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_dis_ep_wm55_le_v1_0    r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_dw                     r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_em_8                   r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_em_8_bit               r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_es_pmsw                r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_es_pmsw_le_v2_4        r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_es_tx_wm               r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_es_tx_wm_le_v1_0       r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_hm-wds100-c6-o-2       r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1.0    type:integer   
rf_ja_conf_644            r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_oligo_smart_iq         r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_ou_led16_ge_v1_1       r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_pb-2                   r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_rc-4-2                 r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_rc-4-3_single_on       r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_rc-key4-2              r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_rc-sec4-2              r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_rc_2_fm                r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_rc_dis                 r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_rd                     r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_rd_le_v1_3             r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_resc_win_pcb_sc        r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_rgbw                   r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_roto_wdf_solar         r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_s                      r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_s_1conf_644            r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_s_1conf_644_le_v2_3    r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_s_2conf_644            r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_s_4_ba                 r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_s_644                  r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_s_8_ba                 r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_sec_sco                r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_sec_sir_wm             r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_sen_db                 r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_sen_li                 r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_sen_mdir_wm55          r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:0.1    type:integer   
rf_sen_wa_od              r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_st_6_sh                r:LOCAL_RESET_DISABLE                      l:0   idx:24       size:1      type:integer   
rf_tc_it_wm-w-eu          r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_wds30_ot2              r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   
rf_wds40_th_i_2           r:LOCAL_RESET_DISABLE                      l:0   idx:24.0     size:0.1    type:integer   

noansi

Hallo Martin,

offensichtlich unterschiedlich definiert.
Deine Aufstellung müsstest Du aber noch um min und max ergänzen. Wenn max nie größer als 1 ist, dann ist offenbar Bit 0 ausreichend zur Abbildung.

Gruß, Ansgar.

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html