diff --git a/tools/makeServiceList b/tools/makeServiceList index 13f87b4..2d80af9 100755 --- a/tools/makeServiceList +++ b/tools/makeServiceList @@ -72,7 +72,7 @@ END { if(nVals[char]>0){ printf("") } else { printf("%s",default[char]) diff --git a/tools/test.md b/tools/test.md index 8b89650..593f945 100644 --- a/tools/test.md +++ b/tools/test.md @@ -1,7 +1,7 @@ ## AccessoryInformation (3E)
Required Identification Information. For each Accessory in a HomeSpan device this must be included as the first Service.
- + @@ -13,19 +13,19 @@ ## AirPurifier (BB)
Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, and Slat
CharacteristicFormatPermsMinMaxConstants/Defaults
Identify (14) :small_blue_diamond:
  • the Home App sets this to RUN_ID when it wants the device to run its identification routine
boolPW01
  • IDLE (0)  :small_orange_diamond:
  • RUN_ID (1) 
Identify (14) :small_blue_diamond:
  • the Home App sets this to RUN_ID when it wants the device to run its identification routine
boolPW01
  • IDLE (0) :heavy_check_mark:
  • RUN_ID (1) 
FirmwareRevision (52)
  • must be in form x[.y[.z]] - informational only
stringPR+EV--"1.0.0"
Manufacturer (20)
  • any string - informational only
stringPR--"HomeSpan"
Model (21)
  • any string - informational only
stringPR--"HomeSpan-ESP32"
- - - + + + - - + +
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0)  :small_orange_diamond:
  • ACTIVE (1) 
CurrentAirPurifierState (A9) :small_blue_diamond:
  • indicates current state of air purification
uint8PR+EV02
  • INACTIVE (0) 
  • IDLE (1)  :small_orange_diamond:
  • PURIFYING (2) 
TargetAirPurifierState (A8) :small_blue_diamond:
uint8PW+PR+EV01
  • MANUAL (0) 
  • AUTO (1)  :small_orange_diamond:
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
CurrentAirPurifierState (A9) :small_blue_diamond:
  • indicates current state of air purification
uint8PR+EV02
  • INACTIVE (0) 
  • IDLE (1) :heavy_check_mark:
  • PURIFYING (2) 
TargetAirPurifierState (A8) :small_blue_diamond:
uint8PW+PR+EV01
  • MANUAL (0) 
  • AUTO (1) :heavy_check_mark:
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
RotationSpeed (29)
floatPR+PW+EV01000
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0)  :small_orange_diamond:
  • SWING_ENABLED (1) 
LockPhysicalControls (A7)
  • indicates if local control lock is enabled
uint8PW+PR+EV01
  • CONTROL_LOCK_DISABLED (0)  :small_orange_diamond:
  • CONTROL_LOCK_ENABLED (1) 
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0) :heavy_check_mark:
  • SWING_ENABLED (1) 
LockPhysicalControls (A7)
  • indicates if local control lock is enabled
uint8PW+PR+EV01
  • CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
  • CONTROL_LOCK_ENABLED (1) 
## AirQualitySensor (8D)
Defines an Air Quality Sensor.
- + @@ -34,29 +34,29 @@ - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
AirQuality (95) :small_blue_diamond:
  • a subjective description
uint8PR+EV05
  • UNKNOWN (0)  :small_orange_diamond:
  • EXCELLENT (1) 
  • GOOD (2) 
  • FAIR (3) 
  • INFERIOR (4) 
  • POOR (5) 
AirQuality (95) :small_blue_diamond:
  • a subjective description
uint8PR+EV05
  • UNKNOWN (0) :heavy_check_mark:
  • EXCELLENT (1) 
  • GOOD (2) 
  • FAIR (3) 
  • INFERIOR (4) 
  • POOR (5) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
OzoneDensity (C3)
  • measured in µg/m3
floatPR+EV010000
NitrogenDioxideDensity (C4)
  • measured in µg/m3
floatPR+EV010000
PM10Density (C7)
  • 10-micron particulate density, measured in µg/m3
floatPR+EV010000
VOCDensity (C8)
floatPR+EV010000
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
## BatteryService (96)
Defines a standalone Battery Service.
- - + +
CharacteristicFormatPermsMinMaxConstants/Defaults
BatteryLevel (68) :small_blue_diamond:
  • measured as a percentage
uint8PR+EV01000
ChargingState (8F) :small_blue_diamond:
  • indicates state of battery charging
uint8PR+EV02
  • NOT_CHARGING (0)  :small_orange_diamond:
  • CHARGING (1) 
  • NOT_CHARGEABLE (2) 
StatusLowBattery (79) :small_blue_diamond:
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
ChargingState (8F) :small_blue_diamond:
  • indicates state of battery charging
uint8PR+EV02
  • NOT_CHARGING (0) :heavy_check_mark:
  • CHARGING (1) 
  • NOT_CHARGEABLE (2) 
StatusLowBattery (79) :small_blue_diamond:
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## CarbonDioxideSensor (97)
Defines a Carbon Dioxide Sensor.
- + - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
CarbonDioxideDetected (92) :small_blue_diamond:
  • indicates if abnormal level is detected
uint8PR+EV01
  • NORMAL (0)  :small_orange_diamond:
  • ABNORMAL (1) 
CarbonDioxideDetected (92) :small_blue_diamond:
  • indicates if abnormal level is detected
uint8PR+EV01
  • NORMAL (0) :heavy_check_mark:
  • ABNORMAL (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
CarbonDioxideLevel (93)
  • measured on parts per million (ppm)
floatPR+EV01000000
CarbonDioxidePeakLevel (94)
  • measured in parts per million (ppm)
floatPR+EV01000000
@@ -64,12 +64,12 @@ ## CarbonMonoxideSensor (7F)
Defines a Carbon Monoxide Sensor.
- + - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
CarbonMonoxideDetected (69) :small_blue_diamond:
  • indicates if abnormal level is detected
uint8PR+EV01
  • NORMAL (0)  :small_orange_diamond:
  • ABNORMAL (1) 
CarbonMonoxideDetected (69) :small_blue_diamond:
  • indicates if abnormal level is detected
uint8PR+EV01
  • NORMAL (0) :heavy_check_mark:
  • ABNORMAL (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
CarbonMonoxideLevel (90)
  • measured in parts per million (ppm)
floatPR+EV01000
CarbonMonoxidePeakLevel (91)
  • measured in parts per million (ppm)
floatPR+EV01000
@@ -77,12 +77,12 @@ ## ContactSensor (80)
Defines a Contact Sensor.
- + - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
ContactSensorState (6A) :small_blue_diamond:
  • indictates if contact is detected (i.e. closed)
uint8PR+EV01
  • DETECTED (0) 
  • NOT_DETECTED (1)  :small_orange_diamond:
ContactSensorState (6A) :small_blue_diamond:
  • indictates if contact is detected (i.e. closed)
uint8PR+EV01
  • DETECTED (0) 
  • NOT_DETECTED (1) :heavy_check_mark:
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
## Door (81) @@ -91,41 +91,41 @@ CurrentPosition (6D) :small_blue_diamond:uint8PR+EV01000 TargetPosition (7C) :small_blue_diamond:uint8PW+PR+EV01000 Name (23) stringPR--"unnamed" -ObstructionDetected (24) boolPR+EV01 +ObstructionDetected (24) boolPR+EV01 ## Doorbell (121)
Defines a Doorbell. Can be used on a standalone basis or in conjunction with a LockMechanism Service.
- +
CharacteristicFormatPermsMinMaxConstants/Defaults
ProgrammableSwitchEvent (73) :small_blue_diamond:
uint8PR+EV+NV02
  • SINGLE_PRESS (0)  :small_orange_diamond:
  • DOUBLE_PRESS (1) 
  • LONG_PRESS (2) 
ProgrammableSwitchEvent (73) :small_blue_diamond:
uint8PR+EV+NV02
  • SINGLE_PRESS (0) :heavy_check_mark:
  • DOUBLE_PRESS (1) 
  • LONG_PRESS (2) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Fan (B7)
Defines a Fan. Can be used in conjunction with a LightBulb Service to create a Lighted Ceiling Fan.
- + - - - + + + - - + +
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0)  :small_orange_diamond:
  • ACTIVE (1) 
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
CurrentFanState (AF)
  • indicates current state of a fan
uint8PR+EV02
  • INACTIVE (0) 
  • IDLE (1)  :small_orange_diamond:
  • BLOWING (2) 
TargetFanState (BF)
uint8PW+PR+EV01
  • MANUAL (0) 
  • AUTO (1)  :small_orange_diamond:
RotationDirection (28)
intPR+PW+EV01
  • CLOCKWISE (0)  :small_orange_diamond:
  • COUNTERCLOCKWISE (1) 
CurrentFanState (AF)
  • indicates current state of a fan
uint8PR+EV02
  • INACTIVE (0) 
  • IDLE (1) :heavy_check_mark:
  • BLOWING (2) 
TargetFanState (BF)
uint8PW+PR+EV01
  • MANUAL (0) 
  • AUTO (1) :heavy_check_mark:
RotationDirection (28)
intPR+PW+EV01
  • CLOCKWISE (0) :heavy_check_mark:
  • COUNTERCLOCKWISE (1) 
RotationSpeed (29)
floatPR+PW+EV01000
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0)  :small_orange_diamond:
  • SWING_ENABLED (1) 
LockPhysicalControls (A7)
  • indicates if local control lock is enabled
uint8PW+PR+EV01
  • CONTROL_LOCK_DISABLED (0)  :small_orange_diamond:
  • CONTROL_LOCK_ENABLED (1) 
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0) :heavy_check_mark:
  • SWING_ENABLED (1) 
LockPhysicalControls (A7)
  • indicates if local control lock is enabled
uint8PW+PR+EV01
  • CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
  • CONTROL_LOCK_ENABLED (1) 
## Faucet (D7)
Defines the master control for a multi-Valve appliance. Linked Services: Valve (at least one required), and HeaterCooler (optional).
- - + +
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0)  :small_orange_diamond:
  • ACTIVE (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## FilterMaintenance (BA)
Defines a Filter Maintainence check.
- + @@ -134,11 +134,11 @@ ## GarageDoorOpener (41)
Defines a motorized Garage Door Opener.
CharacteristicFormatPermsMinMaxConstants/Defaults
FilterChangeIndication (AC) :small_blue_diamond:
  • indicates state of filter
uint8PR+EV01
  • NO_CHANGE_NEEDED (0)  :small_orange_diamond:
  • CHANGE_NEEDED (1) 
FilterChangeIndication (AC) :small_blue_diamond:
  • indicates state of filter
uint8PR+EV01
  • NO_CHANGE_NEEDED (0) :heavy_check_mark:
  • CHANGE_NEEDED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
FilterLifeLevel (AB)
  • measures as a percentage of remaining life
floatPR+EV01000
ResetFilterIndication (AD)
uint8PW110
- - - - - + + + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentDoorState (E) :small_blue_diamond:
  • indicates current state of a door
uint8PR+EV04
  • OPEN (0) 
  • CLOSED (1)  :small_orange_diamond:
  • OPENING (2) 
  • CLOSING (3) 
  • STOPPED (4) 
TargetDoorState (32) :small_blue_diamond:
uint8PW+PR+EV01
  • OPEN (0) 
  • CLOSED (1)  :small_orange_diamond:
ObstructionDetected (24) :small_blue_diamond:
  • indicates if obstruction is detected
boolPR+EV01
  • NOT_DETECTED (0)  :small_orange_diamond:
  • DETECTED (1) 
LockCurrentState (1D)
  • indictates state of a lock
uint8PR+EV03
  • UNLOCKED (0)  :small_orange_diamond:
  • LOCKED (1) 
  • JAMMED (2) 
  • UNKNOWN (3) 
LockTargetState (1E)
  • indicates desired state of lock
uint8PW+PR+EV01
  • UNLOCK (0)  :small_orange_diamond:
  • LOCK (1) 
CurrentDoorState (E) :small_blue_diamond:
  • indicates current state of a door
uint8PR+EV04
  • OPEN (0) 
  • CLOSED (1) :heavy_check_mark:
  • OPENING (2) 
  • CLOSING (3) 
  • STOPPED (4) 
TargetDoorState (32) :small_blue_diamond:
uint8PW+PR+EV01
  • OPEN (0) 
  • CLOSED (1) :heavy_check_mark:
ObstructionDetected (24) :small_blue_diamond:
  • indicates if obstruction is detected
boolPR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
LockCurrentState (1D)
  • indictates state of a lock
uint8PR+EV03
  • UNLOCKED (0) :heavy_check_mark:
  • LOCKED (1) 
  • JAMMED (2) 
  • UNKNOWN (3) 
LockTargetState (1E)
  • indicates desired state of lock
uint8PW+PR+EV01
  • UNLOCK (0) :heavy_check_mark:
  • LOCK (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
Version (37) :small_blue_diamond:
stringPR--"1.0.0"
@@ -146,33 +146,33 @@ ## HeaterCooler (BC)
Defines a standalone Heater, Cooler, or combined Heater/Cooler. Can be used with a separate Fan Service and/or Slat Service to extend functionality.
- + - - + + - - + + - +
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0)  :small_orange_diamond:
  • ACTIVE (1) 
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
CurrentTemperature (11) :small_blue_diamond:
  • current temperature measured in Celsius
floatPR+EV01000
CurrentHeaterCoolerState (B1) :small_blue_diamond:
  • indicates whether appliance is currently heating, cooling, idle, or off
uint8PR+EV03
  • INACTIVE (0) 
  • IDLE (1)  :small_orange_diamond:
  • HEATING (2) 
  • COOLING (3) 
TargetHeaterCoolerState (B2) :small_blue_diamond:
uint8PW+PR+EV02
  • AUTO (0)  :small_orange_diamond:
  • HEAT (1) 
  • COOL (2) 
CurrentHeaterCoolerState (B1) :small_blue_diamond:
  • indicates whether appliance is currently heating, cooling, idle, or off
uint8PR+EV03
  • INACTIVE (0) 
  • IDLE (1) :heavy_check_mark:
  • HEATING (2) 
  • COOLING (3) 
TargetHeaterCoolerState (B2) :small_blue_diamond:
uint8PW+PR+EV02
  • AUTO (0) :heavy_check_mark:
  • HEAT (1) 
  • COOL (2) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
RotationSpeed (29)
floatPR+PW+EV01000
TemperatureDisplayUnits (36)
uint8PW+PR+EV01
  • CELSIUS (0)  :small_orange_diamond:
  • FAHRENHEIT (1) 
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0)  :small_orange_diamond:
  • SWING_ENABLED (1) 
