| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Identify (14) :small_blue_diamond:
| bool | PW | 1 | 1 |
|
FirmwareRevision (52)
| string | PR+EV | - | - | "1.0.0" |
Manufacturer (20)
| string | PR | - | - | "HomeSpan" |
Model (21)
| string | PR | - | - | "HomeSpan-ESP32" |
Name (23)
| string | PR | - | - | "unnamed" |
SerialNumber (30)
| string | PR | - | - | "HS-12345" |
HardwareRevision (53)
| string | PR | - | - | "1.0.0" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
CurrentAirPurifierState (A9) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
TargetAirPurifierState (A8) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
RotationSpeed (29)
| float | PR+PW+EV | 0 | 100 | 0 |
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
LockPhysicalControls (A7)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
AirQuality (95) :small_blue_diamond:
| uint8 | PR+EV | 0 | 5 |
|
Name (23)
| string | PR | - | - | "unnamed" |
OzoneDensity (C3)
| float | PR+EV | 0 | 1000 | 0 |
NitrogenDioxideDensity (C4)
| float | PR+EV | 0 | 1000 | 0 |
SulphurDioxideDensity (C5)
| float | PR+EV | 0 | 1000 | 0 |
PM25Density (C6)
| float | PR+EV | 0 | 1000 | 0 |
PM10Density (C7)
| float | PR+EV | 0 | 1000 | 0 |
VOCDensity (C8)
| float | PR+EV | 0 | 1000 | 0 |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
BatteryLevel (68) :small_blue_diamond:
| uint8 | PR+EV | 0 | 100 | 100 |
ChargingState (8F) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
StatusLowBattery (79) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CarbonDioxideDetected (92) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
CarbonDioxideLevel (93)
| float | PR+EV | 0 | 100000 | 0 |
CarbonDioxidePeakLevel (94)
| float | PR+EV | 0 | 100000 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CarbonMonoxideDetected (69) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
CarbonMonoxideLevel (90)
| float | PR+EV | 0 | 100 | 0 |
CarbonMonoxidePeakLevel (91)
| float | PR+EV | 0 | 100 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
ContactSensorState (6A) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentPosition (6D) :small_blue_diamond:
| uint8 | PR+EV | 0 | 100 | 0 |
TargetPosition (7C) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
ProgrammableSwitchEvent (73) :small_blue_diamond:
| uint8 | PR+EV+NV | 0 | 2 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
CurrentFanState (AF)
| uint8 | PR+EV | 0 | 2 |
|
TargetFanState (BF)
| uint8 | PW+PR+EV | 0 | 1 |
|
RotationDirection (28)
| int | PR+PW+EV | 0 | 1 |
|
RotationSpeed (29)
| float | PR+PW+EV | 0 | 100 | 0 |
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
LockPhysicalControls (A7)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
FilterChangeIndication (AC) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
FilterLifeLevel (AB)
| float | PR+EV | 0 | 100 | 0 |
ResetFilterIndication (AD)
| uint8 | PW | 1 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentDoorState (E) :small_blue_diamond:
| uint8 | PR+EV | 0 | 4 |
|
TargetDoorState (32) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
ObstructionDetected (24) :small_blue_diamond:
| bool | PR+EV | 0 | 1 |
|
LockCurrentState (1D)
| uint8 | PR+EV | 0 | 3 |
|
LockTargetState (1E)
| uint8 | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
Version (37) :small_blue_diamond:
| string | PR | - | - | "1.0.0" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
CurrentTemperature (11) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
CurrentHeaterCoolerState (B1) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
TargetHeaterCoolerState (B2) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 2 |
|
Name (23)
| string | PR | - | - | "unnamed" |
RotationSpeed (29)
| float | PR+PW+EV | 0 | 100 | 0 |
TemperatureDisplayUnits (36)
| uint8 | PW+PR+EV | 0 | 1 |
|
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
CoolingThresholdTemperature (D)
| float | PR+PW+EV | 10 | 35 | 10 |
HeatingThresholdTemperature (12)
| float | PR+PW+EV | 0 | 25 | 16 |
LockPhysicalControls (A7)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
CurrentRelativeHumidity (10) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
CurrentHumidifierDehumidifierState (B3) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
TargetHumidifierDehumidifierState (B4) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 2 |
|
Name (23)
| string | PR | - | - | "unnamed" |
RelativeHumidityDehumidifierThreshold (C9)
| float | PR+PW+EV | 0 | 100 | 50 |
RelativeHumidityHumidifierThreshold (CA)
| float | PR+PW+EV | 0 | 100 | 50 |
RotationSpeed (29)
| float | PR+PW+EV | 0 | 100 | 0 |
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
WaterLevel (B5)
| float | PR+EV | 0 | 100 | 0 |
LockPhysicalControls (A7)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentRelativeHumidity (10) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
ConfiguredName (E3)
| string | PW+PR+EV | - | - | "unnamed" |
IsConfigured (D6)
| uint8 | PR+EV | 0 | 1 |
|
Identifier (E6) :small_blue_diamond:
| uint32 | PR | 0 | 255 | 0 |
CurrentVisibilityState (135)
| uint8 | PR+EV | 0 | 1 |
|
TargetVisibilityState (134)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
ProgramMode (D1) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
InUse (D2) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
RemainingDuration (D4)
| uint32 | PR+EV | 0 | 3600 | 60 |
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
LeakDetected (70) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
On (25) :small_blue_diamond:
| bool | PR+PW+EV | 0 | 1 |
|
Brightness (8)
| int | PR+PW+EV | 0 | 100 | 0 |
Hue (13)
| float | PR+PW+EV | 0 | 360 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
Saturation (2F)
| float | PR+PW+EV | 0 | 100 | 0 |
ColorTemperature (CE)
| uint32 | PR+PW+EV | 140 | 500 | 200 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentAmbientLightLevel (6B) :small_blue_diamond:
| float | PR+EV | 0.0001 | 100000 | 1 |
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
LockCurrentState (1D) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
LockTargetState (1E) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
Mute (11A) :small_blue_diamond:
| bool | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
Volume (119)
| uint8 | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
MotionDetected (22) :small_blue_diamond:
| bool | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
OccupancyDetected (71) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
On (25) :small_blue_diamond:
| bool | PR+PW+EV | 0 | 1 |
|
OutletInUse (26) :small_blue_diamond:
| bool | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
SecuritySystemCurrentState (66) :small_blue_diamond:
| uint8 | PR+EV | 0 | 4 |
|
SecuritySystemTargetState (67) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 3 |
|
Name (23)
| string | PR | - | - | "unnamed" |
SecuritySystemAlarmType (8E)
| uint8 | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
ServiceLabelNamespace (CD) :small_blue_diamond:
| uint8 | PR | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentSlatState (AA) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
SlatType (C0) :small_blue_diamond:
| uint8 | PR | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
CurrentTiltAngle (C1)
| int | PR+EV | -90 | 90 | 0 |
TargetTiltAngle (C2)
| int | PW+PR+EV | -90 | 90 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
SmokeDetected (76) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
Mute (11A) :small_blue_diamond:
| bool | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
Volume (119)
| uint8 | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
ProgrammableSwitchEvent (73) :small_blue_diamond:
| uint8 | PR+EV+NV | 0 | 2 |
|
Name (23)
| string | PR | - | - | "unnamed" |
ServiceLabelIndex (CB)
| uint8 | PR | 1 | 255 | 1 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
On (25) :small_blue_diamond:
| bool | PR+PW+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
ConfiguredName (E3)
| string | PW+PR+EV | - | - | "unnamed" |
ActiveIdentifier (E7)
| uint32 | PW+PR+EV | 0 | 255 | 0 |
RemoteKey (E1)
| uint8 | PW | 4 | 15 |
|
PowerModeSelection (DF)
| uint8 | PW | 0 | 0 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
VolumeControlType (E9) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
VolumeSelector (EA) :small_blue_diamond:
| uint8 | PW | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentTemperature (11) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentHeatingCoolingState (F) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
TargetHeatingCoolingState (33) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 3 |
|
CurrentTemperature (11) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
TargetTemperature (35) :small_blue_diamond:
| float | PW+PR+EV | 10 | 38 | 16 |
TemperatureDisplayUnits (36) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
CoolingThresholdTemperature (D)
| float | PR+PW+EV | 10 | 35 | 10 |
CurrentRelativeHumidity (10)
| float | PR+EV | 0 | 100 | 0 |
HeatingThresholdTemperature (12)
| float | PR+PW+EV | 0 | 25 | 16 |
Name (23)
| string | PR | - | - | "unnamed" |
TargetRelativeHumidity (34)
| float | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
InUse (D2) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
ValveType (D5) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
SetDuration (D3)
| uint32 | PW+PR+EV | 0 | 3600 | 60 |
RemainingDuration (D4)
| uint32 | PR+EV | 0 | 3600 | 60 |
IsConfigured (D6)
| uint8 | PR+EV | 0 | 1 |
|
ServiceLabelIndex (CB)
| uint8 | PR | 1 | 255 | 1 |
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentPosition (6D) :small_blue_diamond:
| uint8 | PR+EV | 0 | 100 | 0 |
TargetPosition (7C) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
TargetPosition (7C) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 100 | 0 |
CurrentPosition (6D) :small_blue_diamond:
| uint8 | PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
CurrentHorizontalTiltAngle (6C)
| int | PR+EV | -90 | 90 | 0 |
TargetHorizontalTiltAngle (7B)
| int | PW+PR+EV | -90 | 90 | 0 |
CurrentVerticalTiltAngle (6E)
| int | PR+EV | -90 | 90 | 0 |
TargetVerticalTiltAngle (7D)
| int | PW+PR+EV | -90 | 90 | 0 |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Identify (14) :small_blue_diamond:
| bool | PW | 1 | 1 |
|
FirmwareRevision (52)
| string | PR+EV | - | - | "1.0.0" |
Manufacturer (20)
| string | PR | - | - | "HomeSpan" |
Model (21)
| string | PR | - | - | "HomeSpan-ESP32" |
Name (23)
| string | PR | - | - | "unnamed" |
SerialNumber (30)
| string | PR | - | - | "HS-12345" |
HardwareRevision (53)
| string | PR | - | - | "1.0.0" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
CurrentAirPurifierState (A9) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
TargetAirPurifierState (A8) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
RotationSpeed (29)
| float | PR+PW+EV | 0 | 100 | 0 |
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
LockPhysicalControls (A7)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
AirQuality (95) :small_blue_diamond:
| uint8 | PR+EV | 0 | 5 |
|
Name (23)
| string | PR | - | - | "unnamed" |
OzoneDensity (C3)
| float | PR+EV | 0 | 1000 | 0 |
NitrogenDioxideDensity (C4)
| float | PR+EV | 0 | 1000 | 0 |
SulphurDioxideDensity (C5)
| float | PR+EV | 0 | 1000 | 0 |
PM25Density (C6)
| float | PR+EV | 0 | 1000 | 0 |
PM10Density (C7)
| float | PR+EV | 0 | 1000 | 0 |
VOCDensity (C8)
| float | PR+EV | 0 | 1000 | 0 |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
BatteryLevel (68) :small_blue_diamond:
| uint8 | PR+EV | 0 | 100 | 100 |
ChargingState (8F) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
StatusLowBattery (79) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CarbonDioxideDetected (92) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
CarbonDioxideLevel (93)
| float | PR+EV | 0 | 100000 | 0 |
CarbonDioxidePeakLevel (94)
| float | PR+EV | 0 | 100000 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CarbonMonoxideDetected (69) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
CarbonMonoxideLevel (90)
| float | PR+EV | 0 | 100 | 0 |
CarbonMonoxidePeakLevel (91)
| float | PR+EV | 0 | 100 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
ContactSensorState (6A) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentPosition (6D) :small_blue_diamond:
| uint8 | PR+EV | 0 | 100 | 0 |
TargetPosition (7C) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
ProgrammableSwitchEvent (73) :small_blue_diamond:
| uint8 | PR+EV+NV | 0 | 2 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
CurrentFanState (AF)
| uint8 | PR+EV | 0 | 2 |
|
TargetFanState (BF)
| uint8 | PW+PR+EV | 0 | 1 |
|
RotationDirection (28)
| int | PR+PW+EV | 0 | 1 |
|
RotationSpeed (29)
| float | PR+PW+EV | 0 | 100 | 0 |
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
LockPhysicalControls (A7)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
FilterChangeIndication (AC) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
FilterLifeLevel (AB)
| float | PR+EV | 0 | 100 | 0 |
ResetFilterIndication (AD)
| uint8 | PW | 1 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentDoorState (E) :small_blue_diamond:
| uint8 | PR+EV | 0 | 4 |
|
TargetDoorState (32) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
ObstructionDetected (24) :small_blue_diamond:
| bool | PR+EV | 0 | 1 |
|
LockCurrentState (1D)
| uint8 | PR+EV | 0 | 3 |
|
LockTargetState (1E)
| uint8 | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
Version (37) :small_blue_diamond:
| string | PR | - | - | "1.0.0" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
CurrentTemperature (11) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
CurrentHeaterCoolerState (B1) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
TargetHeaterCoolerState (B2) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 2 |
|
Name (23)
| string | PR | - | - | "unnamed" |
RotationSpeed (29)
| float | PR+PW+EV | 0 | 100 | 0 |
TemperatureDisplayUnits (36)
| uint8 | PW+PR+EV | 0 | 1 |
|
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
CoolingThresholdTemperature (D)
| float | PR+PW+EV | 10 | 35 | 10 |
HeatingThresholdTemperature (12)
| float | PR+PW+EV | 0 | 25 | 16 |
LockPhysicalControls (A7)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
CurrentRelativeHumidity (10) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
CurrentHumidifierDehumidifierState (B3) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
TargetHumidifierDehumidifierState (B4) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 2 |
|
Name (23)
| string | PR | - | - | "unnamed" |
RelativeHumidityDehumidifierThreshold (C9)
| float | PR+PW+EV | 0 | 100 | 50 |
RelativeHumidityHumidifierThreshold (CA)
| float | PR+PW+EV | 0 | 100 | 50 |
RotationSpeed (29)
| float | PR+PW+EV | 0 | 100 | 0 |
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
WaterLevel (B5)
| float | PR+EV | 0 | 100 | 0 |
LockPhysicalControls (A7)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentRelativeHumidity (10) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
ConfiguredName (E3)
| string | PW+PR+EV | - | - | "unnamed" |
IsConfigured (D6)
| uint8 | PR+EV | 0 | 1 |
|
Identifier (E6) :small_blue_diamond:
| uint32 | PR | 0 | 255 | 0 |
CurrentVisibilityState (135)
| uint8 | PR+EV | 0 | 1 |
|
TargetVisibilityState (134)
| uint8 | PW+PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
ProgramMode (D1) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
InUse (D2) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
RemainingDuration (D4)
| uint32 | PR+EV | 0 | 3600 | 60 |
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
LeakDetected (70) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
On (25) :small_blue_diamond:
| bool | PR+PW+EV | 0 | 1 |
|
Brightness (8)
| int | PR+PW+EV | 0 | 100 | 0 |
Hue (13)
| float | PR+PW+EV | 0 | 360 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
Saturation (2F)
| float | PR+PW+EV | 0 | 100 | 0 |
ColorTemperature (CE)
| uint32 | PR+PW+EV | 140 | 500 | 200 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentAmbientLightLevel (6B) :small_blue_diamond:
| float | PR+EV | 0.0001 | 100000 | 1 |
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
LockCurrentState (1D) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
LockTargetState (1E) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
Mute (11A) :small_blue_diamond:
| bool | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
Volume (119)
| uint8 | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
MotionDetected (22) :small_blue_diamond:
| bool | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
OccupancyDetected (71) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
On (25) :small_blue_diamond:
| bool | PR+PW+EV | 0 | 1 |
|
OutletInUse (26) :small_blue_diamond:
| bool | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
SecuritySystemCurrentState (66) :small_blue_diamond:
| uint8 | PR+EV | 0 | 4 |
|
SecuritySystemTargetState (67) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 3 |
|
Name (23)
| string | PR | - | - | "unnamed" |
SecuritySystemAlarmType (8E)
| uint8 | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
ServiceLabelNamespace (CD) :small_blue_diamond:
| uint8 | PR | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentSlatState (AA) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
SlatType (C0) :small_blue_diamond:
| uint8 | PR | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
SwingMode (B6)
| uint8 | PR+EV+PW | 0 | 1 |
|
CurrentTiltAngle (C1)
| int | PR+EV | -90 | 90 | 0 |
TargetTiltAngle (C2)
| int | PW+PR+EV | -90 | 90 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
SmokeDetected (76) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
Mute (11A) :small_blue_diamond:
| bool | PW+PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
Volume (119)
| uint8 | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
ProgrammableSwitchEvent (73) :small_blue_diamond:
| uint8 | PR+EV+NV | 0 | 2 |
|
Name (23)
| string | PR | - | - | "unnamed" |
ServiceLabelIndex (CB)
| uint8 | PR | 1 | 255 | 1 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
On (25) :small_blue_diamond:
| bool | PR+PW+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
ConfiguredName (E3)
| string | PW+PR+EV | - | - | "unnamed" |
ActiveIdentifier (E7)
| uint32 | PW+PR+EV | 0 | 255 | 0 |
RemoteKey (E1)
| uint8 | PW | 4 | 15 |
|
PowerModeSelection (DF)
| uint8 | PW | 0 | 0 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
VolumeControlType (E9) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
VolumeSelector (EA) :small_blue_diamond:
| uint8 | PW | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentTemperature (11) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
StatusActive (75)
| bool | PR+EV | 0 | 1 |
|
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
StatusTampered (7A)
| uint8 | PR+EV | 0 | 1 |
|
StatusLowBattery (79)
| uint8 | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentHeatingCoolingState (F) :small_blue_diamond:
| uint8 | PR+EV | 0 | 2 |
|
TargetHeatingCoolingState (33) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 3 |
|
CurrentTemperature (11) :small_blue_diamond:
| float | PR+EV | 0 | 100 | 0 |
TargetTemperature (35) :small_blue_diamond:
| float | PW+PR+EV | 10 | 38 | 16 |
TemperatureDisplayUnits (36) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
CoolingThresholdTemperature (D)
| float | PR+PW+EV | 10 | 35 | 10 |
CurrentRelativeHumidity (10)
| float | PR+EV | 0 | 100 | 0 |
HeatingThresholdTemperature (12)
| float | PR+PW+EV | 0 | 25 | 16 |
Name (23)
| string | PR | - | - | "unnamed" |
TargetRelativeHumidity (34)
| float | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
Active (B0) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 1 |
|
InUse (D2) :small_blue_diamond:
| uint8 | PR+EV | 0 | 1 |
|
ValveType (D5) :small_blue_diamond:
| uint8 | PR+EV | 0 | 3 |
|
SetDuration (D3)
| uint32 | PW+PR+EV | 0 | 3600 | 60 |
RemainingDuration (D4)
| uint32 | PR+EV | 0 | 3600 | 60 |
IsConfigured (D6)
| uint8 | PR+EV | 0 | 1 |
|
ServiceLabelIndex (CB)
| uint8 | PR | 1 | 255 | 1 |
StatusFault (77)
| uint8 | PR+EV | 0 | 1 |
|
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
CurrentPosition (6D) :small_blue_diamond:
| uint8 | PR+EV | 0 | 100 | 0 |
TargetPosition (7C) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
|---|---|---|---|---|---|
TargetPosition (7C) :small_blue_diamond:
| uint8 | PW+PR+EV | 0 | 100 | 0 |
CurrentPosition (6D) :small_blue_diamond:
| uint8 | PR+EV | 0 | 100 | 0 |
Name (23)
| string | PR | - | - | "unnamed" |
CurrentHorizontalTiltAngle (6C)
| int | PR+EV | -90 | 90 | 0 |
TargetHorizontalTiltAngle (7B)
| int | PW+PR+EV | -90 | 90 | 0 |
CurrentVerticalTiltAngle (6E)
| int | PR+EV | -90 | 90 | 0 |
TargetVerticalTiltAngle (7D)
| int | PW+PR+EV | -90 | 90 | 0 |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|