zcl 0.1.1

Zigbee Cluster Library Definitions
Documentation
enum8 PowerSource {
  0x00 Unknown
  0x01 Mains1Phase
  0x02 Mains3Phase
  0x03 Battery
  0x04 DcSource
  0x05 EmergencyMainsConstantlyPowered
  0x06 EmergencyMainsAndTransferSwitch
  0x80 UnknownWithBackupBattery
  0x81 Mains1PhaseWithBackupBattery
  0x82 Mains3PhaseWithBackupBattery
  0x83 BatteryWithBackupBattery
  0x84 DcSourceWithBackupBattery
  0x85 EmergencyMainsConstantlyPoweredWithBackupBattery
  0x86 EmergencyMainsAndTransferSwitchWithBackupBattery
}

enum8 GenericDeviceClass {
  0x00 Lighting
}

enum8 GenericDeviceType {
  0x00 Incandescent
  0x01 SpotlightHalogen
  0x02 HalogenBulb
  0x03 Cfl
  0x04 LinearFluorescent
  0x05 LedBulb
  0x06 SpotlightLed
  0x07 LedStrip
  0x08 LedTube
  0x09 GenericIndoorLightFixture
  0x0a GenericOutdoorLightFixture
  0x0b PendantFixture
  0x0c FloorStandingLightFixture
  0xe0 GenericController
  0xe1 WallSwitch
  0xe2 PortableRemoteController
  0xe3 MotionSensorOrLightSensor
  0xe4 ReservedE4
  0xe5 ReservedE5
  0xe6 ReservedE6
  0xe7 ReservedE7
  0xe8 ReservedE8
  0xe9 ReservedE9
  0xea ReservedEA
  0xeb ReservedEB
  0xec ReservedEC
  0xed ReservedED
  0xef ReservedEF
  0xf0 GenericActuator
  0xf1 WallSocket
  0xf2 GatewayOrBridge
  0xf3 PlugInUnit
  0xf4 RetrofitActuator
  0xff Unspecified
}

enum8 ProductCode {
  0x00 ManufacturerDefined
  0x01 InternationalArticleNumber
  0x02 GlobalTradeItemNumber
  0x03 UniversalProductCode
  0x04 StockKeepingUnit
}

enum8 PhysicalEnvironment {
  0x00 Unspecified
  0x01 MirrorDeprecated
  0x02 Bar
  0x03 Courtyard
  0x04 Bathroom
  0x05 Bedroom
  0x06 BilliardRoom
  0x07 UtilityRoom
  0x08 Cellar
  0x09 StorageCloset
  0x0a Theater
  0x0b Office
  0x0c Deck
  0x0d Den
  0x0e DiningRoom
  0x0f ElectricalRoom
  0x10 Elevator
  0x11 Entry
  0x12 FamilyRoom
  0x13 MainFloor
  0x14 Upstairs
  0x15 Downstairs
  0x16 Basement
  0x17 Gallery
  0x18 GameRoom
  0x19 Garage
  0x1a Gym
  0x1b Hallway
  0x1c House
  0x1d Kitchen
  0x1e LaundryRoom
  0x1f Library
  0x20 MasterBedroom
  0x21 MudRoom
  0x22 Nursery
  0x23 Pantry
  0x24 Office2
  0x25 Outside
  0x26 Pool
  0x27 Porch
  0x28 SewingRoom
  0x29 SittingRoom
  0x2a Stairway
  0x2b Yard
  0x2c Attic
  0x2d HotTub
  0x2e LivingRoom
  0x2f Sauna
  0x30 Workshop
  0x31 GuestBedroom
  0x32 GuestBath
  0x33 PowderRoom
  0x34 BackYard
  0x35 FrontYard
  0x36 Patio
  0x37 Driveway
  0x38 SunRoom
  0x39 LivingRoom2
  0x3a Spa
  0x3b Whirlpool
  0x3c Shed
  0x3d EquipmentStorage
  0x3e HobbyRoom
  0x3f Fountain
  0x40 Pond
  0x41 ReceptionRoom
  0x42 BreakfastRoom
  0x43 Nook
  0x44 Garden
  0x45 Balcony
  0x46 PanicRoom
  0x47 Terrace
  0x48 Roof
  0x49 Toilet
  0x4a ToiletMain
  0x4b OutsideToilet
  0x4c ShowerRoom
  0x4d Study
  0x4e FrontGarden
  0x4f BackGarden
  0x50 Kettle
  0x51 Television
  0x52 Stove
  0x53 Microwave
  0x54 Toaster
  0x55 Vacuum
  0x56 Appliance
  0x57 FrontDoor
  0x58 BackDoor
  0x59 FridgeDoor
  0x60 MedicationCabinetDoor
  0x61 WardrobeDoor
  0x62 FrontCupboardDoor
  0x63 OtherDoor
  0x64 WaitingRoom
  0x65 TriageRoom
  0x66 DoctorsOffice
  0x67 PatientPrivateRoom
  0x68 ConsultationRoom
  0x69 NurseStation
  0x6a Ward
  0x6b Corridor
  0x6c OperatingTheatre
  0x6d DentalSurgeryRoom
  0x6e MedicalImagingRoom
  0x6f DecontaminationRoom
  0x70 Atrium
  0x71 Mirror
  0xff UnknownEnvironment
}