TemperatureDisplayUnits (36)
uint8PW+PR+EV01
  • CELSIUS (0) :heavy_check_mark:
  • FAHRENHEIT (1) 
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0) :heavy_check_mark:
  • SWING_ENABLED (1) 
CoolingThresholdTemperature (D)
  • cooling turns on when temperature (in Celsius) rises above this threshold
floatPR+PW+EV103510
HeatingThresholdTemperature (12)
  • heating turns on when temperature (in Celsius) falls below this threshold
floatPR+PW+EV02516
LockPhysicalControls (A7)
  • indicates if local control lock is enabled
uint8PW+PR+EV01
  • CONTROL_LOCK_DISABLED (0)  :small_orange_diamond:
  • CONTROL_LOCK_ENABLED (1) 
LockPhysicalControls (A7)
  • indicates if local control lock is enabled
uint8PW+PR+EV01
  • CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
  • CONTROL_LOCK_ENABLED (1) 
## HumidifierDehumidifier (BD)
Defines a Humidifer, Dehumidifier, or combined Humidifer/Dehumidifier. Can be used with a separate Fan Service and/or Slat Service to extend functionality.
- + - - + + - + - +
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0)  :small_orange_diamond:
  • ACTIVE (1) 
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
CurrentRelativeHumidity (10) :small_blue_diamond:
  • current humidity measured as a percentage
floatPR+EV01000
CurrentHumidifierDehumidifierState (B3) :small_blue_diamond:
  • indicates current state of humidifier/dehumidifer
uint8PR+EV03
  • INACTIVE (0) 
  • IDLE (1)  :small_orange_diamond:
  • HUMIDIFYING (2) 
  • DEHUMIDIFYING (3) 
TargetHumidifierDehumidifierState (B4) :small_blue_diamond:
uint8PW+PR+EV02
  • AUTO (0)  :small_orange_diamond:
  • HUMIDIFY (1) 
  • DEHUMIDIFY (2) 
CurrentHumidifierDehumidifierState (B3) :small_blue_diamond:
  • indicates current state of humidifier/dehumidifer
uint8PR+EV03
  • INACTIVE (0) 
  • IDLE (1) :heavy_check_mark:
  • HUMIDIFYING (2) 
  • DEHUMIDIFYING (3) 
TargetHumidifierDehumidifierState (B4) :small_blue_diamond:
uint8PW+PR+EV02
  • AUTO (0) :heavy_check_mark:
  • HUMIDIFY (1) 
  • DEHUMIDIFY (2) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
