diff --git a/docs/ServiceList.md b/docs/ServiceList.md
index 80b4698..997da75 100644
--- a/docs/ServiceList.md
+++ b/docs/ServiceList.md
@@ -32,7 +32,7 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## AccessoryInformation (3E)
Required Identification Information. For each Accessory in a HomeSpan device this must be included as the first Service.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Identify (14) :small_blue_diamond:- triggers an update when HomeKit wants HomeSpan to run its identification routine for an Accessory
| bool | PW | 1 | 1 | |
+Identify (14) :small_blue_diamond:- triggers an update when HomeKit wants HomeSpan to run its identification routine for an Accessory
| bool | PW | 1 | 1 | |
FirmwareRevision (52) - must be in form x[.y[.z]] - informational only
| string | PR+EV | - | - | "1.0.0" |
Manufacturer (20) - any string - informational only
| string | PR | - | - | "HomeSpan" |
Model (21) - any string - informational only
| string | PR | - | - | "HomeSpan-ESP32" |
@@ -44,19 +44,19 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## AirPurifier (BB)
Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, and Slat
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
-CurrentAirPurifierState (A9) :small_blue_diamond:- indicates current state of air purification
| uint8 | PR+EV | 0 | 2 | - INACTIVE (0)
- IDLE (1) :heavy_check_mark:
- PURIFYING (2)
|
-TargetAirPurifierState (A8) :small_blue_diamond:- indicates desired state of air purifier
| uint8 | PW+PR+EV | 0 | 1 | - MANUAL (0)
- AUTO (1) :heavy_check_mark:
|
+Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
+CurrentAirPurifierState (A9) :small_blue_diamond:- indicates current state of air purification
| uint8 | PR+EV | 0 | 2 | - INACTIVE (0)
- IDLE (1) :heavy_check_mark:
- PURIFYING (2)
|
+TargetAirPurifierState (A8) :small_blue_diamond:- indicates desired state of air purifier
| uint8 | PW+PR+EV | 0 | 1 | - MANUAL (0)
- AUTO (1) :heavy_check_mark:
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | 0 |
-SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
-LockPhysicalControls (A7) - indicates if local control lock is enabled
| uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
- CONTROL_LOCK_ENABLED (1)
|
+SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
+LockPhysicalControls (A7) - indicates if local control lock is enabled
| uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
- CONTROL_LOCK_ENABLED (1)
|
## AirQualitySensor (8D)
Defines an Air Quality Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-| AirQuality (95) :small_blue_diamond: | uint8 | PR+EV | 0 | 5 | - UNKNOWN (0) :heavy_check_mark:
- EXCELLENT (1)
- GOOD (2)
- FAIR (3)
- INFERIOR (4)
- POOR (5)
|
+| AirQuality (95) :small_blue_diamond: | uint8 | PR+EV | 0 | 5 | - 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
| string | PR | - | - | "unnamed" |
| OzoneDensity (C3) | float | PR+EV | 0 | 1000 | 0 |
| NitrogenDioxideDensity (C4) | float | PR+EV | 0 | 1000 | 0 |
@@ -64,30 +64,30 @@ The pre-defined constant expressions for enumerated Characteristics are in names
PM25Density (C6) - 2.5-micron particulate density, measured in µg/m3
| float | PR+EV | 0 | 1000 | 0 |
PM10Density (C7) - 10-micron particulate density, measured in µg/m3
| float | PR+EV | 0 | 1000 | 0 |
| VOCDensity (C8) | float | PR+EV | 0 | 1000 | 0 |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
## BatteryService (96)
Defines a standalone Battery Service.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
| BatteryLevel (68) :small_blue_diamond: | uint8 | PR+EV | 0 | 100 | 100 |
-ChargingState (8F) :small_blue_diamond:- indicates state of battery charging
| uint8 | PR+EV | 0 | 2 | - NOT_CHARGING (0) :heavy_check_mark:
- CHARGING (1)
- NOT_CHARGEABLE (2)
|
-StatusLowBattery (79) :small_blue_diamond:- indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+ChargingState (8F) :small_blue_diamond:- indicates state of battery charging
| uint8 | PR+EV | 0 | 2 | - NOT_CHARGING (0) :heavy_check_mark:
- CHARGING (1)
- NOT_CHARGEABLE (2)
|
+StatusLowBattery (79) :small_blue_diamond:- indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
## CarbonDioxideSensor (97)
Defines a Carbon Dioxide Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CarbonDioxideDetected (92) :small_blue_diamond:- indicates if abnormal level is detected
| uint8 | PR+EV | 0 | 1 | - NORMAL (0) :heavy_check_mark:
- ABNORMAL (1)
|
+CarbonDioxideDetected (92) :small_blue_diamond:- indicates if abnormal level is detected
| uint8 | PR+EV | 0 | 1 | - NORMAL (0) :heavy_check_mark:
- ABNORMAL (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
CarbonDioxideLevel (93) - measured on parts per million (ppm)
| float | PR+EV | 0 | 100000 | 0 |
CarbonDioxidePeakLevel (94) - measured in parts per million (ppm)
| float | PR+EV | 0 | 100000 | 0 |
@@ -95,12 +95,12 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## CarbonMonoxideSensor (7F)
Defines a Carbon Monoxide Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CarbonMonoxideDetected (69) :small_blue_diamond:- indicates if abnormal level is detected
| uint8 | PR+EV | 0 | 1 | - NORMAL (0) :heavy_check_mark:
- ABNORMAL (1)
|
+CarbonMonoxideDetected (69) :small_blue_diamond:- indicates if abnormal level is detected
| uint8 | PR+EV | 0 | 1 | - NORMAL (0) :heavy_check_mark:
- ABNORMAL (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
CarbonMonoxideLevel (90) - measured in parts per million (ppm)
| float | PR+EV | 0 | 100 | 0 |
CarbonMonoxidePeakLevel (91) - measured in parts per million (ppm)
| float | PR+EV | 0 | 100 | 0 |
@@ -108,12 +108,12 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## ContactSensor (80)
Defines a Contact Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-ContactSensorState (6A) :small_blue_diamond:- indictates if contact is detected (i.e. closed)
| uint8 | PR+EV | 0 | 1 | - DETECTED (0)
- NOT_DETECTED (1) :heavy_check_mark:
|
+ContactSensorState (6A) :small_blue_diamond:- indictates if contact is detected (i.e. closed)
| uint8 | PR+EV | 0 | 1 | - DETECTED (0)
- NOT_DETECTED (1) :heavy_check_mark:
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
## Door (81)
@@ -122,54 +122,54 @@ The pre-defined constant expressions for enumerated Characteristics are in names
CurrentPosition (6D) :small_blue_diamond:- current position (as a percentage) from fully closed (0) to full open (100)
| uint8 | PR+EV | 0 | 100 | 0 |
TargetPosition (7C) :small_blue_diamond:- indicates target position (as a percentage) from fully closed (0) to full open (100)
| uint8 | PW+PR+EV | 0 | 100 | 0 |
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-ObstructionDetected (24) - indicates if obstruction is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
+ObstructionDetected (24) - indicates if obstruction is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
## Doorbell (121)
Defines a Doorbell. Can be used on a standalone basis or in conjunction with a LockMechanism Service.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-ProgrammableSwitchEvent (73) :small_blue_diamond:- specifies type of button press
| uint8 | PR+EV+NV | 0 | 2 | - SINGLE_PRESS (0) :heavy_check_mark:
- DOUBLE_PRESS (1)
- LONG_PRESS (2)
|
+ProgrammableSwitchEvent (73) :small_blue_diamond:- specifies type of button press
| uint8 | PR+EV+NV | 0 | 2 | - SINGLE_PRESS (0) :heavy_check_mark:
- DOUBLE_PRESS (1)
- LONG_PRESS (2)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
## Fan (B7)
Defines a Fan. Can be used in conjunction with a LightBulb Service to create a Lighted Ceiling Fan.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
+Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-CurrentFanState (AF) - indicates current state of a fan
| uint8 | PR+EV | 0 | 2 | - INACTIVE (0)
- IDLE (1) :heavy_check_mark:
- BLOWING (2)
|
-TargetFanState (BF) - indicates desired state of fan
| uint8 | PW+PR+EV | 0 | 1 | - MANUAL (0)
- AUTO (1) :heavy_check_mark:
|
-RotationDirection (28) - indicates the rotation direction of a fan
| int | PR+PW+EV | 0 | 1 | - CLOCKWISE (0) :heavy_check_mark:
- COUNTERCLOCKWISE (1)
|
+CurrentFanState (AF) - indicates current state of a fan
| uint8 | PR+EV | 0 | 2 | - INACTIVE (0)
- IDLE (1) :heavy_check_mark:
- BLOWING (2)
|
+TargetFanState (BF) - indicates desired state of fan
| uint8 | PW+PR+EV | 0 | 1 | - MANUAL (0)
- AUTO (1) :heavy_check_mark:
|
+RotationDirection (28) - indicates the rotation direction of a fan
| int | PR+PW+EV | 0 | 1 | - CLOCKWISE (0) :heavy_check_mark:
- COUNTERCLOCKWISE (1)
|
| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | 0 |
-SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
-LockPhysicalControls (A7) - indicates if local control lock is enabled
| uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
- CONTROL_LOCK_ENABLED (1)
|
+SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
+LockPhysicalControls (A7) - indicates if local control lock is enabled
| uint8 | PW+PR+EV | 0 | 1 | - 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).
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
## FilterMaintenance (BA)
Defines a Filter Maintainence check.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-FilterChangeIndication (AC) :small_blue_diamond:- indicates state of filter
| uint8 | PR+EV | 0 | 1 | - NO_CHANGE_NEEDED (0) :heavy_check_mark:
- CHANGE_NEEDED (1)
|
+FilterChangeIndication (AC) :small_blue_diamond:- indicates state of filter
| uint8 | PR+EV | 0 | 1 | - NO_CHANGE_NEEDED (0) :heavy_check_mark:
- CHANGE_NEEDED (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
FilterLifeLevel (AB) - measures as a percentage of remaining life
| float | PR+EV | 0 | 100 | 0 |
-ResetFilterIndication (AD) - triggers and update when the user chooses to reset the FilterChangeIndication from the Home App
| uint8 | PW | 1 | 1 | |
+ResetFilterIndication (AD) - triggers and update when the user chooses to reset the FilterChangeIndication from the Home App
| uint8 | PW | 1 | 1 | |
## GarageDoorOpener (41)
Defines a motorized Garage Door Opener.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CurrentDoorState (E) :small_blue_diamond:- indicates current state of a door
| uint8 | PR+EV | 0 | 4 | - OPEN (0)
- CLOSED (1) :heavy_check_mark:
- OPENING (2)
- CLOSING (3)
- STOPPED (4)
|
-TargetDoorState (32) :small_blue_diamond:- indicates desired state of door
| uint8 | PW+PR+EV | 0 | 1 | - OPEN (0)
- CLOSED (1) :heavy_check_mark:
|
-ObstructionDetected (24) :small_blue_diamond:- indicates if obstruction is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
-LockCurrentState (1D) - indicates state of a lock
| uint8 | PR+EV | 0 | 3 | - UNLOCKED (0) :heavy_check_mark:
- LOCKED (1)
- JAMMED (2)
- UNKNOWN (3)
|
-LockTargetState (1E) - indicates desired state of lock
| uint8 | PW+PR+EV | 0 | 1 | - UNLOCK (0) :heavy_check_mark:
- LOCK (1)
|
+CurrentDoorState (E) :small_blue_diamond:- indicates current state of a door
| uint8 | PR+EV | 0 | 4 | - OPEN (0)
- CLOSED (1) :heavy_check_mark:
- OPENING (2)
- CLOSING (3)
- STOPPED (4)
|
+TargetDoorState (32) :small_blue_diamond:- indicates desired state of door
| uint8 | PW+PR+EV | 0 | 1 | - OPEN (0)
- CLOSED (1) :heavy_check_mark:
|
+ObstructionDetected (24) :small_blue_diamond:- indicates if obstruction is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
+LockCurrentState (1D) - indicates state of a lock
| uint8 | PR+EV | 0 | 3 | - UNLOCKED (0) :heavy_check_mark:
- LOCKED (1)
- JAMMED (2)
- UNKNOWN (3)
|
+LockTargetState (1E) - indicates desired state of lock
| uint8 | PW+PR+EV | 0 | 1 | - UNLOCK (0) :heavy_check_mark:
- LOCK (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
| Version (37) :small_blue_diamond: | string | PR | - | - | "1.0.0" |
@@ -177,33 +177,33 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## 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.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
+Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
CurrentTemperature (11) :small_blue_diamond:- current temperature measured in Celsius
| float | PR+EV | 0 | 100 | 0 |
-CurrentHeaterCoolerState (B1) :small_blue_diamond:- indicates whether appliance is currently heating, cooling, idle, or off
| uint8 | PR+EV | 0 | 3 | - INACTIVE (0)
- IDLE (1) :heavy_check_mark:
- HEATING (2)
- COOLING (3)
|
-TargetHeaterCoolerState (B2) :small_blue_diamond:- indicates desired state of heater/cooler
| uint8 | PW+PR+EV | 0 | 2 | - AUTO (0) :heavy_check_mark:
- HEAT (1)
- COOL (2)
|
+CurrentHeaterCoolerState (B1) :small_blue_diamond:- indicates whether appliance is currently heating, cooling, idle, or off
| uint8 | PR+EV | 0 | 3 | - INACTIVE (0)
- IDLE (1) :heavy_check_mark:
- HEATING (2)
- COOLING (3)
|
+TargetHeaterCoolerState (B2) :small_blue_diamond:- indicates desired state of heater/cooler
| uint8 | PW+PR+EV | 0 | 2 | - AUTO (0) :heavy_check_mark:
- HEAT (1)
- COOL (2)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | 0 |
-TemperatureDisplayUnits (36) - indicates the desired units to display the temperature on the device itself (has no effect on Home App)
| uint8 | PW+PR+EV | 0 | 1 | - CELSIUS (0) :heavy_check_mark:
- FAHRENHEIT (1)
|
-SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
+TemperatureDisplayUnits (36) - indicates the desired units to display the temperature on the device itself (has no effect on Home App)
| uint8 | PW+PR+EV | 0 | 1 | - CELSIUS (0) :heavy_check_mark:
- FAHRENHEIT (1)
|
+SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
CoolingThresholdTemperature (D) - cooling turns on when temperature (in Celsius) rises above this threshold
| float | PR+PW+EV | 10 | 35 | 10 |
HeatingThresholdTemperature (12) - heating turns on when temperature (in Celsius) falls below this threshold
| float | PR+PW+EV | 0 | 25 | 16 |
-LockPhysicalControls (A7) - indicates if local control lock is enabled
| uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
- CONTROL_LOCK_ENABLED (1)
|
+LockPhysicalControls (A7) - indicates if local control lock is enabled
| uint8 | PW+PR+EV | 0 | 1 | - 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.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
+Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
CurrentRelativeHumidity (10) :small_blue_diamond:- current humidity measured as a percentage
| float | PR+EV | 0 | 100 | 0 |
-CurrentHumidifierDehumidifierState (B3) :small_blue_diamond:- indicates current state of humidifier/dehumidifer
| uint8 | PR+EV | 0 | 3 | - INACTIVE (0)
- IDLE (1) :heavy_check_mark:
- HUMIDIFYING (2)
- DEHUMIDIFYING (3)
|
-TargetHumidifierDehumidifierState (B4) :small_blue_diamond:- indicates desired state of humidifier/dehumidifier
| uint8 | PW+PR+EV | 0 | 2 | - AUTO (0) :heavy_check_mark:
- HUMIDIFY (1)
- DEHUMIDIFY (2)
|
+CurrentHumidifierDehumidifierState (B3) :small_blue_diamond:- indicates current state of humidifier/dehumidifer
| uint8 | PR+EV | 0 | 3 | - INACTIVE (0)
- IDLE (1) :heavy_check_mark:
- HUMIDIFYING (2)
- DEHUMIDIFYING (3)
|
+TargetHumidifierDehumidifierState (B4) :small_blue_diamond:- indicates desired state of humidifier/dehumidifier
| uint8 | PW+PR+EV | 0 | 2 | - AUTO (0) :heavy_check_mark:
- HUMIDIFY (1)
- DEHUMIDIFY (2)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
RelativeHumidityDehumidifierThreshold (C9) - dehumidfier turns on when humidity rises above this threshold
| float | PR+PW+EV | 0 | 100 | 50 |
RelativeHumidityHumidifierThreshold (CA) - humidfier turns on when humidity falls below this threshold
| float | PR+PW+EV | 0 | 100 | 50 |
| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | 0 |
-SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
+SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
| WaterLevel (B5) | float | PR+EV | 0 | 100 | 0 |
-LockPhysicalControls (A7) - indicates if local control lock is enabled
| uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
- CONTROL_LOCK_ENABLED (1)
|
+LockPhysicalControls (A7) - indicates if local control lock is enabled
| uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0) :heavy_check_mark:
- CONTROL_LOCK_ENABLED (1)
|
## HumiditySensor (82)
@@ -211,47 +211,47 @@ The pre-defined constant expressions for enumerated Characteristics are in names
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
CurrentRelativeHumidity (10) :small_blue_diamond:- current humidity measured as a percentage
| float | PR+EV | 0 | 100 | 0 |
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
## InputSource (D9)
Defines an Input Source for a TV. Use only as a Linked Service for the Television Service.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
ConfiguredName (E3) - a "configurable" Service name - any updates made from within the Home App trigger an update in HomeSpan and vice versa.
| string | PW+PR+EV | - | - | "unnamed" |
-IsConfigured (D6) - indicates if a predefined Service has been configured
| uint8 | PR+EV | 0 | 1 | - NOT_CONFIGURED (0) :heavy_check_mark:
- CONFIGURED (1)
|
+IsConfigured (D6) - indicates if a predefined Service has been configured
| uint8 | PR+EV | 0 | 1 | - NOT_CONFIGURED (0) :heavy_check_mark:
- CONFIGURED (1)
|
Identifier (E6) :small_blue_diamond:- numerical Identifer of the InputSource.
| uint32 | PR | 0 | 255 | 0 |
-CurrentVisibilityState (135) - current visibility of the Service, as selectable on the Settings Page of the Home App
| uint8 | PR+EV | 0 | 1 | - VISIBLE (0) :heavy_check_mark:
- NOT_VISIBLE (1)
|
-TargetVisibilityState (134) - indicates desired visibility of the Service, as selectable on the Settings Page of the Home App
| uint8 | PW+PR+EV | 0 | 1 | - VISIBLE (0) :heavy_check_mark:
- NOT_VISIBLE (1)
|
+CurrentVisibilityState (135) - current visibility of the Service, as selectable on the Settings Page of the Home App
| uint8 | PR+EV | 0 | 1 | - VISIBLE (0) :heavy_check_mark:
- NOT_VISIBLE (1)
|
+TargetVisibilityState (134) - indicates desired visibility of the Service, as selectable on the Settings Page of the Home App
| uint8 | PW+PR+EV | 0 | 1 | - VISIBLE (0) :heavy_check_mark:
- NOT_VISIBLE (1)
|
## IrrigationSystem (CF)
Defines an Irrigation System. Linked Services: Valve Service (at least one required).
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
-ProgramMode (D1) :small_blue_diamond:- indicates if pre-scheduled program is running
| uint8 | PR+EV | 0 | 2 | - 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
| uint8 | PR+EV | 0 | 1 | - NOT_IN_USE (0) :heavy_check_mark:
- IN_USE (1)
|
+Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
+ProgramMode (D1) :small_blue_diamond:- indicates if pre-scheduled program is running
| uint8 | PR+EV | 0 | 2 | - 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
| uint8 | PR+EV | 0 | 1 | - NOT_IN_USE (0) :heavy_check_mark:
- IN_USE (1)
|
RemainingDuration (D4) - duration (in seconds) remaining for Service to be active/on
| uint32 | PR+EV | 0 | 3600 | 60 |
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
## LeakSensor (83)
Defines a Leak Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-LeakDetected (70) :small_blue_diamond:- indictates if a leak is detected
| uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
+LeakDetected (70) :small_blue_diamond:- indictates if a leak is detected
| uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
## LightBulb (43)
Defines any type of Light.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-On (25) :small_blue_diamond:- indicates if the Service is active/on
| bool | PR+PW+EV | 0 | 1 | - OFF (0) :heavy_check_mark:
- ON (1)
|
+On (25) :small_blue_diamond:- indicates if the Service is active/on
| bool | PR+PW+EV | 0 | 1 | - OFF (0) :heavy_check_mark:
- ON (1)
|
| Brightness (8) | int | PR+PW+EV | 0 | 100 | 0 |
Hue (13) - color (in degrees) from red (0) to green (120) to blue (240) and back to red (360)
| float | PR+PW+EV | 0 | 360 | 0 |
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
@@ -264,19 +264,19 @@ The pre-defined constant expressions for enumerated Characteristics are in names
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
CurrentAmbientLightLevel (6B) :small_blue_diamond:- measured in Lux (lumens/m2
| float | PR+EV | 0.0001 | 100000 | 1 |
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
## LockMechanism (45)
Defines an electronic Lock.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-LockCurrentState (1D) :small_blue_diamond:- indicates state of a lock
| uint8 | PR+EV | 0 | 3 | - UNLOCKED (0) :heavy_check_mark:
- LOCKED (1)
- JAMMED (2)
- UNKNOWN (3)
|
-LockTargetState (1E) :small_blue_diamond:- indicates desired state of lock
| uint8 | PW+PR+EV | 0 | 1 | - UNLOCK (0) :heavy_check_mark:
- LOCK (1)
|
+LockCurrentState (1D) :small_blue_diamond:- indicates state of a lock
| uint8 | PR+EV | 0 | 3 | - UNLOCKED (0) :heavy_check_mark:
- LOCKED (1)
- JAMMED (2)
- UNKNOWN (3)
|
+LockTargetState (1E) :small_blue_diamond:- indicates desired state of lock
| uint8 | PW+PR+EV | 0 | 1 | - UNLOCK (0) :heavy_check_mark:
- LOCK (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-| Mute (11A) :small_blue_diamond: | bool | PW+PR+EV | 0 | 1 | - OFF (0) :heavy_check_mark:
- ON (1)
|
+| Mute (11A) :small_blue_diamond: | bool | PW+PR+EV | 0 | 1 | - OFF (0) :heavy_check_mark:
- ON (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 0 |
@@ -284,57 +284,57 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## MotionSensor (85)
Defines a Motion Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-MotionDetected (22) :small_blue_diamond:- indicates if motion is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
+MotionDetected (22) :small_blue_diamond:- indicates if motion is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
## OccupancySensor (86)
Defines and Occupancy Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-OccupancyDetected (71) :small_blue_diamond:- indicates if occupanccy is detected
| uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
+OccupancyDetected (71) :small_blue_diamond:- indicates if occupanccy is detected
| uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
## Outlet (47)
Defines an controllable Outlet used to power any light or appliance.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-On (25) :small_blue_diamond:- indicates if the Service is active/on
| bool | PR+PW+EV | 0 | 1 | - 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
| bool | PR+EV | 0 | 1 | - NOT_IN_USE (0) :heavy_check_mark:
- IN_USE (1)
|
+On (25) :small_blue_diamond:- indicates if the Service is active/on
| bool | PR+PW+EV | 0 | 1 | - 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
| bool | PR+EV | 0 | 1 | - NOT_IN_USE (0) :heavy_check_mark:
- IN_USE (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
## SecuritySystem (7E)
Defines a Security System.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-SecuritySystemCurrentState (66) :small_blue_diamond:- indicates current state of the security system
| uint8 | PR+EV | 0 | 4 | - ARMED_STAY (0)
- ARMED_AWAY (1)
- ARMED_NIGHT (2)
- DISARMED (3) :heavy_check_mark:
- ALARM_TRIGGERED (4)
|
-SecuritySystemTargetState (67) :small_blue_diamond:- indicates desired state of the security system
| uint8 | PW+PR+EV | 0 | 3 | - ARM_STAY (0)
- ARM_AWAY (1)
- ARM_NIGHT (2)
- DISARM (3) :heavy_check_mark:
|
+SecuritySystemCurrentState (66) :small_blue_diamond:- indicates current state of the security system
| uint8 | PR+EV | 0 | 4 | - ARMED_STAY (0)
- ARMED_AWAY (1)
- ARMED_NIGHT (2)
- DISARMED (3) :heavy_check_mark:
- ALARM_TRIGGERED (4)
|
+SecuritySystemTargetState (67) :small_blue_diamond:- indicates desired state of the security system
| uint8 | PW+PR+EV | 0 | 3 | - 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
| string | PR | - | - | "unnamed" |
-SecuritySystemAlarmType (8E) - indicates whether alarm was triggered for known reason
| uint8 | PR+EV | 0 | 1 | - KNOWN (0) :heavy_check_mark:
- UNKNOWN (1)
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+SecuritySystemAlarmType (8E) - indicates whether alarm was triggered for known reason
| uint8 | PR+EV | 0 | 1 | - KNOWN (0) :heavy_check_mark:
- UNKNOWN (1)
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
## ServiceLabel (CC)
Groups together un-named (or un-nameable) Services by Linking them to this Service. When used, those other Services must each include a ServiceLabelIndex Characteristic with a unique value. Rarely needed.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-ServiceLabelNamespace (CD) :small_blue_diamond:- indicates how un-named Services linked together with a *ServiceLabel* Service should be displayed in the Home App
| uint8 | PR | 0 | 1 | - DOTS (0)
- NUMERALS (1) :heavy_check_mark:
|
+ServiceLabelNamespace (CD) :small_blue_diamond:- indicates how un-named Services linked together with a *ServiceLabel* Service should be displayed in the Home App
| uint8 | PR | 0 | 1 | - DOTS (0)
- NUMERALS (1) :heavy_check_mark:
|
## Slat (B9)
Defines a motorized ventilation Slat(s).
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CurrentSlatState (AA) :small_blue_diamond:- indicates current state of slats
| uint8 | PR+EV | 0 | 2 | - FIXED (0) :heavy_check_mark:
- JAMMED (1)
- SWINGING (2)
|
-SlatType (C0) :small_blue_diamond:- indicates the direction of a slat or group of slats
| uint8 | PR | 0 | 1 | - HORIZONTAL (0) :heavy_check_mark:
- VERTICAL (1)
|
+CurrentSlatState (AA) :small_blue_diamond:- indicates current state of slats
| uint8 | PR+EV | 0 | 2 | - FIXED (0) :heavy_check_mark:
- JAMMED (1)
- SWINGING (2)
|
+SlatType (C0) :small_blue_diamond:- indicates the direction of a slat or group of slats
| uint8 | PR | 0 | 1 | - HORIZONTAL (0) :heavy_check_mark:
- VERTICAL (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
+SwingMode (B6) - indicates whether swing-nmode is enabled
| uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0) :heavy_check_mark:
- SWING_ENABLED (1)
|
CurrentTiltAngle (C1) - current angle (in degrees) of slats from fully up or left (-90) to fully open (0) to fully down or right (90)
| int | PR+EV | -90 | 90 | 0 |
TargetTiltAngle (C2) - indicated desired angle (in degrees) of slats from fully up or left (-90) to fully open (0) to fully down or right (90)
| int | PW+PR+EV | -90 | 90 | 0 |
@@ -342,13 +342,13 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## SmokeSensor (87)
Defines a Smoke Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-SmokeDetected (76) :small_blue_diamond:- indicates if smoke is detected
| uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
+SmokeDetected (76) :small_blue_diamond:- indicates if smoke is detected
| uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
-| Mute (11A) :small_blue_diamond: | bool | PW+PR+EV | 0 | 1 | - OFF (0) :heavy_check_mark:
- ON (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+| Mute (11A) :small_blue_diamond: | bool | PW+PR+EV | 0 | 1 | - OFF (0) :heavy_check_mark:
- ON (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 0 |
@@ -356,7 +356,7 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## StatelessProgrammableSwitch (89)
Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-ProgrammableSwitchEvent (73) :small_blue_diamond:- specifies type of button press
| uint8 | PR+EV+NV | 0 | 2 | - SINGLE_PRESS (0) :heavy_check_mark:
- DOUBLE_PRESS (1)
- LONG_PRESS (2)
|
+ProgrammableSwitchEvent (73) :small_blue_diamond:- specifies type of button press
| uint8 | PR+EV+NV | 0 | 2 | - SINGLE_PRESS (0) :heavy_check_mark:
- DOUBLE_PRESS (1)
- LONG_PRESS (2)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
ServiceLabelIndex (CB) - numerical index used to distinguish multiple copies of the same Service within an Accessory
| uint8 | PR | 1 | 255 | 1 |
@@ -364,25 +364,25 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## Switch (49)
Defines a generic Switch.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-On (25) :small_blue_diamond:- indicates if the Service is active/on
| bool | PR+PW+EV | 0 | 1 | - OFF (0) :heavy_check_mark:
- ON (1)
|
+On (25) :small_blue_diamond:- indicates if the Service is active/on
| bool | PR+PW+EV | 0 | 1 | - OFF (0) :heavy_check_mark:
- ON (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
## Television (D8)
Defines a TV. Optional Linked Services: InputSource and TelevisionSpeaker.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
+Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0) :heavy_check_mark:
- ACTIVE (1)
|
ConfiguredName (E3) - a "configurable" Service name - any updates made from within the Home App trigger an update in HomeSpan and vice versa.
| string | PW+PR+EV | - | - | "unnamed" |
ActiveIdentifier (E7) - numerical Identifier of the InputSource selected in the Home App.
| uint32 | PW+PR+EV | 0 | 255 | 0 |
-RemoteKey (E1) - triggers an update when the corresponding key is pressed in the Remote Control widget on an iPhone
| uint8 | PW | 4 | 15 | - UP (4)
- DOWN (5)
- LEFT (6)
- RIGHT (7)
- CENTER (8)
- BACK (9)
- PLAY_PAUSE (11)
- INFO (15)
|
-PowerModeSelection (DF) - when defined, creates a "View TV Settings" button in the Home App that triggers an update to this Characteristic when pressed
| uint8 | PW | 0 | 0 | |
+RemoteKey (E1) - triggers an update when the corresponding key is pressed in the Remote Control widget on an iPhone
| uint8 | PW | 4 | 15 | - UP (4)
- DOWN (5)
- LEFT (6)
- RIGHT (7)
- CENTER (8)
- BACK (9)
- PLAY_PAUSE (11)
- INFO (15)
|
+PowerModeSelection (DF) - when defined, creates a "View TV Settings" button in the Home App that triggers an update to this Characteristic when pressed
| uint8 | PW | 0 | 0 | |
## TelevisionSpeaker (113)
Defines a Television Speaker that can be controlled via the Remote Control widget on an iPhone. Use only as a Linked Service for the Television Service.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-VolumeControlType (E9) :small_blue_diamond:- indicates the type of volume control
| uint8 | PR+EV | 0 | 3 | - NONE (0)
- RELATIVE (1)
- RELATIVE_CURRENT (2)
- ABSOLUTE (3) :heavy_check_mark:
|
-VolumeSelector (EA) :small_blue_diamond:- triggered by presses to the iPhone's volume up/down buttons when TV is selected in the Remote Control widget
| uint8 | PW | 0 | 1 | - VOLUME_UP (0)
- VOLUME_DOWN (1)
|
+VolumeControlType (E9) :small_blue_diamond:- indicates the type of volume control
| uint8 | PR+EV | 0 | 3 | - NONE (0)
- RELATIVE (1)
- RELATIVE_CURRENT (2)
- ABSOLUTE (3) :heavy_check_mark:
|
+VolumeSelector (EA) :small_blue_diamond:- triggered by presses to the iPhone's volume up/down buttons when TV is selected in the Remote Control widget
| uint8 | PW | 0 | 1 | - VOLUME_UP (0)
- VOLUME_DOWN (1)
|
## TemperatureSensor (8A)
@@ -390,20 +390,20 @@ The pre-defined constant expressions for enumerated Characteristics are in names
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
CurrentTemperature (11) :small_blue_diamond:- current temperature measured in Celsius
| float | PR+EV | 0 | 100 | 0 |
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
-StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
-StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
+StatusActive (75) - indicates whether the Service is properly functioning
| bool | PR+EV | 0 | 1 | - NOT_FUNCTIONING (0)
- FUNCTIONING (1) :heavy_check_mark:
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusTampered (7A) - indicates whether the Service has been tampered with
| uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0) :heavy_check_mark:
- TAMPERED (1)
|
+StatusLowBattery (79) - indicates state of battery
| uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0) :heavy_check_mark:
- LOW_BATTERY (1)
|
## Thermostat (4A)
Defines a Thermostat used to control a furnace, air conditioner, or both.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CurrentHeatingCoolingState (F) :small_blue_diamond:- indicates whether appliance is currently heating, cooling, or just idle
| uint8 | PR+EV | 0 | 2 | - IDLE (0) :heavy_check_mark:
- HEATING (1)
- COOLING (2)
|
-TargetHeatingCoolingState (33) :small_blue_diamond:- indicates desired state of appliance
| uint8 | PW+PR+EV | 0 | 3 | - OFF (0) :heavy_check_mark:
- HEAT (1)
- COOL (2)
- AUTO (3)
|
+CurrentHeatingCoolingState (F) :small_blue_diamond:- indicates whether appliance is currently heating, cooling, or just idle
| uint8 | PR+EV | 0 | 2 | - IDLE (0) :heavy_check_mark:
- HEATING (1)
- COOLING (2)
|
+TargetHeatingCoolingState (33) :small_blue_diamond:- indicates desired state of appliance
| uint8 | PW+PR+EV | 0 | 3 | - OFF (0) :heavy_check_mark:
- HEAT (1)
- COOL (2)
- AUTO (3)
|
CurrentTemperature (11) :small_blue_diamond:- current temperature measured in Celsius
| float | PR+EV | 0 | 100 | 0 |
TargetTemperature (35) :small_blue_diamond:- indicates desired temperature measures in Celsius
| float | PW+PR+EV | 10 | 38 | 16 |
-TemperatureDisplayUnits (36) :small_blue_diamond:- indicates the desired units to display the temperature on the device itself (has no effect on Home App)
| uint8 | PW+PR+EV | 0 | 1 | - CELSIUS (0) :heavy_check_mark:
- FAHRENHEIT (1)
|
+TemperatureDisplayUnits (36) :small_blue_diamond:- indicates the desired units to display the temperature on the device itself (has no effect on Home App)
| uint8 | PW+PR+EV | 0 | 1 | - CELSIUS (0) :heavy_check_mark:
- FAHRENHEIT (1)
|
CoolingThresholdTemperature (D) - cooling turns on when temperature (in Celsius) rises above this threshold
| float | PR+PW+EV | 10 | 35 | 10 |
CurrentRelativeHumidity (10) - current humidity measured as a percentage
| float | PR+EV | 0 | 100 | 0 |
HeatingThresholdTemperature (12) - heating turns on when temperature (in Celsius) falls below this threshold
| float | PR+PW+EV | 0 | 25 | 16 |
@@ -414,14 +414,14 @@ The pre-defined constant expressions for enumerated Characteristics are in names
## Valve (D0)
Defines an electronic Valve. Can be used standalone or as a Linked Service in conjunction with the Faucet and IrrigationSystem Services.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - 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
| uint8 | PR+EV | 0 | 1 | - NOT_IN_USE (0) :heavy_check_mark:
- IN_USE (1)
|
-ValveType (D5) :small_blue_diamond:- indicates the type of valve
| uint8 | PR+EV | 0 | 3 | - GENERIC (0) :heavy_check_mark:
- IRRIGATION (1)
- SHOWER_HEAD (2)
- FAUCET (3)
|
+Active (B0) :small_blue_diamond:- indicates if the Service is active/on
| uint8 | PW+PR+EV | 0 | 1 | - 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
| uint8 | PR+EV | 0 | 1 | - NOT_IN_USE (0) :heavy_check_mark:
- IN_USE (1)
|
+ValveType (D5) :small_blue_diamond:- indicates the type of valve
| uint8 | PR+EV | 0 | 3 | - GENERIC (0) :heavy_check_mark:
- IRRIGATION (1)
- SHOWER_HEAD (2)
- FAUCET (3)
|
SetDuration (D3) - specifies the duration (in seconds) for a Service to remain on once activated
| uint32 | PW+PR+EV | 0 | 3600 | 60 |
RemainingDuration (D4) - duration (in seconds) remaining for Service to be active/on
| uint32 | PR+EV | 0 | 3600 | 60 |
-IsConfigured (D6) - indicates if a predefined Service has been configured
| uint8 | PR+EV | 0 | 1 | - NOT_CONFIGURED (0) :heavy_check_mark:
- CONFIGURED (1)
|
+IsConfigured (D6) - indicates if a predefined Service has been configured
| uint8 | PR+EV | 0 | 1 | - NOT_CONFIGURED (0) :heavy_check_mark:
- CONFIGURED (1)
|
ServiceLabelIndex (CB) - numerical index used to distinguish multiple copies of the same Service within an Accessory
| uint8 | PR | 1 | 255 | 1 |
-StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
+StatusFault (77) - indicates whether the Service has a fault
| uint8 | PR+EV | 0 | 1 | - NO_FAULT (0) :heavy_check_mark:
- FAULT (1)
|
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
@@ -431,7 +431,7 @@ The pre-defined constant expressions for enumerated Characteristics are in names
CurrentPosition (6D) :small_blue_diamond:- current position (as a percentage) from fully closed (0) to full open (100)
| uint8 | PR+EV | 0 | 100 | 0 |
TargetPosition (7C) :small_blue_diamond:- indicates target position (as a percentage) from fully closed (0) to full open (100)
| uint8 | PW+PR+EV | 0 | 100 | 0 |
Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
-ObstructionDetected (24) - indicates if obstruction is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
+ObstructionDetected (24) - indicates if obstruction is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
## WindowCovering (8C)
@@ -444,7 +444,7 @@ The pre-defined constant expressions for enumerated Characteristics are in names
TargetHorizontalTiltAngle (7B) - indicates desired angle (in degrees) of slats from fully up (-90) to fully open (0) to fully down (90)
| int | PW+PR+EV | -90 | 90 | 0 |
CurrentVerticalTiltAngle (6E) - current angle (in degrees) of slats from fully left (-90) to fully open (0) to fully right (90)
| int | PR+EV | -90 | 90 | 0 |
TargetVerticalTiltAngle (7D) - indicates desired angle (in degrees) of slats from fully left (-90) to fully open (0) to fully right (90)
| int | PW+PR+EV | -90 | 90 | 0 |
-ObstructionDetected (24) - indicates if obstruction is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
+ObstructionDetected (24) - indicates if obstruction is detected
| bool | PR+EV | 0 | 1 | - NOT_DETECTED (0) :heavy_check_mark:
- DETECTED (1)
|
---
diff --git a/tools/makeServices b/tools/makeServices
index 8674e15..940c6d4 100755
--- a/tools/makeServices
+++ b/tools/makeServices
@@ -83,7 +83,7 @@ END {
if(nConstants[char]>0){
printf("")
for(k=0;k%s (%d) %s",constantName[char,k],constantValue[char,k],defaultMark[char,k])
+ printf("- %s (%d) %s
",constantName[char,k],constantValue[char,k],defaultMark[char,k])
printf(" | ")
} else {
printf("%s | ",default[char])