diff --git a/tools/makeServiceList b/tools/makeServiceList
index 00ffdf9..d9a8f5f 100755
--- a/tools/makeServiceList
+++ b/tools/makeServiceList
@@ -70,11 +70,15 @@ END {
else
printf("
- | - | ")
- printf("")
- for(k=0;k%s (%d)",vals[char,k],k)
-
- printf(" | ")
+ if(nVals[char]>0){
+ printf("")
+ for(k=0;k%s (%d)",vals[char,k],k)
+ printf(" | ")
+ } else {
+ printf("%s<\td>",default[char])
+ }
+
printf(" | %s | \n",notes[char])
}
diff --git a/tools/test.md b/tools/test.md
index d9314ac..2c77df7 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 | UUID | Format | Perms | Min | Max | Constants | Notes |
| Identify | 14 | bool | PW | 0 | 1 | - IDLE (0)
- RUN_ID (1)
| the Home App set this to RUN_ID when it wants the device to run its identification routine |
-| FirmwareRevision | 52 | string | PR+EV | - | - | | must be in form x[.y[.z]] - informational only |
-| Manufacturer | 20 | string | PR | - | - | | any string - informational only |
-| Model | 21 | string | PR | - | - | | any string - informational only |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| SerialNumber | 30 | string | PR | - | - | | |
-| HardwareRevision | 53 | string | PR | - | - | | must be in form x[.y[.z]] - informational only |
+| FirmwareRevision | 52 | string | PR+EV | - | - | "1.0.0"< d> | must be in form x[.y[.z]] - informational only |
+| Manufacturer | 20 | string | PR | - | - | "HomeSpan"< d> | any string - informational only |
+| Model | 21 | string | PR | - | - | "HomeSpan-ESP32"< d> | any string - informational only |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| SerialNumber | 30 | string | PR | - | - | "HS-12345"< d> | |
+| HardwareRevision | 53 | string | PR | - | - | "1.0.0"< d> | must be in form x[.y[.z]] - informational only |
## AirPurifier (BB)
@@ -16,8 +16,8 @@
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0)
- ACTIVE (1)
| indicates if the Service is active/on |
| CurrentAirPurifierState | A9 | uint8 | PR+EV | 0 | 2 | - INACTIVE (0)
- IDLE (1)
- PURIFYING (2)
| indicates current state of air purification |
| TargetAirPurifierState | A8 | uint8 | PW+PR+EV | 0 | 1 | - MANUAL (0)
- AUTO (1)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| RotationSpeed | 29 | float | PR+PW+EV | 0 | 100 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| RotationSpeed | 29 | float | PR+PW+EV | 0 | 100 | 0< d> | |
| SwingMode | B6 | uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0)
- SWING_ENABLED (1)
| |
| LockPhysicalControls | A7 | uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0)
- CONTROL_LOCK_ENABLED (1)
| indicates if local control lock is enabled |
@@ -26,14 +26,14 @@
Defines an Air Quality Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| AirQuality | 95 | uint8 | PR+EV | 0 | 5 | - UNKNOWN (0)
- EXCELLENT (1)
- GOOD (2)
- FAIR (3)
- INFERIOR (4)
- POOR (5)
| a subjective description |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| OzoneDensity | C3 | float | PR+EV | 0 | 1000 | | measured in micrograms/m3 |
-| NitrogenDioxideDensity | C4 | float | PR+EV | 0 | 1000 | | measured in micrograms/m3 |
-| SulphurDioxideDensity | C5 | float | PR+EV | 0 | 1000 | | |
-| PM25Density | C6 | float | PR+EV | 0 | 1000 | | 2.5-micron particulate density, measured in micrograms/m3 |
-| PM10Density | C7 | float | PR+EV | 0 | 1000 | | 10-micron particulate density, measured in micrograms/m3 |
-| VOCDensity | C8 | float | PR+EV | 0 | 1000 | | |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| OzoneDensity | C3 | float | PR+EV | 0 | 1000 | 0< d> | measured in micrograms/m3 |
+| NitrogenDioxideDensity | C4 | float | PR+EV | 0 | 1000 | 0< d> | measured in micrograms/m3 |
+| SulphurDioxideDensity | C5 | float | PR+EV | 0 | 1000 | 0< d> | |
+| PM25Density | C6 | float | PR+EV | 0 | 1000 | 0< d> | 2.5-micron particulate density, measured in micrograms/m3 |
+| PM10Density | C7 | float | PR+EV | 0 | 1000 | 0< d> | 10-micron particulate density, measured in micrograms/m3 |
+| VOCDensity | C8 | float | PR+EV | 0 | 1000 | 0< d> | |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
@@ -42,44 +42,44 @@
## BatteryService (96)
Defines a standalone Battery Service.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
-| BatteryLevel | 68 | uint8 | PR+EV | 0 | 100 | | measured as a percentage |
+| BatteryLevel | 68 | uint8 | PR+EV | 0 | 100 | 0< d> | measured as a percentage |
| ChargingState | 8F | uint8 | PR+EV | 0 | 2 | - NOT_CHARGING (0)
- CHARGING (1)
- NOT_CHARGEABLE (2)
| indicates state of battery charging |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
## CarbonDioxideSensor (97)
Defines a Carbon Dioxide Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| CarbonDioxideDetected | 92 | uint8 | PR+EV | 0 | 1 | - NORMAL (0)
- ABNORMAL (1)
| indicates if abnormal level is detected |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
-| CarbonDioxideLevel | 93 | float | PR+EV | 0 | 100000 | | measured on parts per million (ppm) |
-| CarbonDioxidePeakLevel | 94 | float | PR+EV | 0 | 100000 | | measured in parts per million (ppm) |
+| CarbonDioxideLevel | 93 | float | PR+EV | 0 | 100000 | 0< d> | measured on parts per million (ppm) |
+| CarbonDioxidePeakLevel | 94 | float | PR+EV | 0 | 100000 | 0< d> | measured in parts per million (ppm) |
## CarbonMonoxideSensor (7F)
Defines a Carbon Monoxide Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| CarbonMonoxideDetected | 69 | uint8 | PR+EV | 0 | 1 | - NORMAL (0)
- ABNORMAL (1)
| indicates if abnormal level is detected |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
-| CarbonMonoxideLevel | 90 | float | PR+EV | 0 | 100 | | measured in parts per million (ppm) |
-| CarbonMonoxidePeakLevel | 91 | float | PR+EV | 0 | 100 | | measured in parts per million (ppm) |
+| CarbonMonoxideLevel | 90 | float | PR+EV | 0 | 100 | 0< d> | measured in parts per million (ppm) |
+| CarbonMonoxidePeakLevel | 91 | float | PR+EV | 0 | 100 | 0< d> | measured in parts per million (ppm) |
## ContactSensor (80)
Defines a Contact Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| ContactSensorState | 6A | uint8 | PR+EV | 0 | 1 | - DETECTED (0)
- NOT_DETECTED (1)
| indictates if contact is detected (i.e. closed) |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
@@ -88,9 +88,9 @@
## Door (81)
Defines a motorized Door.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
-| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | | current position (as a percentage) from fully closed (0) to full open (100) |
-| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | | |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | 0< d> | current position (as a percentage) from fully closed (0) to full open (100) |
+| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | 0< d> | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
| ObstructionDetected | 24 | bool | PR+EV | 0 | 1 | - NOT_DETECTED (0)
- DETECTED (1)
| indicates if obstruction is detected |
@@ -98,18 +98,18 @@
Defines a Doorbell. Can be used on a standalone basis or in conjunction with a LockMechanism Service.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| ProgrammableSwitchEvent | 73 | uint8 | PR+EV+NV | 0 | 2 | - SINGLE_PRESS (0)
- DOUBLE_PRESS (1)
- LONG_PRESS (2)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
## Fan (B7)
Defines a Fan. Can be used in conjunction with a LightBulb Service to create a Lighted Ceiling Fan.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0)
- ACTIVE (1)
| indicates if the Service is active/on |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
| CurrentFanState | AF | uint8 | PR+EV | 0 | 2 | - INACTIVE (0)
- IDLE (1)
- BLOWING (2)
| indicates current state of a fan |
| TargetFanState | BF | uint8 | PW+PR+EV | 0 | 1 | - MANUAL (0)
- AUTO (1)
| |
| RotationDirection | 28 | int | PR+PW+EV | 0 | 1 | - CLOCKWISE (0)
- COUNTERCLOCKWISE (1)
| |
-| RotationSpeed | 29 | float | PR+PW+EV | 0 | 100 | | |
+| RotationSpeed | 29 | float | PR+PW+EV | 0 | 100 | 0< d> | |
| SwingMode | B6 | uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0)
- SWING_ENABLED (1)
| |
| LockPhysicalControls | A7 | uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0)
- CONTROL_LOCK_ENABLED (1)
| indicates if local control lock is enabled |
@@ -119,16 +119,16 @@
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0)
- ACTIVE (1)
| indicates if the Service is active/on |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
## FilterMaintenance (BA)
Defines a Filter Maintainence check.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| FilterChangeIndication | AC | uint8 | PR+EV | 0 | 1 | - NO_CHANGE_NEEDED (0)
- CHANGE_NEEDED (1)
| indicates state of filter |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| FilterLifeLevel | AB | float | PR+EV | 0 | 100 | | measures as a percentage of remaining life |
-| ResetFilterIndication | AD | uint8 | PW | 1 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| FilterLifeLevel | AB | float | PR+EV | 0 | 100 | 0< d> | measures as a percentage of remaining life |
+| ResetFilterIndication | AD | uint8 | PW | 1 | 1 | 0< d> | |
## GarageDoorOpener (41)
@@ -139,23 +139,23 @@
| ObstructionDetected | 24 | bool | PR+EV | 0 | 1 | - NOT_DETECTED (0)
- DETECTED (1)
| indicates if obstruction is detected |
| LockCurrentState | 1D | uint8 | PR+EV | 0 | 3 | - UNLOCKED (0)
- LOCKED (1)
- JAMMED (2)
- UNKNOWN (3)
| indictates state of a lock |
| LockTargetState | 1E | uint8 | PW+PR+EV | 0 | 1 | - UNLOCK (0)
- LOCK (1)
| indicates desired state of lock |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| Version | 37 | string | PR | - | - | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| Version | 37 | string | PR | - | - | "1.0.0"< d> | |
## 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 | UUID | Format | Perms | Min | Max | Constants | Notes |
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0)
- ACTIVE (1)
| indicates if the Service is active/on |
-| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | | current temperature measured in Celsius |
+| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | 0< d> | current temperature measured in Celsius |
| CurrentHeaterCoolerState | B1 | uint8 | PR+EV | 0 | 3 | - INACTIVE (0)
- IDLE (1)
- HEATING (2)
- COOLING (3)
| indicates whether appliance is currently heating, cooling, idle, or off |
| TargetHeaterCoolerState | B2 | uint8 | PW+PR+EV | 0 | 2 | - AUTO (0)
- HEAT (1)
- COOL (2)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| RotationSpeed | 29 | float | PR+PW+EV | 0 | 100 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| RotationSpeed | 29 | float | PR+PW+EV | 0 | 100 | 0< d> | |
| TemperatureDisplayUnits | 36 | uint8 | PW+PR+EV | 0 | 1 | - CELSIUS (0)
- FAHRENHEIT (1)
| |
| SwingMode | B6 | uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0)
- SWING_ENABLED (1)
| |
-| CoolingThresholdTemperature | D | float | PR+PW+EV | 10 | 35 | | cooling turns on when temperature (in Celsius) rises above this threshold |
-| HeatingThresholdTemperature | 12 | float | PR+PW+EV | 0 | 25 | | heating turns on when temperature (in Celsius) falls below this threshold |
+| CoolingThresholdTemperature | D | float | PR+PW+EV | 10 | 35 | 10< d> | cooling turns on when temperature (in Celsius) rises above this threshold |
+| HeatingThresholdTemperature | 12 | float | PR+PW+EV | 0 | 25 | 16< d> | heating turns on when temperature (in Celsius) falls below this threshold |
| LockPhysicalControls | A7 | uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0)
- CONTROL_LOCK_ENABLED (1)
| indicates if local control lock is enabled |
@@ -163,24 +163,24 @@
Defines a Humidifer, Dehumidifier, or combined Humidifer/Dehumidifier. Can be used with a separate Fan Service and/or Slat Service to extend functionality.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0)
- ACTIVE (1)
| indicates if the Service is active/on |
-| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | | current humidity measured as a percentage |
+| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | 0< d> | current humidity measured as a percentage |
| CurrentHumidifierDehumidifierState | B3 | uint8 | PR+EV | 0 | 3 | - INACTIVE (0)
- IDLE (1)
- HUMIDIFYING (2)
- DEHUMIDIFYING (3)
| indicates current state of humidifier/dehumidifer |
| TargetHumidifierDehumidifierState | B4 | uint8 | PW+PR+EV | 0 | 2 | - AUTO (0)
- HUMIDIFY (1)
- DEHUMIDIFY (2)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| RelativeHumidityDehumidifierThreshold | C9 | float | PR+PW+EV | 0 | 100 | | |
-| RelativeHumidityHumidifierThreshold | CA | float | PR+PW+EV | 0 | 100 | | |
-| RotationSpeed | 29 | float | PR+PW+EV | 0 | 100 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| RelativeHumidityDehumidifierThreshold | C9 | float | PR+PW+EV | 0 | 100 | 50< d> | |
+| RelativeHumidityHumidifierThreshold | CA | float | PR+PW+EV | 0 | 100 | 50< d> | |
+| RotationSpeed | 29 | float | PR+PW+EV | 0 | 100 | 0< d> | |
| SwingMode | B6 | uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0)
- SWING_ENABLED (1)
| |
-| WaterLevel | B5 | float | PR+EV | 0 | 100 | | |
+| WaterLevel | B5 | float | PR+EV | 0 | 100 | 0< d> | |
| LockPhysicalControls | A7 | uint8 | PW+PR+EV | 0 | 1 | - CONTROL_LOCK_DISABLED (0)
- CONTROL_LOCK_ENABLED (1)
| indicates if local control lock is enabled |
## HumiditySensor (82)
Defines a Humidity Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
-| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | | current humidity measured as a percentage |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | 0< d> | current humidity measured as a percentage |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
@@ -189,11 +189,11 @@
## InputSource (D9)
Defines an Input Source for a TV. Use only as a Linked Service for the Television Service.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
-| ConfiguredName | E3 | string | PW+PR+EV | - | - | | |
+| ConfiguredName | E3 | string | PW+PR+EV | - | - | "unnamed"< d> | |
| IsConfigured | D6 | uint8 | PR+EV | 0 | 1 | - NOT_CONFIGURED (0)
- CONFIGURED (1)
| indicates if a predefined Service has been configured |
-| Identifier | E6 | uint32 | PR | 0 | 255 | | |
-| CurrentVisibilityState | 135 | uint8 | PR+EV | 0 | 1 | | |
-| TargetVisibilityState | 134 | uint8 | PW+PR+EV | 0 | 1 | | |
+| Identifier | E6 | uint32 | PR | 0 | 255 | 0< d> | |
+| CurrentVisibilityState | 135 | uint8 | PR+EV | 0 | 1 | 0< d> | |
+| TargetVisibilityState | 134 | uint8 | PW+PR+EV | 0 | 1 | 0< d> | |
## IrrigationSystem (CF)
@@ -202,7 +202,7 @@
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0)
- ACTIVE (1)
| indicates if the Service is active/on |
| ProgramMode | D1 | uint8 | PR+EV | 0 | 2 | - NONE (0)
- SCHEDULED (1)
- SCHEDULE_OVERRIDEN (2)
| |
| InUse | D2 | uint8 | PR+EV | 0 | 1 | - NOT_IN_USE (0)
- IN_USE (1)
| if Service is set to active, this indictes whether it is currently in use |
-| RemainingDuration | D4 | uint32 | PR+EV | 0 | 3600 | | |
+| RemainingDuration | D4 | uint32 | PR+EV | 0 | 3600 | 60< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
@@ -210,8 +210,8 @@
Defines a Leak Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| LeakDetected | 70 | uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0)
- DETECTED (1)
| indictates if a leak is detected |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
@@ -221,19 +221,19 @@
Defines any type of Light.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| On | 25 | bool | PR+PW+EV | 0 | 1 | | indicates if the Service is active/on |
-| Brightness | 8 | int | PR+PW+EV | 0 | 100 | | measured as a percentage |
-| Hue | 13 | float | PR+PW+EV | 0 | 360 | | color (in degrees) from red (0) to green (120) to blue (240) and back to red (360) |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| Saturation | 2F | float | PR+PW+EV | 0 | 100 | | |
-| ColorTemperature | CE | uint32 | PR+PW+EV | 140 | 500 | | measured in inverse megaKelvin (= 1,000,000 / Kelvin) |
+| Brightness | 8 | int | PR+PW+EV | 0 | 100 | 0< d> | measured as a percentage |
+| Hue | 13 | float | PR+PW+EV | 0 | 360 | 0< d> | color (in degrees) from red (0) to green (120) to blue (240) and back to red (360) |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| Saturation | 2F | float | PR+PW+EV | 0 | 100 | 0< d> | |
+| ColorTemperature | CE | uint32 | PR+PW+EV | 140 | 500 | 200< d> | measured in inverse megaKelvin (= 1,000,000 / Kelvin) |
## LightSensor (84)
Defines a Light Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
-| CurrentAmbientLightLevel | 6B | float | PR+EV | 0.0001 | 100000 | | measured in Lux (lumens/m2 |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| CurrentAmbientLightLevel | 6B | float | PR+EV | 0.0001 | 100000 | 1< d> | measured in Lux (lumens/m2 |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
@@ -244,18 +244,18 @@
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| LockCurrentState | 1D | uint8 | PR+EV | 0 | 3 | - UNLOCKED (0)
- LOCKED (1)
- JAMMED (2)
- UNKNOWN (3)
| indictates state of a lock |
| LockTargetState | 1E | uint8 | PW+PR+EV | 0 | 1 | - UNLOCK (0)
- LOCK (1)
| indicates desired state of lock |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
| Mute | 11A | bool | PW+PR+EV | 0 | 1 | | not used |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| Volume | 119 | uint8 | PW+PR+EV | 0 | 100 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| Volume | 119 | uint8 | PW+PR+EV | 0 | 100 | 0< d> | |
## MotionSensor (85)
Defines a Motion Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| MotionDetected | 22 | bool | PR+EV | 0 | 1 | - NOT_DETECTED (0)
- DETECTED (1)
| indicates if motion is detected |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
@@ -265,8 +265,8 @@
Defines and Occupancy Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| OccupancyDetected | 71 | uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0)
- DETECTED (1)
| indicates if occupanccy is detected |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
@@ -277,7 +277,7 @@
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| On | 25 | bool | PR+PW+EV | 0 | 1 | | indicates if the Service is active/on |
| OutletInUse | 26 | bool | PR+EV | 0 | 1 | - NOT_IN_USE (0)
- IN_USE (1)
| indicates if an appliance or light is plugged into the outlet, regardless of whether on or off |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
## SecuritySystem (7E)
@@ -285,7 +285,7 @@
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| SecuritySystemCurrentState | 66 | uint8 | PR+EV | 0 | 4 | - ARMED_STAY (0)
- ARMED_AWAY (1)
- ARMED_NIGHT (2)
- DISARMED (3)
- ALARM_TRIGGERED (4)
| |
| SecuritySystemTargetState | 67 | uint8 | PW+PR+EV | 0 | 3 | - ARM_STAY (0)
- ARM_AWAY (1)
- ARM_NIGHT (2)
- DISARM (3)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
| SecuritySystemAlarmType | 8E | uint8 | PR+EV | 0 | 1 | - KNOWN (0)
- UNKNOWN (1)
| |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
@@ -297,63 +297,63 @@
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| CurrentSlatState | AA | uint8 | PR+EV | 0 | 2 | - FIXED (0)
- JAMMED (1)
- SWINGING (2)
| indicates current state of slats |
| SlatType | C0 | uint8 | PR | 0 | 1 | - HORIZONTAL (0)
- VERTICAL (1)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
| SwingMode | B6 | uint8 | PR+EV+PW | 0 | 1 | - SWING_DISABLED (0)
- SWING_ENABLED (1)
| |
-| CurrentTiltAngle | C1 | int | PR+EV | -90 | 90 | | angle (in degrees) of slats from fully up or left (-90) to fully open (0) to fully down or right (90) |
-| TargetTiltAngle | C2 | int | PW+PR+EV | -90 | 90 | | |
+| CurrentTiltAngle | C1 | int | PR+EV | -90 | 90 | 0< d> | angle (in degrees) of slats from fully up or left (-90) to fully open (0) to fully down or right (90) |
+| TargetTiltAngle | C2 | int | PW+PR+EV | -90 | 90 | 0< d> | |
## SmokeSensor (87)
Defines a Smoke Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| SmokeDetected | 76 | uint8 | PR+EV | 0 | 1 | - NOT_DETECTED (0)
- DETECTED (1)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
| Mute | 11A | bool | PW+PR+EV | 0 | 1 | | not used |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| Volume | 119 | uint8 | PW+PR+EV | 0 | 100 | | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| Volume | 119 | uint8 | PW+PR+EV | 0 | 100 | 0< d> | |
## StatelessProgrammableSwitch (89)
Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| ProgrammableSwitchEvent | 73 | uint8 | PR+EV+NV | 0 | 2 | - SINGLE_PRESS (0)
- DOUBLE_PRESS (1)
- LONG_PRESS (2)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
## Switch (49)
Defines a generic Switch.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| On | 25 | bool | PR+PW+EV | 0 | 1 | | indicates if the Service is active/on |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
## Television (D8)
Defines a TV. Optional Linked Services: InputSource and TelevisionSpeaker.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0)
- ACTIVE (1)
| indicates if the Service is active/on |
-| ConfiguredName | E3 | string | PW+PR+EV | - | - | | |
-| ActiveIdentifier | E7 | uint32 | PW+PR+EV | 0 | 255 | | the Identifier of the current Input Source |
-| RemoteKey | E1 | uint8 | PW | 0 | 16 | | |
-| PowerModeSelection | DF | uint8 | PW | 0 | 1 | | |
+| ConfiguredName | E3 | string | PW+PR+EV | - | - | "unnamed"< d> | |
+| ActiveIdentifier | E7 | uint32 | PW+PR+EV | 0 | 255 | 0< d> | the Identifier of the current Input Source |
+| RemoteKey | E1 | uint8 | PW | 0 | 16 | 0< d> | |
+| PowerModeSelection | DF | uint8 | PW | 0 | 1 | 0< d> | |
## 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 | UUID | Format | Perms | Min | Max | Constants | Notes |
-| VolumeControlType | E9 | uint8 | PR+EV | 0 | 3 | | |
-| VolumeSelector | EA | uint8 | PW | 0 | 1 | | |
+| VolumeControlType | E9 | uint8 | PR+EV | 0 | 3 | 0< d> | |
+| VolumeSelector | EA | uint8 | PW | 0 | 1 | 0< d> | |
## TemperatureSensor (8A)
Defines a Temperature Sensor.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
-| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | | current temperature measured in Celsius |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| StatusActive | 75 | bool | PR+EV | 0 | 1 | | |
+| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | 0< d> | current temperature measured in Celsius |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| StatusActive | 75 | bool | PR+EV | 0 | 1 | true< d> | |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
| StatusTampered | 7A | uint8 | PR+EV | 0 | 1 | - NOT_TAMPERED (0)
- TAMPERED (1)
| |
| StatusLowBattery | 79 | uint8 | PR+EV | 0 | 1 | - NOT_LOW_BATTERY (0)
- LOW_BATTERY (1)
| |
@@ -364,14 +364,14 @@
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| CurrentHeatingCoolingState | F | uint8 | PR+EV | 0 | 2 | - IDLE (0)
- HEATING (1)
- COOLING (2)
| indicates whether appliance is currently heating, cooling, or just idle |
| TargetHeatingCoolingState | 33 | uint8 | PW+PR+EV | 0 | 3 | - OFF (0)
- HEAT (1)
- COOL (2)
- AUTO (3)
| |
-| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | | current temperature measured in Celsius |
-| TargetTemperature | 35 | float | PW+PR+EV | 10 | 38 | | |
+| CurrentTemperature | 11 | float | PR+EV | 0 | 100 | 0< d> | current temperature measured in Celsius |
+| TargetTemperature | 35 | float | PW+PR+EV | 10 | 38 | 16< d> | |
| TemperatureDisplayUnits | 36 | uint8 | PW+PR+EV | 0 | 1 | - CELSIUS (0)
- FAHRENHEIT (1)
| |
-| CoolingThresholdTemperature | D | float | PR+PW+EV | 10 | 35 | | cooling turns on when temperature (in Celsius) rises above this threshold |
-| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | | current humidity measured as a percentage |
-| HeatingThresholdTemperature | 12 | float | PR+PW+EV | 0 | 25 | | heating turns on when temperature (in Celsius) falls below this threshold |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| TargetRelativeHumidity | 34 | float | PW+PR+EV | 0 | 100 | | |
+| CoolingThresholdTemperature | D | float | PR+PW+EV | 10 | 35 | 10< d> | cooling turns on when temperature (in Celsius) rises above this threshold |
+| CurrentRelativeHumidity | 10 | float | PR+EV | 0 | 100 | 0< d> | current humidity measured as a percentage |
+| HeatingThresholdTemperature | 12 | float | PR+PW+EV | 0 | 25 | 16< d> | heating turns on when temperature (in Celsius) falls below this threshold |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| TargetRelativeHumidity | 34 | float | PW+PR+EV | 0 | 100 | 0< d> | |
## Valve (D0)
@@ -379,33 +379,33 @@
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
| Active | B0 | uint8 | PW+PR+EV | 0 | 1 | - INACTIVE (0)
- ACTIVE (1)
| indicates if the Service is active/on |
| InUse | D2 | uint8 | PR+EV | 0 | 1 | - NOT_IN_USE (0)
- IN_USE (1)
| if Service is set to active, this indictes whether it is currently in use |
-| ValveType | D5 | uint8 | PR+EV | 0 | 3 | | |
-| SetDuration | D3 | uint32 | PW+PR+EV | 0 | 3600 | | |
-| RemainingDuration | D4 | uint32 | PR+EV | 0 | 3600 | | |
+| ValveType | D5 | uint8 | PR+EV | 0 | 3 | 0< d> | |
+| SetDuration | D3 | uint32 | PW+PR+EV | 0 | 3600 | 60< d> | |
+| RemainingDuration | D4 | uint32 | PR+EV | 0 | 3600 | 60< d> | |
| IsConfigured | D6 | uint8 | PR+EV | 0 | 1 | - NOT_CONFIGURED (0)
- CONFIGURED (1)
| indicates if a predefined Service has been configured |
| StatusFault | 77 | uint8 | PR+EV | 0 | 1 | - NO_FAULT (0)
- FAULT (1)
| |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
## Window (8B)
Defines a motorized Window.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
-| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | | current position (as a percentage) from fully closed (0) to full open (100) |
-| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | | |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
+| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | 0< d> | current position (as a percentage) from fully closed (0) to full open (100) |
+| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | 0< d> | |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
| ObstructionDetected | 24 | bool | PR+EV | 0 | 1 | - NOT_DETECTED (0)
- DETECTED (1)
| indicates if obstruction is detected |
## WindowCovering (8C)
Defines a motorized Window Shade, Screen, Awning, etc.
| Characteristic | UUID | Format | Perms | Min | Max | Constants | Notes |
-| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | | |
-| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | | current position (as a percentage) from fully closed (0) to full open (100) |
-| Name | 23 | string | PR | - | - | | default name of a Service used only during initial pairing |
-| CurrentHorizontalTiltAngle | 6C | int | PR+EV | -90 | 90 | | current angle (in degrees) of slats from fully up (-90) to fully open (0) to fully down (90) |
-| TargetHorizontalTiltAngle | 7B | int | PW+PR+EV | -90 | 90 | | |
-| CurrentVerticalTiltAngle | 6E | int | PR+EV | -90 | 90 | | current angle (in degrees) of slats from fully left (-90) to fully open (0) to fully right (90) |
-| TargetVerticalTiltAngle | 7D | int | PW+PR+EV | -90 | 90 | | |
+| TargetPosition | 7C | uint8 | PW+PR+EV | 0 | 100 | 0< d> | |
+| CurrentPosition | 6D | uint8 | PR+EV | 0 | 100 | 0< d> | current position (as a percentage) from fully closed (0) to full open (100) |
+| Name | 23 | string | PR | - | - | "unnamed"< d> | default name of a Service used only during initial pairing |
+| CurrentHorizontalTiltAngle | 6C | int | PR+EV | -90 | 90 | 0< d> | current angle (in degrees) of slats from fully up (-90) to fully open (0) to fully down (90) |
+| TargetHorizontalTiltAngle | 7B | int | PW+PR+EV | -90 | 90 | 0< d> | |
+| CurrentVerticalTiltAngle | 6E | int | PR+EV | -90 | 90 | 0< d> | current angle (in degrees) of slats from fully left (-90) to fully open (0) to fully right (90) |
+| TargetVerticalTiltAngle | 7D | int | PW+PR+EV | -90 | 90 | 0< d> | |
| ObstructionDetected | 24 | bool | PR+EV | 0 | 1 | - NOT_DETECTED (0)
- DETECTED (1)
| indicates if obstruction is detected |