RelativeHumidityDehumidifierThreshold (C9)
floatPR+PW+EV010050
RelativeHumidityHumidifierThreshold (CA)
floatPR+PW+EV010050
RotationSpeed (29)
floatPR+PW+EV01000
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0)  :small_orange_diamond:
  • SWING_ENABLED (1) 
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0) :heavy_check_mark:
  • SWING_ENABLED (1) 
WaterLevel (B5)
floatPR+EV01000
LockPhysicalControls (A7)
  • indicates if local control lock is enabled
uint8PW+PR+EV01
  • CONTROL_LOCK_DISABLED (0)  :small_orange_diamond:
  • CONTROL_LOCK_ENABLED (1) 
LockPhysicalControls (A7)
  • indicates if local control lock is enabled
uint8PW+PR+EV01
  • CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
  • CONTROL_LOCK_ENABLED (1) 
## HumiditySensor (82) @@ -181,16 +181,16 @@ CurrentRelativeHumidity (10) :small_blue_diamond:floatPR+EV01000 Name (23) stringPR--"unnamed" StatusActive (75) boolPR+EV011 -StatusFault (77) uint8PR+EV01 -StatusTampered (7A) uint8PR+EV01 -StatusLowBattery (79) uint8PR+EV01 +StatusFault (77) uint8PR+EV01 +StatusTampered (7A) uint8PR+EV01 +StatusLowBattery (79) uint8PR+EV01 ## InputSource (D9)
Defines an Input Source for a TV. Use only as a Linked Service for the Television Service.
- + @@ -199,28 +199,28 @@ ## IrrigationSystem (CF)
Defines an Irrigation System. Linked Services: Valve Service (at least one required).
CharacteristicFormatPermsMinMaxConstants/Defaults
ConfiguredName (E3)
stringPW+PR+EV--"unnamed"
IsConfigured (D6)
  • indicates if a predefined Service has been configured
uint8PR+EV01
  • NOT_CONFIGURED (0)  :small_orange_diamond:
  • CONFIGURED (1) 
IsConfigured (D6)
  • indicates if a predefined Service has been configured
uint8PR+EV01
  • NOT_CONFIGURED (0) :heavy_check_mark:
  • CONFIGURED (1) 
Identifier (E6) :small_blue_diamond:
uint32PR02550
CurrentVisibilityState (135)
uint8PR+EV010
TargetVisibilityState (134)
uint8PW+PR+EV010
- - - + + + - +
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0)  :small_orange_diamond:
  • ACTIVE (1) 
ProgramMode (D1) :small_blue_diamond:
uint8PR+EV02
  • NONE (0)  :small_orange_diamond:
  • SCHEDULED (1) 
  • SCHEDULE_OVERRIDEN (2) 
InUse (D2) :small_blue_diamond:
  • if Service is set to active, this indictes whether it is currently in use
uint8PR+EV01
  • NOT_IN_USE (0)  :small_orange_diamond:
  • IN_USE (1) 
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
ProgramMode (D1) :small_blue_diamond:
uint8PR+EV02
  • NONE (0) :heavy_check_mark:
  • SCHEDULED (1) 
  • SCHEDULE_OVERRIDEN (2) 
InUse (D2) :small_blue_diamond:
  • if Service is set to active, this indictes whether it is currently in use
uint8PR+EV01
  • NOT_IN_USE (0) :heavy_check_mark:
  • IN_USE (1) 
RemainingDuration (D4)
uint32PR+EV0360060
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
## LeakSensor (83)
Defines a Leak Sensor.
- + - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
LeakDetected (70) :small_blue_diamond:
  • indictates if a leak is detected
uint8PR+EV01
  • NOT_DETECTED (0)  :small_orange_diamond:
  • DETECTED (1) 
LeakDetected (70) :small_blue_diamond:
  • indictates if a leak is detected
uint8PR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
## LightBulb (43)
Defines any type of Light.
- + @@ -234,18 +234,18 @@ - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0)  :small_orange_diamond:
  • ON (1) 
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0) :heavy_check_mark:
  • ON (1) 
Brightness (8)
  • measured as a percentage
intPR+PW+EV01000
Hue (13)
  • color (in degrees) from red (0) to green (120) to blue (240) and back to red (360)