cluster Basic 0x0000 {
  #    id     name                       type   range     access default mandatory
  attr 0x0000 ZclVersion                 uint8  0x00,0xff R      8       M
  attr 0x0001 ApplicationVersion         uint8  0x00,0xff R      0       O
  attr 0x0002 StackVersion               uint8  0x00,0xff R      0       O
  attr 0x0003 HwVersion                  uint8  0x00,0xff R      0       O
  attr 0x0004 ManufacturerName           string 32        R      ""      O
  attr 0x0005 ModelIdentifier            string 32        R      ""      O
  attr 0x0006 DateCode                   string 16        R      ""      O
  attr 0x0007 PowerSource                enum8  0x00,0xff R      0x00    M
  attr 0x0008 GenericDeviceClass         enum8  0x00,0xff R      0xff    O
  attr 0x0009 GenericDeviceType          enum8  0x00,0xff R      0xff    O
  attr 0x000a ProductCode                octstr -         R      &[]     O
  attr 0x000b ProductUrl                 string -         R      ""      O
  attr 0x000c ManufacturerVersionDetails string -         R      ""      O
  attr 0x000d SerialNumber               string -         R      ""      O
  attr 0x000e ProductLabel               string -         R      ""      O
  attr 0x0010 LocationDescription        string 16        RW     ""      O
  attr 0x0011 PhysicalEnvironment        enum8  -         RW     0       O
  attr 0x0012 DeviceEnabled              bool   -         RW     true    O
  attr 0x0013 AlarmMask                  map8   0x0,0x3   RW     0       O
  attr 0x0014 DisableLocalConfig         map8   0x0,0x3   RW     0       O
  attr 0x4000 SwBuildId                  string 16        R      ""      O
}

enum8 BatterySize {
  0x00 NoBattery
  0x01 BuiltIn
  0x02 Other
  0x03 Aa
  0x04 Aaa
  0x05 C
  0x06 D
  0x07 Cr2
  0x08 Cr123a
  0xff Unknown
}

cluster PowerConfiguration 0x0001 {
  #    id     name                           type              range         access default mandatory
  attr 0x0000 MainsVoltage                   uint16            0x0000,0xffff R      non     O
  attr 0x0001 MainsFrequency                 uint8             0x00,0xff     R      non     O

  attr 0x0010 MainsAlarmMask                 map8              0x0,0x3       RW     0       O
  attr 0x0011 MainsVoltageMinThreshold       uint16            0x0000,0xffff RW     0       O
  attr 0x0012 MainsVoltageMaxThreshold       uint16            0x0000,0xffff RW     0xffff  O
  attr 0x0013 MainsVoltageDwellTripPoint     uint16            0x0000,0xffff RW     0       O

  attr 0x0020 Battery1Voltage                uint8             0x00,0xff     R      non     O
  attr 0x0021 Battery1PercentageRemaining    uint8             0x00,0xff     RP     0       O
  attr 0x0030 Battery1Manufacturer           string            16            RW     ""      O
  attr 0x0031 Battery1Size                   enum8:BatterySize -             RW     0xff    O
  attr 0x0032 Battery1AHrRating              uint16            0x0000,0xffff RW     non     O
  attr 0x0033 Battery1Quantity               uint8             0x00,0xff     RW     non     O
  attr 0x0034 Battery1RatedVoltage           uint8             0x00,0xff     RW     non     O
  attr 0x0035 Battery1AlarmMask              map8              -             RW     0       O
  attr 0x0036 Battery1VoltageMinThreshold    uint8             0x00,0xff     RW     0       O
  attr 0x0037 Battery1VoltageThreshold1      uint8             0x00,0xff     R*W    0       O
  attr 0x0038 Battery1VoltageThreshold2      uint8             0x00,0xff     R*W    0       O
  attr 0x0039 Battery1VoltageThreshold3      uint8             0x00,0xff     R*W    0       O
  attr 0x003a Battery1PercentageMinThreshold uint8             0x00,0xff     R*W    0       O
  attr 0x003b Battery1PercentageThreshold1   uint8             0x00,0xff     R*W    0       O
  attr 0x003c Battery1PercentageThreshold2   uint8             0x00,0xff     R*W    0       O
  attr 0x003d Battery1PercentageThreshold3   uint8             0x00,0xff     R*W    0       O
  attr 0x003e Battery1AlarmState             map32             -             RP     0       O

  attr 0x0040 Battery2Voltage                uint8             0x00,0xff     R      non     O
  attr 0x0041 Battery2PercentageRemaining    uint8             0x00,0xff     RP     0       O
  attr 0x0050 Battery2Manufacturer           string            16            RW     ""      O
  attr 0x0051 Battery2Size                   enum8:BatterySize -             RW     0xff    O
  attr 0x0052 Battery2AHrRating              uint16            0x0000,0xffff RW     non     O
  attr 0x0053 Battery2Quantity               uint8             0x00,0xff     RW     non     O
  attr 0x0054 Battery2RatedVoltage           uint8             0x00,0xff     RW     non     O
  attr 0x0055 Battery2AlarmMask              map8              -             RW     0       O
  attr 0x0056 Battery2VoltageMinThreshold    uint8             0x00,0xff     RW     0       O
  attr 0x0057 Battery2VoltageThreshold1      uint8             0x00,0xff     R*W    0       O
  attr 0x0058 Battery2VoltageThreshold2      uint8             0x00,0xff     R*W    0       O
  attr 0x0059 Battery2VoltageThreshold3      uint8             0x00,0xff     R*W    0       O
  attr 0x005a Battery2PercentageMinThreshold uint8             0x00,0xff     R*W    0       O
  attr 0x005b Battery2PercentageThreshold1   uint8             0x00,0xff     R*W    0       O
  attr 0x005c Battery2PercentageThreshold2   uint8             0x00,0xff     R*W    0       O
  attr 0x005d Battery2PercentageThreshold3   uint8             0x00,0xff     R*W    0       O
  attr 0x005e Battery2AlarmState             map32             -             RP     0       O

  attr 0x0060 Battery3Voltage                uint8             0x00,0xff     R      non     O
  attr 0x0061 Battery3PercentageRemaining    uint8             0x00,0xff     RP     0       O
  attr 0x0070 Battery3Manufacturer           string            16            RW     ""      O
  attr 0x0071 Battery3Size                   enum8:BatterySize -             RW     0xff    O
  attr 0x0072 Battery3AHrRating              uint16            0x0000,0xffff RW     non     O
  attr 0x0073 Battery3Quantity               uint8             0x00,0xff     RW     non     O
  attr 0x0074 Battery3RatedVoltage           uint8             0x00,0xff     RW     non     O
  attr 0x0075 Battery3AlarmMask              map8              -             RW     0       O
  attr 0x0076 Battery3VoltageMinThreshold    uint8             0x00,0xff     RW     0       O
  attr 0x0077 Battery3VoltageThreshold1      uint8             0x00,0xff     R*W    0       O
  attr 0x0078 Battery3VoltageThreshold2      uint8             0x00,0xff     R*W    0       O
  attr 0x0079 Battery3VoltageThreshold3      uint8             0x00,0xff     R*W    0       O
  attr 0x007a Battery3PercentageMinThreshold uint8             0x00,0xff     R*W    0       O
  attr 0x007b Battery3PercentageThreshold1   uint8             0x00,0xff     R*W    0       O
  attr 0x007c Battery3PercentageThreshold2   uint8             0x00,0xff     R*W    0       O
  attr 0x007d Battery3PercentageThreshold3   uint8             0x00,0xff     R*W    0       O
  attr 0x007e Battery3AlarmState             map32             -             RP     0       O
}

cluster DeviceTemperatureConfiguration 0x0002 {
  #    id     name                   type   range             access   default mandatory
  attr 0x0000 CurrentTemperature     int16  -200,200          R        non     M
  attr 0x0001 MinTempExperienced     int16  -200,200          R        non     O
  attr 0x0002 MaxTempExperienced     int16  -200,200          R        non     O
  attr 0x0003 OverTempTotalDwell     uint16 0x0000,0xffff     R        0       O
  attr 0x0010 DeviceTempAlarmMask    map8   0x0,0x3           RW       0       O
  attr 0x0011 LowTempThreshold       int16  -200,200          RW       non     O
  attr 0x0012 HighTempThreshold      int16  -200,200          RW       non     O
  attr 0x0013 LowTempDwellTripPoint  uint24 0x000000,0xffffff RW       non     O
  attr 0x0014 HighTempDwellTripPoint uint24 0x000000,0xffffff RW       non     O
}

cluster Identify 0x0003 {
  #    id     name         type   range         access default mandatory
  attr 0x0000 IdentifyTime uint16 0x0000,0xffff RW     0       M
}

cluster Groups 0x0004 {
  #    id     name        type range access default mandatory
  attr 0x0000 NameSupport map8 -     R      0       M
}

cluster Scenes 0x0005 {
  #    id     name             type   range         access default mandatory
  attr 0x0000 SceneCount       uint8  0x00,0xff     R      0       M
  attr 0x0001 CurrentScene     uint8  0x00,0xff     R      0       M
  attr 0x0002 CurrentGroup     uint16 0x0000,0xfff7 R      0       M
  attr 0x0003 SceneValid       bool   value         R      false   M
  attr 0x0004 NameSupport      map8   -             R      0       M
  attr 0x0005 LastConfiguredBy EUI64  -             R      non     O
}

enum8 StartUpOnOff {
  0x00 Off
  0x01 On
  0x02 Toggle
  0xff PreviousValue
}

cluster OnOff 0x0006 {
  #    id     name               type   range    access default mandatory
  attr 0x0000 OnOff              bool   value    RPS    false   M
  attr 0x4000 GlobalSceneControl bool   value    R      true    O
  attr 0x4001 OnTime             uint16 full-non RW     0       O
  attr 0x4002 OffWaitTime        uint16 full     RW     0       O
  attr 0x4003 StartUpOnOff       enum8  -        RW     -       O
}

enum8 SwitchType {
  0x00 Toggle
  0x01 Momentary
  0x02 Multifunction
}

enum8 SwitchActions {
  0x00 OnOff
  0x01 OffOn
  0x02 ToggleToggle
}

cluster OnOffSwitchConfiguration 0x0007 {
  #    id     name          type  range access default mandatory
  attr 0x0000 SwitchType    enum8 value R      -       M
  attr 0x0010 SwitchActions enum8 value RW     0       M
}

cluster Level 0x0008 {
  #    id     name                type    range                     access default mandatory
  attr 0x0000 CurrentLevel        uint8   MinLevel,MaxLevel         RPS    0xff    M
  attr 0x0001 RemainingTime       uint16  0x0000,0xffff             R      0       O
  attr 0x0002 MinLevel            uint8   0,MaxLevel                R      0       O
  attr 0x0003 MaxLevel            uint8   MinLevel,0xff             R      0xff    O
  attr 0x0004 CurrentFrequency    uint16  MinFrequency,MaxFrequency RPS    0       O
  attr 0x0005 MinFrequency        uint16  0,MaxFrequency            R      0       O
  attr 0x0006 MaxFrequency        uint16  MinFrequency,0xffff       R      0       O
  attr 0x0010 OnOffTransitionTime uint16  0x0000,0xffff             RW     0       O
  attr 0x0011 OnLevel             uint8   MinLevel,MaxLevel         RW     0xff    O
  attr 0x0012 OnTransitionTime    uint16  0x0000,0xfffe             RW     0xffff  O
  attr 0x0013 OffTransitionTime   uint16  0x0000,0xfffe             RW     0xffff  O
  attr 0x0014 DefaultMoveRate     uint8   0x00,0xfe                 RW     -       O
  attr 0x000F Options             map8    -                         RW     0       O
  attr 0x4000 StartUpCurrentLevel uint8   0x00,0xff                 RW     -       O
}

cluster LevelControlForLighting 0x0008 {
  #    id     name                type    range                     access default mandatory
  attr 0x0000 CurrentLevel        uint8   0x01,0xfe                 RPS    0xff    M
  attr 0x0001 RemainingTime       uint16  0x0000,0xffff             R      0       O
  attr 0x0004 CurrentFrequency    uint16  MinFrequency,MaxFrequency RPS    0       O
  attr 0x0005 MinFrequency        uint16  0,MaxFrequency            R      0       O
  attr 0x0006 MaxFrequency        uint16  MinFrequency,0xffff       R      0       O
  attr 0x0010 OnOffTransitionTime uint16  0x0000,0xffff             RW     0       O
  attr 0x0011 OnLevel             uint8   0x01,0xfe                 RW     0xff    O
  attr 0x0012 OnTransitionTime    uint16  0x0000,0xfffe             RW     0xffff  O
  attr 0x0013 OffTransitionTime   uint16  0x0000,0xfffe             RW     0xffff  O
  attr 0x0014 DefaultMoveRate     uint8   0x00,0xfe                 RW     -       O
  attr 0x000F Options             map8    -                         RW     0       M
  attr 0x4000 StartUpCurrentLevel uint8   0x00,0xff                 RW     -       O
}

cluster PulseWidthModulation 0x001c {
  #    id     name                type    range                     access default mandatory
  attr 0x0000 CurrentLevel        uint8   MinLevel,MaxLevel         RPS    0xff    M
  attr 0x0002 MinLevel            uint8   0,MaxLevel                R      0       M
  attr 0x0003 MaxLevel            uint8   MinLevel,100              R      100     M
  attr 0x0004 CurrentFrequency    uint16  MinFrequency,MaxFrequency RPS    0       M
  attr 0x0005 MinFrequency        uint16  0,MaxFrequency            R      0       M
  attr 0x0006 MaxFrequency        uint16  MinFrequency,0xffff       R      0       M
}

# vim: set ft=ruby: