| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | %s%s%s%s | ",servReq[s,j]?"":"",char,servReq[s,j]?"":"",notes[char])
- printf("%s%s%s
| ",servReq[s,j]?"":"",char,servReq[s,j]?"":"",notes[char])
- printf("%s | ",uuid[char]) + #printf("%s
| ",servReq[s,j]?"":"",char,servReq[s,j]?"":"",notes[char])
+ printf("%s (%s)
| ",char,uuid[char],notes[char])
printf("%s | ",format[char]) printf("%s | ",perms[char]) @@ -81,7 +80,6 @@ END { } printf("\n") - #printf("%s | \n",notes[char]) } printf("
| Characteristic | UUID | Format | Perms | Min | Max | 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" |
| 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" |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
Active
| B0 | uint8 | PW+PR+EV | 0 | 1 |
|
CurrentAirPurifierState
| A9 | uint8 | PR+EV | 0 | 2 |
|
| TargetAirPurifierState | A8 | 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 | |
Active (B0)
| uint8 | PW+PR+EV | 0 | 1 |
| |
CurrentAirPurifierState (A9)
| uint8 | PR+EV | 0 | 2 |
| |
| TargetAirPurifierState (A8) | 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 | UUID | Format | Perms | Min | Max | 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 |
| 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 | |
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 | |
| 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 |
|---|---|---|---|---|---|---|
BatteryLevel
| 68 | uint8 | PR+EV | 0 | 100 | 0 |
ChargingState
| 8F | uint8 | PR+EV | 0 | 2 |
|
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
BatteryLevel (68)
| uint8 | PR+EV | 0 | 100 | 0 | |
ChargingState (8F)
| uint8 | PR+EV | 0 | 2 |
| |
| StatusLowBattery (79) | uint8 | PR+EV | 0 | 1 |
| |
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
CarbonDioxideDetected
| 92 | uint8 | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 |
CarbonDioxidePeakLevel
| 94 | float | PR+EV | 0 | 100000 | 0 |
| 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 | |
| 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 | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
CarbonMonoxideDetected
| 69 | uint8 | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 |
CarbonMonoxidePeakLevel
| 91 | float | PR+EV | 0 | 100 | 0 |
| 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 | |
| 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 | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
ContactSensorState
| 6A | uint8 | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 | 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 | |
| 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 |
|---|---|---|---|---|---|---|
CurrentPosition
| 6D | uint8 | PR+EV | 0 | 100 | 0 |
| TargetPosition | 7C | 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 | |
CurrentPosition (6D)
| uint8 | PR+EV | 0 | 100 | 0 | |
| TargetPosition (7C) | uint8 | PW+PR+EV | 0 | 100 | 0 | |
Name (23)
| string | PR | - | - | "unnamed" | |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
| ProgrammableSwitchEvent | 73 | uint8 | PR+EV+NV | 0 | 2 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
| ProgrammableSwitchEvent (73) | uint8 | PR+EV+NV | 0 | 2 |
| |
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
Active
| B0 | 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)
| 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 | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
Active
| B0 | 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 | |
Active (B0)
| uint8 | PW+PR+EV | 0 | 1 |
| |
| StatusFault (77) | uint8 | PR+EV | 0 | 1 |
| |
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | UUID | Format | Perms | Min | Max | 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 |
| 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 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
CurrentDoorState
| E | uint8 | PR+EV | 0 | 4 |
|
| TargetDoorState | 32 | uint8 | PW+PR+EV | 0 | 1 |
|
ObstructionDetected
| 24 | 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 | string | PR | - | - | "1.0.0" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
CurrentDoorState (E)
| uint8 | PR+EV | 0 | 4 |
| |
| TargetDoorState (32) | uint8 | PW+PR+EV | 0 | 1 |
| |
ObstructionDetected (24)
| 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) | string | PR | - | - | "1.0.0" |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
Active
| B0 | uint8 | PW+PR+EV | 0 | 1 |
|
CurrentTemperature
| 11 | float | PR+EV | 0 | 100 | 0 |
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 |
| 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)
| uint8 | PW+PR+EV | 0 | 1 |
| |
CurrentTemperature (11)
| float | PR+EV | 0 | 100 | 0 | |
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 | |
| 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 | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
Active
| B0 | uint8 | PW+PR+EV | 0 | 1 |
|
CurrentRelativeHumidity
| 10 | float | PR+EV | 0 | 100 | 0 |
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 |
| 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 | |
Active (B0)
| uint8 | PW+PR+EV | 0 | 1 |
| |
CurrentRelativeHumidity (10)
| float | PR+EV | 0 | 100 | 0 | |
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 | |
| 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 | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
CurrentRelativeHumidity
| 10 | float | PR+EV | 0 | 100 | 0 |
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 | 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 | |
| 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 |
|---|---|---|---|---|---|---|
| ConfiguredName | E3 | string | PW+PR+EV | - | - | "unnamed" |
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 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
| ConfiguredName (E3) | string | PW+PR+EV | - | - | "unnamed" | |
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 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
Active
| B0 | uint8 | PW+PR+EV | 0 | 1 |
|
| ProgramMode | D1 | uint8 | PR+EV | 0 | 2 |
|
InUse
| D2 | 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 | |
Active (B0)
| uint8 | PW+PR+EV | 0 | 1 |
| |
| ProgramMode (D1) | uint8 | PR+EV | 0 | 2 |
| |
InUse (D2)
| uint8 | PR+EV | 0 | 1 |
| |
| RemainingDuration (D4) | uint32 | PR+EV | 0 | 3600 | 60 | |
| StatusFault (77) | uint8 | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
LeakDetected
| 70 | uint8 | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 | 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 | |
| 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 |
|---|---|---|---|---|---|---|
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 |
| 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 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
CurrentAmbientLightLevel
| 6B | float | PR+EV | 0.0001 | 100000 | 1 |
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 | 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 | |
| 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 |
|---|---|---|---|---|---|---|
LockCurrentState
| 1D | uint8 | PR+EV | 0 | 3 |
|
LockTargetState
| 1E | uint8 | PW+PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
Mute
| 11A | 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 | |
LockCurrentState (1D)
| uint8 | PR+EV | 0 | 3 |
| |
LockTargetState (1E)
| uint8 | PW+PR+EV | 0 | 1 |
| |
Name (23)
| string | PR | - | - | "unnamed" | |
Mute (11A)
| bool | PW+PR+EV | 0 | 1 |
| |
Name (23)
| string | PR | - | - | "unnamed" | |
| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
MotionDetected
| 22 | bool | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 | 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 | |
| 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 |
|---|---|---|---|---|---|---|
OccupancyDetected
| 71 | uint8 | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 | 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 | |
| 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 |
|---|---|---|---|---|---|---|
On
| 25 | bool | PR+PW+EV | 0 | 1 |
|
OutletInUse
| 26 | bool | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| 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" |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
| SecuritySystemCurrentState | 66 | uint8 | PR+EV | 0 | 4 |
|
| SecuritySystemTargetState | 67 | 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 | uint8 | PR | 0 | 1 |
|
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
| SecuritySystemCurrentState (66) | uint8 | PR+EV | 0 | 4 |
| |
| SecuritySystemTargetState (67) | 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) | uint8 | PR | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
CurrentSlatState
| AA | uint8 | PR+EV | 0 | 2 |
|
| SlatType | C0 | 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 | |
CurrentSlatState (AA)
| uint8 | PR+EV | 0 | 2 |
| |
| SlatType (C0) | 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 | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
| SmokeDetected | 76 | uint8 | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| Volume | 119 | uint8 | PW+PR+EV | 0 | 100 | 0 |
| 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 | |
| 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 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
| ProgrammableSwitchEvent | 73 | uint8 | PR+EV+NV | 0 | 2 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
| ProgrammableSwitchEvent (73) | uint8 | PR+EV+NV | 0 | 2 |
| |
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
On
| 25 | bool | PR+PW+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
On (25)
| bool | PR+PW+EV | 0 | 1 |
| |
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | UUID | Format | Perms | Min | Max | 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 |
| 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 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
| VolumeControlType | E9 | uint8 | PR+EV | 0 | 3 | 0 |
| VolumeSelector | EA | uint8 | PW | 0 | 1 | 0 |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
| VolumeControlType (E9) | uint8 | PR+EV | 0 | 3 | 0 | |
| VolumeSelector (EA) | uint8 | PW | 0 | 1 | 0 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
CurrentTemperature
| 11 | float | PR+EV | 0 | 100 | 0 |
Name
| 23 | string | PR | - | - | "unnamed" |
| 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 | 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 | |
| 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 |
|---|---|---|---|---|---|---|
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 |
| 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 |
| 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 | |
| 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 |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
Active
| B0 | uint8 | PW+PR+EV | 0 | 1 |
|
InUse
| D2 | uint8 | PR+EV | 0 | 1 |
|
| 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 |
|
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 |
|
Name
| 23 | string | PR | - | - | "unnamed" |
| Characteristic | Format | Perms | Min | Max | Constants/Defaults | |
Active (B0)
| uint8 | PW+PR+EV | 0 | 1 |
| |
InUse (D2)
| uint8 | PR+EV | 0 | 1 |
| |
| 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 |
| |
| StatusFault (77) | uint8 | PR+EV | 0 | 1 |
| |
Name (23)
| string | PR | - | - | "unnamed" |
| Characteristic | UUID | Format | Perms | Min | Max | Defaults |
|---|---|---|---|---|---|---|
CurrentPosition
| 6D | uint8 | PR+EV | 0 | 100 | 0 |
| TargetPosition | 7C | 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 | |
CurrentPosition (6D)
| uint8 | PR+EV | 0 | 100 | 0 | |
| TargetPosition (7C) | uint8 | PW+PR+EV | 0 | 100 | 0 | |
Name (23)
| string | PR | - | - | "unnamed" | |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|
| Characteristic | UUID | Format | Perms | Min | Max | 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 |
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 | |
ObstructionDetected (24)
| bool | PR+EV | 0 | 1 |
|