Difference between revisions of "ZWave Classes"

From Hubitat Documentation
Jump to: navigation, search
Line 1: Line 1:
 
==Alarm V1==
 
==Alarm V1==
 
Command Class: 0x71
 
Command Class: 0x71
 +
===Alarm Get===
 +
Command: 0x04
 +
  class hubitat.zwave.commands.alarmv1.AlarmGet {
 +
      Short alarmType
 +
 
 +
      List<Short> getPayload()
 +
      String format()
 +
  }
 +
 +
===Alarm Report===
 +
Command: 0x05
 +
  class hubitat.zwave.commands.alarmv1.AlarmReport {
 +
      Short alarmLevel
 +
      Short alarmType
 +
 
 +
      List<Short> getPayload()
 +
      String format()
 +
  }
 +
 
===Alarm Get===
 
===Alarm Get===
 
Command: 0x04
 
Command: 0x04
Line 126: Line 145:
 
   }
 
   }
  
==Application Capability V1==
+
===Alarm Get===
Command Class: 0x57
+
Command: 0x04
===Command Command Class Not Supported===
+
   class hubitat.zwave.commands.alarmv2.AlarmGet {
Command: 0x01
+
       Short alarmType
   class hubitat.zwave.commands.applicationcapabilityv1.CommandCommandClassNotSupported {
+
      Short zwaveAlarmType
       Boolean dynamic
+
      static Short ZWAVE_ALARM_TYPE_ACCESS_CONTROL = 6
       Short offendingCommand
+
      static Short ZWAVE_ALARM_TYPE_BURGLAR = 7
       Short offendingCommandClass
+
      static Short ZWAVE_ALARM_TYPE_CLOCK = 11
 +
      static Short ZWAVE_ALARM_TYPE_CO = 2
 +
      static Short ZWAVE_ALARM_TYPE_CO2 = 3
 +
      static Short ZWAVE_ALARM_TYPE_EMERGENCY = 10
 +
      static Short ZWAVE_ALARM_TYPE_FIRST = 255
 +
      static Short ZWAVE_ALARM_TYPE_HEAT = 4
 +
      static Short ZWAVE_ALARM_TYPE_POWER_MANAGEMENT = 8
 +
       static Short ZWAVE_ALARM_TYPE_RESERVED0 = 0
 +
       static Short ZWAVE_ALARM_TYPE_SMOKE = 1
 +
      static Short ZWAVE_ALARM_TYPE_SYSTEM = 9
 +
      static Short ZWAVE_ALARM_TYPE_WATER = 5
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 139: Line 168:
 
   }
 
   }
  
==Application Status V1==
+
===Alarm Report===
Command Class: 0x22
+
Command: 0x05
===Application Busy===
+
   class hubitat.zwave.commands.alarmv2.AlarmReport {
Command: 0x01
+
       Short alarmLevel
   class hubitat.zwave.commands.applicationstatusv1.ApplicationBusy {
+
       Short alarmType
       Short status
+
      List<AlarmReport> eventParameter
       Short waitTime
+
      Short numberOfEventParameters
       static Short STATUS_REQUEST_QUEUED_EXECUTED_LATER = 2
+
      Short zensorNetSourceNodeId
       static Short STATUS_TRY_AGAIN_IN_WAIT_TIME_SECONDS = 1
+
      Short zwaveAlarmEvent
       static Short STATUS_TRY_AGAIN_LATER = 0
+
      Short zwaveAlarmStatus
 
+
      Short zwaveAlarmType
       List<Short> getPayload()
+
       static Short ZWAVE_ALARM_TYPE_ACCESS_CONTROL = 6
       String format()
+
       static Short ZWAVE_ALARM_TYPE_BURGLAR = 7
  }
+
       static Short ZWAVE_ALARM_TYPE_CLOCK = 11
 
+
      static Short ZWAVE_ALARM_TYPE_CO = 2
===Application Rejected Request===
+
       static Short ZWAVE_ALARM_TYPE_CO2 = 3
Command: 0x02
+
       static Short ZWAVE_ALARM_TYPE_EMERGENCY = 10
  class hubitat.zwave.commands.applicationstatusv1.ApplicationRejectedRequest {
+
      static Short ZWAVE_ALARM_TYPE_FIRST = 255
       Short status
+
      static Short ZWAVE_ALARM_TYPE_HEAT = 4
 +
      static Short ZWAVE_ALARM_TYPE_POWER_MANAGEMENT = 8
 +
      static Short ZWAVE_ALARM_TYPE_RESERVED0 = 0
 +
      static Short ZWAVE_ALARM_TYPE_SMOKE = 1
 +
      static Short ZWAVE_ALARM_TYPE_SYSTEM = 9
 +
       static Short ZWAVE_ALARM_TYPE_WATER = 5
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 163: Line 197:
 
   }
 
   }
  
==Association Command Configuration V1==
+
===Alarm Set===
Command Class: 0x9B
+
Command: 0x06
===Command Configuration Get===
+
   class hubitat.zwave.commands.alarmv2.AlarmSet {
Command: 0x04
+
       Short zwaveAlarmStatus
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationGet {
+
      Short zwaveAlarmType
       Short groupingIdentifier
+
      static Short ZWAVE_ALARM_TYPE_ACCESS_CONTROL = 6
       Short nodeId
+
      static Short ZWAVE_ALARM_TYPE_BURGLAR = 7
 +
      static Short ZWAVE_ALARM_TYPE_CLOCK = 11
 +
      static Short ZWAVE_ALARM_TYPE_CO = 2
 +
      static Short ZWAVE_ALARM_TYPE_CO2 = 3
 +
      static Short ZWAVE_ALARM_TYPE_EMERGENCY = 10
 +
      static Short ZWAVE_ALARM_TYPE_FIRST = 255
 +
      static Short ZWAVE_ALARM_TYPE_HEAT = 4
 +
       static Short ZWAVE_ALARM_TYPE_POWER_MANAGEMENT = 8
 +
      static Short ZWAVE_ALARM_TYPE_RESERVED0 = 0
 +
      static Short ZWAVE_ALARM_TYPE_SMOKE = 1
 +
      static Short ZWAVE_ALARM_TYPE_SYSTEM = 9
 +
      static Short ZWAVE_ALARM_TYPE_WATER = 5
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 175: Line 220:
 
   }
 
   }
  
===Command Configuration Report===
+
===Alarm Type Supported Get===
Command: 0x05
+
Command: 0x07
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationReport {
+
   class hubitat.zwave.commands.alarmv2.AlarmTypeSupportedGet {
      List<CommandConfigurationReport> commandByte
 
      Short commandClassIdentifier
 
      Short commandIdentifier
 
      Short commandLength
 
      Boolean first
 
      Short groupingIdentifier
 
      Short nodeId
 
      Short reportsToFollow
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 191: Line 228:
 
   }
 
   }
  
===Command Configuration Set===
+
===Alarm Type Supported Report===
Command: 0x03
+
Command: 0x08
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationSet {
+
   class hubitat.zwave.commands.alarmv2.AlarmTypeSupportedReport {
       List<CommandConfigurationSet> commandByte
+
       Boolean accessControl
       Short commandClassIdentifier
+
      Boolean burglar
       Short commandIdentifier
+
      Boolean clock
       Short commandLength
+
      Boolean co
       Short groupingIdentifier
+
      Boolean co2
       Short nodeId
+
      Boolean emergency
    
+
      Boolean heat
 +
       Short numberOfBitMasks
 +
       Boolean powerManagement
 +
      Boolean smoke
 +
       Boolean system
 +
       Boolean v1Alarm
 +
       Boolean water
 +
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
 
       String format()
 
       String format()
 
   }
 
   }
  
===Command Records Supported Get===
+
==Application Capability V1==
 +
Command Class: 0x57
 +
===Command Command Class Not Supported===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandRecordsSupportedGet {
+
   class hubitat.zwave.commands.applicationcapabilityv1.CommandCommandClassNotSupported {
 +
      Boolean dynamic
 +
      Short offendingCommand
 +
      Short offendingCommandClass
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 213: Line 262:
 
   }
 
   }
  
===Command Records Supported Report===
+
===Command Command Class Not Supported===
Command: 0x02
+
Command: 0x01
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandRecordsSupportedReport {
+
   class hubitat.zwave.commands.applicationcapabilityv1.CommandCommandClassNotSupported {
       Boolean confCmd
+
       Boolean dynamic
       Integer freeCommandRecords
+
       Short offendingCommand
       Short maxCommandLength
+
       Short offendingCommandClass
      Integer maxCommandRecords
 
      Boolean vc
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 226: Line 273:
 
   }
 
   }
  
==Association Grp Info V1==
+
==Application Status V1==
Command Class: 0x59
+
Command Class: 0x22
===Association Group Command List Get===
+
===Application Busy===
Command: 0x05
+
Command: 0x01
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupCommandListGet {
+
   class hubitat.zwave.commands.applicationstatusv1.ApplicationBusy {
       Boolean allowCache
+
       Short status
       Short groupingIdentifier
+
      Short waitTime
 +
      static Short STATUS_REQUEST_QUEUED_EXECUTED_LATER = 2
 +
       static Short STATUS_TRY_AGAIN_IN_WAIT_TIME_SECONDS = 1
 +
      static Short STATUS_TRY_AGAIN_LATER = 0
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 238: Line 288:
 
   }
 
   }
  
===Association Group Command List Report===
+
===Application Rejected Request===
Command: 0x06
+
Command: 0x02
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupCommandListReport {
+
   class hubitat.zwave.commands.applicationstatusv1.ApplicationRejectedRequest {
      List<AssociationGroupCommandListReport> command
+
       Short status
      Short groupingIdentifier
 
       Short listLength
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 249: Line 297:
 
   }
 
   }
  
===Association Group Info Get===
+
===Application Busy===
Command: 0x03
+
Command: 0x01
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupInfoGet {
+
   class hubitat.zwave.commands.applicationstatusv1.ApplicationBusy {
       Short groupingIdentifier
+
       Short status
       Boolean listMode
+
       Short waitTime
       Boolean refreshCache
+
      static Short STATUS_REQUEST_QUEUED_EXECUTED_LATER = 2
 +
       static Short STATUS_TRY_AGAIN_IN_WAIT_TIME_SECONDS = 1
 +
      static Short STATUS_TRY_AGAIN_LATER = 0
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 260: Line 310:
 
   }
 
   }
  
===Association Group Info Report===
+
===Application Rejected Request===
Command: 0x04
+
Command: 0x02
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupInfoReport {
+
   class hubitat.zwave.commands.applicationstatusv1.ApplicationRejectedRequest {
      Boolean dynamicInfo
+
       Short status
       Short groupCount
 
      Boolean listMode
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 271: Line 319:
 
   }
 
   }
  
===Association Group Name Get===
+
==Association Command Configuration V1==
Command: 0x01
+
Command Class: 0x9B
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupNameGet {
+
===Command Configuration Get===
 +
Command: 0x04
 +
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationGet {
 
       Short groupingIdentifier
 
       Short groupingIdentifier
 +
      Short nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 280: Line 331:
 
   }
 
   }
  
===Association Group Name Report===
+
===Command Configuration Report===
Command: 0x02
+
Command: 0x05
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupNameReport {
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationReport {
 +
      List<CommandConfigurationReport> commandByte
 +
      Short commandClassIdentifier
 +
      Short commandIdentifier
 +
      Short commandLength
 +
      Boolean first
 
       Short groupingIdentifier
 
       Short groupingIdentifier
       Short lengthOfName
+
       Short nodeId
       List<AssociationGroupNameReport> name
+
       Short reportsToFollow
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 291: Line 347:
 
   }
 
   }
  
==Association V1==
+
===Command Configuration Set===
Command Class: 0x85
+
Command: 0x03
===Association Get===
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationSet {
Command: 0x02
+
      List<CommandConfigurationSet> commandByte
   class hubitat.zwave.commands.associationv1.AssociationGet {
+
      Short commandClassIdentifier
 +
      Short commandIdentifier
 +
      Short commandLength
 
       Short groupingIdentifier
 
       Short groupingIdentifier
 +
      Short nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 302: Line 361:
 
   }
 
   }
  
===Association Groupings Get===
+
===Command Records Supported Get===
Command: 0x05
+
Command: 0x01
   class hubitat.zwave.commands.associationv1.AssociationGroupingsGet {
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandRecordsSupportedGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 310: Line 369:
 
   }
 
   }
  
===Association Groupings Report===
+
===Command Records Supported Report===
Command: 0x06
+
Command: 0x02
   class hubitat.zwave.commands.associationv1.AssociationGroupingsReport {
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandRecordsSupportedReport {
       Short supportedGroupings
+
      Boolean confCmd
 +
      Integer freeCommandRecords
 +
       Short maxCommandLength
 +
      Integer maxCommandRecords
 +
      Boolean vc
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 319: Line 382:
 
   }
 
   }
  
===Association Remove===
+
===Command Configuration Get===
 
Command: 0x04
 
Command: 0x04
   class hubitat.zwave.commands.associationv1.AssociationRemove {
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationGet {
 
       Short groupingIdentifier
 
       Short groupingIdentifier
       Object nodeId
+
       Short nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 329: Line 392:
 
   }
 
   }
  
===Association Report===
+
===Command Configuration Report===
Command: 0x03
+
Command: 0x05
   class hubitat.zwave.commands.associationv1.AssociationReport {
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationReport {
 +
      List<CommandConfigurationReport> commandByte
 +
      Short commandClassIdentifier
 +
      Short commandIdentifier
 +
      Short commandLength
 +
      Boolean first
 
       Short groupingIdentifier
 
       Short groupingIdentifier
       Short maxNodesSupported
+
       Short nodeId
      List<AssociationReport> nodeId
 
 
       Short reportsToFollow
 
       Short reportsToFollow
 
    
 
    
Line 341: Line 408:
 
   }
 
   }
  
===Association Set===
+
===Command Configuration Set===
Command: 0x01
+
Command: 0x03
   class hubitat.zwave.commands.associationv1.AssociationSet {
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandConfigurationSet {
 +
      List<CommandConfigurationSet> commandByte
 +
      Short commandClassIdentifier
 +
      Short commandIdentifier
 +
      Short commandLength
 
       Short groupingIdentifier
 
       Short groupingIdentifier
       Object nodeId
+
       Short nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 351: Line 422:
 
   }
 
   }
  
==Association V2==
+
===Command Records Supported Get===
Command Class: 0x85
+
Command: 0x01
===Association Get===
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandRecordsSupportedGet {
Command: 0x02
 
   class hubitat.zwave.commands.associationv2.AssociationGet {
 
      Short groupingIdentifier
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 362: Line 430:
 
   }
 
   }
  
===Association Groupings Get===
+
===Command Records Supported Report===
Command: 0x05
+
Command: 0x02
   class hubitat.zwave.commands.associationv2.AssociationGroupingsGet {
+
   class hubitat.zwave.commands.associationcommandconfigurationv1.CommandRecordsSupportedReport {
 +
      Boolean confCmd
 +
      Integer freeCommandRecords
 +
      Short maxCommandLength
 +
      Integer maxCommandRecords
 +
      Boolean vc
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 370: Line 443:
 
   }
 
   }
  
===Association Groupings Report===
+
==Association Grp Info V1==
Command: 0x06
+
Command Class: 0x59
   class hubitat.zwave.commands.associationv2.AssociationGroupingsReport {
+
===Association Group Command List Get===
       Short supportedGroupings
+
Command: 0x05
 +
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupCommandListGet {
 +
      Boolean allowCache
 +
       Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 379: Line 455:
 
   }
 
   }
  
===Association Remove===
+
===Association Group Command List Report===
Command: 0x04
+
Command: 0x06
   class hubitat.zwave.commands.associationv2.AssociationRemove {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupCommandListReport {
 +
      List<AssociationGroupCommandListReport> command
 
       Short groupingIdentifier
 
       Short groupingIdentifier
       Object nodeId
+
       Short listLength
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 389: Line 466:
 
   }
 
   }
  
===Association Report===
+
===Association Group Info Get===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.associationv2.AssociationReport {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupInfoGet {
 
       Short groupingIdentifier
 
       Short groupingIdentifier
       Short maxNodesSupported
+
       Boolean listMode
       List<AssociationReport> nodeId
+
       Boolean refreshCache
      Short reportsToFollow
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 401: Line 477:
 
   }
 
   }
  
===Association Set===
+
===Association Group Info Report===
Command: 0x01
+
Command: 0x04
   class hubitat.zwave.commands.associationv2.AssociationSet {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupInfoReport {
       Short groupingIdentifier
+
      Boolean dynamicInfo
       Object nodeId
+
       Short groupCount
 +
      List<AssociationGroupInfoReport> groupInfo
 +
       Boolean listMode
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 411: Line 489:
 
   }
 
   }
  
===Association Specific Group Get===
+
===Association Group Name Get===
Command: 0x0B
+
Command: 0x01
   class hubitat.zwave.commands.associationv2.AssociationSpecificGroupGet {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupNameGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 419: Line 498:
 
   }
 
   }
  
===Association Specific Group Report===
+
===Association Group Name Report===
Command: 0x0C
+
Command: 0x02
   class hubitat.zwave.commands.associationv2.AssociationSpecificGroupReport {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupNameReport {
       Short group
+
       Short groupingIdentifier
 +
      Short lengthOfName
 +
      List<AssociationGroupNameReport> name
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 428: Line 509:
 
   }
 
   }
  
==Av Content Directory Md V1==
+
===Association Group Command List Get===
Command Class: 0x95
+
Command: 0x05
===Av Content Browse Md By Letter Get===
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupCommandListGet {
Command: 0x03
+
      Boolean allowCache
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdByLetterGet {
+
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 438: Line 519:
 
   }
 
   }
  
===Av Content Browse Md By Letter Report===
+
===Association Group Command List Report===
Command: 0x04
+
Command: 0x06
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdByLetterReport {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupCommandListReport {
 +
      List<AssociationGroupCommandListReport> command
 +
      Short groupingIdentifier
 +
      Short listLength
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 446: Line 530:
 
   }
 
   }
  
===Av Content Browse Md Child Count Get===
+
===Association Group Info Get===
Command: 0x05
+
Command: 0x03
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdChildCountGet {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupInfoGet {
 +
      Short groupingIdentifier
 +
      Boolean listMode
 +
      Boolean refreshCache
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 454: Line 541:
 
   }
 
   }
  
===Av Content Browse Md Child Count Report===
+
===Association Group Info Report===
Command: 0x06
+
Command: 0x04
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdChildCountReport {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupInfoReport {
 +
      Boolean dynamicInfo
 +
      Short groupCount
 +
      List<AssociationGroupInfoReport> groupInfo
 +
      Boolean listMode
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 462: Line 553:
 
   }
 
   }
  
===Av Content Browse Md Get===
+
===Association Group Name Get===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdGet {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupNameGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 470: Line 562:
 
   }
 
   }
  
===Av Content Browse Md Report===
+
===Association Group Name Report===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdReport {
+
   class hubitat.zwave.commands.associationgrpinfov1.AssociationGroupNameReport {
    
+
      Short groupingIdentifier
 +
      Short lengthOfName
 +
      List<AssociationGroupNameReport> name
 +
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
 
       String format()
 
       String format()
 
   }
 
   }
  
===Av Match Item To Renderer Md Get===
+
==Association Grp Info V2==
Command: 0x07
+
Command Class: 0x59
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvMatchItemToRendererMdGet {
+
===Association Group Command List Get===
 +
Command: 0x05
 +
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupCommandListGet {
 +
      Boolean allowCache
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 486: Line 585:
 
   }
 
   }
  
===Av Match Item To Renderer Md Report===
+
===Association Group Command List Report===
Command: 0x08
+
Command: 0x06
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvMatchItemToRendererMdReport {
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupCommandListReport {
 +
      Short groupingIdentifier
 +
      Short listLength
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 494: Line 595:
 
   }
 
   }
  
