| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| Identify (14) 
 | bool | PW | 0 | 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" | 
| FirmwareRevision (52) 
 | string | PR+EV | - | - | |
| Manufacturer (20) 
 | string | PR | - | - | |
| Model (21) 
 | string | PR | - | - | |
| Name (23) 
 | string | PR | - | - | |
| SerialNumber (30) | string | PR | - | - | |
| HardwareRevision (53) 
 | string | PR | - | - | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| AirQuality (95) 
 | 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 | true | 
| Name (23) 
 | string | PR | - | - | |
| OzoneDensity (C3) 
 | float | PR+EV | 0 | 1000 | |
| NitrogenDioxideDensity (C4) 
 | float | PR+EV | 0 | 1000 | |
| SulphurDioxideDensity (C5) | float | PR+EV | 0 | 1000 | |
| PM25Density (C6) 
 | float | PR+EV | 0 | 1000 | |
| PM10Density (C7) 
 | float | PR+EV | 0 | 1000 | |
| VOCDensity (C8) | float | PR+EV | 0 | 1000 | |
| 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) 
 | uint8 | PR+EV | 0 | 100 | 0 | 
| BatteryLevel (68) 
 | uint8 | PR+EV | 0 | 100 | |
| ChargingState (8F) 
 | uint8 | PR+EV | 0 | 2 | 
 | 
| StatusLowBattery (79) | uint8 | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Name (23) 
 | string | PR | - | - | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| CarbonDioxideDetected (92) 
 | uint8 | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| Name (23) 
 | string | PR | - | - | |
| 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 | 
| CarbonDioxideLevel (93) 
 | float | PR+EV | 0 | 100000 | |
| CarbonDioxidePeakLevel (94) 
 | float | PR+EV | 0 | 100000 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| CarbonMonoxideDetected (69) 
 | uint8 | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| Name (23) 
 | string | PR | - | - | |
| 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 | 
| CarbonMonoxideLevel (90) 
 | float | PR+EV | 0 | 100 | |
| CarbonMonoxidePeakLevel (91) 
 | float | PR+EV | 0 | 100 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| ContactSensorState (6A) 
 | uint8 | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| Name (23) 
 | string | PR | - | - | |
| 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) 
 | uint8 | PR+EV | 0 | 100 | 0 | 
| TargetPosition (7C) | uint8 | PW+PR+EV | 0 | 100 | 0 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| CurrentPosition (6D) 
 | uint8 | PR+EV | 0 | 100 | |
| TargetPosition (7C) | uint8 | PW+PR+EV | 0 | 100 | |
| Name (23) 
 | string | PR | - | - | |
| ObstructionDetected (24) 
 | bool | PR+EV | 0 | 1 | 
 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| ProgrammableSwitchEvent (73) | uint8 | PR+EV+NV | 0 | 2 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Name (23) 
 | string | PR | - | - | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| Active (B0) 
 | uint8 | PW+PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Name (23) 
 | string | PR | - | - | |
| 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 | 
| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | |
| SwingMode (B6) | uint8 | PR+EV+PW | 0 | 1 | 
 | 
| LockPhysicalControls (A7) 
 | uint8 | PW+PR+EV | 0 | 1 | 
 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| FilterChangeIndication (AC) 
 | uint8 | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| FilterLifeLevel (AB) 
 | float | PR+EV | 0 | 100 | 0 | 
| ResetFilterIndication (AD) | uint8 | PW | 1 | 1 | 0 | 
| Name (23) 
 | string | PR | - | - | |
| FilterLifeLevel (AB) 
 | float | PR+EV | 0 | 100 | |
| ResetFilterIndication (AD) | uint8 | PW | 1 | 1 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| Active (B0) 
 | uint8 | PW+PR+EV | 0 | 1 | 
 | 
| CurrentTemperature (11) 
 | float | PR+EV | 0 | 100 | 0 | 
| CurrentTemperature (11) 
 | float | PR+EV | 0 | 100 | |
| CurrentHeaterCoolerState (B1) 
 | uint8 | PR+EV | 0 | 3 | 
 | 
| TargetHeaterCoolerState (B2) | uint8 | PW+PR+EV | 0 | 2 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | 0 | 
| Name (23) 
 | string | PR | - | - | |
| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | |
| 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 | 
| CoolingThresholdTemperature (D) 
 | float | PR+PW+EV | 10 | 35 | |
| HeatingThresholdTemperature (12) 
 | float | PR+PW+EV | 0 | 25 | |
| LockPhysicalControls (A7) 
 | uint8 | PW+PR+EV | 0 | 1 | 
 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| Active (B0) 
 | uint8 | PW+PR+EV | 0 | 1 | 
 | 
| CurrentRelativeHumidity (10) 
 | float | PR+EV | 0 | 100 | 0 | 
| CurrentRelativeHumidity (10) 
 | float | PR+EV | 0 | 100 | |
| CurrentHumidifierDehumidifierState (B3) 
 | uint8 | PR+EV | 0 | 3 | 
 | 
| TargetHumidifierDehumidifierState (B4) | 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 | 
| Name (23) 
 | string | PR | - | - | |
| RelativeHumidityDehumidifierThreshold (C9) | float | PR+PW+EV | 0 | 100 | |
| RelativeHumidityHumidifierThreshold (CA) | float | PR+PW+EV | 0 | 100 | |
| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | |
| SwingMode (B6) | uint8 | PR+EV+PW | 0 | 1 | 
 | 
| WaterLevel (B5) | float | PR+EV | 0 | 100 | 0 | 
| WaterLevel (B5) | float | PR+EV | 0 | 100 | |
| LockPhysicalControls (A7) 
 | uint8 | PW+PR+EV | 0 | 1 | 
 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| CurrentRelativeHumidity (10) 
 | float | PR+EV | 0 | 100 | 0 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| CurrentRelativeHumidity (10) 
 | float | PR+EV | 0 | 100 | |
| Name (23) 
 | string | PR | - | - | |
| 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" | 
| ConfiguredName (E3) | string | PW+PR+EV | - | - | |
| IsConfigured (D6) 
 | uint8 | PR+EV | 0 | 1 | 
 | 
| Identifier (E6) | uint32 | PR | 0 | 255 | 0 | 
| CurrentVisibilityState (135) | uint8 | PR+EV | 0 | 1 | 0 | 
| TargetVisibilityState (134) | uint8 | PW+PR+EV | 0 | 1 | 0 | 
| Identifier (E6) | uint32 | PR | 0 | 255 | |
| CurrentVisibilityState (135) | uint8 | PR+EV | 0 | 1 | |
| TargetVisibilityState (134) | uint8 | PW+PR+EV | 0 | 1 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| LeakDetected (70) 
 | uint8 | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| Name (23) 
 | string | PR | - | - | |
| 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) 
 | 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 | 
| Brightness (8) 
 | int | PR+PW+EV | 0 | 100 | |
| Hue (13) 
 | float | PR+PW+EV | 0 | 360 | |
| Name (23) 
 | string | PR | - | - | |
| Saturation (2F) | float | PR+PW+EV | 0 | 100 | |
| ColorTemperature (CE) 
 | uint32 | PR+PW+EV | 140 | 500 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| CurrentAmbientLightLevel (6B) 
 | float | PR+EV | 0.0001 | 100000 | 1 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| CurrentAmbientLightLevel (6B) 
 | float | PR+EV | 0.0001 | 100000 | |
| Name (23) 
 | string | PR | - | - | |
| 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) 
 | uint8 | PR+EV | 0 | 3 | 
 | 
| LockTargetState (1E) 
 | uint8 | PW+PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Name (23) 
 | string | PR | - | - | |
| Mute (11A) 
 | bool | PW+PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 0 | 
| Name (23) 
 | string | PR | - | - | |
| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| MotionDetected (22) 
 | bool | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| Name (23) 
 | string | PR | - | - | |
| 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) 
 | uint8 | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| Name (23) 
 | string | PR | - | - | |
| 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) 
 | bool | PR+PW+EV | 0 | 1 | 
 | 
| OutletInUse (26) 
 | bool | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Name (23) 
 | string | PR | - | - | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| SmokeDetected (76) | uint8 | PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| Name (23) 
 | string | PR | - | - | |
| 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) 
 | bool | PW+PR+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 0 | 
| Name (23) 
 | string | PR | - | - | |
| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| ProgrammableSwitchEvent (73) | uint8 | PR+EV+NV | 0 | 2 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Name (23) 
 | string | PR | - | - | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| On (25) 
 | bool | PR+PW+EV | 0 | 1 | 
 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| Name (23) 
 | string | PR | - | - | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| Active (B0) 
 | 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 | 0 | 16 | 0 | 
| PowerModeSelection (DF) | uint8 | PW | 0 | 1 | 0 | 
| ConfiguredName (E3) | string | PW+PR+EV | - | - | |
| ActiveIdentifier (E7) 
 | uint32 | PW+PR+EV | 0 | 255 | |
| RemoteKey (E1) | uint8 | PW | 0 | 16 | |
| PowerModeSelection (DF) | uint8 | PW | 0 | 1 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| VolumeControlType (E9) | uint8 | PR+EV | 0 | 3 | 0 | 
| VolumeSelector (EA) | uint8 | PW | 0 | 1 | 0 | 
| VolumeControlType (E9) | uint8 | PR+EV | 0 | 3 | |
| VolumeSelector (EA) | uint8 | PW | 0 | 1 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| CurrentTemperature (11) 
 | float | PR+EV | 0 | 100 | 0 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| StatusActive (75) | bool | PR+EV | 0 | 1 | true | 
| CurrentTemperature (11) 
 | float | PR+EV | 0 | 100 | |
| Name (23) 
 | string | PR | - | - | |
| 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) 
 | uint8 | PR+EV | 0 | 2 | 
 | 
| TargetHeatingCoolingState (33) | uint8 | PW+PR+EV | 0 | 3 | 
 | 
| CurrentTemperature (11) 
 | float | PR+EV | 0 | 100 | 0 | 
| TargetTemperature (35) | float | PW+PR+EV | 10 | 38 | 16 | 
| CurrentTemperature (11) 
 | float | PR+EV | 0 | 100 | |
| TargetTemperature (35) | float | PW+PR+EV | 10 | 38 | |
| TemperatureDisplayUnits (36) | 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 | 
| CoolingThresholdTemperature (D) 
 | float | PR+PW+EV | 10 | 35 | |
| CurrentRelativeHumidity (10) 
 | float | PR+EV | 0 | 100 | |
| HeatingThresholdTemperature (12) 
 | float | PR+PW+EV | 0 | 25 | |
| Name (23) 
 | string | PR | - | - | |
| TargetRelativeHumidity (34) | float | PW+PR+EV | 0 | 100 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| CurrentPosition (6D) 
 | uint8 | PR+EV | 0 | 100 | 0 | 
| TargetPosition (7C) | uint8 | PW+PR+EV | 0 | 100 | 0 | 
| Name (23) 
 | string | PR | - | - | "unnamed" | 
| CurrentPosition (6D) 
 | uint8 | PR+EV | 0 | 100 | |
| TargetPosition (7C) | uint8 | PW+PR+EV | 0 | 100 | |
| Name (23) 
 | string | PR | - | - | |
| ObstructionDetected (24) 
 | bool | PR+EV | 0 | 1 | 
 | 
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | 
|---|---|---|---|---|---|
| TargetPosition (7C) | uint8 | PW+PR+EV | 0 | 100 | 0 | 
| CurrentPosition (6D) 
 | 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 | 
| TargetPosition (7C) | uint8 | PW+PR+EV | 0 | 100 | |
| CurrentPosition (6D) 
 | uint8 | PR+EV | 0 | 100 | |
| Name (23) 
 | string | PR | - | - | |
| CurrentHorizontalTiltAngle (6C) 
 | int | PR+EV | -90 | 90 | |
| TargetHorizontalTiltAngle (7B) | int | PW+PR+EV | -90 | 90 | |
| CurrentVerticalTiltAngle (6E) 
 | int | PR+EV | -90 | 90 | |
| TargetVerticalTiltAngle (7D) | int | PW+PR+EV | -90 | 90 | |
| ObstructionDetected (24) 
 | bool | PR+EV | 0 | 1 | 
 |