Skip to content

CommandClass Compatibility Flags

Justin Hammond edited this page Jun 1, 2019 · 5 revisions

Introduction

Device Configuration Files can often have special configuration variables applied to the whole device, or individual CommandClasses to alter their behaviour, or fix bugs that might exist in the devices firmware. Below is a list of possible configuration values we currently support and when to use them.

These Compatibility Flags apply to individual CommandClasses, and thus, are only specified within a CommandClass Block for a device configuration file. The Format is

<CommandClass id="XXX">
  <Compatability>
    <FLAG>value</FLAG>
  </Compatibility>
</CommandClass>

Please Find below the CommandClasses and Available Flags

All CommandClasses

  • ForceVersion
    • Byte - Max Size of 255
    • Updates the Version of the CommandClass used by the device to the value. Some devices incorrectly report a version of the CommandClass Implemented.
    • Note: You can only ForceVersion to a higher version, you can not downgrade a version
    • if a Device advertises a version of 0 for a CommandClass, more than likely, it does not implement that CommandClass
  • OverridePrecision
    • Byte - Max Size of 255
    • For Decimal ValueID's, the Precision (number of Decimal places) is defined by the Device. You get strange readings (example, off by a factor of 10), then you can Set the Precision used by the CommandClass to the value.
  • GetSupported
    • Bool - True/False Values only
    • Stop a OZW from querying for a Value (issuing a Get).
    • Is implemented in most CommandClasses, if its not in a CommandClass for your device, please raise a issue
  • CreateVars
    • Bool - True/False Values only
    • Stop OZW from creating ValueID's for this CommandClass.
  • RefreshOnWakeUp
    • Bool, True/False Values only
    • For Battery Powered Devices, forces OpenZWave to refresh all dynamic values for this CommandClass when the device sends a Wakeup Packet. This is useful for devices that don't report sensor values, or for Battery Levels. Before using this Compatibility Flag, please check the device configuration to ensure that the Values you want to refresh cannot be specified by a Device Configuration Param.

Basic CommandClass

  • IgnoreMapping
    • Bool - True/False Only
    • The Z-Wave Specification dictates what a Basic Class Value represents on a device (eg, Binary Sensor). When changes are reported on the Basic Class, OZW can query for state changes on the "mapped" CommandClass. Some Devices get this wrong and you can disable this mapping
  • Mapping
    • Byte - Max of 255
    • Update the Mapping of the Basic CommandClass to the CommandClass specified by Value. This overrides the Z-Wave Specifications for that DeviceType
  • SetAsReport
    • Bool - True/False
    • Treats SET messages received by the device as Report Messages. This is often required for correct functioning of Mapped CommandClasses

Color CommandClass

  • ColorIndexBug
    • Bool - True/False
    • Some Devices incorrectly report their color capabilities. This enables a WorkAround to get the Capabilities.

MultiChannelAssociation CommandClass

  • ForceInstances
    • Bool - True/False
    • When creating a Association to a Node, some devices require that the Target Node always specifies the Instance. This updates any associations to include the instance 1.

MultiInstance CommandClass

  • IgnoreMCCapReports
    • Bool - True/False
    • Some Devices will send spurious MultiChannel Capability Reports. This forces OZW to ignore those spurious messages
  • MapRootToEndpoint
    • Bool - True/False
    • Defines how to Map the Root Node to a Endpoint in OZW.
  • ForceUniqueEndpoints
    • Bool - True/False
    • Some Devices advertise that all endpoints are identical in terms of the CommandClasses those endpoints support. The Forces OZW to ignore that, and query each endpoint for its capabilities.
  • EndPointHint
    • Byte - Max 255
    • Some devices incorrectly advertise the number of Endpoints they support. This overrides that value.

Clone this wiki locally