==Av Content Search Md V1==
+
===Association Group Info Get===
Command Class: 0x97
+
Command: 0x03
===Av Content Search Md Get===
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupInfoGet {
Command: 0x01
+
      Short groupingIdentifier
   class hubitat.zwave.commands.avcontentsearchmdv1.AvContentSearchMdGet {
+
      Boolean listMode
 +
      Boolean refreshCache
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 504: Line 606:
 
   }
 
   }
  
===Av Content Search Md Report===
+
===Association Group Info Report===
Command: 0x02
+
Command: 0x04
   class hubitat.zwave.commands.avcontentsearchmdv1.AvContentSearchMdReport {
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupInfoReport {
 +
      Boolean dynamicInfo
 +
      Short groupCount
 +
      Boolean listMode
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 512: Line 617:
 
   }
 
   }
  
==Av Renderer Status V1==
+
===Association Group Name Get===
Command Class: 0x96
 
===Av Renderer Status Get===
 
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.avrendererstatusv1.AvRendererStatusGet {
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupNameGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 522: Line 626:
 
   }
 
   }
  
===Av Renderer Status Report===
+
===Association Group Name Report===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.avrendererstatusv1.AvRendererStatusReport {
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupNameReport {
 +
      Short groupingIdentifier
 +
      Short lengthOfName
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 530: Line 636:
 
   }
 
   }
  
==Av Tagging Md V1==
+
===Association Group Command List Get===
Command Class: 0x99
+
Command: 0x05
===Av Tagging Md Get===
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupCommandListGet {
Command: 0x01
+
      Boolean allowCache
   class hubitat.zwave.commands.avtaggingmdv1.AvTaggingMdGet {
+
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 540: Line 646:
 
   }
 
   }
  
===Av Tagging Md Report===
+
===Association Group Command List Report===
Command: 0x02
+
Command: 0x06
   class hubitat.zwave.commands.avtaggingmdv1.AvTaggingMdReport {
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupCommandListReport {
 +
      Short groupingIdentifier
 +
      Short listLength
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 548: Line 656:
 
   }
 
   }
  
==Barrier Operator V1==
+
===Association Group Info Get===
Command Class: 0x66
+
Command: 0x03
===Barrier Operator Get===
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupInfoGet {
Command: 0x02
+
      Short groupingIdentifier
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorGet {
+
      Boolean listMode
 +
      Boolean refreshCache
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 558: Line 667:
 
   }
 
   }
  
===Barrier Operator Report===
+
===Association Group Info Report===
Command: 0x03
+
Command: 0x04
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorReport {
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupInfoReport {
       Short barrierState
+
       Boolean dynamicInfo
      static Short BARRIER_STATE_CLOSED = 0
+
       Short groupCount
      static Short BARRIER_STATE_OPEN = 255
+
       Boolean listMode
      static Short BARRIER_STATE_UNKNOWN_POSITION_MOVING_TO_CLOSE = 252
 
       static Short BARRIER_STATE_UNKNOWN_POSITION_MOVING_TO_OPEN = 254
 
       static Short BARRIER_STATE_UNKNOWN_POSITION_STOPPED = 253
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 572: Line 678:
 
   }
 
   }
  
===Barrier Operator Set===
+
===Association Group Name Get===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorSet {
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupNameGet {
       Short requestedBarrierState
+
       Short groupingIdentifier
      static Short REQUESTED_BARRIER_STATE_CLOSE = 0
 
      static Short REQUESTED_BARRIER_STATE_OPEN = 255
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 583: Line 687:
 
   }
 
   }
  
==Basic Tariff Info V1==
+
===Association Group Name Report===
Command Class: 0x36
+
Command: 0x02
===Basic Tariff Info Get===
+
   class hubitat.zwave.commands.associationgrpinfov2.AssociationGroupNameReport {
Command: 0x01
+
      Short groupingIdentifier
   class hubitat.zwave.commands.basictariffinfov1.BasicTariffInfoGet {
+
      Short lengthOfName
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 593: Line 697:
 
   }
 
   }
  
===Basic Tariff Info Report===
+
==Association Grp Info V3==
Command: 0xXM
+
Command Class: 0x59
   class hubitat.zwave.commands.basictariffinfov1.BasicTariffInfoReport {
+
===Association Group Command List Get===
       Boolean dual
+
Command: 0x05
      Short e1CurrentRateInUse
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupCommandListGet {
      Integer e1RateConsumptionRegister
+
       Boolean allowCache
      Short e1TimeForNextRateHours
+
       Short groupingIdentifier
      Short e1TimeForNextRateMinutes
 
      Short e1TimeForNextRateSeconds
 
      Short e2CurrentRateInUse
 
      Integer e2RateConsumptionRegister
 
       Short totalNoImportRates
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 610: Line 709:
 
   }
 
   }
  
==Basic V1==
+
===Association Group Command List Report===
Command Class: 0x20
+
Command: 0x06
===Basic Get===
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupCommandListReport {
Command: 0x02
+
      Short groupingIdentifier
   class hubitat.zwave.commands.basicv1.BasicGet {
+
      Short listLength
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 620: Line 719:
 
   }
 
   }
  
===Basic Report===
+
===Association Group Info Get===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.basicv1.BasicReport {
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupInfoGet {
       Short value
+
       Short groupingIdentifier
 +
      Boolean listMode
 +
      Boolean refreshCache
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 629: Line 730:
 
   }
 
   }
  
===Basic Set===
+
===Association Group Info Report===
Command: 0x01
+
Command: 0x04
   class hubitat.zwave.commands.basicv1.BasicSet {
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupInfoReport {
       Short value
+
      Boolean dynamicInfo
 +
       Short groupCount
 +
      Boolean listMode
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 638: Line 741:
 
   }
 
   }
  
==Basic Window Covering V1==
+
===Association Group Name Get===
Command Class: 0x50
 
===Basic Window Covering Start Level Change===
 
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.basicwindowcoveringv1.BasicWindowCoveringStartLevelChange {
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupNameGet {
       Boolean openClose
+
       Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 649: Line 750:
 
   }
 
   }
  
===Basic Window Covering Stop Level Change===
+
===Association Group Name Report===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.basicwindowcoveringv1.BasicWindowCoveringStopLevelChange {
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupNameReport {
 +
      Short groupingIdentifier
 +
      Short lengthOfName
 +
 
 +
      List<Short> getPayload()
 +
      String format()
 +
  }
 +
 
 +
===Association Group Command List Get===
 +
Command: 0x05
 +
  class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupCommandListGet {
 +
      Boolean allowCache
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 657: Line 770:
 
   }
 
   }
  
==Battery V1==
+
===Association Group Command List Report===
Command Class: 0x80
+
Command: 0x06
===Battery Get===
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupCommandListReport {
Command: 0x02
+
      Short groupingIdentifier
   class hubitat.zwave.commands.batteryv1.BatteryGet {
+
      Short listLength
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 667: Line 780:
 
   }
 
   }
  
===Battery Report===
+
===Association Group Info Get===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.batteryv1.BatteryReport {
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupInfoGet {
       Short batteryLevel
+
       Short groupingIdentifier
 +
      Boolean listMode
 +
      Boolean refreshCache
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 676: Line 791:
 
   }
 
   }
  
==Central Scene V1==
+
===Association Group Info Report===
Command Class: 0x5B
+
Command: 0x04
===Central Scene Notification===
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupInfoReport {
Command: 0x03
+
       Boolean dynamicInfo
   class hubitat.zwave.commands.centralscenev1.CentralSceneNotification {
+
       Short groupCount
       Short keyAttributes
+
       Boolean listMode
       Short sceneNumber
 
       Short sequenceNumber
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 689: Line 802:
 
   }
 
   }
  
===Central Scene Supported Get===
+
===Association Group Name Get===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.centralscenev1.CentralSceneSupportedGet {
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupNameGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 697: Line 811:
 
   }
 
   }
  
===Central Scene Supported Report===
+
===Association Group Name Report===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.centralscenev1.CentralSceneSupportedReport {
+
   class hubitat.zwave.commands.associationgrpinfov3.AssociationGroupNameReport {
       Short supportedScenes
+
       Short groupingIdentifier
 +
      Short lengthOfName
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 706: Line 821:
 
   }
 
   }
  
==Chimney Fan V1==
+
==Association V1==
Command Class: 0x2A
+
Command Class: 0x85
===Chimney Fan Alarm Log Get===
+
===Association Get===
Command: 0x20
+
Command: 0x02
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogGet {
+
   class hubitat.zwave.commands.associationv1.AssociationGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 716: Line 832:
 
   }
 
   }
  
===Chimney Fan Alarm Log Report===
+
===Association Groupings Get===
Command: 0x21
+
Command: 0x05
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogReport {
+
   class hubitat.zwave.commands.associationv1.AssociationGroupingsGet {
      Boolean alarmStillActive1
 
      Boolean alarmStillActive2
 
      Boolean alarmStillActive3
 
      Boolean alarmStillActive4
 
      Boolean alarmStillActive5
 
      Boolean alarmTemperatureExceeded1
 
      Boolean alarmTemperatureExceeded2
 
      Boolean alarmTemperatureExceeded3
 
      Boolean alarmTemperatureExceeded4
 
      Boolean alarmTemperatureExceeded5
 
      Boolean externalAlarm1
 
      Boolean externalAlarm2
 
      Boolean externalAlarm3
 
      Boolean externalAlarm4
 
      Boolean externalAlarm5
 
      Boolean sensorError1
 
      Boolean sensorError2
 
      Boolean sensorError3
 
      Boolean sensorError4
 
      Boolean sensorError5
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 744: Line 840:
 
   }
 
   }
  
===Chimney Fan Alarm Log Set===
+
===Association Groupings Report===
Command: 0x1F
+
Command: 0x06
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogSet {
+
   class hubitat.zwave.commands.associationv1.AssociationGroupingsReport {
       Short MESSAGE_RESET_LOG
+
       Short supportedGroupings
      Short message
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 754: Line 849:
 
   }
 
   }
  
===Chimney Fan Alarm Status Get===
+
===Association Remove===
Command: 0x23
+
Command: 0x04
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusGet {
+
   class hubitat.zwave.commands.associationv1.AssociationRemove {
 +
      Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 762: Line 859:
 
   }
 
   }
  
===Chimney Fan Alarm Status Report===
+
===Association Report===
Command: 0x24
+
Command: 0x03
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusReport {
+
   class hubitat.zwave.commands.associationv1.AssociationReport {
       Boolean alarmTemperatureExceeded
+
       Short groupingIdentifier
      Boolean externalAlarm
+
       Short maxNodesSupported
       Short notUsed
+
       List<AssociationReport> nodeId
       Boolean sensorError
+
       Short reportsToFollow
       Boolean service
 
      Boolean speedChangeEnable
 
      Boolean startTemperatureExceeded
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 777: Line 871:
 
   }
 
   }
  
===Chimney Fan Alarm Status Set===
+
===Association Set===
Command: 0x22
+
Command: 0x01
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusSet {
+
   class hubitat.zwave.commands.associationv1.AssociationSet {
       Boolean acknowledgeAlarmTemperatureExceeded
+
       Short groupingIdentifier
      Boolean acknowledgeExternalAlarm
+
       Object nodeId
      Boolean acknowledgeSensorError
 
      Boolean notUsed1
 
       Short notUsed2
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 790: Line 881:
 
   }
 
   }
  
===Chimney Fan Alarm Temp Get===
+
===Association Get===
Command: 0x0E
+
Command: 0x02
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempGet {
+
   class hubitat.zwave.commands.associationv1.AssociationGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 798: Line 890:
 
   }
 
   }
  
===Chimney Fan Alarm Temp Report===
+
===Association Groupings Get===
Command: 0x0F
+
Command: 0x05
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempReport {
+
   class hubitat.zwave.commands.associationv1.AssociationGroupingsGet {
      Short precision
 
      Short scale
 
      BigDecimal scaledValue
 
      Short size
 
      List<ChimneyFanAlarmTempReport> value
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 811: Line 898:
 
   }
 
   }
  
===Chimney Fan Alarm Temp Set===
+
===Association Groupings Report===
Command: 0x0D
+
Command: 0x06
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempSet {
+
   class hubitat.zwave.commands.associationv1.AssociationGroupingsReport {
       Short precision
+
       Short supportedGroupings
      Short scale
 
      BigDecimal scaledValue
 
      Short size
 
      List<ChimneyFanAlarmTempSet> value
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 824: Line 907:
 
   }
 
   }
  
===Chimney Fan Boost Time Get===
+
===Association Remove===
Command: 0x11
+
Command: 0x04
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeGet {
+
   class hubitat.zwave.commands.associationv1.AssociationRemove {
 +
      Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 832: Line 917:
 
   }
 
   }
  
===Chimney Fan Boost Time Report===
+
===Association Report===
Command: 0x12
+
Command: 0x03
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeReport {
+
   class hubitat.zwave.commands.associationv1.AssociationReport {
       Short time
+
       Short groupingIdentifier
 +
      Short maxNodesSupported
 +
      List<AssociationReport> nodeId
 +
      Short reportsToFollow
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 841: Line 929:
 
   }
 
   }
  
===Chimney Fan Boost Time Set===
+
===Association Set===
Command: 0x10
+
Command: 0x01
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeSet {
+
   class hubitat.zwave.commands.associationv1.AssociationSet {
       Short time
+
       Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 850: Line 939:
 
   }
 
   }
  
===Chimney Fan Default Set===
+
==Association V2==
Command: 0x28
+
Command Class: 0x85
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanDefaultSet {
+
===Association Get===
 +
Command: 0x02
 +
   class hubitat.zwave.commands.associationv2.AssociationGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 858: Line 950:
 
   }
 
   }
  
===Chimney Fan Min Speed Get===
+
===Association Groupings Get===
Command: 0x26
+
Command: 0x05
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedGet {
+
   class hubitat.zwave.commands.associationv2.AssociationGroupingsGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 866: Line 958:
 
   }
 
   }
  
===Chimney Fan Min Speed Report===
+
===Association Groupings Report===
Command: 0x27
+
Command: 0x06
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedReport {
+
   class hubitat.zwave.commands.associationv2.AssociationGroupingsReport {
       Short minSpeed
+
       Short supportedGroupings
 +
 
 +
      List<Short> getPayload()
 +
      String format()
 +
  }
 +
 
 +
===Association Remove===
 +
Command: 0x04
 +
  class hubitat.zwave.commands.associationv2.AssociationRemove {
 +
      Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 875: Line 977:
 
   }
 
   }
  
===Chimney Fan Min Speed Set===
+
===Association Report===
Command: 0x25
+
Command: 0x03
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedSet {
+
   class hubitat.zwave.commands.associationv2.AssociationReport {
       Short minSpeed
+
       Short groupingIdentifier
 +
      Short maxNodesSupported
 +
      Short reportsToFollow
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 884: Line 988:
 
   }
 
   }
  
===Chimney Fan Mode Get===
+
===Association Set===
Command: 0x17
+
Command: 0x01
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeGet {
+
   class hubitat.zwave.commands.associationv2.AssociationSet {
 +
      Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 892: Line 998:
 
   }
 
   }
  
===Chimney Fan Mode Report===
+
===Association Specific Group Get===
Command: 0x18
+
Command: 0x0B
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeReport {
+
   class hubitat.zwave.commands.associationv2.AssociationSpecificGroupGet {
      Short MODE_OFF
 
      Short MODE_ON
 
      Short mode
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 903: Line 1,006:
 
   }
 
   }
  
===Chimney Fan Mode Set===
+
===Association Specific Group Report===
Command: 0x16
+
Command: 0x0C
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeSet {
+
   class hubitat.zwave.commands.associationv2.AssociationSpecificGroupReport {
       Short MODE_OFF
+
       Short group
      Short MODE_ON
 
      Short mode
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 914: Line 1,015:
 
   }
 
   }
  
===Chimney Fan Setup Get===
+
===Association Get===
Command: 0x1A
+
Command: 0x02
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupGet {
+
   class hubitat.zwave.commands.associationv2.AssociationGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 922: Line 1,024:
 
   }
 
   }
  
===Chimney Fan Setup Report===
+
===Association Groupings Get===
Command: 0x1B
+
Command: 0x05
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupReport {
+
   class hubitat.zwave.commands.associationv2.AssociationGroupingsGet {
      Short MODE_OFF
 
      Short MODE_ON
 
      List<ChimneyFanSetupReport> alarmTemperatureValue
 
      Short boostTime
 
      Short minSpeed
 
      Short mode
 
      Short precision1
 
      Short precision2
 
      Short precision3
 
      Short scale1
 
      Short scale2
 
      Short scale3
 
      Short size1
 
      Short size2
 
      Short size3
 
      List<ChimneyFanSetupReport> startTemperature
 
      List<ChimneyFanSetupReport> stopTemperature
 
      Short stopTime
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 948: Line 1,032:
 
   }
 
   }
  
===Chimney Fan Setup Set===
+
===Association Groupings Report===
Command: 0x19
+
Command: 0x06
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupSet {
+
   class hubitat.zwave.commands.associationv2.AssociationGroupingsReport {
       Short MODE_OFF
+
       Short supportedGroupings
      Short MODE_ON
 
      List<ChimneyFanSetupSet> alarmTemperatureValue
 
      Short boostTime
 
      Short minSpeed
 
      Short mode
 
      Short precision1
 
      Short precision2
 
      Short precision3
 
      Short scale1
 
      Short scale2
 
      Short scale3
 
      Short size1
 
      Short size2
 
      Short size3
 
      List<ChimneyFanSetupSet> startTemperature
 
      List<ChimneyFanSetupSet> stopTemperature
 
      Short stopTime
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 974: Line 1,041:
 
   }
 
   }
  
===Chimney Fan Speed Get===
+
===Association Remove===
Command: 0x05
+
Command: 0x04
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedGet {
+
   class hubitat.zwave.commands.associationv2.AssociationRemove {
 +
      Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 982: Line 1,051:
 
   }
 
   }
  
===Chimney Fan Speed Report===
+
===Association Report===
Command: 0x06
+
Command: 0x03
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedReport {
+
   class hubitat.zwave.commands.associationv2.AssociationReport {
       Short speed
+
       Short groupingIdentifier
 +
      Short maxNodesSupported
 +
      Short reportsToFollow
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 991: Line 1,062:
 
   }
 
   }
  
===Chimney Fan Speed Set===
+
===Association Set===
Command: 0x04
+
Command: 0x01
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedSet {
+
   class hubitat.zwave.commands.associationv2.AssociationSet {
       Short speed
+
       Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,000: Line 1,072:
 
   }
 
   }
  
===Chimney Fan Start Temp Get===
+
===Association Specific Group Get===
Command: 0x08
+
Command: 0x0B
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempGet {
+
   class hubitat.zwave.commands.associationv2.AssociationSpecificGroupGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,008: Line 1,080:
 
   }
 
   }
  
===Chimney Fan Start Temp Report===
+
===Association Specific Group Report===
Command: 0x09
+
Command: 0x0C
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempReport {
+
   class hubitat.zwave.commands.associationv2.AssociationSpecificGroupReport {
       Short precision
+
       Short group
       Short scale
+
 
       BigDecimal scaledValue
+
       List<Short> getPayload()
       Short size
+
       String format()
       List<ChimneyFanStartTempReport> value
+
  }
 +
 
 +
==Association V3==
 +
Command Class: 0x85
 +
===Association Get===
 +
Command: 0x02
 +
  class hubitat.zwave.commands.associationv3.AssociationGet {
 +
       Short groupingIdentifier
 +
 
 +
       List<Short> getPayload()
 +
      String format()
 +
  }
 +
 
 +
===Association Groupings Get===
 +
Command: 0x05
 +
  class hubitat.zwave.commands.associationv3.AssociationGroupingsGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,021: Line 1,108:
 
   }
 
   }
  
===Chimney Fan Start Temp Set===
+
===Association Groupings Report===
Command: 0x07
+
Command: 0x06
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempSet {
+
   class hubitat.zwave.commands.associationv3.AssociationGroupingsReport {
       Short precision
+
       Short supportedGroupings
      Short scale
 
      BigDecimal scaledValue
 
      Short size
 
      List<ChimneyFanStartTempSet> value
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,034: Line 1,117:
 
   }
 
   }
  
