From 244dbae1a5c4e4bc13fb56110a7360d68a946988 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Fri, 18 Apr 2025 19:01:44 +0000 Subject: [PATCH] 10_ZWave.pm: add help links, implement wincov set (Forum #140970) git-svn-id: https://svn.fhem.de/fhem/trunk@29874 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_ZWave.pm | 344 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 329 insertions(+), 15 deletions(-) diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 161c65d8f..e81c6c02d 100644 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -6302,7 +6302,7 @@ ZWave_entryControlParse($$) return "entry_control:sequence $seq dataType $dt eventType $et data $data" } -my @wc_cmd = ( +my @wincov_cmd = ( "out_left_mvt", #0 "out_left_pos", "out_right_mvt", @@ -6339,7 +6339,9 @@ ZWave_wincovAddCmd($;$) $v = ReadingsVal($h->{NAME},"wincov_supported",undef) if(!$v); foreach my $cmd (split(" ", $v)) { $zwave_class{WINDOW_COVERING}{get}{"wincov_".$cmd} = - "ZWave_wincovGet(\$hash,'wincov_$cmd')" + "ZWave_wincovGet(\$hash,'wincov_$cmd')"; + $zwave_class{WINDOW_COVERING}{set}{"wincov_".$cmd} = + "ZWave_wincovSet(\$hash,'wincov_$cmd %s')"; } } @@ -6354,9 +6356,9 @@ ZWave_wincovParse($$$) for(my $byte=2; $byte{NAME}, "wincov_supported", "") !~ m/\b$lcmd\b/); my $idx = 0; - while($idx<@wc_cmd) { - last if($lcmd == $wc_cmd[$idx]); + while($idx<@wincov_cmd) { + last if($lcmd eq $wincov_cmd[$idx]); $idx++; } - return (undef, "03$idx"); + return (undef, sprintf("03%02x",$idx)); +} + +sub +ZWave_wincovSet($$) +{ + my($hash,$cmdString) = @_; + my @cmdA = split(" ", $cmdString); + my $lcmd = substr($cmdA[0],7); # cut off wincov_ + return "Unsupported command: $cmdA[0]" + if(ReadingsVal($hash->{NAME}, "wincov_supported", "") !~ m/\b$lcmd\b/); + my $idx = 0; + while($idx<@wincov_cmd) { + last if($lcmd eq $wincov_cmd[$idx]); + $idx++; + } + + if($cmdA[0] =~ m/_mvt$/) { + return "Usage: $cmdA[0] open|close|stop " + if(@cmdA != 3 || $cmdA[1] !~ /^(open|close|stop)$/); + return "duration must be a number between 0 and 255" #page 36 + if($cmdA[2] !~ m/^\d+$/ || $cmdA[2] > 255); + + if($cmdA[1] eq "stop") { + return (undef, sprintf("07%02x",$idx)); + } else { + return (undef, sprintf("06%02x%02x%02x", + $cmdA[1] eq "open" ? 1<<6 : 0, $idx, $cmdA[2])); + } + + } else { + return "Usage: $cmdA[0] " + if(@cmdA != 3); + return "position must be a number between 0 and 99" + if($cmdA[1] !~ m/^\d+$/ || $cmdA[2] > 99); + return "duration must be a number between 0 and 255" + if($cmdA[2] !~ m/^\d+$/ || $cmdA[2] > 255); + + return (undef, sprintf("0501%02x%02x%02x",$idx, $cmdA[1], $cmdA[2])); + } } sub @@ -6481,6 +6523,7 @@ ZWave_tmSet($)

All +
  • neighborUpdate
    Requests controller to update its routing table which is based on slave's neighbor list. The update may take significant time to complete. @@ -6488,21 +6531,26 @@ ZWave_tmSet($) update process. To read node's neighbor list see neighborList get below.
  • +
  • returnRouteAdd <decimal nodeId>
    Assign up to 4 static return routes to the routing/enhanced slave to allow direct communication to <decimal nodeId>. (experts only)
  • +
  • returnRouteDel
    Delete all static return routes. (experts only)
  • +
  • sucRouteAdd
    Inform the routing/enhanced slave of the presence of a SUC/SIS. Assign up to 4 static return routes to SUC/SIS.
  • +
  • sucRouteDel
    Delete static return routes to SUC/SIS node.


  • Class ALARM +
  • alarmnotification <alarmType> (on|off)
    Enable (on) or disable (off) the sending of unsolicited reports for the alarm type <alarmType>. A list of supported alarm types of the @@ -6518,44 +6566,54 @@ ZWave_tmSet($) regardless of the version.


  • Class ASSOCIATION +
  • associationAdd groupId nodeId ...
    Add the specified list of nodeIds to the association group groupId.
    Note: upon creating a FHEM-device for the first time FHEM will automatically add the controller to the first association group of the node corresponding to the FHEM device, i.e it issues a "set name associationAdd 1 controllerNodeId"
  • +
  • associationDel groupId nodeId ...
    Remove the specified list of nodeIds from the association group groupId.


  • Class BASIC +
  • basicValue value
    Send value (0-255) to this device. The interpretation is device dependent, e.g. for a SWITCH_BINARY device 0 is off and anything else is on.
  • +
  • basicValue value
    Alias for basicValue, to make mapping from the incoming events easier.


  • Class BARRIER_OPERATOR +
  • barrierClose
    start closing the barrier.
  • +
  • barrierOpen
    start opening the barrier.


  • Class BASIC_WINDOW_COVERING +
  • coveringClose
    Starts closing the window cover. Moving stops if blinds are fully closed or a coveringStop command was issued.
  • +
  • coveringOpen
    Starts opening the window cover. Moving stops if blinds are fully open or a coveringStop command was issued.
  • +
  • coveringStop
    Stop moving the window cover. Blinds are partially open (closed).


  • Class CLIMATE_CONTROL_SCHEDULE +
  • ccs [mon|tue|wed|thu|fri|sat|sun] HH:MM tempDiff HH:MM tempDiff ...
    set the climate control schedule for the given day.
    Up to 9 pairs of HH:MM tempDiff may be specified.
    @@ -6565,6 +6623,7 @@ ZWave_tmSet($) If only a weekday is specified without any time and tempDiff, then the complete schedule for the specified day is removed and marked as unused.
  • +
  • ccsOverride (no|temporary|permanent) (frost|energy|$tempOffset)
    set the override state
    no: switch the override off
    @@ -6576,11 +6635,13 @@ ZWave_tmSet($)


  • Class CLOCK +
  • clock
    set the clock to the current date/time (no argument required)


  • Class COLOR_CONTROL +
  • color colorComponent level colorComponent level ...
    Set the colorComponent(s) to level
    Up to 8 pairs of colorComponent level may be specified.
    @@ -6588,9 +6649,11 @@ ZWave_tmSet($) 0 = warm white, 1 = cold white, 2 = red, 3 = green, 4 = blue, 5 = amber,6 = cyan, 7 = purple, 8 = indexed color
    level is specified with a value from 0 to 255.
  • +
  • rgb
    Set the color of the device as a 6 digit RGB Value (RRGGBB), each color is specified with a value from 00 to ff.
  • +
  • wcrgb
    Used for sending warm white, cold white, red, green and blue values to device. Values must be decimal (0 - 255) and separated by blanks. @@ -6600,18 +6663,24 @@ ZWave_tmSet($)


  • Class CONFIGURATION -
  • configByte cfgAddress 8bitValue
    +
  • + + + + configByte cfgAddress 8bitValue
    configWord cfgAddress 16bitValue
    configLong cfgAddress 32bitValue
    Send a configuration value for the parameter cfgAddress. cfgAddress and value are node specific.
    Note: if the model is set (see MANUFACTURER_SPECIFIC get), then more specific config commands are available.
  • +
  • configDefault cfgAddress
    Reset the configuration parameter for the cfgAddress parameter to its default value. See the device documentation to determine this value.


  • Class DOOR_LOCK, V2 +
  • doorLockOperation DOOR_LOCK_MODE
    Set the operation mode of the door lock.
    DOOR_LOCK_MODE:
    @@ -6626,6 +6695,7 @@ ZWave_tmSet($) FF = Door secured
    Note: open/close can be used as an alias for 00/FF.
  • +
  • doorLockConfiguration operationType outsidehandles insidehandles timeoutSeconds
    Set the configuration for the door lock.
    @@ -6638,24 +6708,30 @@ ZWave_tmSet($)


  • Class FIRMWARE_UPDATE_META_DATA +
  • fwUpdate <decimal Target> <filename>
    updates specified firmware target with firmware given in filename. The file is searched within the in the modpath/FHEM/firmware/ folder. The supported targets can be requested with the get fwMetaData command. FIRMWARE_UPDATE_MD class version > 3 untested, feedback welcome. FIRMWARE_UPDATE_MD class version > 4 not supported feedback welcome.


  • Class INDICATOR +
  • indicatorOn
    switch the indicator on
  • +
  • indicatorOff
    switch the indicator off
  • +
  • indicatorDim value
    takes values from 1 to 99. If the indicator does not support dimming, it is interpreted as on.


  • Class MANUFACTURER_PROPRIETARY
    Fibaro FGR(M)-222 only: +
  • positionBlinds
    drive blinds to position %
  • +
  • positionSlat
    drive slat to position %

  • D-Link DCH-Z510, Philio PSE02, Zipato Indoor Siren only:
    @@ -6669,23 +6745,27 @@ ZWave_tmSet($)

    Class METER -
  • meterReset
    +
    +
  • meterReset
    Reset all accumulated meter values.
    Note: see meterSupported command and its output to detect if resetting the value is supported by the device.
    The command will reset ALL accumulated values, it is not possible to choose a single value.
  • +
  • meterResetToValue type value
    Reset type (one of energy,gas,water,heating,cooling) to the value specified. Only supported by METER version 6.


  • Class MULTI_CHANNEL +
  • mcCreateAll
    Create a FHEM device for all channels. This command is executed after inclusion of a new device.


  • Class MULTI_CHANNEL_ASSOCIATION +
  • mcaAdd groupId node1 node2 ... 0 node1 endPoint1 node2 endPoint2 ...
    Add a list of node or node:endpoint associations. The latter can be used to create channels on remotes. E.g. to configure the button 1,2,... on the @@ -6697,6 +6777,7 @@ ZWave_tmSet($) For each button a separate FHEM device will be generated.
  • +
  • mcaDel groupId node1 node2 ... 0 node1 endPoint1 node2 endPoint2 ...
    delete node or node:endpoint associations. Special cases: just specifying the groupId will delete everything for this @@ -6704,6 +6785,7 @@ ZWave_tmSet($)


  • Class NETWORK_SCHEDULE (SCHEDULE), V1 +
  • schedule ID USER_ID YEAR-MONTH-DAY WDAY ACTIVE_ID DURATION_TYPE HOUR:MINUTE DURATION NUM_REPORTS CMD ... CMD
    Set a schedule for a user. Due to lack of documentation, @@ -6727,68 +6809,86 @@ ZWave_tmSet($) specified.
  • +
  • scheduleRemove ID
    Remove the schedule with the id ID
  • +
  • scheduleState ID STATE
    Set the STATE of the schedule with the id ID. Description for parameter STATE is not available.


  • Class NODE_NAMING +
  • name NAME
    Store NAME in the EEPROM. Note: only ASCII is supported.
  • +
  • location LOCATION
    Store LOCATION in the EEPROM. Note: only ASCII is supported.


  • Class SOUND_SWITCH +
  • toneConfiguration VOLUME DEFAULTNR
    Configure the volume and the default tone. Volume 0 is off, 1..100 is interpreted as 1% to 100%, and 255 restores last volume, if the current is 0. If DEFAULTNR is 0, set only the volume.
  • +
  • tonePlay TONENUMBER
    Play tone Number TONENUMBER.
  • +
  • tonePlayDefault
    Play the default tone.
  • +
  • toneStop
    Stop playing.


  • Class POWERLEVEL
  • Class is only used in an installation or test situation
  • +
  • powerlevel level timeout/s
    set powerlevel to level [0-9] for timeout/s [1-255].
    level 0=normal, level 1=-1dBm, .., level 9=-9dBm.
  • +
  • powerlevelTest nodeId level frames
    send number of frames [1-65535] to nodeId with level [0-9].


  • Class PROTECTION +
  • protectionOff
    device is unprotected
  • +
  • protectionOn
    device is protected
  • +
  • protectionSeq
    device can be operated, if a certain sequence is keyed.
  • +
  • protectionBytes LocalProtectionByte RFProtectionByte
    for commandclass PROTECTION V2 - see devicemanual for supported protectionmodes


  • Class SCENE_ACTIVATION +
  • sceneConfig
    activate settings for a specific scene. Parameters are: sceneId, dimmingDuration (0..255)


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


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


  • Class SCHEDULE_ENTRY_LOCK, V1, V2, V3 +
  • scheduleEntryLockSet USER_ID ENABLED
    enables or disables schedules for a specified user ID (V1)
      @@ -6797,12 +6897,14 @@ ZWave_tmSet($) ENABLED: 0=disabled, 1=enabled
  • +
  • scheduleEntryLockAllSet ENABLED
    enables or disables schedules for all users (V1)
      ENABLED: 0=disabled, 1=enabled
  • +
  • scheduleEntryLockWeekDaySet ACTION USER_ID SCHEDULE_ID WEEKDAY STARTTIME ENDTIME
    erase or set a week day schedule for a specified user ID (V1)
    @@ -6821,6 +6923,7 @@ ZWave_tmSet($) (leading 0 is mandatory)
  • +
  • scheduleEntryLockYearDaySet ACTION USER_ID SCHEDULE_ID STARTDATE STARTTIME ENDDATE ENDTIME
    erase or set a year day schedule for a specified user ID (V1)
    @@ -6839,6 +6942,7 @@ ZWave_tmSet($) (leading 0 is mandatory)
  • +
  • scheduleEntryLockTimeOffsetSet TZO DST
    set the TZO and DST (V2)
      @@ -6848,6 +6952,7 @@ ZWave_tmSet($) (sign is mandatory, minutes: 0 to 127, 1-3 digits)
  • +
  • scheduleEntryLockDailyRepeatingSet ACTION USER_ID SCHEDULE_ID WEEKDAYS STARTTIME DURATION
    set a daily repeating schedule for the specified user (V3)
    @@ -6870,26 +6975,35 @@ ZWave_tmSet($)


  • Class SWITCH_ALL +
  • swaIncludeNone
    the device does not react to swaOn and swaOff commands
  • +
  • swaIncludeOff
    the device reacts to the swaOff command but does not react to the swaOn command
  • +
  • swaIncludeOn
    the device reacts to the swaOn command but does not react to the swaOff command
  • +
  • swaIncludeOnOff
    the device reacts to the swaOn and swaOff commands
  • +
  • swaOn
    sends the all on command to the device
  • +
  • swaOff
    sends the all off command to the device.


  • Class SWITCH_BINARY +
  • on
    switch the device on
  • +
  • off
    switch the device off
  • +
  • on-for-timer seconds
    off-for-timer seconds
    For version 2 of this class the ZWave implementation of this command is @@ -6907,11 +7021,13 @@ ZWave_tmSet($)
  • on, off
    the same as for SWITCH_BINARY.
  • +
  • dim <value>
    dim/jump to the requested <value> (0..99)
    Note: ZWave defines the range for <value> to 0..99, with 99 representing "on".
  • +
  • dimUpDown (UP|DOWN) (IGNORE|USE) <startlevel>
    starts dimming up or down, starting at a <startlevel> if USE is specified. If IGNORE is specified, the startlevel will be @@ -6920,6 +7036,7 @@ ZWave_tmSet($) The device SHOULD respect the <startlevel>, however, most devices will ignore the specified startlevel.
  • +
  • dimUpDownIncDecWithDuration (UP|DOWN|NOMOTION) (IGNORE|USE) <startlevel> <duration> (INC|DEC|NOINCDEC) <stepsize>
    similar to dimUpDownWithDuration, adding support for secondary switch types @@ -6939,6 +7056,7 @@ ZWave_tmSet($) will use their internal default duration and ignore the specified duration.
  • +
  • dimUpDownWithDuration (up|down) (ignore|use) <startlevel> <duration>
    similar to dimUpDown, adding a <duration> time for the @@ -6950,6 +7068,7 @@ ZWave_tmSet($) will use their internal default duration and ignore the specified duration.
  • +
  • dimWithDuration <value> <duration>
    dim to the requested <value> (0..99) in <duration> seconds. (V2)
    @@ -6960,6 +7079,7 @@ ZWave_tmSet($) will use their internal default duration and ignore the specified duration.
  • +
  • stop
    stop dimming/operation
  • @@ -6984,22 +7104,26 @@ ZWave_tmSet($)
  • tmFullPower
  • tmManual
    set the thermostat mode.
  • +
  • thermostatMode {Off|Heating|Cooling|...}
    just like the above, but in combination with the setReadingOnAck ZWDongle attribute it produces an easier way to check the current state.


  • Class THERMOSTAT_SETPOINT +
  • setpointHeating value
    set the thermostat to heat to the given value. The value is an integer in celsius.
    See thermostatSetpointSet for a more enhanced method.
  • +
  • setpointCooling value
    set the thermostat to cool down to the given value. The value is an integer in celsius.
    See thermostatSetpointSet for a more enhanced method.
  • +
  • thermostatSetpointSet TEMP [SCALE [TYPE [PREC [SIZE]]]]
    set the setpoint of the thermostat to the given value.
      @@ -7038,11 +7162,13 @@ ZWave_tmSet($)
  • +
  • desired-temp value
    same as thermostatSetpointSet, used to make life easier for helper-modules


  • Class TIME, V2 +
  • timeOffset TZO DST_Offset DST_START DST_END
    Set the time offset for the internal clock of the device.
    TZO: Offset of time zone to UTC in format [+|-]hh:mm.
    @@ -7055,10 +7181,12 @@ ZWave_tmSet($)


  • Class TIME_PARAMETERS, V1 +
  • timeParametersGet
    - The device request time parameters. Right now the user should define a - notify with a "set timeParameters" command. + Request time parameters. Define a notify with a "set timeParameters" + command.
  • +
  • timeParameters DATE TIME
    Set the time (UTC) to the internal clock of the device.
    DATE: Date in format YYYY-MM-DD.
    @@ -7067,18 +7195,61 @@ ZWave_tmSet($)


  • Class USER_CODE +
  • userCode id status code
    set code and status for the id n. n ist starting at 1, status is 0 for available (deleted) and 1 for set (occupied). code is a hexadecimal string.


  • Class WAKE_UP +
  • wakeupInterval value nodeId
    Set the wakeup interval of battery operated devices to the given value in seconds. Upon wakeup the device sends a wakeup notification to nodeId.
  • +
  • wakeupNoMoreInformation
    put a battery driven device into sleep mode.
  • +

    Class WINDOW_COVERING +
  • + + + + + + + + + + + + + wincov*mvt open|close|stop <duration>
    + start (open and close) or stop a movement.
    + duration is 0 for immediate, interpreted as seconds for values < 127, as + minutes for values < 255 and is the factory value for 255.
    + stop ignores the duration. +
  • +
  • + + + + + + + + + + + + + wincov*pos <position> <duration>
    + set the covering to a defined position, where 0 is open, and 99 is + closed.
    + duration is 0 for immediate, interpreted as seconds for values < 127, as + minutes for values < 255 and is the factory value for 255. +
  • +
    @@ -7086,6 +7257,7 @@ ZWave_tmSet($) Get
    +
  • scheduleEntryLockYearDay USER_ID SCHEDULE_ID
    returns the specified year day schedule for the specified user (start date, start time, end date, end time) (V1)
    @@ -7365,6 +7590,7 @@ ZWave_tmSet($) schedule slots)
  • +
  • scheduleEntryLockDailyRepeating USER_ID SCHEDULE_ID
    returns the specified daily schedule for the specified user (weekdays, start date, duration) (V3)
    @@ -7375,12 +7601,14 @@ ZWave_tmSet($) schedule slots)
  • +
  • scheduleEntryLockTimeOffset
    returns the time zone offset TZO and the daylight saving time offset (V2)


  • Class SECURITY +
  • secSupportedReport
    (internaly used to) request the command classes that are supported with SECURITY @@ -7395,6 +7623,7 @@ ZWave_tmSet($) will be removed from the interface in future version.


  • Class SENSOR_ALARM +
  • alarm alarmType
    return the nodes alarm status of the requested alarmType. 00 = GENERIC, 01 = SMOKE, 02 = CO, 03 = CO2, 04 = HEAT, 05 = WATER, 255 = returns the @@ -7402,54 +7631,65 @@ ZWave_tmSet($)


  • Class SENSOR_BINARY +
  • sbStatus
    return the status of the node.


  • Class SENSOR_MULTILEVEL +
  • smStatus
    request data from the node (temperature/humidity/etc)


  • Class SWITCH_ALL +
  • swaInclude
    return the switch-all mode of the node.


  • Class SWITCH_BINARY +
  • swbStatus
    return the status of the node, as state:on or state:off.


  • Class SWITCH_MULTILEVEL +
  • swmStatus
    return the status of the node, as state:on, state:off or state:dim value.
  • +
  • swmSupported
    return the supported switch types (class version 3)


  • Class THERMOSTAT_FAN_MODE +
  • fanMode
    request the mode


  • Class THERMOSTAT_FAN_STATE +
  • fanMode
    request the state


  • Class THERMOSTAT_MODE +
  • thermostatMode
    request the mode


  • Class THERMOSTAT_OPERATING_STATE +
  • thermostatOperatingState
    request the operating state


  • Class THERMOSTAT_SETPOINT +
  • setpoint [TYPE]
    request the setpoint
    TYPE: (optional) setpoint type; [1, 15], defaults to 1=heating
    @@ -7467,60 +7707,107 @@ ZWave_tmSet($) 15=fullPower
  • +
  • thermostatSetpointSupported
    requests the list of supported setpoint types


  • Class TIME, V2 +
  • time
    Request the (local) time from the internal clock of the device.
  • +
  • date
    Request the (local) date from the internal clock of the device.
  • +
  • timeOffset
    Request the report for the time offset and DST settings from the internal clock of the device.


  • Class TIME_PARAMETERS, V1 +
  • time
    Request the date and time (UTC) from the internal clock of the device.


  • Class USER_CODE +
  • userCode n
    request status and code for the id n


  • Class VERSION +
  • version
    return the version information of this node in the form:
    Lib A Prot x.y App a.b
  • +
  • versionClass classId or className
    return the supported command version for the requested class
  • +
  • versionClassAll
    executes "get devicename versionClass class" for each class from the classes attribute in the background without generating events, and sets the vclasses attribute at the end.
  • - -

    Class WAKE_UP +
  • wakeupInterval
    return the wakeup interval in seconds, in the form
    wakeupReport:interval seconds target id
  • +
  • wakeupIntervalCapabilities (V2 only)
    return the wake up interval capabilities in seconds, in the form
    wakeupIntervalCapabilitiesReport:min seconds max seconds default seconds step seconds
  • +

    Class WINDOW_COVERING +
    +
  • wincov_supported
    + return the list of supported configuration. FHEM will offer a corresponding + get and set command for each supported configuration. +
  • +
  • + + + + + + + + + + + + + + + + + + + + + + + + + wincov*
    + return the corresponding current and target values and the duration needed + to reach the target.
    + For decoding the duration see the corresponding set command. +
  • +

    Class ZWAVEPLUS_INFO +
  • zwavePlusInfo
    request the zwavePlusInfo
  • @@ -8069,6 +8356,33 @@ ZWave_tmSet($)
  • wakeupReport:interval:X target:Y
  • wakeupIntervalCapabilitiesReport:min W max X default Y step Z
  • +

    Class WINDOW_COVERING +
  • wincov_supported:[open|close|stop]
  • + out_left_mvt + out_left_pos + out_right_mvt + out_right_pos + in_left_mvt + in_left_pos + in_right_mvt + in_right_pos + in_right_left_mvt + in_right_left_pos + vert_slats_mvt + vert_slats_pos + out_bottom_mvt + out_bottom_pos + out_top_mvt + out_top_pos + in_bottom_mvt + in_bottom_pos + in_top_mvt + in_top_pos + in_top_bottom_mvt + in_top_bottom_pos + hor_slats_mvt + hor_slats_pos +

    Class ZWAVEPLUS_INFO
  • zwavePlusInfo:version: V role: W node: X installerIcon: Y userIcon: Z