floatPR+PW+EV03600
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
CurrentAmbientLightLevel (6B) :small_blue_diamond:
  • measured in Lux (lumens/m2
floatPR+EV0.00011000001
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
## LockMechanism (45)
Defines an electronic Lock.
- - + + - +
CharacteristicFormatPermsMinMaxConstants/Defaults
LockCurrentState (1D) :small_blue_diamond:
  • indictates state of a lock
uint8PR+EV03
  • UNLOCKED (0)  :small_orange_diamond:
  • LOCKED (1) 
  • JAMMED (2) 
  • UNKNOWN (3) 
LockTargetState (1E) :small_blue_diamond:
  • indicates desired state of lock
uint8PW+PR+EV01
  • UNLOCK (0)  :small_orange_diamond:
  • LOCK (1) 
LockCurrentState (1D) :small_blue_diamond:
  • indictates state of a lock
uint8PR+EV03
  • UNLOCKED (0) :heavy_check_mark:
  • LOCKED (1) 
  • JAMMED (2) 
  • UNKNOWN (3) 
LockTargetState (1E) :small_blue_diamond:
  • indicates desired state of lock
uint8PW+PR+EV01
  • UNLOCK (0) :heavy_check_mark:
  • LOCK (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
Mute (11A) :small_blue_diamond:
  • not used
boolPW+PR+EV01
  • OFF (0)  :small_orange_diamond:
  • ON (1) 
Mute (11A) :small_blue_diamond:
  • not used
boolPW+PR+EV01
  • OFF (0) :heavy_check_mark:
  • ON (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
Volume (119)
uint8PW+PR+EV01000
@@ -253,52 +253,52 @@ ## MotionSensor (85)
Defines a Motion Sensor.
- + - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
MotionDetected (22) :small_blue_diamond:
  • indicates if motion is detected
boolPR+EV01
  • NOT_DETECTED (0)  :small_orange_diamond:
  • DETECTED (1) 
MotionDetected (22) :small_blue_diamond:
  • indicates if motion is detected
boolPR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
## OccupancySensor (86)
Defines and Occupancy Sensor.
- + - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
OccupancyDetected (71) :small_blue_diamond:
  • indicates if occupanccy is detected
uint8PR+EV01
  • NOT_DETECTED (0)  :small_orange_diamond:
  • DETECTED (1) 
OccupancyDetected (71) :small_blue_diamond:
  • indicates if occupanccy is detected
uint8PR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
## Outlet (47)
Defines an controllable Outlet used to power any light or appliance.
- - + +
CharacteristicFormatPermsMinMaxConstants/Defaults
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0)  :small_orange_diamond:
  • ON (1) 
OutletInUse (26) :small_blue_diamond:
  • indicates if an appliance or light is plugged into the outlet, regardless of whether on or off
boolPR+EV01
  • NOT_IN_USE (0)  :small_orange_diamond:
  • IN_USE (1) 
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0) :heavy_check_mark:
  • ON (1) 
OutletInUse (26) :small_blue_diamond:
  • indicates if an appliance or light is plugged into the outlet, regardless of whether on or off
boolPR+EV01
  • NOT_IN_USE (0) :heavy_check_mark:
  • IN_USE (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## SecuritySystem (7E)
Defines a Security System.
- - + + - - - - + + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
SecuritySystemCurrentState (66) :small_blue_diamond:
uint8PR+EV04
  • ARMED_STAY (0) 
  • ARMED_AWAY (1) 
  • ARMED_NIGHT (2) 
  • DISARMED (3)  :small_orange_diamond:
  • ALARM_TRIGGERED (4) 
SecuritySystemTargetState (67) :small_blue_diamond:
uint8PW+PR+EV03
  • ARM_STAY (0) 
  • ARM_AWAY (1) 
  • ARM_NIGHT (2) 
  • DISARM (3)  :small_orange_diamond:
SecuritySystemCurrentState (66) :small_blue_diamond:
uint8PR+EV04
  • ARMED_STAY (0) 
  • ARMED_AWAY (1) 
  • ARMED_NIGHT (2) 
  • DISARMED (3) :heavy_check_mark:
  • ALARM_TRIGGERED (4) 
SecuritySystemTargetState (67) :small_blue_diamond:
uint8PW+PR+EV03
  • ARM_STAY (0) 
  • ARM_AWAY (1) 
  • ARM_NIGHT (2) 
  • DISARM (3) :heavy_check_mark:
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
SecuritySystemAlarmType (8E)
uint8PR+EV01
  • KNOWN (0)  :small_orange_diamond:
  • UNKNOWN (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
ServiceLabelNamespace (CD) :small_blue_diamond:
uint8PR01
  • DOTS (0) 
  • NUMERALS (1)  :small_orange_diamond:
SecuritySystemAlarmType (8E)
uint8PR+EV01
  • KNOWN (0) :heavy_check_mark:
  • UNKNOWN (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
ServiceLabelNamespace (CD) :small_blue_diamond:
uint8PR01
  • DOTS (0) 
  • NUMERALS (1) :heavy_check_mark:
## Slat (B9)
Defines a motorized ventilation Slat(s).
- - + + - +
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentSlatState (AA) :small_blue_diamond:
  • indicates current state of slats
uint8PR+EV02
  • FIXED (0)  :small_orange_diamond:
  • JAMMED (1) 
  • SWINGING (2) 
SlatType (C0) :small_blue_diamond:
uint8PR01
  • HORIZONTAL (0)  :small_orange_diamond:
  • VERTICAL (1) 
CurrentSlatState (AA) :small_blue_diamond:
  • indicates current state of slats
uint8PR+EV02
  • FIXED (0) :heavy_check_mark:
  • JAMMED (1) 
  • SWINGING (2) 
SlatType (C0) :small_blue_diamond:
uint8PR01
  • HORIZONTAL (0) :heavy_check_mark:
  • VERTICAL (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0)  :small_orange_diamond:
  • SWING_ENABLED (1) 
SwingMode (B6)
uint8PR+EV+PW01
  • SWING_DISABLED (0) :heavy_check_mark:
  • SWING_ENABLED (1) 
CurrentTiltAngle (C1)
  • angle (in degrees) of slats from fully up or left (-90) to fully open (0) to fully down or right (90)
intPR+EV-90900
TargetTiltAngle (C2)
intPW+PR+EV-90900
@@ -306,13 +306,13 @@ ## SmokeSensor (87)
Defines a Smoke Sensor.
- + - - - - + + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
SmokeDetected (76) :small_blue_diamond:
uint8PR+EV01
  • NOT_DETECTED (0)  :small_orange_diamond:
  • DETECTED (1) 
SmokeDetected (76) :small_blue_diamond:
uint8PR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
Mute (11A) :small_blue_diamond:
  • not used
boolPW+PR+EV01
  • OFF (0)  :small_orange_diamond:
  • ON (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
Mute (11A) :small_blue_diamond:
  • not used
boolPW+PR+EV01
  • OFF (0) :heavy_check_mark:
  • ON (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
Volume (119)
uint8PW+PR+EV01000
@@ -320,21 +320,21 @@ ## StatelessProgrammableSwitch (89)
Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App.
- +
CharacteristicFormatPermsMinMaxConstants/Defaults
ProgrammableSwitchEvent (73) :small_blue_diamond:
uint8PR+EV+NV02
  • SINGLE_PRESS (0)  :small_orange_diamond:
  • DOUBLE_PRESS (1) 
  • LONG_PRESS (2) 
ProgrammableSwitchEvent (73) :small_blue_diamond:
uint8PR+EV+NV02
  • SINGLE_PRESS (0) :heavy_check_mark:
  • DOUBLE_PRESS (1) 
  • LONG_PRESS (2) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Switch (49)
Defines a generic Switch.
- +
CharacteristicFormatPermsMinMaxConstants/Defaults
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0)  :small_orange_diamond:
  • ON (1) 
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0) :heavy_check_mark:
  • ON (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Television (D8)
Defines a TV. Optional Linked Services: InputSource and TelevisionSpeaker.
- + @@ -354,19 +354,19 @@ - - - + + +
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0)  :small_orange_diamond:
  • ACTIVE (1) 
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
ConfiguredName (E3)
stringPW+PR+EV--"unnamed"
ActiveIdentifier (E7)
  • the Identifier of the current Input Source
uint32PW+PR+EV02550
RemoteKey (E1)
uint8PW0160
CurrentTemperature (11) :small_blue_diamond:
  • current temperature measured in Celsius
floatPR+EV01000
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
StatusActive (75)
boolPR+EV011
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0)  :small_orange_diamond:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0)  :small_orange_diamond:
  • LOW_BATTERY (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
StatusTampered (7A)
uint8PR+EV01
  • NOT_TAMPERED (0) :heavy_check_mark:
  • TAMPERED (1) 
StatusLowBattery (79)
uint8PR+EV01
  • NOT_LOW_BATTERY (0) :heavy_check_mark:
  • LOW_BATTERY (1) 
## Thermostat (4A)
Defines a Thermostat used to control a furnace, air conditioner, or both.
- - + + - + @@ -377,13 +377,13 @@ ## Valve (D0)
Defines an electronic Valve. Can be used standalone or as a Linked Service in conjunction with the Faucet and IrrigationSystem Services.
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentHeatingCoolingState (F) :small_blue_diamond:
  • indicates whether appliance is currently heating, cooling, or just idle
uint8PR+EV02
  • IDLE (0)  :small_orange_diamond:
  • HEATING (1) 
  • COOLING (2) 
TargetHeatingCoolingState (33) :small_blue_diamond:
uint8PW+PR+EV03
  • OFF (0)  :small_orange_diamond:
  • HEAT (1) 
  • COOL (2) 
  • AUTO (3) 
CurrentHeatingCoolingState (F) :small_blue_diamond:
  • indicates whether appliance is currently heating, cooling, or just idle
uint8PR+EV02
  • IDLE (0) :heavy_check_mark:
  • HEATING (1) 
  • COOLING (2) 
TargetHeatingCoolingState (33) :small_blue_diamond:
uint8PW+PR+EV03
  • OFF (0) :heavy_check_mark:
  • HEAT (1) 
  • COOL (2) 
  • AUTO (3) 
CurrentTemperature (11) :small_blue_diamond:
  • current temperature measured in Celsius
floatPR+EV01000
TargetTemperature (35) :small_blue_diamond:
floatPW+PR+EV103816
TemperatureDisplayUnits (36) :small_blue_diamond:
uint8PW+PR+EV01
  • CELSIUS (0)  :small_orange_diamond:
  • FAHRENHEIT (1) 
TemperatureDisplayUnits (36) :small_blue_diamond:
uint8PW+PR+EV01
  • CELSIUS (0) :heavy_check_mark:
  • FAHRENHEIT (1) 
CoolingThresholdTemperature (D)
  • cooling turns on when temperature (in Celsius) rises above this threshold
floatPR+PW+EV103510
CurrentRelativeHumidity (10)
  • current humidity measured as a percentage
floatPR+EV01000
HeatingThresholdTemperature (12)
  • heating turns on when temperature (in Celsius) falls below this threshold
floatPR+PW+EV02516
- - + + - - + +
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0)  :small_orange_diamond:
  • ACTIVE (1) 
InUse (D2) :small_blue_diamond:
  • if Service is set to active, this indictes whether it is currently in use
uint8PR+EV01
  • NOT_IN_USE (0)  :small_orange_diamond:
  • IN_USE (1) 
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
InUse (D2) :small_blue_diamond:
  • if Service is set to active, this indictes whether it is currently in use
uint8PR+EV01
  • NOT_IN_USE (0) :heavy_check_mark:
  • IN_USE (1) 
ValveType (D5) :small_blue_diamond:
uint8PR+EV030
SetDuration (D3)
uint32PW+PR+EV0360060
RemainingDuration (D4)
uint32PR+EV0360060
IsConfigured (D6)
  • indicates if a predefined Service has been configured
uint8PR+EV01
  • NOT_CONFIGURED (0)  :small_orange_diamond:
  • CONFIGURED (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0)  :small_orange_diamond:
  • FAULT (1) 
IsConfigured (D6)
  • indicates if a predefined Service has been configured
uint8PR+EV01
  • NOT_CONFIGURED (0) :heavy_check_mark:
  • CONFIGURED (1) 
StatusFault (77)
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
@@ -393,7 +393,7 @@ CurrentPosition (6D) :small_blue_diamond:uint8PR+EV01000 TargetPosition (7C) :small_blue_diamond:uint8PW+PR+EV01000 Name (23) stringPR--"unnamed" -ObstructionDetected (24) boolPR+EV01 +ObstructionDetected (24) boolPR+EV01 ## WindowCovering (8C) @@ -406,6 +406,6 @@ TargetHorizontalTiltAngle (7B) intPW+PR+EV-90900 CurrentVerticalTiltAngle (6E) intPR+EV-90900 TargetVerticalTiltAngle (7D) intPW+PR+EV-90900 -ObstructionDetected (24) boolPR+EV01 +ObstructionDetected (24) boolPR+EV01