diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index cce3b2d17..8b9348bec 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -80,12 +80,8 @@ my %zwave_class = ( SENSOR_BINARY => { id => '30', get => { sbStatus => "02", }, parse => { "03300300" => "state:closed", - "033003ff" => "state:open", - "043003(..)0c" => '"motion:$1"', #Philio PHI_PSP01, PSM02-1 - "043003(..)08" => '"tamper:$1"', #Philio PHI_PSP01, PSM02-1 - "043003000a" => "state:closed", #Philio PSM02-1 - "043003ff0a" => "state:open", #Philio PSM02-1 - } }, + "033003ff" => "state:open", + "043003(..)(..)"=> 'ZWave_sensorbinaryV2Parse($1,$2)' } }, SENSOR_MULTILEVEL => { id => '31', get => { smStatus => "04" }, parse => { "..3105(..)(..)(.*)" => 'ZWave_multilevelParse($1,$2,$3)'} }, @@ -1247,6 +1243,32 @@ ZWave_plusInfoParse($$$$$) " userIcon:". $userIconType; } +my %zwave_sensorBinaryTypeV2 = ( + "00"=>"unknown", + "01"=>"generalPurpose", + "02"=>"smoke", + "03"=>"CO", + "04"=>"CO2", + "05"=>"heat", + "06"=>"water", + "07"=>"freeze", + "08"=>"tamper", + "09"=>"aux", + "0a"=>"doorWindow", + "0b"=>"tilt", + "0c"=>"motion", + "0d"=>"glassBreak" +); + +sub +ZWave_sensorbinaryV2Parse($$) +{ + my ($value, $sensorType) = @_; + return ($zwave_sensorBinaryTypeV2{"$sensorType"} ? + $zwave_sensorBinaryTypeV2{"$sensorType"} :"unknown") . + ":".$value; +} + sub ZWave_getHash($$$) { @@ -1908,7 +1930,7 @@ s2Hex($)

Class SENSOR_BINARY
  • sbStatus
    - return the status of the node, as state:open or state:closed. + return the status of the node.


  • Class SENSOR_MULTILEVEL @@ -2086,11 +2108,24 @@ s2Hex($)
  • alarm_type_X:level Y node $nodeID seconds $seconds


  • Class SENSOR_BINARY +
  • SENSORY_BINARY V1:
  • state:open
  • state:closed
  • -
  • motion:00|ff
  • -
  • tamper:00|ff
  • - +
  • SENSORY_BINARY V2:
  • +
  • unknown:[00|ff]
  • +
  • generalPurpose:[00|ff]
  • +
  • smoke:[00|ff]
  • +
  • CO:[00|ff]
  • +
  • CO2:[00|ff]
  • +
  • heat:[00|ff]
  • +
  • water:[00|ff]
  • +
  • freeze:[00|ff]
  • +
  • tamper:[00|ff]
  • +
  • aux:[00|ff]
  • +
  • doorWindow:[00|ff]
  • +
  • tilt:[00|ff]
  • +
  • motion:[00|ff]
  • +
  • glassBreak:[00|ff]


  • Class SENSOR_MULTILEVEL
  • temperature $val [C|F]