diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 173c68450..a4f67e82d 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -68,9 +68,16 @@ my %zwave_class = ( SWITCH_TOGGLE_BINARY => { id => '28', }, SWITCH_TOGGLE_MULTILEVEL => { id => '29', }, CHIMNEY_FAN => { id => '2a', }, - SCENE_ACTIVATION => { id => '2b', }, - SCENE_ACTUATOR_CONF => { id => '2c', }, - SCENE_CONTROLLER_CONF => { id => '2d', }, + SCENE_ACTIVATION => { id => '2b', + set => { sceneActivate => "01%02x%02x",}, }, + SCENE_ACTUATOR_CONF => { id => '2c', + set => { sceneConfig => "01%02x%02x80%02x",}, + get => { sceneConfig => "02%02x", }, + parse => { "052c03(..)(..)(..)" => '"scene_$1:level $2 duration $3"',}, }, + SCENE_CONTROLLER_CONF => { id => '2d', + set => { sceneConfig => "01%02x%02x%02x",}, + get => { sceneConfig => "02%02x", }, + parse => { "052d03(..)(..)(..)" => '"group_$1:scene $2 duration $3"',}, }, ZIP_CLIENT => { id => '2e', }, ZIP_ADV_SERVICES => { id => '2f', }, SENSOR_BINARY => { id => '30', @@ -185,10 +192,8 @@ my %zwave_class = ( get => { alarm => "04%02x", }, parse => { "..7105(..)(..)" => '"alarm_type_$1:level $2"',}, }, MANUFACTURER_SPECIFIC => { id => '72', - get => { manufacturer => "04", }, - parse => { "087205(....)(....)(....)" => '"mfs:0x".$1.'. - '" 0x".$2.'. - '" 0x".$3', }, }, + get => { model => "04", }, + parse => { "087205(....)(....)(....)" => 'ZWave_mfsParse($1,$2,$3)'}}, POWERLEVEL => { id => '73', }, PROTECTION => { id => '75', set => { protectionOff => "0100", @@ -627,6 +632,38 @@ ZWave_mcCapability($$) return "mcCapability_$chid:".join(" ", @classes); } +sub +ZWave_mfsParse($$$) +{ + my ($mf, $prod, $id) = @_; + my $xml = $attr{global}{modpath}. + "/FHEM/lib/openzwave_manufacturer_specific.xml"; + if(open(FH, $xml)) { + my ($lastMf, $mName, $ret) = ("",""); + while(my $l = ) { + if($l =~ m/dim value
dim to the requested value (0..100) +

Class SCENE_ACTUATOR_CONF +
  • sceneConfig
    + set configuration for a specific scene. + Parameters are: sceneId, dimmingDuration, finalValue (0x0..0xff) +
  • + +

    Class SCENE_CONTROLLER_CONF +
  • groupConfig
    + set configuration for a specific scene. + Parameters are: groupId, sceneId, dimmingDuration. +
  • +

    Class THERMOSTAT_MODE
  • tmOff
  • tmCooling
  • @@ -1103,6 +1152,17 @@ s2Hex($)
  • swmStatus
    return the status of the node, as state:on, state:off or state:dim value.
  • + +

    Class SCENE_ACTUATOR_CONF +
  • sceneConfig
    + returns the settings for a given scene. Parameter is sceneId +
  • + +

    Class SCENE_CONTROLLER_CONF +
  • groupConfig
    + returns the settings for a given group. Parameter is groupId +
  • +

    Class THERMOSTAT_MODE
  • thermostatMode
    @@ -1268,7 +1328,14 @@ s2Hex($)
  • state:on
  • state:off
  • state:dim value
  • - + +

    Class SCENE_ACTUATOR_CONF +
  • scene_Id:level dimmingDuration finalValue
  • + +

    Class SCENE_CONTROLLER_CONF +
  • group_Id:scene dimmingDuration
  • + +

    Class THERMOSTAT_MODE
  • off
  • cooling
  • diff --git a/fhem/FHEM/lib/openzwave_manufacturer_specific.xml b/fhem/FHEM/lib/openzwave_manufacturer_specific.xml new file mode 100644 index 000000000..cef642052 --- /dev/null +++ b/fhem/FHEM/lib/openzwave_manufacturer_specific.xml @@ -0,0 +1,536 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +