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: