| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Identify | 14 | bool | PW | 0 | 1 |
| the Home App set this to RUN_ID when it wants the device to run its identification routine |
| FirmwareRevision | 52 | string | PR+EV | - | - | "1.0.0" | must be in form x[.y[.z]] - informational only |
| Manufacturer | 20 | string | PR | - | - | "HomeSpan" | any string - informational only |
| Model | 21 | string | PR | - | - | "HomeSpan-ESP32" | any string - informational only |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| SerialNumber | 30 | string | PR | - | - | "HS-12345" | |
| HardwareRevision | 53 | string | PR | - | - | "1.0.0" | must be in form x[.y[.z]] - informational only |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if the Service is active/on |
| CurrentAirPurifierState | A9 | uint8 | PR+EV | 0 | 2 |
| indicates current state of air purification |
| TargetAirPurifierState | A8 | uint8 | PW+PR+EV | 0 | 1 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| 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 |
| indicates if local control lock is enabled |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| AirQuality | 95 | uint8 | PR+EV | 0 | 5 |
| a subjective description |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| OzoneDensity | C3 | float | PR+EV | 0 | 1000 | 0 | measured in µg/m3 |
| NitrogenDioxideDensity | C4 | float | PR+EV | 0 | 1000 | 0 | measured in µg/m3 |
| SulphurDioxideDensity | C5 | float | PR+EV | 0 | 1000 | 0 | |
| PM25Density | C6 | float | PR+EV | 0 | 1000 | 0 | 2.5-micron particulate density, measured in µg/m3 |
| PM10Density | C7 | float | PR+EV | 0 | 1000 | 0 | 10-micron particulate density, measured in µg/m3 |
| VOCDensity | C8 | float | PR+EV | 0 | 1000 | 0 | |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| BatteryLevel | 68 | uint8 | PR+EV | 0 | 100 | 0 | measured as a percentage |
| ChargingState | 8F | uint8 | PR+EV | 0 | 2 |
| indicates state of battery charging |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CarbonDioxideDetected | 92 | uint8 | PR+EV | 0 | 1 |
| indicates if abnormal level is detected |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| 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 | measured on parts per million (ppm) |
| CarbonDioxidePeakLevel | 94 | float | PR+EV | 0 | 100000 | 0 | measured in parts per million (ppm) |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CarbonMonoxideDetected | 69 | uint8 | PR+EV | 0 | 1 |
| indicates if abnormal level is detected |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| 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 | measured in parts per million (ppm) |
| CarbonMonoxidePeakLevel | 91 | float | PR+EV | 0 | 100 | 0 | measured in parts per million (ppm) |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| ContactSensorState | 6A | uint8 | PR+EV | 0 | 1 |
| indictates if contact is detected (i.e. closed) |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | 0 | current position (as a percentage) from fully closed (0) to full open (100) |
| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | 0 | |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| ObstructionDetected | 24 | bool | PR+EV | 0 | 1 |
| indicates if obstruction is detected |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| ProgrammableSwitchEvent | 73 | uint8 | PR+EV+NV | 0 | 2 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if the Service is active/on |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| CurrentFanState | AF | uint8 | PR+EV | 0 | 2 |
| indicates current state of a fan |
| 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 |
| indicates if local control lock is enabled |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if the Service is active/on |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| FilterChangeIndication | AC | uint8 | PR+EV | 0 | 1 |
| indicates state of filter |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| FilterLifeLevel | AB | float | PR+EV | 0 | 100 | 0 | measures as a percentage of remaining life |
| ResetFilterIndication | AD | uint8 | PW | 1 | 1 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CurrentDoorState | E | uint8 | PR+EV | 0 | 4 |
| indicates current state of a door |
| TargetDoorState | 32 | uint8 | PW+PR+EV | 0 | 1 |
| |
| ObstructionDetected | 24 | bool | PR+EV | 0 | 1 |
| indicates if obstruction is detected |
| LockCurrentState | 1D | uint8 | PR+EV | 0 | 3 |
| indictates state of a lock |
| LockTargetState | 1E | uint8 | PW+PR+EV | 0 | 1 |
| indicates desired state of lock |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Version | 37 | string | PR | - | - | "1.0.0" |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if the Service is active/on |
| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | 0 | current temperature measured in Celsius |
| CurrentHeaterCoolerState | B1 | uint8 | PR+EV | 0 | 3 |
| indicates whether appliance is currently heating, cooling, idle, or off |
| TargetHeaterCoolerState | B2 | uint8 | PW+PR+EV | 0 | 2 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| 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 | cooling turns on when temperature (in Celsius) rises above this threshold |
| HeatingThresholdTemperature | 12 | float | PR+PW+EV | 0 | 25 | 16 | heating turns on when temperature (in Celsius) falls below this threshold |
| LockPhysicalControls | A7 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if local control lock is enabled |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if the Service is active/on |
| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | 0 | current humidity measured as a percentage |
| CurrentHumidifierDehumidifierState | B3 | uint8 | PR+EV | 0 | 3 |
| indicates current state of humidifier/dehumidifer |
| TargetHumidifierDehumidifierState | B4 | uint8 | PW+PR+EV | 0 | 2 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| 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 |
| indicates if local control lock is enabled |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | 0 | current humidity measured as a percentage |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| ConfiguredName | E3 | string | PW+PR+EV | - | - | "unnamed" | |
| IsConfigured | D6 | uint8 | PR+EV | 0 | 1 |
| indicates if a predefined Service has been configured |
| Identifier | E6 | uint32 | PR | 0 | 255 | 0 | |
| CurrentVisibilityState | 135 | uint8 | PR+EV | 0 | 1 | 0 | |
| TargetVisibilityState | 134 | uint8 | PW+PR+EV | 0 | 1 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if the Service is active/on |
| ProgramMode | D1 | uint8 | PR+EV | 0 | 2 |
| |
| InUse | D2 | uint8 | PR+EV | 0 | 1 |
| if Service is set to active, this indictes whether it is currently in use |
| RemainingDuration | D4 | uint32 | PR+EV | 0 | 3600 | 60 | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| LeakDetected | 70 | uint8 | PR+EV | 0 | 1 |
| indictates if a leak is detected |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| On | 25 | bool | PR+PW+EV | 0 | 1 |
| indicates if the Service is active/on |
| Brightness | 8 | int | PR+PW+EV | 0 | 100 | 0 | measured as a percentage |
| Hue | 13 | float | PR+PW+EV | 0 | 360 | 0 | color (in degrees) from red (0) to green (120) to blue (240) and back to red (360) |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Saturation | 2F | float | PR+PW+EV | 0 | 100 | 0 | |
| ColorTemperature | CE | uint32 | PR+PW+EV | 140 | 500 | 200 | measured in inverse megaKelvin (= 1,000,000 / Kelvin) |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CurrentAmbientLightLevel | 6B | float | PR+EV | 0.0001 | 100000 | 1 | measured in Lux (lumens/m2 |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| LockCurrentState | 1D | uint8 | PR+EV | 0 | 3 |
| indictates state of a lock |
| LockTargetState | 1E | uint8 | PW+PR+EV | 0 | 1 |
| indicates desired state of lock |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Mute | 11A | bool | PW+PR+EV | 0 | 1 |
| not used |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Volume | 119 | uint8 | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| MotionDetected | 22 | bool | PR+EV | 0 | 1 |
| indicates if motion is detected |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| OccupancyDetected | 71 | uint8 | PR+EV | 0 | 1 |
| indicates if occupanccy is detected |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| On | 25 | bool | PR+PW+EV | 0 | 1 |
| indicates if the Service is active/on |
| OutletInUse | 26 | bool | PR+EV | 0 | 1 |
| indicates if an appliance or light is plugged into the outlet, regardless of whether on or off |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| SecuritySystemCurrentState | 66 | uint8 | PR+EV | 0 | 4 |
| |
| SecuritySystemTargetState | 67 | uint8 | PW+PR+EV | 0 | 3 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| SecuritySystemAlarmType | 8E | uint8 | PR+EV | 0 | 1 |
| |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| ServiceLabelNamespace | CD | uint8 | PR | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CurrentSlatState | AA | uint8 | PR+EV | 0 | 2 |
| indicates current state of slats |
| SlatType | C0 | uint8 | PR | 0 | 1 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| SwingMode | B6 | uint8 | PR+EV+PW | 0 | 1 |
| |
| CurrentTiltAngle | C1 | int | PR+EV | -90 | 90 | 0 | angle (in degrees) of slats from fully up or left (-90) to fully open (0) to fully down or right (90) |
| TargetTiltAngle | C2 | int | PW+PR+EV | -90 | 90 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| SmokeDetected | 76 | uint8 | PR+EV | 0 | 1 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| 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 |
| not used |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Volume | 119 | uint8 | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| ProgrammableSwitchEvent | 73 | uint8 | PR+EV+NV | 0 | 2 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| On | 25 | bool | PR+PW+EV | 0 | 1 |
| indicates if the Service is active/on |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if the Service is active/on |
| ConfiguredName | E3 | string | PW+PR+EV | - | - | "unnamed" | |
| ActiveIdentifier | E7 | uint32 | PW+PR+EV | 0 | 255 | 0 | the Identifier of the current Input Source |
| RemoteKey | E1 | uint8 | PW | 0 | 16 | 0 | |
| PowerModeSelection | DF | uint8 | PW | 0 | 1 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| VolumeControlType | E9 | uint8 | PR+EV | 0 | 3 | 0 | |
| VolumeSelector | EA | uint8 | PW | 0 | 1 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | 0 | current temperature measured in Celsius |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| StatusActive | 75 | bool | PR+EV | 0 | 1 | true | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 |
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CurrentHeatingCoolingState | F | uint8 | PR+EV | 0 | 2 |
| indicates whether appliance is currently heating, cooling, or just idle |
| TargetHeatingCoolingState | 33 | uint8 | PW+PR+EV | 0 | 3 |
| |
| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | 0 | current temperature measured in Celsius |
| TargetTemperature | 35 | float | PW+PR+EV | 10 | 38 | 16 | |
| TemperatureDisplayUnits | 36 | uint8 | PW+PR+EV | 0 | 1 |
| |
| CoolingThresholdTemperature | D | float | PR+PW+EV | 10 | 35 | 10 | cooling turns on when temperature (in Celsius) rises above this threshold |
| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | 0 | current humidity measured as a percentage |
| HeatingThresholdTemperature | 12 | float | PR+PW+EV | 0 | 25 | 16 | heating turns on when temperature (in Celsius) falls below this threshold |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| TargetRelativeHumidity | 34 | float | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 |
| indicates if the Service is active/on |
| InUse | D2 | uint8 | PR+EV | 0 | 1 |
| if Service is set to active, this indictes whether it is currently in use |
| ValveType | D5 | uint8 | PR+EV | 0 | 3 | 0 | |
| SetDuration | D3 | uint32 | PW+PR+EV | 0 | 3600 | 60 | |
| RemainingDuration | D4 | uint32 | PR+EV | 0 | 3600 | 60 | |
| IsConfigured | D6 | uint8 | PR+EV | 0 | 1 |
| indicates if a predefined Service has been configured |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
| |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | 0 | current position (as a percentage) from fully closed (0) to full open (100) |
| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | 0 | |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| ObstructionDetected | 24 | bool | PR+EV | 0 | 1 |
| indicates if obstruction is detected |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults | Notes |
|---|---|---|---|---|---|---|---|
| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | 0 | |
| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | 0 | current position (as a percentage) from fully closed (0) to full open (100) |
| Name | 23 | string | PR | - | - | "unnamed" | default name of a Service used only during initial pairing |
| CurrentHorizontalTiltAngle | 6C | int | PR+EV | -90 | 90 | 0 | current angle (in degrees) of slats from fully up (-90) to fully open (0) to fully down (90) |
| TargetHorizontalTiltAngle | 7B | int | PW+PR+EV | -90 | 90 | 0 | |
| CurrentVerticalTiltAngle | 6E | int | PR+EV | -90 | 90 | 0 | current angle (in degrees) of slats from fully left (-90) to fully open (0) to fully right (90) |
| TargetVerticalTiltAngle | 7D | int | PW+PR+EV | -90 | 90 | 0 | |
| ObstructionDetected | 24 | bool | PR+EV | 0 | 1 |
| indicates if obstruction is detected |