===Chimney Fan State Get===
+
===Association Remove===
Command: 0x02
+
Command: 0x04
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateGet {
+
   class hubitat.zwave.commands.associationv3.AssociationRemove {
 +
      Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,042: Line 1,127:
 
   }
 
   }
  
===Chimney Fan State Report===
+
===Association Report===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateReport {
+
   class hubitat.zwave.commands.associationv3.AssociationReport {
       Short STATE_BOOST
+
       Short groupingIdentifier
       Short STATE_CHIMNEY_FIRE
+
       Short maxNodesSupported
       Short STATE_EXHAUST
+
       Short reportsToFollow
      Short STATE_EXTERNAL_ALARM
 
      Short STATE_OFF
 
      Short STATE_RELOAD
 
      Short STATE_SENSOR_FAILURE
 
      Short STATE_SERVICE
 
      Short STATE_STOP
 
      Short STATE_VENTING
 
      Short STATE_VENTING_EX
 
      Short state
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,062: Line 1,138:
 
   }
 
   }
  
===Chimney Fan State Set===
+
===Association Set===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateSet {
+
   class hubitat.zwave.commands.associationv3.AssociationSet {
       Short STATE_NEXT_STATE
+
       Short groupingIdentifier
       Short state
+
       Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,072: Line 1,148:
 
   }
 
   }
  
===Chimney Fan Status Get===
+
===Association Specific Group Get===
Command: 0x1D
+
Command: 0x0B
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStatusGet {
+
   class hubitat.zwave.commands.associationv3.AssociationSpecificGroupGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,080: Line 1,156:
 
   }
 
   }
  
===Chimney Fan Status Report===
+
===Association Specific Group Report===
Command: 0x1E
+
Command: 0x0C
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStatusReport {
+
   class hubitat.zwave.commands.associationv3.AssociationSpecificGroupReport {
       Short STATE_BOOST
+
       Short group
      Short STATE_CHIMNEY_FIRE
 
      Short STATE_EXHAUST
 
      Short STATE_EXTERNAL_ALARM
 
      Short STATE_OFF
 
      Short STATE_RELOAD
 
      Short STATE_SENSOR_FAILURE
 
      Short STATE_SERVICE
 
      Short STATE_STOP
 
      Short STATE_VENTING
 
      Short STATE_VENTING_EX
 
      Boolean alarmTemperatureExceeded
 
      Boolean externalAlarm
 
      Short notUsed
 
      Short precision
 
      Short scale
 
      BigDecimal scaledValue
 
      Boolean sensorError
 
      Boolean service
 
      Short size
 
      Short speed
 
      Boolean speedChangeEnable
 
      Boolean startTemperatureExceeded
 
      Short state
 
      List<ChimneyFanStatusReport> value
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,113: Line 1,165:
 
   }
 
   }
  
===Chimney Fan Stop Temp Get===
+
===Association Get===
Command: 0x0B
+
Command: 0x02
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempGet {
+
   class hubitat.zwave.commands.associationv3.AssociationGet {
 +
      Short groupingIdentifier
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,121: Line 1,174:
 
   }
 
   }
  
===Chimney Fan Stop Temp Report===
+
===Association Groupings Get===
Command: 0x0C
+
Command: 0x05
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempReport {
+
   class hubitat.zwave.commands.associationv3.AssociationGroupingsGet {
      Short precision
 
      Short scale
 
      BigDecimal scaledValue
 
      Short size
 
      List<ChimneyFanStopTempReport> value
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,134: Line 1,182:
 
   }
 
   }
  
===Chimney Fan Stop Temp Set===
+
===Association Groupings Report===
Command: 0x0A
+
Command: 0x06
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempSet {
+
   class hubitat.zwave.commands.associationv3.AssociationGroupingsReport {
       Short precision
+
       Short supportedGroupings
      Short scale
 
      BigDecimal scaledValue
 
      Short size
 
      List<ChimneyFanStopTempSet> value
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,147: Line 1,191:
 
   }
 
   }
  
===Chimney Fan Stop Time Get===
+
===Association Remove===
Command: 0x14
+
Command: 0x04
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeGet {
+
   class hubitat.zwave.commands.associationv3.AssociationRemove {
 +
      Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,155: Line 1,201:
 
   }
 
   }
  
===Chimney Fan Stop Time Report===
+
===Association Report===
Command: 0x15
+
Command: 0x03
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeReport {
+
   class hubitat.zwave.commands.associationv3.AssociationReport {
       Short time
+
       Short groupingIdentifier
 +
      Short maxNodesSupported
 +
      Short reportsToFollow
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,164: Line 1,212:
 
   }
 
   }
  
===Chimney Fan Stop Time Set===
+
===Association Set===
Command: 0x13
+
Command: 0x01
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeSet {
+
   class hubitat.zwave.commands.associationv3.AssociationSet {
       Short time
+
       Short groupingIdentifier
 +
      Object nodeId
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,173: Line 1,222:
 
   }
 
   }
  
==Climate Control Schedule V1==
+
===Association Specific Group Get===
Command Class: 0x46
+
Command: 0x0B
===Schedule Changed Get===
+
   class hubitat.zwave.commands.associationv3.AssociationSpecificGroupGet {
Command: 0x04
 
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleChangedGet {
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,183: Line 1,230:
 
   }
 
   }
  
===Schedule Changed Report===
+
===Association Specific Group Report===
Command: 0x05
+
Command: 0x0C
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleChangedReport {
+
   class hubitat.zwave.commands.associationv3.AssociationSpecificGroupReport {
       Short changecounter
+
       Short group
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,192: Line 1,239:
 
   }
 
   }
  
===Schedule Get===
+
==Av Content Directory Md V1==
Command: 0x02
+
Command Class: 0x95
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleGet {
+
===Av Content Browse Md By Letter Get===
      Short weekday
+
Command: 0x03
 +
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdByLetterGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,201: Line 1,249:
 
   }
 
   }
  
===Schedule Override Get===
+
===Av Content Browse Md By Letter Report===
Command: 0x07
+
Command: 0x04
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideGet {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdByLetterReport {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,209: Line 1,257:
 
   }
 
   }
  
===Schedule Override Report===
+
===Av Content Browse Md Child Count Get===
Command: 0x08
+
Command: 0x05
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideReport {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdChildCountGet {
      Short overrideState
 
      Short overrideType
 
      static Short OVERRIDE_STATE_NO_OVERRIDE = 0
 
      static Short OVERRIDE_STATE_PERMANENT_OVERRIDE = 2
 
      static Short OVERRIDE_STATE_RESERVED3 = 3
 
      static Short OVERRIDE_STATE_TEMPORARY_OVERRIDE = 1
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,223: Line 1,265:
 
   }
 
   }
  
===Schedule Override Set===
+
===Av Content Browse Md Child Count Report===
 
Command: 0x06
 
Command: 0x06
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideSet {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdChildCountReport {
       Short overrideState
+
 
       Short overrideType
+
       List<Short> getPayload()
      static Short OVERRIDE_STATE_NO_OVERRIDE = 0
+
       String format()
      static Short OVERRIDE_STATE_PERMANENT_OVERRIDE = 2
+
  }
      static Short OVERRIDE_STATE_RESERVED3 = 3
+
 
      static Short OVERRIDE_STATE_TEMPORARY_OVERRIDE = 1
+
===Av Content Browse Md Get===
 +
Command: 0x01
 +
  class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,237: Line 1,281:
 
   }
 
   }
  
===Schedule Report===
+
===Av Content Browse Md Report===
Command: 0xXM
+
Command: 0x02
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleReport {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdReport {
      Integer switchpoint0
 
      Integer switchpoint1
 
      Integer switchpoint2
 
      Integer switchpoint3
 
      Integer switchpoint4
 
      Integer switchpoint5
 
      Integer switchpoint6
 
      Integer switchpoint7
 
      Integer switchpoint8
 
      Short weekday
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,255: Line 1,289:
 
   }
 
   }
  
===Schedule Set===
+
===Av Match Item To Renderer Md Get===
Command: 0xXM
+
Command: 0x07
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleSet {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvMatchItemToRendererMdGet {
      Integer switchpoint0
 
      Integer switchpoint1
 
      Integer switchpoint2
 
      Integer switchpoint3
 
      Integer switchpoint4
 
      Integer switchpoint5
 
      Integer switchpoint6
 
      Integer switchpoint7
 
      Integer switchpoint8
 
      Short weekday
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,273: Line 1,297:
 
   }
 
   }
  
==Clock V1==
+
===Av Match Item To Renderer Md Report===
Command Class: 0x81
+
Command: 0x08
===Clock Get===
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvMatchItemToRendererMdReport {
Command: 0x05
 
   class hubitat.zwave.commands.clockv1.ClockGet {
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,283: Line 1,305:
 
   }
 
   }
  
===Clock Report===
+
===Av Content Browse Md By Letter Get===
Command: 0x06
+
Command: 0x03
   class hubitat.zwave.commands.clockv1.ClockReport {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdByLetterGet {
      Short hour
 
      Short minute
 
      Short weekday
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,294: Line 1,313:
 
   }
 
   }
  
===Clock Set===
+
===Av Content Browse Md By Letter Report===
 
Command: 0x04
 
Command: 0x04
   class hubitat.zwave.commands.clockv1.ClockSet {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdByLetterReport {
      Short hour
 
      Short minute
 
      Short weekday
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,305: Line 1,321:
 
   }
 
   }
  
==Configuration V1==
+
===Av Content Browse Md Child Count Get===
Command Class: 0x70
 
===Configuration Get===
 
 
Command: 0x05
 
Command: 0x05
   class hubitat.zwave.commands.configurationv1.ConfigurationGet {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdChildCountGet {
      Short parameterNumber
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,316: Line 1,329:
 
   }
 
   }
  
===Configuration Report===
+
===Av Content Browse Md Child Count Report===
 
Command: 0x06
 
Command: 0x06
   class hubitat.zwave.commands.configurationv1.ConfigurationReport {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdChildCountReport {
      List<ConfigurationReport> configurationValue
 
      Short parameterNumber
 
      BigInteger scaledConfigurationValue
 
      Short size
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,328: Line 1,337:
 
   }
 
   }
  
===Configuration Set===
+
===Av Content Browse Md Get===
Command: 0x04
+
Command: 0x01
   class hubitat.zwave.commands.configurationv1.ConfigurationSet {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdGet {
       List<ConfigurationSet> configurationValue
+
 
       Boolean defaultValue
+
       List<Short> getPayload()
      Short parameterNumber
+
       String format()
      Short reserved11
+
  }
      BigInteger scaledConfigurationValue
+
 
      Short size
+
===Av Content Browse Md Report===
 +
Command: 0x02
 +
  class hubitat.zwave.commands.avcontentdirectorymdv1.AvContentBrowseMdReport {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,342: Line 1,353:
 
   }
 
   }
  
==Configuration V2==
+
===Av Match Item To Renderer Md Get===
Command Class: 0x70
+
Command: 0x07
===Configuration Bulk Get===
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvMatchItemToRendererMdGet {
Command: 0x08
 
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkGet {
 
      Short numberOfParameters
 
      Integer parameterOffset
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,354: Line 1,361:
 
   }
 
   }
  
===Configuration Bulk Report===
+
===Av Match Item To Renderer Md Report===
Command: 0x09
+
Command: 0x08
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkReport {
+
   class hubitat.zwave.commands.avcontentdirectorymdv1.AvMatchItemToRendererMdReport {
      Boolean defaultValue
 
      Boolean handshake
 
      Short numberOfParameters
 
      Integer parameterOffset
 
      Short reportsToFollow
 
      Short size
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,368: Line 1,369:
 
   }
 
   }
  
===Configuration Bulk Set===
+
==Av Content Search Md V1==
Command: 0x07
+
Command Class: 0x97
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkSet {
+
===Av Content Search Md Get===
      Boolean defaultValue
+
Command: 0x01
      Boolean handshake
+
   class hubitat.zwave.commands.avcontentsearchmdv1.AvContentSearchMdGet {
      Short numberOfParameters
 
      Integer parameterOffset
 
      Short size
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,381: Line 1,379:
 
   }
 
   }
  
===Configuration Get===
+
===Av Content Search Md Report===
Command: 0x05
+
Command: 0x02
   class hubitat.zwave.commands.configurationv2.ConfigurationGet {
+
   class hubitat.zwave.commands.avcontentsearchmdv1.AvContentSearchMdReport {
      Short parameterNumber
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,390: Line 1,387:
 
   }
 
   }
  
===Configuration Report===
+
===Av Content Search Md Get===
Command: 0x06
+
Command: 0x01
   class hubitat.zwave.commands.configurationv2.ConfigurationReport {
+
   class hubitat.zwave.commands.avcontentsearchmdv1.AvContentSearchMdGet {
      Short parameterNumber
 
      BigInteger scaledConfigurationValue
 
      Short size
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,401: Line 1,395:
 
   }
 
   }
  
===Configuration Set===
+
===Av Content Search Md Report===
Command: 0x04
+
Command: 0x02
   class hubitat.zwave.commands.configurationv2.ConfigurationSet {
+
   class hubitat.zwave.commands.avcontentsearchmdv1.AvContentSearchMdReport {
      Boolean defaultValue
 
      Short parameterNumber
 
      Short reserved11
 
      BigInteger scaledConfigurationValue
 
      Short size
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,414: Line 1,403:
 
   }
 
   }
  
==Controller Replication V1==
+
==Av Renderer Status V1==
Command Class: 0x21
+
Command Class: 0x96
===Ctrl Replication Transfer Group===
+
===Av Renderer Status Get===
Command: 0x31
+
Command: 0x01
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferGroup {
+
   class hubitat.zwave.commands.avrendererstatusv1.AvRendererStatusGet {
      Short groupId
 
      Short nodeId
 
      Short sequenceNumber
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,427: Line 1,413:
 
   }
 
   }
  
===Ctrl Replication Transfer Group Name===
+
===Av Renderer Status Report===
Command: 0x32
+
Command: 0x02
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferGroupName {
+
   class hubitat.zwave.commands.avrendererstatusv1.AvRendererStatusReport {
      Short groupId
 
      List<CtrlReplicationTransferGroupName> groupName
 
      Short sequenceNumber
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,438: Line 1,421:
 
   }
 
   }
  
===Ctrl Replication Transfer Scene===
+
===Av Renderer Status Get===
Command: 0x33
+
Command: 0x01
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferScene {
+
   class hubitat.zwave.commands.avrendererstatusv1.AvRendererStatusGet {
      Short level
 
      Short nodeId
 
      Short sceneId
 
      Short sequenceNumber
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,450: Line 1,429:
 
   }
 
   }
  
===Ctrl Replication Transfer Scene Name===
+
===Av Renderer Status Report===
Command: 0x34
+
Command: 0x02
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferSceneName {
+
   class hubitat.zwave.commands.avrendererstatusv1.AvRendererStatusReport {
      Short sceneId
 
      List<CtrlReplicationTransferSceneName> sceneName
 
      Short sequenceNumber
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,461: Line 1,437:
 
   }
 
   }
  
==Crc 16 Encap V1==
+
==Av Tagging Md V1==
Command Class: 0x56
+
Command Class: 0x99
===Crc 16 Encap===
+
===Av Tagging Md Get===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.crc16encapv1.Crc16Encap {
+
   class hubitat.zwave.commands.avtaggingmdv1.AvTaggingMdGet {
      Integer checksum
 
      Short command
 
      Short commandClass
 
      List<Crc16Encap> data
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,475: Line 1,447:
 
   }
 
   }
  
==Dcp Config V1==
+
===Av Tagging Md Report===
Command Class: 0x3A
+
Command: 0x02
===Dcp List Remove===
+
   class hubitat.zwave.commands.avtaggingmdv1.AvTaggingMdReport {
Command: 0x04
 
   class hubitat.zwave.commands.dcpconfigv1.DcpListRemove {
 
      Short day
 
      Short hourLocalTime
 
      Short minuteLocalTime
 
      Short month
 
      Short secondLocalTime
 
      Integer year
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,491: Line 1,455:
 
   }
 
   }
  
===Dcp List Set===
+
===Av Tagging Md Get===
Command: 0x03
+
Command: 0x01
   class hubitat.zwave.commands.dcpconfigv1.DcpListSet {
+
   class hubitat.zwave.commands.avtaggingmdv1.AvTaggingMdGet {
      Short day
 
      Short dcpRateId
 
      Short durationHourTime
 
      Short durationMinuteTime
 
      Short durationSecondTime
 
      Short eventPriority
 
      Short hourLocalTime
 
      Short loadShedding
 
      Short minuteLocalTime
 
      Short month
 
      Short numberOfDc
 
      Short randomizationInterval
 
      Short secondLocalTime
 
      Short startAssociationGroup
 
      Short startDay
 
      Short startHourLocalTime
 
      Short startMinuteLocalTime
 
      Short startMonth
 
      Short startSecondLocalTime
 
      Integer startYear
 
      Short stopAssociationGroup
 
      Integer year
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,521: Line 1,463:
 
   }
 
   }
  
===Dcp List Supported Get===
+
===Av Tagging Md Report===
Command: 0x01
+
Command: 0x02
   class hubitat.zwave.commands.dcpconfigv1.DcpListSupportedGet {
+
   class hubitat.zwave.commands.avtaggingmdv1.AvTaggingMdReport {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,529: Line 1,471:
 
   }
 
   }
  
===Dcp List Supported Report===
+
==Barrier Operator V1==
 +
Command Class: 0x66
 +
===Barrier Operator Get===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.dcpconfigv1.DcpListSupportedReport {
+
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorGet {
      Short dcpListSize
 
      Short freeDcpListEntries
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,539: Line 1,481:
 
   }
 
   }
  
==Dcp Monitor V1==
+
===Barrier Operator Report===
Command Class: 0x3B
 
===Dcp Event Status Get===
 
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.dcpmonitorv1.DcpEventStatusGet {
+
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorReport {
       Short day
+
       Short barrierState
       Short hourLocalTime
+
       static Short BARRIER_STATE_CLOSED = 0
       Short minuteLocalTime
+
       static Short BARRIER_STATE_OPEN = 255
       Short month
+
       static Short BARRIER_STATE_UNKNOWN_POSITION_MOVING_TO_CLOSE = 252
       Short secondLocalTime
+
       static Short BARRIER_STATE_UNKNOWN_POSITION_MOVING_TO_OPEN = 254
       Integer year
+
       static Short BARRIER_STATE_UNKNOWN_POSITION_STOPPED = 253
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,555: Line 1,495:
 
   }
 
   }
  
===Dcp Event Status Report===
+
===Barrier Operator Set===
Command: 0x04
+
Command: 0x01
   class hubitat.zwave.commands.dcpmonitorv1.DcpEventStatusReport {
+
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorSet {
       Short day
+
       Short requestedBarrierState
       Short eventStatus
+
       static Short REQUESTED_BARRIER_STATE_CLOSE = 0
       Short hourLocalTime
+
       static Short REQUESTED_BARRIER_STATE_OPEN = 255
      Short minuteLocalTime
 
      Short month
 
      Short secondLocalTime
 
      Integer year
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,570: Line 1,506:
 
   }
 
   }
  
===Dcp List Get===
+
===Barrier Operator Get===
Command: 0x01
+
Command: 0x02
   class hubitat.zwave.commands.dcpmonitorv1.DcpListGet {
+
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,578: Line 1,514:
 
   }
 
   }
  
===Dcp List Report===
+
===Barrier Operator Report===
Command: 0x02
+
Command: 0x03
   class hubitat.zwave.commands.dcpmonitorv1.DcpListReport {
+
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorReport {
       Short day
+
       Short barrierState
       Short dcpId
+
       static Short BARRIER_STATE_CLOSED = 0
       Short durationHourTime
+
       static Short BARRIER_STATE_OPEN = 255
       Short durationMinuteTime
+
       static Short BARRIER_STATE_UNKNOWN_POSITION_MOVING_TO_CLOSE = 252
       Short durationSecondTime
+
       static Short BARRIER_STATE_UNKNOWN_POSITION_MOVING_TO_OPEN = 254
       Short eventPriority
+
       static Short BARRIER_STATE_UNKNOWN_POSITION_STOPPED = 253
      Short hourLocalTime
 
      Short loadShedding
 
      Short minuteLocalTime
 
      Short month
 
      Short numberOfDc
 
      Short randomizationInterval
 
      Short reportsToFollow
 
      Short secondLocalTime
 
      Short startAssociationGroup
 
      Short startDay
 
      Short startHourLocalTime
 
      Short startMinuteLocalTime
 
      Short startMonth
 
      Short startSecondLocalTime
 
      Integer startYear
 
      Short stopAssociationGroup
 
      Integer year
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,609: Line 1,528:
 
   }
 
   }
  
==Device Reset Locally V1==
+
===Barrier Operator Set===
Command Class: 0x5A
 
===Device Reset Locally Notification===
 
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.deviceresetlocallyv1.DeviceResetLocallyNotification {
+
   class hubitat.zwave.commands.barrieroperatorv1.BarrierOperatorSet {
 +
      Short requestedBarrierState
 +
      static Short REQUESTED_BARRIER_STATE_CLOSE = 0
 +
      static Short REQUESTED_BARRIER_STATE_OPEN = 255
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,619: Line 1,539:
 
   }
 
   }
  
==Door Lock Logging V1==
+
==Basic Tariff Info V1==
Command Class: 0x4C
+
Command Class: 0x36
===Door Lock Logging Records Supported Get===
+
===Basic Tariff Info Get===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.doorlockloggingv1.DoorLockLoggingRecordsSupportedGet {
+
   class hubitat.zwave.commands.basictariffinfov1.BasicTariffInfoGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,629: Line 1,549:
 
   }
 
   }
  
===Door Lock Logging Records Supported Report===
+
===Basic Tariff Info Report===
Command: 0x02
+
Command: 0xXM
   class hubitat.zwave.commands.doorlockloggingv1.DoorLockLoggingRecordsSupportedReport {
+
   class hubitat.zwave.commands.basictariffinfov1.BasicTariffInfoReport {
       Short maxRecordsStored
+
      Boolean dual
 +
      Short e1CurrentRateInUse
 +
      Integer e1RateConsumptionRegister
 +
      Short e1TimeForNextRateHours
 +
      Short e1TimeForNextRateMinutes
 +
      Short e1TimeForNextRateSeconds
 +
      Short e2CurrentRateInUse
 +
      Integer e2RateConsumptionRegister
 +
       Short totalNoImportRates
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,638: Line 1,566:
 
   }
 
   }
  
===Record Get===
+
===Basic Tariff Info Get===
Command: 0x03
+
Command: 0x01
   class hubitat.zwave.commands.doorlockloggingv1.RecordGet {
+
   class hubitat.zwave.commands.basictariffinfov1.BasicTariffInfoGet {
      Short recordNumber
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,647: Line 1,574:
 
   }
 
   }
  
===Record Report===
+
===Basic Tariff Info Report===
Command: 0x04
+
Command: 0xXM
   class hubitat.zwave.commands.doorlockloggingv1.RecordReport {
+
   class hubitat.zwave.commands.basictariffinfov1.BasicTariffInfoReport {
       Short day
+
       Boolean dual
       Short eventType
+
       Short e1CurrentRateInUse
       Short hourLocalTime
+
       Integer e1RateConsumptionRegister
       Short minuteLocalTime
+
       Short e1TimeForNextRateHours
       Short month
+
       Short e1TimeForNextRateMinutes
       Short recordNumber
+
       Short e1TimeForNextRateSeconds
       Short recordStatus
+
       Short e2CurrentRateInUse
       Short secondLocalTime
+
       Integer e2RateConsumptionRegister
      List<RecordReport> userCode
+
       Short totalNoImportRates
       Short userCodeLength
 
      Short userIdentifier
 
      Integer year
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,667: Line 1,591:
 
   }
 
   }
  
==Door Lock V1==
+
==Basic V1==
Command Class: 0x62
+
Command Class: 0x20
===Door Lock Configuration Get===
+
===Basic Get===
Command: 0x05
+
Command: 0x02
   class hubitat.zwave.commands.doorlockv1.DoorLockConfigurationGet {
+
   class hubitat.zwave.commands.basicv1.BasicGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,677: Line 1,601:
 
   }
 
   }
  
===Door Lock Configuration Report===
+
===Basic Report===
Command: 0x06
+
Command: 0x03
   class hubitat.zwave.commands.doorlockv1.DoorLockConfigurationReport {
+
   class hubitat.zwave.commands.basicv1.BasicReport {
       Short insideDoorHandlesState
+
       Short value
      Short lockTimeoutMinutes
 
      Short lockTimeoutSeconds
 
      Short operationType
 
      Short outsideDoorHandlesState
 
      static Short OPERATION_TYPE_CONSTANT_OPERATION = 1
 
      static Short OPERATION_TYPE_TIMED_OPERATION = 2
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,692: Line 1,610:
 
   }
 
   }
  
===Door Lock Configuration Set===
+
===Basic Set===
Command: 0x04
+
Command: 0x01
   class hubitat.zwave.commands.doorlockv1.DoorLockConfigurationSet {
+
   class hubitat.zwave.commands.basicv1.BasicSet {
       Short insideDoorHandlesState
+
       Short value
      Short lockTimeoutMinutes
 
      Short lockTimeoutSeconds
 
      Short operationType
 
      Short outsideDoorHandlesState
 
      static Short OPERATION_TYPE_CONSTANT_OPERATION = 1
 
      static Short OPERATION_TYPE_TIMED_OPERATION = 2
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,707: Line 1,619:
 
   }
 
   }
  
===Door Lock Operation Get===
+
===Basic Get===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.doorlockv1.DoorLockOperationGet {
+
   class hubitat.zwave.commands.basicv1.BasicGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,715: Line 1,627:
 
   }
 
   }
  
===Door Lock Operation Report===
+
===Basic Report===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.doorlockv1.DoorLockOperationReport {
+
   class hubitat.zwave.commands.basicv1.BasicReport {
       Short doorCondition
+
       Short value
      Short doorLockMode
 
      Short insideDoorHandlesMode
 
      Short lockTimeoutMinutes
 
      Short lockTimeoutSeconds
 
      Short outsideDoorHandlesMode
 
      static Short DOOR_LOCK_MODE_DOOR_SECURED = 255
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED = 0
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_FOR_INSIDE_DOOR_HANDLES = 16
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_FOR_INSIDE_DOOR_HANDLES_WITH_TIMEOUT = 17
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_FOR_OUTSIDE_DOOR_HANDLES = 32
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_FOR_OUTSIDE_DOOR_HANDLES_WITH_TIMEOUT = 33
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_WITH_TIMEOUT = 1
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,736: Line 1,636:
 
   }
 
   }
  
===Door Lock Operation Set===
+
===Basic Set===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.doorlockv1.DoorLockOperationSet {
+
   class hubitat.zwave.commands.basicv1.BasicSet {
       Short doorLockMode
+
       Short value
      static Short DOOR_LOCK_MODE_DOOR_SECURED = 255
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED = 0
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_FOR_INSIDE_DOOR_HANDLES = 16
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_FOR_INSIDE_DOOR_HANDLES_WITH_TIMEOUT = 17
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_FOR_OUTSIDE_DOOR_HANDLES = 32
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_FOR_OUTSIDE_DOOR_HANDLES_WITH_TIMEOUT = 33
 
      static Short DOOR_LOCK_MODE_DOOR_UNSECURED_WITH_TIMEOUT = 1
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,752: Line 1,645:
 
   }
 
   }
  
==Energy Production V1==
+
==Basic V2==
Command Class: 0x90
+
Command Class: 0x20
===Energy Production Get===
+
===Basic Get===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.energyproductionv1.EnergyProductionGet {
+
   class hubitat.zwave.commands.basicv2.BasicGet {
      Short parameterNumber
 
      static Short PARAMETER_NUMBER_ENERGY_PRODUCTION_TODAY = 2
 
      static Short PARAMETER_NUMBER_INSTANT_ENERGY_PRODUCTION = 0
 
      static Short PARAMETER_NUMBER_TOTAL_ENERGY_PRODUCTION = 1
 
      static Short PARAMETER_NUMBER_TOTAL_PRODUCTION_TIME = 3
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,767: Line 1,655:
 
   }
 
   }
  
===Energy Production Report===
+
===Basic Report===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.energyproductionv1.EnergyProductionReport {
+
   class hubitat.zwave.commands.basicv2.BasicReport {
       Short parameterNumber
+
       Short duration
       Short precision
+
       Short targetValue
       Short scale
+
       Short value
      BigDecimal scaledValue
 
      Short size
 
      List<EnergyProductionReport> value
 
      static Short PARAMETER_NUMBER_ENERGY_PRODUCTION_TODAY = 2
 
      static Short PARAMETER_NUMBER_INSTANT_ENERGY_PRODUCTION = 0
 
      static Short PARAMETER_NUMBER_TOTAL_ENERGY_PRODUCTION = 1
 
      static Short PARAMETER_NUMBER_TOTAL_PRODUCTION_TIME = 3
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,785: Line 1,666:
 
   }
 
   }
  
==Firmware Update Md V1==
+
===Basic Set===
Command Class: 0x7A
 
===Firmware Md Get===
 
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.firmwareupdatemdv1.FirmwareMdGet {
+
   class hubitat.zwave.commands.basicv2.BasicSet {
 +
      Short value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,795: Line 1,675:
 
   }
 
   }
  
===Firmware Md Report===
+
===Basic Get===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.firmwareupdatemdv1.FirmwareMdReport {
+
   class hubitat.zwave.commands.basicv2.BasicGet {
      Integer checksum
 
      Integer firmwareId
 
      Integer manufacturerId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,806: Line 1,683:
 
   }
 
   }
  
===Firmware Update Md Get===
+
===Basic Report===
Command: 0x05
+
Command: 0x03
   class hubitat.zwave.commands.firmwareupdatemdv1.FirmwareUpdateMdGet {
+
   class hubitat.zwave.commands.basicv2.BasicReport {
       Short numberOfReports
+
       Short duration
       Short reportNumber1
+
       Short targetValue
       Short reportNumber2
+
       Short value
      Boolean zero
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,818: Line 1,694:
 
   }
 
   }
  
===Firmware Update Md Report===
+
===Basic Set===
Command: 0x06
+
Command: 0x01
   class hubitat.zwave.commands.firmwareupdatemdv1.FirmwareUpdateMdReport {
+
   class hubitat.zwave.commands.basicv2.BasicSet {
      List<FirmwareUpdateMdReport> data
+
       Short value
      Boolean last
 
      Short reportNumber1
 
       Short reportNumber2
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,830: Line 1,703:
 
   }
 
   }
  
===Firmware Update Md Request Get===
+
==Basic Window Covering V1==
Command: 0x03
+
Command Class: 0x50
   class hubitat.zwave.commands.firmwareupdatemdv1.FirmwareUpdateMdRequestGet {
+
===Basic Window Covering Start Level Change===
       Integer checksum
+
Command: 0x01
      Integer firmwareId
+
   class hubitat.zwave.commands.basicwindowcoveringv1.BasicWindowCoveringStartLevelChange {
      Integer manufacturerId
+
       Boolean openClose
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,841: Line 1,714:
 
   }
 
   }
  
===Firmware Update Md Request Report===
+
===Basic Window Covering Stop Level Change===
Command: 0x04
+
Command: 0x02
   class hubitat.zwave.commands.firmwareupdatemdv1.FirmwareUpdateMdRequestReport {
+
   class hubitat.zwave.commands.basicwindowcoveringv1.BasicWindowCoveringStopLevelChange {
      Short status
 
      static Short STATUS_INVALID_COMBINATION = 0
 
      static Short STATUS_REQUIRES_AUTHENTICATION = 1
 
      static Short STATUS_VALID_COMBINATION = 255
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,853: Line 1,722:
 
   }
 
   }
  
===Firmware Update Md Status Report===
+
===Basic Window Covering Start Level Change===
Command: 0x07
+
Command: 0x01
   class hubitat.zwave.commands.firmwareupdatemdv1.FirmwareUpdateMdStatusReport {
+
   class hubitat.zwave.commands.basicwindowcoveringv1.BasicWindowCoveringStartLevelChange {
       Short status
+
       Boolean openClose
      static Short STATUS_SUCCESSFULLY = 255
 
      static Short STATUS_UNABLE_TO_RECEIVE = 1
 
      static Short STATUS_UNABLE_TO_RECEIVE_WITHOUT_CHECKSUM_ERROR = 0
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,865: Line 1,731:
 
   }
 
   }
  
==Firmware Update Md V2==
+
===Basic Window Covering Stop Level Change===
Command Class: 0x7A
+
Command: 0x02
===Firmware Md Get===
+
   class hubitat.zwave.commands.basicwindowcoveringv1.BasicWindowCoveringStopLevelChange {
Command: 0x01
 
   class hubitat.zwave.commands.firmwareupdatemdv2.FirmwareMdGet {
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,875: Line 1,739:
 
   }
 
   }
  
===Firmware Md Report===
+
==Battery V1==
 +
Command Class: 0x80
 +
===Battery Get===
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.firmwareupdatemdv2.FirmwareMdReport {
+
   class hubitat.zwave.commands.batteryv1.BatteryGet {
      Integer checksum
 
      Integer firmwareId
 
      Integer manufacturerId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,886: Line 1,749:
 
   }
 
   }
  
===Firmware Update Md Get===
+
===Battery Report===
Command: 0x05
+
Command: 0x03
   class hubitat.zwave.commands.firmwareupdatemdv2.FirmwareUpdateMdGet {
+
   class hubitat.zwave.commands.batteryv1.BatteryReport {
       Short numberOfReports
+
       Short batteryLevel
      Short reportNumber1
 
      Short reportNumber2
 
      Boolean zero
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,898: Line 1,758:
 
   }
 
   }
  
===Firmware Update Md Report===
+
===Battery Get===
Command: 0x06
+
Command: 0x02
   class hubitat.zwave.commands.firmwareupdatemdv2.FirmwareUpdateMdReport {
+
   class hubitat.zwave.commands.batteryv1.BatteryGet {
      Integer checksum
 
      List<FirmwareUpdateMdReport> data
 
      Boolean last
 
      Short reportNumber1
 
      Short reportNumber2
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,911: Line 1,766:
 
   }
 
   }
  
===Firmware Update Md Request Get===
+
===Battery Report===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.firmwareupdatemdv2.FirmwareUpdateMdRequestGet {
+
   class hubitat.zwave.commands.batteryv1.BatteryReport {
       Integer checksum
+
       Short batteryLevel
      Integer firmwareId
 
      Integer manufacturerId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,922: Line 1,775:
 
   }
 
   }
  
===Firmware Update Md Request Report===
+
==Central Scene V1==
Command: 0x04
+
Command Class: 0x5B
   class hubitat.zwave.commands.firmwareupdatemdv2.FirmwareUpdateMdRequestReport {
+
===Central Scene Notification===
       Short status
+
Command: 0x03
       static Short STATUS_INVALID_COMBINATION = 0
+
   class hubitat.zwave.commands.centralscenev1.CentralSceneNotification {
       static Short STATUS_REQUIRES_AUTHENTICATION = 1
+
       Short keyAttributes
       static Short STATUS_VALID_COMBINATION = 255
+
      Short sceneNumber
 +
      Short sequenceNumber
 +
       static Short KEY_HELD_DOWN = 2
 +
       static Short KEY_PRESSED_1_TIME = 0
 +
       static Short KEY_RELEASED = 1
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,934: Line 1,791:
 
   }
 
   }
  
===Firmware Update Md Status Report===
+
===Central Scene Supported Get===
Command: 0x07
+
Command: 0x01
   class hubitat.zwave.commands.firmwareupdatemdv2.FirmwareUpdateMdStatusReport {
+
   class hubitat.zwave.commands.centralscenev1.CentralSceneSupportedGet {
      Short status
 
      static Short STATUS_SUCCESSFULLY = 255
 
      static Short STATUS_UNABLE_TO_RECEIVE = 1
 
      static Short STATUS_UNABLE_TO_RECEIVE_WITHOUT_CHECKSUM_ERROR = 0
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,946: Line 1,799:
 
   }
 
   }
  
==Geographic Location V1==
+
===Central Scene Supported Report===
Command Class: 0x8C
 
===Geographic Location Get===
 
 
Command: 0x02
 
Command: 0x02
   class hubitat.zwave.commands.geographiclocationv1.GeographicLocationGet {
+
   class hubitat.zwave.commands.centralscenev1.CentralSceneSupportedReport {
 +
      Short supportedScenes
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,956: Line 1,808:
 
   }
 
   }
  
===Geographic Location Report===
+
===Central Scene Notification===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.geographiclocationv1.GeographicLocationReport {
+
   class hubitat.zwave.commands.centralscenev1.CentralSceneNotification {
       Boolean latSign
+
       Short keyAttributes
       Short latitudeDegrees
+
       Short sceneNumber
       Short latitudeMinutes
+
       Short sequenceNumber
       Boolean longSign
+
       static Short KEY_HELD_DOWN = 2
       Short longitudeDegrees
+
       static Short KEY_PRESSED_1_TIME = 0
       Short longitudeMinutes
+
       static Short KEY_RELEASED = 1
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,970: Line 1,822:
 
   }
 
   }
  
===Geographic Location Set===
+
===Central Scene Supported Get===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.geographiclocationv1.GeographicLocationSet {
+
   class hubitat.zwave.commands.centralscenev1.CentralSceneSupportedGet {
      Boolean latSign
 
      Short latitudeDegrees
 
      Short latitudeMinutes
 
      Boolean longSign
 
      Short longitudeDegrees
 
      Short longitudeMinutes
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,984: Line 1,830:
 
   }
 
   }
  
==Grouping Name V1==
+
===Central Scene Supported Report===
Command Class: 0x7B
+
Command: 0x02
===Grouping Name Get===
+
   class hubitat.zwave.commands.centralscenev1.CentralSceneSupportedReport {
Command: 0x02
+
       Short supportedScenes
   class hubitat.zwave.commands.groupingnamev1.GroupingNameGet {
 
       Short groupingIdentifier
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 1,995: Line 1,839:
 
   }
 
   }
  
===Grouping Name Report===
+
==Central Scene V2==
 +
Command Class: 0x5B
 +
===Central Scene Notification===
 
Command: 0x03
 
Command: 0x03
   class hubitat.zwave.commands.groupingnamev1.GroupingNameReport {
+
   class hubitat.zwave.commands.centralscenev2.CentralSceneNotification {
       Short charPresentation
+
       Short keyAttributes
       List<GroupingNameReport> grouping
+
       Short sceneNumber
       Short groupingIdentifier
+
      Short sequenceNumber
 +
      static Short KEY_HELD_DOWN = 2
 +
      static Short KEY_PRESSED_1_TIME = 0
 +
      static Short KEY_PRESSED_2_TIMES = 3
 +
      static Short KEY_PRESSED_3_TIMES = 4
 +
      static Short KEY_PRESSED_4_TIMES = 5
 +
      static Short KEY_PRESSED_5_TIMES = 6
 +
       static Short KEY_RELEASED = 1
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,006: Line 1,859:
 
   }
 
   }
  
===Grouping Name Set===
+
===Central Scene Supported Get===
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.groupingnamev1.GroupingNameSet {
+
   class hubitat.zwave.commands.centralscenev2.CentralSceneSupportedGet {
      Short charPresentation
 
      List<GroupingNameSet> grouping
 
      Short groupingIdentifier
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,017: Line 1,867:
 
   }
 
   }
  
==Hail V1==
+
===Central Scene Supported Report===
Command Class: 0x82
+
Command: 0x02
===Hail===
+
   class hubitat.zwave.commands.centralscenev2.CentralSceneSupportedReport {
Command: 0x01
+
      Boolean identical
   class hubitat.zwave.commands.hailv1.Hail {
+
      List<CentralSceneSupportedReport> supportedKeyAttributes
 +
      Short supportedScenes
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,027: Line 1,878:
 
   }
 
   }
  
==Hrv Control V1==
+
===Central Scene Notification===
Command Class: 0x39
+
Command: 0x03
===Hrv Control Bypass Get===
+
   class hubitat.zwave.commands.centralscenev2.CentralSceneNotification {
Command: 0x05
+
      Short keyAttributes
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlBypassGet {
+
      Short sceneNumber
 +
      Short sequenceNumber
 +
      static Short KEY_HELD_DOWN = 2
 +
      static Short KEY_PRESSED_1_TIME = 0
 +
      static Short KEY_PRESSED_2_TIMES = 3
 +
      static Short KEY_PRESSED_3_TIMES = 4
 +
      static Short KEY_PRESSED_4_TIMES = 5
 +
      static Short KEY_PRESSED_5_TIMES = 6
 +
      static Short KEY_RELEASED = 1
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,037: Line 1,896:
 
   }
 
   }
  
===Hrv Control Bypass Report===
+
===Central Scene Supported Get===
Command: 0x06
+
Command: 0x01
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlBypassReport {
+
   class hubitat.zwave.commands.centralscenev2.CentralSceneSupportedGet {
      Short bypass
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,046: Line 1,904:
 
   }
 
   }
  
===Hrv Control Bypass Set===
+
===Central Scene Supported Report===
Command: 0x04
+
Command: 0x02
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlBypassSet {
+
   class hubitat.zwave.commands.centralscenev2.CentralSceneSupportedReport {
       Short bypass
+
      Boolean identical
 +
      List<CentralSceneSupportedReport> supportedKeyAttributes
 +
       Short supportedScenes
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,055: Line 1,915:
 
   }
 
   }
  
===Hrv Control Mode Get===
+
==Central Scene V3==
Command: 0x02
+
Command Class: 0x5B
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlModeGet {
+
===Central Scene Configuration Get===
 +
Command: 0x05
 +
   class hubitat.zwave.commands.centralscenev3.CentralSceneConfigurationGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,063: Line 1,925:
 
   }
 
   }
  
===Hrv Control Mode Report===
+
===Central Scene Configuration Report===
Command: 0x03
+
Command: 0x06
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlModeReport {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneConfigurationReport {
       Short mode
+
       Boolean slowRefresh
      static Short MODE_DEMAND_AUTOMATIC = 1
 
      static Short MODE_ENERGY_SAVINGS_MODE = 3
 
      static Short MODE_MANUAL = 4
 
      static Short MODE_OFF = 0
 
      static Short MODE_SCHEDULE = 2
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,077: Line 1,934:
 
   }
 
   }
  
===Hrv Control Mode Set===
+
===Central Scene Configuration Set===
Command: 0x01
+
Command: 0x04
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlModeSet {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneConfigurationSet {
       Short mode
+
       Boolean slowRefresh
      static Short MODE_DEMAND_AUTOMATIC = 1
 
      static Short MODE_ENERGY_SAVINGS_MODE = 3
 
      static Short MODE_MANUAL = 4
 
      static Short MODE_OFF = 0
 
      static Short MODE_SCHEDULE = 2
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,091: Line 1,943:
 
   }
 
   }
  
===Hrv Control Mode Supported Get===
+
===Central Scene Notification===
Command: 0x0A
+
Command: 0x03
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlModeSupportedGet {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneNotification {
 +
      Short keyAttributes
 +
      Short sceneNumber
 +
      Short sequenceNumber
 +
      Boolean slowRefresh
 +
      static Short KEY_HELD_DOWN = 2
 +
      static Short KEY_PRESSED_1_TIME = 0
 +
      static Short KEY_PRESSED_2_TIMES = 3
 +
      static Short KEY_PRESSED_3_TIMES = 4
 +
      static Short KEY_PRESSED_4_TIMES = 5
 +
      static Short KEY_PRESSED_5_TIMES = 6
 +
      static Short KEY_RELEASED = 1
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,099: Line 1,962:
 
   }
 
   }
  
===Hrv Control Mode Supported Report===
+
===Central Scene Supported Get===
Command: 0x0B
+
Command: 0x01
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlModeSupportedReport {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneSupportedGet {
      Boolean demandAutomatic
 
      Boolean energySavingsMode
 
      Boolean manual
 
      Short manualControlSupported
 
      Boolean off
 
      Boolean schedule
 
      static Short MANUAL_CONTROL_SUPPORTED_BYPASS_AUTO = 1
 
      static Short MANUAL_CONTROL_SUPPORTED_BYPASS_OPEN_CLOSE = 0
 
      static Short MANUAL_CONTROL_SUPPORTED_MODULATED_BYPASS = 2
 
      static Short MANUAL_CONTROL_SUPPORTED_VENTILATION_RATE = 3
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,117: Line 1,970:
 
   }
 
   }
  
===Hrv Control Ventilation Rate Get===
+
===Central Scene Supported Report===
Command: 0x08
+
Command: 0x02
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlVentilationRateGet {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneSupportedReport {
 +
      Boolean identical
 +
      Boolean slowRefresh
 +
      List<CentralSceneSupportedReport> supportedKeyAttributes
 +
      Short supportedScenes
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,125: Line 1,982:
 
   }
 
   }
  
===Hrv Control Ventilation Rate Report===
+
===Central Scene Configuration Get===
Command: 0x09
+
Command: 0x05
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlVentilationRateReport {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneConfigurationGet {
      Short ventilationRate
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,134: Line 1,990:
 
   }
 
   }
  
===Hrv Control Ventilation Rate Set===
+
===Central Scene Configuration Report===
Command: 0x07
+
Command: 0x06
   class hubitat.zwave.commands.hrvcontrolv1.HrvControlVentilationRateSet {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneConfigurationReport {
       Short ventilationRate
+
       Boolean slowRefresh
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,143: Line 1,999:
 
   }
 
   }
  
==Hrv Status V1==
+
===Central Scene Configuration Set===
Command Class: 0x37
+
Command: 0x04
===Hrv Status Get===
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneConfigurationSet {
Command: 0x01
+
       Boolean slowRefresh
   class hubitat.zwave.commands.hrvstatusv1.HrvStatusGet {
 
       Short statusParameter
 
      static Short STATUS_PARAMETER_DISCHARGE_AIR_TEMPERATURE = 3
 
      static Short STATUS_PARAMETER_EXHAUST_AIR_TEMPERATURE = 2
 
      static Short STATUS_PARAMETER_OUTDOOR_AIR_TEMPERATURE = 0
 
      static Short STATUS_PARAMETER_RELATIVE_HUMIDITY_IN_ROOM = 5
 
      static Short STATUS_PARAMETER_REMAINING_FILTER_LIFE = 6
 
      static Short STATUS_PARAMETER_ROOM_TEMPERATURE = 4
 
      static Short STATUS_PARAMETER_SUPPLY_AIR_TEMPERATURE = 1
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,161: Line 2,008:
 
   }
 
   }
  
===Hrv Status Report===
+
===Central Scene Notification===
Command: 0x02
+
Command: 0x03
   class hubitat.zwave.commands.hrvstatusv1.HrvStatusReport {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneNotification {
       Short precision
+
       Short keyAttributes
       Short scale
+
       Short sceneNumber
      BigDecimal scaledValue
+
       Short sequenceNumber
       Short size
+
       Boolean slowRefresh
       Short statusParameter
+
       static Short KEY_HELD_DOWN = 2
      List<HrvStatusReport> value
+
       static Short KEY_PRESSED_1_TIME = 0
       static Short STATUS_PARAMETER_DISCHARGE_AIR_TEMPERATURE = 3
+
       static Short KEY_PRESSED_2_TIMES = 3
       static Short STATUS_PARAMETER_EXHAUST_AIR_TEMPERATURE = 2
+
       static Short KEY_PRESSED_3_TIMES = 4
       static Short STATUS_PARAMETER_OUTDOOR_AIR_TEMPERATURE = 0
+
       static Short KEY_PRESSED_4_TIMES = 5
       static Short STATUS_PARAMETER_RELATIVE_HUMIDITY_IN_ROOM = 5
+
       static Short KEY_PRESSED_5_TIMES = 6
       static Short STATUS_PARAMETER_REMAINING_FILTER_LIFE = 6
+
       static Short KEY_RELEASED = 1
       static Short STATUS_PARAMETER_ROOM_TEMPERATURE = 4
+
    
       static Short STATUS_PARAMETER_SUPPLY_AIR_TEMPERATURE = 1
 
    
 
 
       List<Short> getPayload()
 
       List<Short> getPayload()
 
       String format()
 
       String format()
 
   }
 
   }
  
===Hrv Status Supported Get===
+
===Central Scene Supported Get===
Command: 0x03
+
Command: 0x01
   class hubitat.zwave.commands.hrvstatusv1.HrvStatusSupportedGet {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneSupportedGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,190: Line 2,035:
 
   }
 
   }
  
===Hrv Status Supported Report===
+
===Central Scene Supported Report===
Command: 0x04
+
Command: 0x02
   class hubitat.zwave.commands.hrvstatusv1.HrvStatusSupportedReport {
+
   class hubitat.zwave.commands.centralscenev3.CentralSceneSupportedReport {
       Boolean dischargeAirTemperature
+
       Boolean identical
       Boolean exhaustAirTemperature
+
       Boolean slowRefresh
       Boolean outdoorAirTemperature
+
       List<CentralSceneSupportedReport> supportedKeyAttributes
      Boolean relativeHumidityInRoom
+
       Short supportedScenes
       Boolean remainingFilterLife
 
      Boolean roomTemperature
 
      Boolean supplyAirTemperature
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,205: Line 2,047:
 
   }
 
   }
  
==Indicator V1==
+
==Chimney Fan V1==
Command Class: 0x87
+
Command Class: 0x2A
===Indicator Get===
+
===Chimney Fan Alarm Log Get===
Command: 0x02
+
Command: 0x20
   class hubitat.zwave.commands.indicatorv1.IndicatorGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,215: Line 2,057:
 
   }
 
   }
  
===Indicator Report===
+
===Chimney Fan Alarm Log Report===
Command: 0x03
+
Command: 0x21
   class hubitat.zwave.commands.indicatorv1.IndicatorReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogReport {
       Short value
+
       Boolean alarmStillActive1
 +
      Boolean alarmStillActive2
 +
      Boolean alarmStillActive3
 +
      Boolean alarmStillActive4
 +
      Boolean alarmStillActive5
 +
      Boolean alarmTemperatureExceeded1
 +
      Boolean alarmTemperatureExceeded2
 +
      Boolean alarmTemperatureExceeded3
 +
      Boolean alarmTemperatureExceeded4
 +
      Boolean alarmTemperatureExceeded5
 +
      Boolean externalAlarm1
 +
      Boolean externalAlarm2
 +
      Boolean externalAlarm3
 +
      Boolean externalAlarm4
 +
      Boolean externalAlarm5
 +
      Boolean sensorError1
 +
      Boolean sensorError2
 +
      Boolean sensorError3
 +
      Boolean sensorError4
 +
      Boolean sensorError5
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,224: Line 2,085:
 
   }
 
   }
  
===Indicator Set===
+
===Chimney Fan Alarm Log Set===
Command: 0x01
+
Command: 0x1F
   class hubitat.zwave.commands.indicatorv1.IndicatorSet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogSet {
       Short value
+
       Short MESSAGE_RESET_LOG
 +
      Short message
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,233: Line 2,095:
 
   }
 
   }
  
==Ip Configuration V1==
+
===Chimney Fan Alarm Status Get===
Command Class: 0x9A
+
Command: 0x23
===Ip Configuration Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusGet {
Command: 0x02
 
   class hubitat.zwave.commands.ipconfigurationv1.IpConfigurationGet {
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,243: Line 2,103:
 
   }
 
   }
  
===Ip Configuration Release===
+
===Chimney Fan Alarm Status Report===
Command: 0x04
+
Command: 0x24
   class hubitat.zwave.commands.ipconfigurationv1.IpConfigurationRelease {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusReport {
 +
      Boolean alarmTemperatureExceeded
 +
      Boolean externalAlarm
 +
      Short notUsed
 +
      Boolean sensorError
 +
      Boolean service
 +
      Boolean speedChangeEnable
 +
      Boolean startTemperatureExceeded
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,251: Line 2,118:
 
   }
 
   }
  
===Ip Configuration Renew===
+
===Chimney Fan Alarm Status Set===
Command: 0x05
+
Command: 0x22
   class hubitat.zwave.commands.ipconfigurationv1.IpConfigurationRenew {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusSet {
 +
      Boolean acknowledgeAlarmTemperatureExceeded
 +
      Boolean acknowledgeExternalAlarm
 +
      Boolean acknowledgeSensorError
 +
      Boolean notUsed1
 +
      Short notUsed2
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,259: Line 2,131:
 
   }
 
   }
  
===Ip Configuration Report===
+
===Chimney Fan Alarm Temp Get===
Command: 0x03
+
Command: 0x0E
   class hubitat.zwave.commands.ipconfigurationv1.IpConfigurationReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempGet {
      Boolean autoDns
 
      Boolean autoIp
 
      Integer dns1
 
      Integer dns2
 
      Integer gateway
 
      Integer ipAddress
 
      Integer leasetime
 
      Integer subnetMask
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,275: Line 2,139:
 
   }
 
   }
  
===Ip Configuration Set===
+
===Chimney Fan Alarm Temp Report===
Command: 0x01
+
Command: 0x0F
   class hubitat.zwave.commands.ipconfigurationv1.IpConfigurationSet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempReport {
       Boolean autoDns
+
       Short precision
       Boolean autoIp
+
       Short scale
       Integer dns1
+
       BigDecimal scaledValue
       Integer dns2
+
       Short size
       Integer gateway
+
       List<ChimneyFanAlarmTempReport> value
      Integer ipAddress
 
      Integer subnetMask
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,290: Line 2,152:
 
   }
 
   }
  
==Language V1==
+
===Chimney Fan Alarm Temp Set===
Command Class: 0x89
+
Command: 0x0D
===Language Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempSet {
Command: 0x02
+
      Short precision
   class hubitat.zwave.commands.languagev1.LanguageGet {
+
      Short scale
 +
      BigDecimal scaledValue
 +
      Short size
 +
      List<ChimneyFanAlarmTempSet> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,300: Line 2,165:
 
   }
 
   }
  
===Language Report===
+
===Chimney Fan Boost Time Get===
Command: 0x03
+
Command: 0x11
   class hubitat.zwave.commands.languagev1.LanguageReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeGet {
      Integer country
 
      Integer language
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,310: Line 2,173:
 
   }
 
   }
  
===Language Set===
+
===Chimney Fan Boost Time Report===
Command: 0x01
+
Command: 0x12
   class hubitat.zwave.commands.languagev1.LanguageSet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeReport {
       Integer country
+
       Short time
      Integer language
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,320: Line 2,182:
 
   }
 
   }
  
==Lock V1==
+
===Chimney Fan Boost Time Set===
Command Class: 0x76
+
Command: 0x10
===Lock Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeSet {
Command: 0x02
+
      Short time
   class hubitat.zwave.commands.lockv1.LockGet {
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,330: Line 2,191:
 
   }
 
   }
  
===Lock Report===
+
===Chimney Fan Default Set===
Command: 0x03
+
Command: 0x28
   class hubitat.zwave.commands.lockv1.LockReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanDefaultSet {
      Short lockState
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,339: Line 2,199:
 
   }
 
   }
  
===Lock Set===
+
===Chimney Fan Min Speed Get===
Command: 0x01
+
Command: 0x26
   class hubitat.zwave.commands.lockv1.LockSet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedGet {
      Short lockState
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,348: Line 2,207:
 
   }
 
   }
  
==Manufacturer Specific V1==
+
===Chimney Fan Min Speed Report===
Command Class: 0x72
+
Command: 0x27
===Manufacturer Specific Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedReport {
Command: 0x04
+
      Short minSpeed
   class hubitat.zwave.commands.manufacturerspecificv1.ManufacturerSpecificGet {
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,358: Line 2,216:
 
   }
 
   }
  
===Manufacturer Specific Report===
+
===Chimney Fan Min Speed Set===
Command: 0x05
+
Command: 0x25
   class hubitat.zwave.commands.manufacturerspecificv1.ManufacturerSpecificReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedSet {
       Integer manufacturerId
+
       Short minSpeed
      String manufacturerName
 
      Integer productId
 
      Integer productTypeId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,370: Line 2,225:
 
   }
 
   }
  
==Manufacturer Specific V2==
+
===Chimney Fan Mode Get===
Command Class: 0x72
+
Command: 0x17
===Device Specific Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeGet {
Command: 0x06
 
   class hubitat.zwave.commands.manufacturerspecificv2.DeviceSpecificGet {
 
      Short deviceIdType
 
      static Short DEVICE_ID_TYPE_FACTORY_DEFAULT = 0
 
      static Short DEVICE_ID_TYPE_PSEUDO_RANDOM = 2
 
      static Short DEVICE_ID_TYPE_SERIAL_NUMBER = 1
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,384: Line 2,233:
 
   }
 
   }
  
===Device Specific Report===
+
===Chimney Fan Mode Report===
Command: 0x07
+
Command: 0x18
   class hubitat.zwave.commands.manufacturerspecificv2.DeviceSpecificReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeReport {
       List<DeviceSpecificReport> deviceIdData
+
       Short MODE_OFF
      Short deviceIdDataFormat
+
       Short MODE_ON
      Short deviceIdDataLengthIndicator
+
       Short mode
      Short deviceIdType
 
      static Short DEVICE_ID_DATA_FORMAT_BINARY = 1
 
      static Short DEVICE_ID_DATA_FORMAT_UTF8 = 0
 
       static Short DEVICE_ID_TYPE_FACTORY_DEFAULT = 0
 
       static Short DEVICE_ID_TYPE_PSEUDO_RANDOM = 2
 
      static Short DEVICE_ID_TYPE_SERIAL_NUMBER = 1
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,401: Line 2,244:
 
   }
 
   }
  
===Manufacturer Specific Get===
+
===Chimney Fan Mode Set===
Command: 0x04
+
Command: 0x16
   class hubitat.zwave.commands.manufacturerspecificv2.ManufacturerSpecificGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeSet {
 +
      Short MODE_OFF
 +
      Short MODE_ON
 +
      Short mode
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,409: Line 2,255:
 
   }
 
   }
  
===Manufacturer Specific Report===
+
===Chimney Fan Setup Get===
Command: 0x05
+
Command: 0x1A
   class hubitat.zwave.commands.manufacturerspecificv2.ManufacturerSpecificReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupGet {
      Integer manufacturerId
 
      String manufacturerName
 
      Integer productId
 
      Integer productTypeId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,421: Line 2,263:
 
   }
 
   }
  
==Meter Pulse V1==
+
===Chimney Fan Setup Report===
Command Class: 0x35
+
Command: 0x1B
===Meter Pulse Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupReport {
Command: 0x04
+
      Short MODE_OFF
   class hubitat.zwave.commands.meterpulsev1.MeterPulseGet {
+
      Short MODE_ON
 +
      List<ChimneyFanSetupReport> alarmTemperatureValue
 +
      Short boostTime
 +
      Short minSpeed
 +
      Short mode
 +
      Short precision1
 +
      Short precision2
 +
      Short precision3
 +
      Short scale1
 +
      Short scale2
 +
      Short scale3
 +
      Short size1
 +
      Short size2
 +
      Short size3
 +
      List<ChimneyFanSetupReport> startTemperature
 +
      List<ChimneyFanSetupReport> stopTemperature
 +
      Short stopTime
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,431: Line 2,289:
 
   }
 
   }
  
===Meter Pulse Report===
+
===Chimney Fan Setup Set===
 +
Command: 0x19
 +
  class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupSet {
 +
      Short MODE_OFF
 +
      Short MODE_ON
 +
      List<ChimneyFanSetupSet> alarmTemperatureValue
 +
      Short boostTime
 +
      Short minSpeed
 +
      Short mode
 +
      Short precision1
 +
      Short precision2
 +
      Short precision3
 +
      Short scale1
 +
      Short scale2
 +
      Short scale3
 +
      Short size1
 +
      Short size2
 +
      Short size3
 +
      List<ChimneyFanSetupSet> startTemperature
 +
      List<ChimneyFanSetupSet> stopTemperature
 +
      Short stopTime
 +
 
 +
      List<Short> getPayload()
 +
      String format()
 +
  }
 +
 
 +
===Chimney Fan Speed Get===
 
Command: 0x05
 
Command: 0x05
   class hubitat.zwave.commands.meterpulsev1.MeterPulseReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedGet {
      Integer pulseCount
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,440: Line 2,323:
 
   }
 
   }
  
==Meter Tbl Config V1==
+
===Chimney Fan Speed Report===
Command Class: 0x3C
+
Command: 0x06
===Meter Tbl Table Point Adm No Set===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedReport {
Command: 0x01
+
       Short speed
   class hubitat.zwave.commands.metertblconfigv1.MeterTblTablePointAdmNoSet {
 
      List<MeterTblTablePointAdmNoSet> meterPointAdmNumberCharacter
 
       Short numberOfCharacters
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,452: Line 2,332:
 
   }
 
   }
  
==Meter Tbl Monitor V1==
+
===Chimney Fan Speed Set===
Command Class: 0x3D
+
Command: 0x04
===Meter Tbl Current Data Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedSet {
Command: 0x0C
+
       Short speed
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblCurrentDataGet {
 
       Integer datasetRequested
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,463: Line 2,341:
 
   }
 
   }
  
===Meter Tbl Current Data Report===
+
===Chimney Fan Start Temp Get===
Command: 0x0D
+
Command: 0x08
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblCurrentDataReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempGet {
      Integer dataset
 
      Short day
 
      Short hourLocalTime
 
      Short minuteLocalTime
 
      Short month
 
      Short rateType
 
      Short reportsToFollow
 
      Short secondLocalTime
 
      Integer year
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,480: Line 2,349:
 
   }
 
   }
  
===Meter Tbl Historical Data Get===
+
===Chimney Fan Start Temp Report===
Command: 0x0E
+
Command: 0x09
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblHistoricalDataGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempReport {
      Integer historicalDatasetRequested
+
       Short precision
      Short maximumReports
+
       Short scale
      Short startDay
+
       BigDecimal scaledValue
      Short startHourLocalTime
+
       Short size
      Short startMinuteLocalTime
+
       List<ChimneyFanStartTempReport> value
       Short startMonth
 
       Short startSecondLocalTime
 
      Integer startYear
 
       Short stopDay
 
      Short stopHourLocalTime
 
      Short stopMinuteLocalTime
 
      Short stopMonth
 
       Short stopSecondLocalTime
 
       Integer stopYear
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,502: Line 2,362:
 
   }
 
   }
  
===Meter Tbl Historical Data Report===
+
===Chimney Fan Start Temp Set===
Command: 0x0F
+
Command: 0x07
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblHistoricalDataReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempSet {
      Integer dataset
+
       Short precision
      Short day
+
       Short scale
      Short hourLocalTime
+
       BigDecimal scaledValue
      Short minuteLocalTime
+
       Short size
       Short month
+
       List<ChimneyFanStartTempSet> value
       Short rateType
 
       Short reportsToFollow
 
       Short secondLocalTime
 
       Integer year
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,519: Line 2,375:
 
   }
 
   }
  
===Meter Tbl Report===
+
===Chimney Fan State Get===
Command: 0x06
+
Command: 0x02
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateGet {
      Integer dataHistorySupported
 
      Integer datasetHistorySupported
 
      Integer datasetSupported
 
      Short meterType
 
      Short payMeter
 
      Short rateType
 
      static Short PAY_METER_CREDITMETER = 1
 
      static Short PAY_METER_PREPAYMENT_METER = 2
 
      static Short PAY_METER_PREPAYMENT_METER_DEBT = 3
 
      static Short PAY_METER_RESERVED0 = 0
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,537: Line 2,383:
 
   }
 
   }
  
===Meter Tbl Status Date Get===
+
===Chimney Fan State Report===
Command: 0x0A
+
Command: 0x03
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblStatusDateGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateReport {
       Short maximumReports
+
       Short STATE_BOOST
       Short startDay
+
       Short STATE_CHIMNEY_FIRE
       Short startHourLocalTime
+
       Short STATE_EXHAUST
       Short startMinuteLocalTime
+
       Short STATE_EXTERNAL_ALARM
       Short startMonth
+
       Short STATE_OFF
       Short startSecondLocalTime
+
       Short STATE_RELOAD
       Integer startYear
+
       Short STATE_SENSOR_FAILURE
       Short stopDay
+
       Short STATE_SERVICE
       Short stopHourLocalTime
+
       Short STATE_STOP
       Short stopMinuteLocalTime
+
       Short STATE_VENTING
       Short stopMonth
+
       Short STATE_VENTING_EX
       Short stopSecondLocalTime
+
       Short state
      Integer stopYear
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,558: Line 2,403:
 
   }
 
   }
  
===Meter Tbl Status Depth Get===
+
===Chimney Fan State Set===
Command: 0x09
+
Command: 0x01
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblStatusDepthGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateSet {
       Short statusEventLogDepth
+
       Short STATE_NEXT_STATE
 +
      Short state
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,567: Line 2,413:
 
   }
 
   }
  
===Meter Tbl Status Report===
+
===Chimney Fan Status Get===
Command: 0x0B
+
Command: 0x1D
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblStatusReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStatusGet {
      Integer currentOperatingStatus
 
      Short reportsToFollow
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,577: Line 2,421:
 
   }
 
   }
  
===Meter Tbl Status Supported Get===
+
===Chimney Fan Status Report===
Command: 0x07
+
Command: 0x1E
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblStatusSupportedGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStatusReport {
 +
      Short STATE_BOOST
 +
      Short STATE_CHIMNEY_FIRE
 +
      Short STATE_EXHAUST
 +
      Short STATE_EXTERNAL_ALARM
 +
      Short STATE_OFF
 +
      Short STATE_RELOAD
 +
      Short STATE_SENSOR_FAILURE
 +
      Short STATE_SERVICE
 +
      Short STATE_STOP
 +
      Short STATE_VENTING
 +
      Short STATE_VENTING_EX
 +
      Boolean alarmTemperatureExceeded
 +
      Boolean externalAlarm
 +
      Short notUsed
 +
      Short precision
 +
      Short scale
 +
      BigDecimal scaledValue
 +
      Boolean sensorError
 +
      Boolean service
 +
      Short size
 +
      Short speed
 +
      Boolean speedChangeEnable
 +
      Boolean startTemperatureExceeded
 +
      Short state
 +
      List<ChimneyFanStatusReport> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,585: Line 2,454:
 
   }
 
   }
  
===Meter Tbl Status Supported Report===
+
===Chimney Fan Stop Temp Get===
Command: 0x08
+
Command: 0x0B
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblStatusSupportedReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempGet {
      Short statusEventLogDepth
 
      Integer supportedOperatingStatus
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,595: Line 2,462:
 
   }
 
   }
  
===Meter Tbl Table Capability Get===
+
===Chimney Fan Stop Temp Report===
Command: 0x05
+
Command: 0x0C
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblTableCapabilityGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempReport {
 +
      Short precision
 +
      Short scale
 +
      BigDecimal scaledValue
 +
      Short size
 +
      List<ChimneyFanStopTempReport> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,603: Line 2,475:
 
   }
 
   }
  
===Meter Tbl Table Id Get===
+
===Chimney Fan Stop Temp Set===
Command: 0x03
+
Command: 0x0A
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblTableIdGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempSet {
 +
      Short precision
 +
      Short scale
 +
      BigDecimal scaledValue
 +
      Short size
 +
      List<ChimneyFanStopTempSet> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,611: Line 2,488:
 
   }
 
   }
  
===Meter Tbl Table Id Report===
+
===Chimney Fan Stop Time Get===
Command: 0x04
+
Command: 0x14
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblTableIdReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeGet {
      List<MeterTblTableIdReport> meterIdCharacter
 
      Short numberOfCharacters
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,621: Line 2,496:
 
   }
 
   }
  
===Meter Tbl Table Point Adm No Get===
+
===Chimney Fan Stop Time Report===
Command: 0x01
+
Command: 0x15
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblTablePointAdmNoGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeReport {
 +
      Short time
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,629: Line 2,505:
 
   }
 
   }
  
===Meter Tbl Table Point Adm No Report===
+
===Chimney Fan Stop Time Set===
Command: 0x02
+
Command: 0x13
   class hubitat.zwave.commands.metertblmonitorv1.MeterTblTablePointAdmNoReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeSet {
      List<MeterTblTablePointAdmNoReport> meterPointAdmNumberCharacter
+
       Short time
       Short numberOfCharacters
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,639: Line 2,514:
 
   }
 
   }
  
==Meter Tbl Monitor V2==
+
===Chimney Fan Alarm Log Get===
Command Class: 0x3D
+
Command: 0x20
===Meter Tbl Current Data Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogGet {
Command: 0x0C
 
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblCurrentDataGet {
 
      Integer datasetRequested
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,650: Line 2,522:
 
   }
 
   }
  
===Meter Tbl Current Data Report===
+
===Chimney Fan Alarm Log Report===
Command: 0x0D
+
Command: 0x21
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblCurrentDataReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogReport {
       Integer dataset
+
       Boolean alarmStillActive1
       Short day
+
      Boolean alarmStillActive2
       Short hourLocalTime
+
      Boolean alarmStillActive3
       Short minuteLocalTime
+
      Boolean alarmStillActive4
       Short month
+
       Boolean alarmStillActive5
       Boolean operatingStatusIndication
+
       Boolean alarmTemperatureExceeded1
       Short rateType
+
      Boolean alarmTemperatureExceeded2
       Short reportsToFollow
+
       Boolean alarmTemperatureExceeded3
       Short secondLocalTime
+
       Boolean alarmTemperatureExceeded4
       Integer year
+
       Boolean alarmTemperatureExceeded5
 +
       Boolean externalAlarm1
 +
       Boolean externalAlarm2
 +
       Boolean externalAlarm3
 +
       Boolean externalAlarm4
 +
      Boolean externalAlarm5
 +
      Boolean sensorError1
 +
      Boolean sensorError2
 +
      Boolean sensorError3
 +
      Boolean sensorError4
 +
      Boolean sensorError5
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,668: Line 2,550:
 
   }
 
   }
  
===Meter Tbl Historical Data Get===
+
===Chimney Fan Alarm Log Set===
Command: 0x0E
+
Command: 0x1F
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblHistoricalDataGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmLogSet {
      Integer historicalDatasetRequested
+
       Short MESSAGE_RESET_LOG
       Short maximumReports
+
       Short message
       Short startDay
 
      Short startHourLocalTime
 
      Short startMinuteLocalTime
 
      Short startMonth
 
      Short startSecondLocalTime
 
      Integer startYear
 
      Short stopDay
 
      Short stopHourLocalTime
 
      Short stopMinuteLocalTime
 
      Short stopMonth
 
      Short stopSecondLocalTime
 
      Integer stopYear
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,690: Line 2,560:
 
   }
 
   }
  
===Meter Tbl Historical Data Report===
+
===Chimney Fan Alarm Status Get===
Command: 0x0F
+
Command: 0x23
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblHistoricalDataReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusGet {
      Integer dataset
 
      Short day
 
      Short hourLocalTime
 
      Short minuteLocalTime
 
      Short month
 
      Boolean operatingStatusIndication
 
      Short rateType
 
      Short reportsToFollow
 
      Short secondLocalTime
 
      Integer year
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,708: Line 2,568:
 
   }
 
   }
  
===Meter Tbl Report===
+
===Chimney Fan Alarm Status Report===
Command: 0x06
+
Command: 0x24
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusReport {
       Integer dataHistorySupported
+
       Boolean alarmTemperatureExceeded
       Integer datasetHistorySupported
+
       Boolean externalAlarm
      Integer datasetSupported
+
       Short notUsed
      Short meterType
+
       Boolean sensorError
      Short payMeter
+
       Boolean service
       Short rateType
+
       Boolean speedChangeEnable
       static Short PAY_METER_CREDITMETER = 1
+
       Boolean startTemperatureExceeded
       static Short PAY_METER_PREPAYMENT_METER = 2
 
       static Short PAY_METER_PREPAYMENT_METER_DEBT = 3
 
       static Short PAY_METER_RESERVED0 = 0
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,726: Line 2,583:
 
   }
 
   }
  
===Meter Tbl Status Date Get===
+
===Chimney Fan Alarm Status Set===
Command: 0x0A
+
Command: 0x22
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblStatusDateGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmStatusSet {
       Short maximumReports
+
       Boolean acknowledgeAlarmTemperatureExceeded
      Short startDay
+
       Boolean acknowledgeExternalAlarm
      Short startHourLocalTime
+
       Boolean acknowledgeSensorError
      Short startMinuteLocalTime
+
       Boolean notUsed1
      Short startMonth
+
       Short notUsed2
       Short startSecondLocalTime
 
       Integer startYear
 
       Short stopDay
 
       Short stopHourLocalTime
 
      Short stopMinuteLocalTime
 
      Short stopMonth
 
      Short stopSecondLocalTime
 
      Integer stopYear
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,747: Line 2,596:
 
   }
 
   }
  
===Meter Tbl Status Depth Get===
+
===Chimney Fan Alarm Temp Get===
Command: 0x09
+
Command: 0x0E
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblStatusDepthGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempGet {
      Short statusEventLogDepth
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,756: Line 2,604:
 
   }
 
   }
  
===Meter Tbl Status Report===
+
===Chimney Fan Alarm Temp Report===
Command: 0x0B
+
Command: 0x0F
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblStatusReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempReport {
       Integer currentOperatingStatus
+
       Short precision
       Short reportsToFollow
+
      Short scale
 +
      BigDecimal scaledValue
 +
       Short size
 +
      List<ChimneyFanAlarmTempReport> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,766: Line 2,617:
 
   }
 
   }
  
===Meter Tbl Status Supported Get===
+
===Chimney Fan Alarm Temp Set===
Command: 0x07
+
Command: 0x0D
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblStatusSupportedGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanAlarmTempSet {
 +
      Short precision
 +
      Short scale
 +
      BigDecimal scaledValue
 +
      Short size
 +
      List<ChimneyFanAlarmTempSet> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,774: Line 2,630:
 
   }
 
   }
  
===Meter Tbl Status Supported Report===
+
===Chimney Fan Boost Time Get===
Command: 0x08
+
Command: 0x11
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblStatusSupportedReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeGet {
      Short statusEventLogDepth
 
      Integer supportedOperatingStatus
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,784: Line 2,638:
 
   }
 
   }
  
===Meter Tbl Table Capability Get===
+
===Chimney Fan Boost Time Report===
Command: 0x05
+
Command: 0x12
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblTableCapabilityGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeReport {
 +
      Short time
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,792: Line 2,647:
 
   }
 
   }
  
===Meter Tbl Table Id Get===
+
===Chimney Fan Boost Time Set===
Command: 0x03
+
Command: 0x10
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblTableIdGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanBoostTimeSet {
 +
      Short time
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,800: Line 2,656:
 
   }
 
   }
  
===Meter Tbl Table Id Report===
+
===Chimney Fan Default Set===
Command: 0x04
+
Command: 0x28
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblTableIdReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanDefaultSet {
      List<MeterTblTableIdReport> meterIdCharacter
 
      Short numberOfCharacters
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,810: Line 2,664:
 
   }
 
   }
  
===Meter Tbl Table Point Adm No Get===
+
===Chimney Fan Min Speed Get===
Command: 0x01
+
Command: 0x26
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblTablePointAdmNoGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,818: Line 2,672:
 
   }
 
   }
  
===Meter Tbl Table Point Adm No Report===
+
===Chimney Fan Min Speed Report===
Command: 0x02
+
Command: 0x27
   class hubitat.zwave.commands.metertblmonitorv2.MeterTblTablePointAdmNoReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedReport {
      List<MeterTblTablePointAdmNoReport> meterPointAdmNumberCharacter
+
       Short minSpeed
       Short numberOfCharacters
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,828: Line 2,681:
 
   }
 
   }
  
==Meter Tbl Push V1==
+
===Chimney Fan Min Speed Set===
Command Class: 0x3E
+
Command: 0x25
===Meter Tbl Push Configuration Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanMinSpeedSet {
Command: 0x01
+
      Short minSpeed
   class hubitat.zwave.commands.metertblpushv1.MeterTblPushConfigurationGet {
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,838: Line 2,690:
 
   }
 
   }
  
===Meter Tbl Push Configuration Report===
+
===Chimney Fan Mode Get===
Command: 0x03
+
Command: 0x17
   class hubitat.zwave.commands.metertblpushv1.MeterTblPushConfigurationReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeGet {
      Short intervalDays
 
      Short intervalHours
 
      Short intervalMinutes
 
      Short intervalMonths
 
      Short operatingStatusPushMode
 
      Boolean ps
 
      Integer pushDataset
 
      Short pushNodeId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,854: Line 2,698:
 
   }
 
   }
  
===Meter Tbl Push Configuration Set===
+
===Chimney Fan Mode Report===
Command: 0x01
+
Command: 0x18
   class hubitat.zwave.commands.metertblpushv1.MeterTblPushConfigurationSet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeReport {
       Short intervalDays
+
       Short MODE_OFF
       Short intervalHours
+
       Short MODE_ON
       Short intervalMinutes
+
       Short mode
      Short intervalMonths
 
      Short operatingStatusPushMode
 
      Boolean ps
 
      Integer pushDataset
 
      Short pushNodeId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,870: Line 2,709:
 
   }
 
   }
  
==Meter V1==
+
===Chimney Fan Mode Set===
Command Class: 0x32
+
Command: 0x16
===Meter Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanModeSet {
Command: 0x01
+
      Short MODE_OFF
   class hubitat.zwave.commands.meterv1.MeterGet {
+
      Short MODE_ON
 +
      Short mode
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,880: Line 2,720:
 
   }
 
   }
  
===Meter Report===
+
===Chimney Fan Setup Get===
Command: 0x02
+
Command: 0x1A
   class hubitat.zwave.commands.meterv1.MeterReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupGet {
      Short meterType
 
      List<MeterReport> meterValue
 
      Short precision
 
      Short scale
 
      BigDecimal scaledMeterValue
 
      Short size
 
      static Short METER_TYPE_ELECTRIC_METER = 1
 
      static Short METER_TYPE_GAS_METER = 2
 
      static Short METER_TYPE_WATER_METER = 3
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,897: Line 2,728:
 
   }
 
   }
  
==Meter V2==
+
===Chimney Fan Setup Report===
Command Class: 0x32
+
Command: 0x1B
===Meter Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupReport {
Command: 0x01
+
       Short MODE_OFF
   class hubitat.zwave.commands.meterv2.MeterGet {
+
      Short MODE_ON
       Short scale
+
      List<ChimneyFanSetupReport> alarmTemperatureValue
 +
      Short boostTime
 +
      Short minSpeed
 +
      Short mode
 +
      Short precision1
 +
      Short precision2
 +
      Short precision3
 +
      Short scale1
 +
      Short scale2
 +
      Short scale3
 +
      Short size1
 +
      Short size2
 +
      Short size3
 +
      List<ChimneyFanSetupReport> startTemperature
 +
      List<ChimneyFanSetupReport> stopTemperature
 +
      Short stopTime
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,908: Line 2,754:
 
   }
 
   }
  
===Meter Report===
+
===Chimney Fan Setup Set===
Command: 0x02
+
Command: 0x19
   class hubitat.zwave.commands.meterv2.MeterReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSetupSet {
      Integer deltaTime
+
       Short MODE_OFF
       Short meterType
+
       Short MODE_ON
       Short precision
+
       List<ChimneyFanSetupSet> alarmTemperatureValue
       List<MeterReport> previousMeterValue
+
      Short boostTime
       Short rateType
+
      Short minSpeed
       Short scale
+
      Short mode
       BigDecimal scaledMeterValue
+
      Short precision1
       BigDecimal scaledPreviousMeterValue
+
      Short precision2
       Short size
+
       Short precision3
       static Short METER_TYPE_ELECTRIC_METER = 1
+
       Short scale1
       static Short METER_TYPE_GAS_METER = 2
+
       Short scale2
       static Short METER_TYPE_WATER_METER = 3
+
       Short scale3
 +
       Short size1
 +
       Short size2
 +
       Short size3
 +
      List<ChimneyFanSetupSet> startTemperature
 +
      List<ChimneyFanSetupSet> stopTemperature
 +
       Short stopTime
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,928: Line 2,780:
 
   }
 
   }
  
===Meter Reset===
+
===Chimney Fan Speed Get===
 
Command: 0x05
 
Command: 0x05
   class hubitat.zwave.commands.meterv2.MeterReset {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,936: Line 2,788:
 
   }
 
   }
  
===Meter Supported Get===
+
===Chimney Fan Speed Report===
Command: 0x03
+
Command: 0x06
   class hubitat.zwave.commands.meterv2.MeterSupportedGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedReport {
 +
      Short speed
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,944: Line 2,797:
 
   }
 
   }
  
===Meter Supported Report===
+
===Chimney Fan Speed Set===
 
Command: 0x04
 
Command: 0x04
   class hubitat.zwave.commands.meterv2.MeterSupportedReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanSpeedSet {
      Boolean meterReset
+
       Short speed
      Short meterType
 
       Short scaleSupported
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,955: Line 2,806:
 
   }
 
   }
  
==Meter V3==
+
===Chimney Fan Start Temp Get===
Command Class: 0x32
+
Command: 0x08
===Meter Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempGet {
Command: 0x01
 
   class hubitat.zwave.commands.meterv3.MeterGet {
 
      Short scale
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,966: Line 2,814:
 
   }
 
   }
  
===Meter Report===
+
===Chimney Fan Start Temp Report===
Command: 0x02
+
Command: 0x09
   class hubitat.zwave.commands.meterv3.MeterReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempReport {
      Integer deltaTime
 
      Short meterType
 
 
       Short precision
 
       Short precision
      Short rateType
 
 
       Short scale
 
       Short scale
       BigDecimal scaledMeterValue
+
       BigDecimal scaledValue
      BigDecimal scaledPreviousMeterValue
 
 
       Short size
 
       Short size
       static Short METER_TYPE_ELECTRIC_METER = 1
+
       List<ChimneyFanStartTempReport> value
      static Short METER_TYPE_GAS_METER = 2
 
      static Short METER_TYPE_WATER_METER = 3
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,985: Line 2,827:
 
   }
 
   }
  
===Meter Reset===
+
===Chimney Fan Start Temp Set===
Command: 0x05
+
Command: 0x07
   class hubitat.zwave.commands.meterv3.MeterReset {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStartTempSet {
 +
      Short precision
 +
      Short scale
 +
      BigDecimal scaledValue
 +
      Short size
 +
      List<ChimneyFanStartTempSet> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 2,993: Line 2,840:
 
   }
 
   }
  
===Meter Supported Get===
+
===Chimney Fan State Get===
Command: 0x03
+
Command: 0x02
   class hubitat.zwave.commands.meterv3.MeterSupportedGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,001: Line 2,848:
 
   }
 
   }
  
===Meter Supported Report===
+
===Chimney Fan State Report===
Command: 0x04
+
Command: 0x03
   class hubitat.zwave.commands.meterv3.MeterSupportedReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateReport {
       Boolean meterReset
+
       Short STATE_BOOST
       Short meterType
+
      Short STATE_CHIMNEY_FIRE
       Short scaleSupported
+
      Short STATE_EXHAUST
 +
      Short STATE_EXTERNAL_ALARM
 +
      Short STATE_OFF
 +
      Short STATE_RELOAD
 +
      Short STATE_SENSOR_FAILURE
 +
      Short STATE_SERVICE
 +
      Short STATE_STOP
 +
      Short STATE_VENTING
 +
       Short STATE_VENTING_EX
 +
       Short state
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,012: Line 2,868:
 
   }
 
   }
  
==Meter V4==
+
===Chimney Fan State Set===
Command Class: 0x32
 
===Meter Get===
 
 
Command: 0x01
 
Command: 0x01
   class hubitat.zwave.commands.meterv4.MeterGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStateSet {
       Short rateType
+
       Short STATE_NEXT_STATE
       Short scale
+
       Short state
      Short scale2
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,025: Line 2,878:
 
   }
 
   }
  
===Meter Report===
+
===Chimney Fan Status Get===
Command: 0x02
+
Command: 0x1D
   class hubitat.zwave.commands.meterv4.MeterReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStatusGet {
      Integer deltaTime
 
      Short meterType
 
      Short precision
 
      Short rateType
 
      Short scale
 
      Short scale2
 
      BigDecimal scaledMeterValue
 
      BigDecimal scaledPreviousMeterValue
 
      Short size
 
      static Short METER_TYPE_ELECTRIC_METER = 1
 
      static Short METER_TYPE_GAS_METER = 2
 
      static Short METER_TYPE_WATER_METER = 3
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,045: Line 2,886:
 
   }
 
   }
  
===Meter Reset===
+
===Chimney Fan Status Report===
Command: 0x05
+
Command: 0x1E
   class hubitat.zwave.commands.meterv4.MeterReset {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStatusReport {
 
+
      Short STATE_BOOST
       List<Short> getPayload()
+
      Short STATE_CHIMNEY_FIRE
       String format()
+
      Short STATE_EXHAUST
  }
+
      Short STATE_EXTERNAL_ALARM
 
+
      Short STATE_OFF
===Meter Supported Get===
+
      Short STATE_RELOAD
Command: 0x03
+
      Short STATE_SENSOR_FAILURE
  class hubitat.zwave.commands.meterv4.MeterSupportedGet {
+
      Short STATE_SERVICE
    
+
      Short STATE_STOP
       List<Short> getPayload()
+
      Short STATE_VENTING
 +
      Short STATE_VENTING_EX
 +
      Boolean alarmTemperatureExceeded
 +
      Boolean externalAlarm
 +
      Short notUsed
 +
      Short precision
 +
       Short scale
 +
      BigDecimal scaledValue
 +
      Boolean sensorError
 +
       Boolean service
 +
      Short size
 +
      Short speed
 +
      Boolean speedChangeEnable
 +
      Boolean startTemperatureExceeded
 +
      Short state
 +
      List<ChimneyFanStatusReport> value
 +
    
 +
       List<Short> getPayload()
 
       String format()
 
       String format()
 
   }
 
   }
  
===Meter Supported Report===
+
===Chimney Fan Stop Temp Get===
Command: 0x04
+
Command: 0x0B
   class hubitat.zwave.commands.meterv4.MeterSupportedReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempGet {
      Boolean meterReset
 
      Short meterType
 
      Boolean moreScaleTypes
 
      Short rateType
 
      Short scaleSupported
 
      List<MeterSupportedReport> scaleSupportedBytes
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,075: Line 2,927:
 
   }
 
   }
  
==Mtp Window Covering V1==
+
===Chimney Fan Stop Temp Report===
Command Class: 0x51
+
Command: 0x0C
===Move To Position Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempReport {
Command: 0x02
+
      Short precision
   class hubitat.zwave.commands.mtpwindowcoveringv1.MoveToPositionGet {
+
      Short scale
 +
      BigDecimal scaledValue
 +
      Short size
 +
      List<ChimneyFanStopTempReport> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,085: Line 2,940:
 
   }
 
   }
  
===Move To Position Report===
+
===Chimney Fan Stop Temp Set===
Command: 0x03
+
Command: 0x0A
   class hubitat.zwave.commands.mtpwindowcoveringv1.MoveToPositionReport {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTempSet {
       Short value
+
       Short precision
 +
      Short scale
 +
      BigDecimal scaledValue
 +
      Short size
 +
      List<ChimneyFanStopTempSet> value
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,094: Line 2,953:
 
   }
 
   }
  
===Move To Position Set===
+
===Chimney Fan Stop Time Get===
Command: 0x01
+
Command: 0x14
   class hubitat.zwave.commands.mtpwindowcoveringv1.MoveToPositionSet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeGet {
      Short value
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,103: Line 2,961:
 
   }
 
   }
  
==Multi Channel Association V2==
+
===Chimney Fan Stop Time Report===
Command Class: 0x8E
+
Command: 0x15
===Multi Channel Association Get===
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeReport {
Command: 0x02
+
       Short time
   class hubitat.zwave.commands.multichannelassociationv2.MultiChannelAssociationGet {
 
       Short groupingIdentifier
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,114: Line 2,970:
 
   }
 
   }
  
===Multi Channel Association Groupings Get===
+
===Chimney Fan Stop Time Set===
Command: 0x05
+
Command: 0x13
   class hubitat.zwave.commands.multichannelassociationv2.MultiChannelAssociationGroupingsGet {
+
   class hubitat.zwave.commands.chimneyfanv1.ChimneyFanStopTimeSet {
 +
      Short time
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,122: Line 2,979:
 
   }
 
   }
  
===Multi Channel Association Groupings Report===
+
==Climate Control Schedule V1==
Command: 0x06
+
Command Class: 0x46
  class hubitat.zwave.commands.multichannelassociationv2.MultiChannelAssociationGroupingsReport {
+
===Schedule Changed Get===
      Short supportedGroupings
 
 
 
      List<Short> getPayload()
 
      String format()
 
  }
 
 
 
===Multi Channel Association Remove===
 
 
Command: 0x04
 
Command: 0x04
   class hubitat.zwave.commands.multichannelassociationv2.MultiChannelAssociationRemove {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleChangedGet {
      Short groupingIdentifier
 
      Object nodeId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,141: Line 2,989:
 
   }
 
   }
  
===Multi Channel Association Report===
+
===Schedule Changed Report===
Command: 0x03
+
Command: 0x05
   class hubitat.zwave.commands.multichannelassociationv2.MultiChannelAssociationReport {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleChangedReport {
       Short groupingIdentifier
+
       Short changecounter
      Short maxNodesSupported
 
      List<MultiChannelAssociationReport> nodeId
 
      Short reportsToFollow
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,153: Line 2,998:
 
   }
 
   }
  
===Multi Channel Association Set===
+
===Schedule Get===
Command: 0x01
+
Command: 0x02
   class hubitat.zwave.commands.multichannelassociationv2.MultiChannelAssociationSet {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleGet {
       Short groupingIdentifier
+
       Short weekday
      List<MultiChannelAssociationSet> nodeId
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,163: Line 3,007:
 
   }
 
   }
  
==Multi Channel V3==
+
===Schedule Override Get===
Command Class: 0x60
+
Command: 0x07
===Multi Channel Capability Get===
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideGet {
Command: 0x09
 
   class hubitat.zwave.commands.multichannelv3.MultiChannelCapabilityGet {
 
      Short endPoint
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,174: Line 3,015:
 
   }
 
   }
  
===Multi Channel Capability Report===
+
===Schedule Override Report===
Command: 0x0A
+
Command: 0x08
   class hubitat.zwave.commands.multichannelv3.MultiChannelCapabilityReport {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideReport {
       List<MultiChannelCapabilityReport> commandClass
+
       Short overrideState
       Boolean dynamic
+
       Short overrideType
       Short endPoint
+
       static Short OVERRIDE_STATE_NO_OVERRIDE = 0
       Short genericDeviceClass
+
       static Short OVERRIDE_STATE_PERMANENT_OVERRIDE = 2
       Short specificDeviceClass
+
       static Short OVERRIDE_STATE_RESERVED3 = 3
 +
      static Short OVERRIDE_STATE_TEMPORARY_OVERRIDE = 1
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,187: Line 3,029:
 
   }
 
   }
  
===Multi Channel Cmd Encap===
+
===Schedule Override Set===
Command: 0x0D
+
Command: 0x06
   class hubitat.zwave.commands.multichannelv3.MultiChannelCmdEncap {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideSet {
       Boolean bitAddress
+
       Short overrideState
       Short command
+
       Short overrideType
       Short commandClass
+
       static Short OVERRIDE_STATE_NO_OVERRIDE = 0
       Short destinationEndPoint
+
       static Short OVERRIDE_STATE_PERMANENT_OVERRIDE = 2
       List<MultiChannelCmdEncap> parameter
+
       static Short OVERRIDE_STATE_RESERVED3 = 3
      Boolean res01
+
       static Short OVERRIDE_STATE_TEMPORARY_OVERRIDE = 1
       Short sourceEndPoint
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,202: Line 3,043:
 
   }
 
   }
  
===Multi Channel End Point Find===
+
===Schedule Report===
Command: 0x0B
+
Command: 0xXM
   class hubitat.zwave.commands.multichannelv3.MultiChannelEndPointFind {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleReport {
       Short genericDeviceClass
+
       Integer switchpoint0
       Short specificDeviceClass
+
      Integer switchpoint1
 +
      Integer switchpoint2
 +
      Integer switchpoint3
 +
      Integer switchpoint4
 +
      Integer switchpoint5
 +
      Integer switchpoint6
 +
      Integer switchpoint7
 +
      Integer switchpoint8
 +
       Short weekday
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,212: Line 3,061:
 
   }
 
   }
  
===Multi Channel End Point Find Report===
+
===Schedule Set===
Command: 0x0C
+
Command: 0xXM
   class hubitat.zwave.commands.multichannelv3.MultiChannelEndPointFindReport {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleSet {
       List<MultiChannelEndPointFindReport> endPoints
+
       Integer switchpoint0
       Short genericDeviceClass
+
       Integer switchpoint1
       Short reportsToFollow
+
      Integer switchpoint2
       Short specificDeviceClass
+
      Integer switchpoint3
 +
      Integer switchpoint4
 +
      Integer switchpoint5
 +
      Integer switchpoint6
 +
      Integer switchpoint7
 +
       Integer switchpoint8
 +
       Short weekday
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,224: Line 3,079:
 
   }
 
   }
  
===Multi Channel End Point Get===
+
===Schedule Changed Get===
Command: 0x07
+
Command: 0x04
   class hubitat.zwave.commands.multichannelv3.MultiChannelEndPointGet {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleChangedGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,232: Line 3,087:
 
   }
 
   }
  
===Multi Channel End Point Report===
+
===Schedule Changed Report===
Command: 0x08
+
Command: 0x05
   class hubitat.zwave.commands.multichannelv3.MultiChannelEndPointReport {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleChangedReport {
      Boolean dynamic
+
       Short changecounter
       Short endPoints
 
      Boolean identical
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,243: Line 3,096:
 
   }
 
   }
  
==Multi Cmd V1==
+
===Schedule Get===
Command Class: 0x8F
+
Command: 0x02
===Multi Cmd Encap===
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleGet {
Command: 0x01
+
       Short weekday
   class hubitat.zwave.commands.multicmdv1.MultiCmdEncap {
 
       Short numberOfCommands
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,254: Line 3,105:
 
   }
 
   }
  
==Multi Instance Association V1==
+
===Schedule Override Get===
Command Class: 0x8E
+
Command: 0x07
===Multi Instance Association Get===
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideGet {
Command: 0x02
 
   class hubitat.zwave.commands.multiinstanceassociationv1.MultiInstanceAssociationGet {
 
      Short groupingIdentifier
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,265: Line 3,113:
 
   }
 
   }
  
===Multi Instance Association Groupings Get===
+
===Schedule Override Report===
Command: 0x05
+
Command: 0x08
   class hubitat.zwave.commands.multiinstanceassociationv1.MultiInstanceAssociationGroupingsGet {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideReport {
 +
      Short overrideState
 +
      Short overrideType
 +
      static Short OVERRIDE_STATE_NO_OVERRIDE = 0
 +
      static Short OVERRIDE_STATE_PERMANENT_OVERRIDE = 2
 +
      static Short OVERRIDE_STATE_RESERVED3 = 3
 +
      static Short OVERRIDE_STATE_TEMPORARY_OVERRIDE = 1
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,273: Line 3,127:
 
   }
 
   }
  
===Multi Instance Association Groupings Report===
+
===Schedule Override Set===
 
Command: 0x06
 
Command: 0x06
   class hubitat.zwave.commands.multiinstanceassociationv1.MultiInstanceAssociationGroupingsReport {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleOverrideSet {
       Short supportedGroupings
+
       Short overrideState
 +
      Short overrideType
 +
      static Short OVERRIDE_STATE_NO_OVERRIDE = 0
 +
      static Short OVERRIDE_STATE_PERMANENT_OVERRIDE = 2
 +
      static Short OVERRIDE_STATE_RESERVED3 = 3
 +
      static Short OVERRIDE_STATE_TEMPORARY_OVERRIDE = 1
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,282: Line 3,141:
 
   }
 
   }
  
===Multi Instance Association Remove===
+
===Schedule Report===
Command: 0x04
+
Command: 0xXM
   class hubitat.zwave.commands.multiinstanceassociationv1.MultiInstanceAssociationRemove {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleReport {
       Short groupingIdentifier
+
       Integer switchpoint0
       Object nodeId
+
      Integer switchpoint1
 +
      Integer switchpoint2
 +
      Integer switchpoint3
 +
      Integer switchpoint4
 +
      Integer switchpoint5
 +
      Integer switchpoint6
 +
      Integer switchpoint7
 +
      Integer switchpoint8
 +
       Short weekday
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,292: Line 3,159:
 
   }
 
   }
  
===Multi Instance Association Report===
+
===Schedule Set===
Command: 0x03
+
Command: 0xXM
   class hubitat.zwave.commands.multiinstanceassociationv1.MultiInstanceAssociationReport {
+
   class hubitat.zwave.commands.climatecontrolschedulev1.ScheduleSet {
       Short groupingIdentifier
+
       Integer switchpoint0
       Short maxNodesSupported
+
      Integer switchpoint1
       List<MultiInstanceAssociationReport> nodeId
+
      Integer switchpoint2
       Short reportsToFollow
+
      Integer switchpoint3
    
+
      Integer switchpoint4
       List<Short> getPayload()
+
      Integer switchpoint5
 +
      Integer switchpoint6
 +
       Integer switchpoint7
 +
       Integer switchpoint8
 +
       Short weekday
 +
    
 +
       List<Short> getPayload()
 
       String format()
 
       String format()
 
   }
 
   }
  
===Multi Instance Association Set===
+
==Clock V1==
Command: 0x01
+
Command Class: 0x81
   class hubitat.zwave.commands.multiinstanceassociationv1.MultiInstanceAssociationSet {
+
===Clock Get===
      Short groupingIdentifier
+
Command: 0x05
      List<MultiInstanceAssociationSet> nodeId
+
   class hubitat.zwave.commands.clockv1.ClockGet {
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,314: Line 3,187:
 
   }
 
   }
  
==Multi Instance V1==
+
===Clock Report===
Command Class: 0x60
 
===Multi Instance Cmd Encap===
 
 
Command: 0x06
 
Command: 0x06
   class hubitat.zwave.commands.multiinstancev1.MultiInstanceCmdEncap {
+
   class hubitat.zwave.commands.clockv1.ClockReport {
       Short command
+
       Short hour
       Short commandClass
+
       Short minute
       Short instance
+
       Short weekday
      List<MultiInstanceCmdEncap> parameter
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,328: Line 3,198:
 
   }
 
   }
  
===Multi Instance Get===
+
===Clock Set===
 
Command: 0x04
 
Command: 0x04
   class hubitat.zwave.commands.multiinstancev1.MultiInstanceGet {
+
   class hubitat.zwave.commands.clockv1.ClockSet {
       Short commandClass
+
       Short hour
 +
      Short minute
 +
      Short weekday
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,337: Line 3,209:
 
   }
 
   }
  
===Multi Instance Report===
+
===Clock Get===
 
Command: 0x05
 
