diff --git a/tools/makeServiceList b/tools/makeServiceList
index 8a60286..ae1f4f6 100755
--- a/tools/makeServiceList
+++ b/tools/makeServiceList
@@ -31,7 +31,7 @@ BEGIN {
else if(x[1]=="CREATE_CHAR"){
char=x[3]
-# default[char]=x[4]
+ default[char]=x[4]
min[char]=x[5]
max[char]=x[6]
nConstants[char]=n-6 # parse any pre-defined constants
@@ -40,7 +40,7 @@ BEGIN {
constantName[char,i]=x[i+7]
constantValue[char,i]=value
if(index(perms[char],"PR") && x[4]==value)
- default[char,i]=":heavy_check_mark:"
+ defaultMark[char,i]=":heavy_check_mark:"
value++
}
notes[char]=line[2] # save optional comment as notes for Characteristic
@@ -78,7 +78,7 @@ END {
if(nConstants[char]>0){
printf("
")
for(k=0;k%s (%d) %s",constantName[char,k],constantValue[char,k],default[char,k])
+ printf("- %s (%d) %s
",constantName[char,k],constantValue[char,k],defaultMark[char,k])
printf(" | ")
} else {
printf("%s | ",default[char])
diff --git a/tools/test.md b/tools/test.md
index ad2b62b..032677c 100644
--- a/tools/test.md
+++ b/tools/test.md
@@ -2,12 +2,12 @@
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 | |
-FirmwareRevision (52) - must be in form x[.y[.z]] - informational only
| string | PR+EV | - | - | |
-Manufacturer (20) - any string - informational only
| string | PR | - | - | |
-Model (21) - any string - informational only
| string | PR | - | - | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-SerialNumber (30) - any string - informational only
| string | PR | - | - | |
-HardwareRevision (53) - must be in form x[.y[.z]] - informational only
| string | PR | - | - | |
+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" |
+Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
+SerialNumber (30) - any string - informational only
| string | PR | - | - | "HS-12345" |
+HardwareRevision (53) - must be in form x[.y[.z]] - informational only
| string | PR | - | - | "1.0.0" |
## AirPurifier (BB)
@@ -16,8 +16,8 @@
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 | - | - | |
-| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | |
+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)
|
@@ -26,13 +26,13 @@
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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-| OzoneDensity (C3) | float | PR+EV | 0 | 1000 | |
-| NitrogenDioxideDensity (C4) | float | PR+EV | 0 | 1000 | |
-| SulphurDioxideDensity (C5) | float | PR+EV | 0 | 1000 | |
-PM25Density (C6) - 2.5-micron particulate density, measured in µg/m3
| float | PR+EV | 0 | 1000 | |
-PM10Density (C7) - 10-micron particulate density, measured in µg/m3
| float | PR+EV | 0 | 1000 | |
-| VOCDensity (C8) | float | PR+EV | 0 | 1000 | |
+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 |
+| SulphurDioxideDensity (C5) | float | PR+EV | 0 | 1000 | 0 |
+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)
|
@@ -42,43 +42,43 @@
## BatteryService (96)
Defines a standalone Battery Service.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-| BatteryLevel (68) :small_blue_diamond: | uint8 | PR+EV | 0 | 100 | |
+| BatteryLevel (68) :small_blue_diamond: | uint8 | PR+EV | 0 | 100 | 0 |
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 | - | - | |
+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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-CarbonDioxideLevel (93) - measured on parts per million (ppm)
| float | PR+EV | 0 | 100000 | |
-CarbonDioxidePeakLevel (94) - measured in parts per million (ppm)
| float | PR+EV | 0 | 100000 | |
+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 |
## 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-CarbonMonoxideLevel (90) - measured in parts per million (ppm)
| float | PR+EV | 0 | 100 | |
-CarbonMonoxidePeakLevel (91) - measured in parts per million (ppm)
| float | PR+EV | 0 | 100 | |
+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 |
## 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:
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -88,9 +88,9 @@
## Door (81)
Defines a motorized Door.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CurrentPosition (6D) :small_blue_diamond:- current position (as a percentage) from fully closed (0) to full open (100)
| uint8 | PR+EV | 0 | 100 | |
-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 | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -98,18 +98,18 @@
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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | |
+| 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)
|
@@ -119,15 +119,15 @@
| 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-FilterLifeLevel (AB) - measures as a percentage of remaining life
| float | PR+EV | 0 | 100 | |
+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 | |
@@ -139,23 +139,23 @@
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 | - | - | |
-| Version (37) :small_blue_diamond: | string | PR | - | - | |
+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" |
## 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)
|
-CurrentTemperature (11) :small_blue_diamond:- current temperature measured in Celsius
| float | PR+EV | 0 | 100 | |
+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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | |
+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)
|
-CoolingThresholdTemperature (D) - cooling turns on when temperature (in Celsius) rises above this threshold
| float | PR+PW+EV | 10 | 35 | |
-HeatingThresholdTemperature (12) - heating turns on when temperature (in Celsius) falls below this threshold
| float | PR+PW+EV | 0 | 25 | |
+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)
|
@@ -163,23 +163,23 @@
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)
|
-CurrentRelativeHumidity (10) :small_blue_diamond:- current humidity measured as a percentage
| float | PR+EV | 0 | 100 | |
+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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-RelativeHumidityDehumidifierThreshold (C9) - dehumidfier turns on when humidity rises above this threshold
| float | PR+PW+EV | 0 | 100 | |
-RelativeHumidityHumidifierThreshold (CA) - humidfier turns on when humidity falls below this threshold
| float | PR+PW+EV | 0 | 100 | |
-| RotationSpeed (29) | float | PR+PW+EV | 0 | 100 | |
+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)
|
-| WaterLevel (B5) | float | PR+EV | 0 | 100 | |
+| 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)
|
## HumiditySensor (82)
Defines a Humidity Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CurrentRelativeHumidity (10) :small_blue_diamond:- current humidity measured as a percentage
| float | PR+EV | 0 | 100 | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -189,9 +189,9 @@
## 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 | - | - | |
+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)
|
-Identifier (E6) :small_blue_diamond:- numerical Identifer of the InputSource.
| uint32 | PR | 0 | 255 | |
+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)
|
@@ -202,7 +202,7 @@
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 | |
+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)
|
@@ -210,7 +210,7 @@
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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -221,18 +221,18 @@
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)
|
-| Brightness (8) | int | PR+PW+EV | 0 | 100 | |
-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 | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-Saturation (2F) - color saturation, measured as a percentage
| float | PR+PW+EV | 0 | 100 | |
-ColorTemperature (CE) - measured in inverse megaKelvin (= 1,000,000 / Kelvin)
| uint32 | PR+PW+EV | 140 | 500 | |
+| 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" |
+Saturation (2F) - color saturation, measured as a percentage
| float | PR+PW+EV | 0 | 100 | 0 |
+ColorTemperature (CE) - measured in inverse megaKelvin (= 1,000,000 / Kelvin)
| uint32 | PR+PW+EV | 140 | 500 | 200 |
## LightSensor (84)
Defines a Light Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CurrentAmbientLightLevel (6B) :small_blue_diamond:- measured in Lux (lumens/m2
| float | PR+EV | 0.0001 | 100000 | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -244,17 +244,17 @@
| 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | |
+Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
+| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 0 |
## 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -265,7 +265,7 @@
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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -277,7 +277,7 @@
| 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
## SecuritySystem (7E)
@@ -285,7 +285,7 @@
| 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:
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -297,47 +297,47 @@
| 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-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 | |
-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 | |
+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 |
## 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | |
+Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
+| Volume (119) | uint8 | PW+PR+EV | 0 | 100 | 0 |
## 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-ServiceLabelIndex (CB) - numerical index used to distinguish multiple copies of the same Service within an Accessory
| uint8 | PR | 1 | 255 | |
+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 |
## 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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
-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 | - | - | |
-ActiveIdentifier (E7) - numerical Identifier of the InputSource selected in the Home App.
| uint32 | PW+PR+EV | 0 | 255 | |
+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 (0)
- DOWN (1)
- LEFT (2)
- RIGHT (3)
- CENTER (4)
- BACK (5)
- PLAY_PAUSE=11 (6)
- INFO=15 (7)
|
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 | |
@@ -352,8 +352,8 @@
## TemperatureSensor (8A)
Defines a Temperature Sensor.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CurrentTemperature (11) :small_blue_diamond:- current temperature measured in Celsius
| float | PR+EV | 0 | 100 | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
@@ -365,14 +365,14 @@
| 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)
|
-CurrentTemperature (11) :small_blue_diamond:- current temperature measured in Celsius
| float | PR+EV | 0 | 100 | |
-TargetTemperature (35) :small_blue_diamond:- indicates desired temperature measures in Celsius
| float | PW+PR+EV | 10 | 38 | |
+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)
|
-CoolingThresholdTemperature (D) - cooling turns on when temperature (in Celsius) rises above this threshold
| float | PR+PW+EV | 10 | 35 | |
-CurrentRelativeHumidity (10) - current humidity measured as a percentage
| float | PR+EV | 0 | 100 | |
-HeatingThresholdTemperature (12) - heating turns on when temperature (in Celsius) falls below this threshold
| float | PR+PW+EV | 0 | 25 | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-TargetRelativeHumidity (34) - indicates desired humidity measured as a percentage
| float | PW+PR+EV | 0 | 100 | |
+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 |
+Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
+TargetRelativeHumidity (34) - indicates desired humidity measured as a percentage
| float | PW+PR+EV | 0 | 100 | 0 |
## Valve (D0)
@@ -381,33 +381,33 @@
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 | |
-RemainingDuration (D4) - duration (in seconds) remaining for Service to be active/on
| uint32 | PR+EV | 0 | 3600 | |
+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)
|
-ServiceLabelIndex (CB) - numerical index used to distinguish multiple copies of the same Service within an Accessory
| uint8 | PR | 1 | 255 | |
+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)
|
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
## Window (8B)
Defines a motorized Window.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-CurrentPosition (6D) :small_blue_diamond:- current position (as a percentage) from fully closed (0) to full open (100)
| uint8 | PR+EV | 0 | 100 | |
-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 | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
+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)
|
## WindowCovering (8C)
Defines a motorized Window Shade, Screen, Awning, etc.
| Characteristic | Format | Perms | Min | Max | Constants/Defaults |
-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 | |
-CurrentPosition (6D) :small_blue_diamond:- current position (as a percentage) from fully closed (0) to full open (100)
| uint8 | PR+EV | 0 | 100 | |
-Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | |
-CurrentHorizontalTiltAngle (6C) - current angle (in degrees) of slats from fully up (-90) to fully open (0) to fully down (90)
| int | PR+EV | -90 | 90 | |
-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 | |
-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 | |
-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 | |
+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 |
+CurrentPosition (6D) :small_blue_diamond:- current position (as a percentage) from fully closed (0) to full open (100)
| uint8 | PR+EV | 0 | 100 | 0 |
+Name (23) - default name of a Service used only during initial pairing
| string | PR | - | - | "unnamed" |
+CurrentHorizontalTiltAngle (6C) - current angle (in degrees) of slats from fully up (-90) to fully open (0) to fully down (90)
| int | PR+EV | -90 | 90 | 0 |
+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)
|