Command: 0x05
   class hubitat.zwave.commands.multiinstancev1.MultiInstanceReport {
+
   class hubitat.zwave.commands.clockv1.ClockGet {
      Short commandClass
 
      Short instances
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,347: Line 3,217:
 
   }
 
   }
  
==Node Naming V1==
+
===Clock Report===
Command Class: 0x77
 
===Node Naming Node Location Get===
 
Command: 0x05
 
  class hubitat.zwave.commands.nodenamingv1.NodeNamingNodeLocationGet {
 
 
 
      List<Short> getPayload()
 
      String format()
 
  }
 
 
 
===Node Naming Node Location Report===
 
 
Command: 0x06
 
Command: 0x06
   class hubitat.zwave.commands.nodenamingv1.NodeNamingNodeLocationReport {
+
   class hubitat.zwave.commands.clockv1.ClockReport {
       Short charPresentation
+
       Short hour
       List<NodeNamingNodeLocationReport> nodeLocation
+
       Short minute
 +
      Short weekday
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,367: Line 3,228:
 
   }
 
   }
  
===Node Naming Node Location Set===
+
===Clock Set===
 
Command: 0x04
 
Command: 0x04
   class hubitat.zwave.commands.nodenamingv1.NodeNamingNodeLocationSet {
+
   class hubitat.zwave.commands.clockv1.ClockSet {
       Short charPresentation
+
       Short hour
       List<NodeNamingNodeLocationSet> nodeLocation
+
       Short minute
 +
      Short weekday
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,377: Line 3,239:
 
   }
 
   }
  
===Node Naming Node Name Get===
+
==Configuration V1==
Command: 0x02
+
Command Class: 0x70
   class hubitat.zwave.commands.nodenamingv1.NodeNamingNodeNameGet {
+
===Configuration Get===
 +
Command: 0x05
 +
   class hubitat.zwave.commands.configurationv1.ConfigurationGet {
 +
      Short parameterNumber
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,385: Line 3,250:
 
   }
 
   }
  
===Node Naming Node Name Report===
+
===Configuration Report===
Command: 0x03
+
Command: 0x06
   class hubitat.zwave.commands.nodenamingv1.NodeNamingNodeNameReport {
+
   class hubitat.zwave.commands.configurationv1.ConfigurationReport {
       Short charPresentation
+
      List<ConfigurationReport> configurationValue
       List<NodeNamingNodeNameReport> nodeName
+
       Short parameterNumber
 +
       BigInteger scaledConfigurationValue
 +
      Short size
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,395: Line 3,262:
 
   }
 
   }
  
===Node Naming Node Name Set===
+
===Configuration Set===
Command: 0x01
+
Command: 0x04
   class hubitat.zwave.commands.nodenamingv1.NodeNamingNodeNameSet {
+
   class hubitat.zwave.commands.configurationv1.ConfigurationSet {
       Short charPresentation
+
      List<ConfigurationSet> configurationValue
       List<NodeNamingNodeNameSet> nodeName
+
      Boolean defaultValue
 +
      Short parameterNumber
 +
       Short reserved11
 +
      BigInteger scaledConfigurationValue
 +
       Short size
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,405: Line 3,276:
 
   }
 
   }
  
==Notification V3==
+
===Configuration Get===
Command Class: 0x71
+
Command: 0x05
===Event Supported Get===
+
   class hubitat.zwave.commands.configurationv1.ConfigurationGet {
Command: 0x01
+
       Short parameterNumber
   class hubitat.zwave.commands.notificationv3.EventSupportedGet {
 
       Short notificationType
 
      static Short NOTIFICATION_TYPE_ACCESS_CONTROL = 6
 
      static Short NOTIFICATION_TYPE_BURGLAR = 7
 
      static Short NOTIFICATION_TYPE_CLOCK = 11
 
      static Short NOTIFICATION_TYPE_CO = 2
 
      static Short NOTIFICATION_TYPE_CO2 = 3
 
      static Short NOTIFICATION_TYPE_EMERGENCY = 10
 
      static Short NOTIFICATION_TYPE_FIRST = 255
 
      static Short NOTIFICATION_TYPE_HEAT = 4
 
      static Short NOTIFICATION_TYPE_POWER_MANAGEMENT = 8
 
      static Short NOTIFICATION_TYPE_RESERVED0 = 0
 
      static Short NOTIFICATION_TYPE_SMOKE = 1
 
      static Short NOTIFICATION_TYPE_SYSTEM = 9
 
      static Short NOTIFICATION_TYPE_WATER = 5
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,429: Line 3,285:
 
   }
 
   }
  
===Event Supported Report===
+
===Configuration Report===
Command: 0x02
+
Command: 0x06
   class hubitat.zwave.commands.notificationv3.EventSupportedReport {
+
   class hubitat.zwave.commands.configurationv1.ConfigurationReport {
       Boolean accessControl
+
       List<ConfigurationReport> configurationValue
       Boolean burglar
+
       Short parameterNumber
       Boolean clock
+
       BigInteger scaledConfigurationValue
       Boolean co
+
       Short size
      Boolean co2
+
 
      Boolean emergency
+
       List<Short> getPayload()
      Boolean first
+
       String format()
      Boolean heat
+
  }
       Short notificationType
+
 
       Short numberOfBitMasks
+
===Configuration Set===
      Boolean powerManagement
+
Command: 0x04
      Boolean smoke
+
  class hubitat.zwave.commands.configurationv1.ConfigurationSet {
      Boolean system
+
       List<ConfigurationSet> configurationValue
      Boolean water
+
       Boolean defaultValue
      static Short NOTIFICATION_TYPE_ACCESS_CONTROL = 6
+
       Short parameterNumber
      static Short NOTIFICATION_TYPE_BURGLAR = 7
+
       Short reserved11
      static Short NOTIFICATION_TYPE_CLOCK = 11
+
       BigInteger scaledConfigurationValue
      static Short NOTIFICATION_TYPE_CO = 2
+
       Short size
      static Short NOTIFICATION_TYPE_CO2 = 3
 
      static Short NOTIFICATION_TYPE_EMERGENCY = 10
 
      static Short NOTIFICATION_TYPE_FIRST = 255
 
       static Short NOTIFICATION_TYPE_HEAT = 4
 
       static Short NOTIFICATION_TYPE_POWER_MANAGEMENT = 8
 
       static Short NOTIFICATION_TYPE_RESERVED0 = 0
 
       static Short NOTIFICATION_TYPE_SMOKE = 1
 
       static Short NOTIFICATION_TYPE_SYSTEM = 9
 
       static Short NOTIFICATION_TYPE_WATER = 5
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,464: Line 3,311:
 
   }
 
   }
  
===Notification Get===
+
==Configuration V2==
Command: 0x04
+
Command Class: 0x70
   class hubitat.zwave.commands.notificationv3.NotificationGet {
+
===Configuration Bulk Get===
       Short event
+
Command: 0x08
      Short notificationType
+
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkGet {
      Short v1AlarmType
+
       Short numberOfParameters
      static Short NOTIFICATION_TYPE_ACCESS_CONTROL = 6
+
       Integer parameterOffset
      static Short NOTIFICATION_TYPE_BURGLAR = 7
 
      static Short NOTIFICATION_TYPE_CLOCK = 11
 
      static Short NOTIFICATION_TYPE_CO = 2
 
      static Short NOTIFICATION_TYPE_CO2 = 3
 
      static Short NOTIFICATION_TYPE_EMERGENCY = 10
 
      static Short NOTIFICATION_TYPE_FIRST = 255
 
      static Short NOTIFICATION_TYPE_HEAT = 4
 
      static Short NOTIFICATION_TYPE_POWER_MANAGEMENT = 8
 
      static Short NOTIFICATION_TYPE_RESERVED0 = 0
 
      static Short NOTIFICATION_TYPE_SMOKE = 1
 
      static Short NOTIFICATION_TYPE_SYSTEM = 9
 
       static Short NOTIFICATION_TYPE_WATER = 5
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,488: Line 3,323:
 
   }
 
   }
  
===Notification Report===
+
===Configuration Bulk Report===
Command: 0x05
+
Command: 0x09
   class hubitat.zwave.commands.notificationv3.NotificationReport {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkReport {
       Short event
+
       Boolean defaultValue
      List<NotificationReport> eventParameter
+
       Boolean handshake
      Short eventParametersLength
+
       Short numberOfParameters
      Short notificationStatus
+
       Integer parameterOffset
      Short notificationType
+
       Short reportsToFollow
      Short reserved
+
       Short size
       Boolean sequence
 
      Short v1AlarmLevel
 
      Short v1AlarmType
 
      static Short NOTIFICATION_TYPE_ACCESS_CONTROL = 6
 
       static Short NOTIFICATION_TYPE_BURGLAR = 7
 
       static Short NOTIFICATION_TYPE_CLOCK = 11
 
       static Short NOTIFICATION_TYPE_CO = 2
 
       static Short NOTIFICATION_TYPE_CO2 = 3
 
      static Short NOTIFICATION_TYPE_EMERGENCY = 10
 
      static Short NOTIFICATION_TYPE_FIRST = 255
 
      static Short NOTIFICATION_TYPE_HEAT = 4
 
      static Short NOTIFICATION_TYPE_POWER_MANAGEMENT = 8
 
      static Short NOTIFICATION_TYPE_RESERVED0 = 0
 
      static Short NOTIFICATION_TYPE_SMOKE = 1
 
      static Short NOTIFICATION_TYPE_SYSTEM = 9
 
      static Short NOTIFICATION_TYPE_WATER = 5
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,518: Line 3,337:
 
   }
 
   }
  
===Notification Set===
+
===Configuration Bulk Set===
Command: 0x06
+
Command: 0x07
   class hubitat.zwave.commands.notificationv3.NotificationSet {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkSet {
       Short notificationStatus
+
       Boolean defaultValue
      Short notificationType
+
       Boolean handshake
      static Short NOTIFICATION_TYPE_ACCESS_CONTROL = 6
+
       Short numberOfParameters
      static Short NOTIFICATION_TYPE_BURGLAR = 7
+
       Integer parameterOffset
      static Short NOTIFICATION_TYPE_CLOCK = 11
+
       Short size
      static Short NOTIFICATION_TYPE_CO = 2
 
      static Short NOTIFICATION_TYPE_CO2 = 3
 
      static Short NOTIFICATION_TYPE_EMERGENCY = 10
 
       static Short NOTIFICATION_TYPE_FIRST = 255
 
       static Short NOTIFICATION_TYPE_HEAT = 4
 
       static Short NOTIFICATION_TYPE_POWER_MANAGEMENT = 8
 
       static Short NOTIFICATION_TYPE_RESERVED0 = 0
 
      static Short NOTIFICATION_TYPE_SMOKE = 1
 
      static Short NOTIFICATION_TYPE_SYSTEM = 9
 
      static Short NOTIFICATION_TYPE_WATER = 5
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,541: Line 3,350:
 
   }
 
   }
  
===Notification Supported Get===
+
===Configuration Get===
Command: 0x07
+
Command: 0x05
   class hubitat.zwave.commands.notificationv3.NotificationSupportedGet {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationGet {
 +
      Short parameterNumber
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,549: Line 3,359:
 
   }
 
   }
  
===Notification Supported Report===
+
===Configuration Report===
Command: 0x08
+
Command: 0x06
   class hubitat.zwave.commands.notificationv3.NotificationSupportedReport {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationReport {
       Boolean accessControl
+
       Short parameterNumber
      Boolean burglar
+
       BigInteger scaledConfigurationValue
      Boolean clock
+
       Short size
      Boolean co
+
    
      Boolean co2
+
       List<Short> getPayload()
      Boolean emergency
+
       String format()
       Boolean first
+
   }
      Boolean heat
 
       Short numberOfBitMasks
 
      Boolean powerManagement
 
      Boolean smoke
 
      Boolean system
 
      Boolean v1Alarm
 
      Boolean water
 
    
 
       List<Short> getPayload()
 
       String format()
 
   }
 
  
==Powerlevel V1==
+
===Configuration Set===
Command Class: 0x73
+
Command: 0x04
===Powerlevel Get===
+
   class hubitat.zwave.commands.configurationv2.ConfigurationSet {
Command: 0x02
+
      Boolean defaultValue
   class hubitat.zwave.commands.powerlevelv1.PowerlevelGet {
+
      Short parameterNumber
 +
      Short reserved11
 +
      BigInteger scaledConfigurationValue
 +
      Short size
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,581: Line 3,383:
 
   }
 
   }
  
===Powerlevel Report===
+
===Configuration Bulk Get===
Command: 0x03
+
Command: 0x08
   class hubitat.zwave.commands.powerlevelv1.PowerlevelReport {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkGet {
       Short powerLevel
+
       Short numberOfParameters
       Short timeout
+
       Integer parameterOffset
      static Short POWER_LEVEL_MINUS1DBM = 1
 
      static Short POWER_LEVEL_MINUS2DBM = 2
 
      static Short POWER_LEVEL_MINUS3DBM = 3
 
      static Short POWER_LEVEL_MINUS4DBM = 4
 
      static Short POWER_LEVEL_MINUS5DBM = 5
 
      static Short POWER_LEVEL_MINUS6DBM = 6
 
      static Short POWER_LEVEL_MINUS7DBM = 7
 
      static Short POWER_LEVEL_MINUS8DBM = 8
 
      static Short POWER_LEVEL_MINUS9DBM = 9
 
      static Short POWER_LEVEL_NORMALPOWER = 0
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,601: Line 3,393:
 
   }
 
   }
  
===Powerlevel Set===
+
===Configuration Bulk Report===
Command: 0x01
+
Command: 0x09
   class hubitat.zwave.commands.powerlevelv1.PowerlevelSet {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkReport {
       Short powerLevel
+
       Boolean defaultValue
      Short timeout
+
       Boolean handshake
      static Short POWER_LEVEL_MINUS1DBM = 1
+
       Short numberOfParameters
       static Short POWER_LEVEL_MINUS2DBM = 2
+
       Integer parameterOffset
       static Short POWER_LEVEL_MINUS3DBM = 3
+
       Short reportsToFollow
       static Short POWER_LEVEL_MINUS4DBM = 4
+
       Short size
       static Short POWER_LEVEL_MINUS5DBM = 5
 
       static Short POWER_LEVEL_MINUS6DBM = 6
 
      static Short POWER_LEVEL_MINUS7DBM = 7
 
      static Short POWER_LEVEL_MINUS8DBM = 8
 
      static Short POWER_LEVEL_MINUS9DBM = 9
 
      static Short POWER_LEVEL_NORMALPOWER = 0
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,621: Line 3,407:
 
   }
 
   }
  
===Powerlevel Test Node Get===
+
===Configuration Bulk Set===
Command: 0x05
+
Command: 0x07
   class hubitat.zwave.commands.powerlevelv1.PowerlevelTestNodeGet {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationBulkSet {
 +
      Boolean defaultValue
 +
      Boolean handshake
 +
      Short numberOfParameters
 +
      Integer parameterOffset
 +
      Short size
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,629: Line 3,420:
 
   }
 
   }
  
===Powerlevel Test Node Report===
+
===Configuration Get===
Command: 0x06
+
Command: 0x05
   class hubitat.zwave.commands.powerlevelv1.PowerlevelTestNodeReport {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationGet {
       Short statusOfOperation
+
       Short parameterNumber
      Integer testFrameCount
 
      Short testNodeid
 
      static Short STATUS_OF_OPERATION_ZW_TEST_FAILED = 0
 
      static Short STATUS_OF_OPERATION_ZW_TEST_INPROGRESS = 2
 
      static Short STATUS_OF_OPERATION_ZW_TEST_SUCCES = 1
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,643: Line 3,429:
 
   }
 
   }
  
===Powerlevel Test Node Set===
+
===Configuration Report===
Command: 0x04
+
Command: 0x06
   class hubitat.zwave.commands.powerlevelv1.PowerlevelTestNodeSet {
+
   class hubitat.zwave.commands.configurationv2.ConfigurationReport {
       Short powerLevel
+
       Short parameterNumber
       Integer testFrameCount
+
       BigInteger scaledConfigurationValue
       Short testNodeid
+
       Short size
      static Short POWER_LEVEL_MINUS1DBM = 1
 
      static Short POWER_LEVEL_MINUS2DBM = 2
 
      static Short POWER_LEVEL_MINUS3DBM = 3
 
      static Short POWER_LEVEL_MINUS4DBM = 4
 
      static Short POWER_LEVEL_MINUS5DBM = 5
 
      static Short POWER_LEVEL_MINUS6DBM = 6
 
      static Short POWER_LEVEL_MINUS7DBM = 7
 
      static Short POWER_LEVEL_MINUS8DBM = 8
 
      static Short POWER_LEVEL_MINUS9DBM = 9
 
      static Short POWER_LEVEL_NORMALPOWER = 0
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,664: Line 3,440:
 
   }
 
   }
  
==Prepayment Encapsulation V1==
+
===Configuration Set===
Command Class: 0x41
+
Command: 0x04
===Cmd Encapsulation===
+
   class hubitat.zwave.commands.configurationv2.ConfigurationSet {
Command: 0x01
+
       Boolean defaultValue
   class hubitat.zwave.commands.prepaymentencapsulationv1.CmdEncapsulation {
+
      Short parameterNumber
       List<CmdEncapsulation> data
+
      Short reserved11
 +
      BigInteger scaledConfigurationValue
 +
      Short size
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,675: Line 3,453:
 
   }
 
   }
  
==Prepayment V1==
+
==Controller Replication V1==
Command Class: 0x3F
+
Command Class: 0x21
===Prepayment Balance Get===
+
===Ctrl Replication Transfer Group===
Command: 0x01
+
Command: 0x31
   class hubitat.zwave.commands.prepaymentv1.PrepaymentBalanceGet {
+
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferGroup {
       Short balanceType
+
       Short groupId
       static Short BALANCE_TYPE_MONETARY = 1
+
       Short nodeId
       static Short BALANCE_TYPE_UTILITY = 0
+
       Short sequenceNumber
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,688: Line 3,466:
 
   }
 
   }
  
===Prepayment Balance Report===
+
===Ctrl Replication Transfer Group Name===
Command: 0x02
+
Command: 0x32
   class hubitat.zwave.commands.prepaymentv1.PrepaymentBalanceReport {
+
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferGroupName {
       Short balancePrecision
+
       Short groupId
       Short balanceType
+
       List<CtrlReplicationTransferGroupName> groupName
      Integer balanceValue
+
       Short sequenceNumber
      Integer currency
 
      Integer debt
 
      Short debtPrecision
 
      Short debtRecoveryPercentage
 
      Integer emerCredit
 
      Short emerCreditPrecision
 
      Short meterType
 
       Short scale
 
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,707: Line 3,477:
 
   }
 
   }
  
===Prepayment Supported Get===
+
===Ctrl Replication Transfer Scene===
Command: 0x03
+
Command: 0x33
   class hubitat.zwave.commands.prepaymentv1.PrepaymentSupportedGet {
+
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferScene {
 +
      Short level
 +
      Short nodeId
 +
      Short sceneId
 +
      Short sequenceNumber
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,715: Line 3,489:
 
   }
 
   }
  
===Prepayment Supported Report===
+
===Ctrl Replication Transfer Scene Name===
Command: 0x04
+
Command: 0x34
   class hubitat.zwave.commands.prepaymentv1.PrepaymentSupportedReport {
+
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferSceneName {
       Short typesSupported
+
       Short sceneId
 +
      List<CtrlReplicationTransferSceneName> sceneName
 +
      Short sequenceNumber
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()
Line 3,724: Line 3,500:
 
   }
 
   }
  
==Proprietary V1==
+
===Ctrl Replication Transfer Group===
Command Class: 0x88
+
Command: 0x31
===Proprietary Get===
+
   class hubitat.zwave.commands.controllerreplicationv1.CtrlReplicationTransferGroup {
Command: 0x02
+
       Short groupId
   class hubitat.zwave.commands.proprietaryv1.ProprietaryGet {
+
      Short nodeId
       List<ProprietaryGet> data
+
      Short sequenceNumber
 
    
 
    
 
       List<Short> getPayload()
 
       List<Short> getPayload()