diff --git a/docs/ServiceList_Expanded.md b/docs/ServiceList_Expanded.md index fabe5c0..f68cfb6 100644 --- a/docs/ServiceList_Expanded.md +++ b/docs/ServiceList_Expanded.md @@ -16,7 +16,7 @@ ## AirPurifier (BB) -
Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, and Slat
+
Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, and Slat
@@ -28,7 +28,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
CurrentAirPurifierState (A9) :small_blue_diamond:
  • indicates current state of air purification
uint8PR+EV02
  • INACTIVE (0) 
  • IDLE (1) :heavy_check_mark:
  • PURIFYING (2) 
## AirQualitySensor (8D) -
Defines an Air Quality Sensor.
+
Defines an Air Quality Sensor.
@@ -45,7 +45,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
AirQuality (95) :small_blue_diamond:
  • a subjective description
uint8PR+EV05
  • UNKNOWN (0) :heavy_check_mark:
  • EXCELLENT (1) 
  • GOOD (2) 
  • FAIR (3) 
  • INFERIOR (4) 
  • POOR (5) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## BatteryService (96) -
Defines a standalone Battery Service.
+
Defines a standalone Battery Service.
@@ -54,7 +54,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
BatteryLevel (68) :small_blue_diamond:
  • measured as a percentage
uint8PR+EV0100100
ChargingState (8F) :small_blue_diamond:
  • indicates state of battery charging
uint8PR+EV02
  • NOT_CHARGING (0) :heavy_check_mark:
  • CHARGING (1) 
  • NOT_CHARGEABLE (2) 
## CarbonDioxideSensor (97) -
Defines a Carbon Dioxide Sensor.
+
Defines a Carbon Dioxide Sensor.
@@ -67,7 +67,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CarbonDioxideDetected (92) :small_blue_diamond:
  • indicates if abnormal level is detected
uint8PR+EV01
  • NORMAL (0) :heavy_check_mark:
  • ABNORMAL (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## CarbonMonoxideSensor (7F) -
Defines a Carbon Monoxide Sensor.
+
Defines a Carbon Monoxide Sensor.
@@ -80,7 +80,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CarbonMonoxideDetected (69) :small_blue_diamond:
  • indicates if abnormal level is detected
uint8PR+EV01
  • NORMAL (0) :heavy_check_mark:
  • ABNORMAL (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## ContactSensor (80) -
Defines a Contact Sensor.
+
Defines a Contact Sensor.
@@ -91,7 +91,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
ContactSensorState (6A) :small_blue_diamond:
  • indictates if contact is detected (i.e. closed)
uint8PR+EV01
  • DETECTED (0) 
  • NOT_DETECTED (1) :heavy_check_mark:
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Door (81) -
Defines a motorized Door.
+
Defines a motorized Door.
@@ -100,14 +100,14 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentPosition (6D) :small_blue_diamond:
  • current position (as a percentage) from fully closed (0) to full open (100)
uint8PR+EV01000
TargetPosition (7C) :small_blue_diamond:
  • indicates target position (as a percentage) from fully closed (0) to full open (100)
uint8PW+PR+EV01000
## Doorbell (121) -
Defines a Doorbell. Can be used on a standalone basis or in conjunction with a LockMechanism Service.
+
Defines a Doorbell. Can be used on a standalone basis or in conjunction with a LockMechanism Service.
CharacteristicFormatPermsMinMaxConstants/Defaults
ProgrammableSwitchEvent (73) :small_blue_diamond:
  • specifies type of button press
uint8PR+EV+NV02
  • SINGLE_PRESS (0) :heavy_check_mark:
  • DOUBLE_PRESS (1) 
  • LONG_PRESS (2) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Fan (B7) -
Defines a Fan. Can be used in conjunction with a LightBulb Service to create a Lighted Ceiling Fan.
+
Defines a Fan. Can be used in conjunction with a LightBulb Service to create a Lighted Ceiling Fan.
@@ -120,7 +120,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Faucet (D7) -
Defines the master control for a multi-Valve appliance. Linked Services: Valve (at least one required), and HeaterCooler (optional).
+
Defines the master control for a multi-Valve appliance. Linked Services: Valve (at least one required), and HeaterCooler (optional).
@@ -128,7 +128,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
StatusFault (77)
  • indicates whether the Service has a fault
uint8PR+EV01
  • NO_FAULT (0) :heavy_check_mark:
  • FAULT (1) 
## FilterMaintenance (BA) -
Defines a Filter Maintainence check.
+
Defines a Filter Maintainence check.
@@ -137,7 +137,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
FilterChangeIndication (AC) :small_blue_diamond:
  • indicates state of filter
uint8PR+EV01
  • NO_CHANGE_NEEDED (0) :heavy_check_mark:
  • CHANGE_NEEDED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## GarageDoorOpener (41) -
Defines a motorized Garage Door Opener.
+
Defines a motorized Garage Door Opener.
@@ -149,7 +149,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentDoorState (E) :small_blue_diamond:
  • indicates current state of a door
uint8PR+EV04
  • OPEN (0) 
  • CLOSED (1) :heavy_check_mark:
  • OPENING (2) 
  • CLOSING (3) 
  • STOPPED (4) 
TargetDoorState (32) :small_blue_diamond:
  • indicates desired state of door
uint8PW+PR+EV01
  • OPEN (0) 
  • CLOSED (1) :heavy_check_mark:
## 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.
+
Defines a standalone Heater, Cooler, or combined Heater/Cooler. Can be used with a separate Fan Service and/or Slat Service to extend functionality.
@@ -165,7 +165,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
CurrentTemperature (11) :small_blue_diamond:
  • current temperature measured in Celsius
floatPR+EV01000
## 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.
+
Defines a Humidifer, Dehumidifier, or combined Humidifer/Dehumidifier. Can be used with a separate Fan Service and/or Slat Service to extend functionality.
@@ -181,7 +181,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
CurrentRelativeHumidity (10) :small_blue_diamond:
  • current humidity measured as a percentage
floatPR+EV01000
## HumiditySensor (82) -
Defines a Humidity Sensor.
+
Defines a Humidity Sensor.
@@ -192,7 +192,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentRelativeHumidity (10) :small_blue_diamond:
  • current humidity measured as a percentage
floatPR+EV01000
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## InputSource (D9) -
Defines an Input Source for a TV. Use only as a Linked Service for the Television Service.
+
Defines an Input Source for a TV. Use only as a Linked Service for the Television Service.
@@ -202,7 +202,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
ConfiguredName (E3)
  • a "configurable" Service name - any updates made from within the Home App trigger an update in HomeSpan and vice versa.
stringPW+PR+EV--"unnamed"
IsConfigured (D6)
  • indicates if a predefined Service has been configured
uint8PR+EV01
  • NOT_CONFIGURED (0) :heavy_check_mark:
  • CONFIGURED (1) 
## IrrigationSystem (CF) -
Defines an Irrigation System. Linked Services: Valve Service (at least one required).
+
Defines an Irrigation System. Linked Services: Valve Service (at least one required).
@@ -212,7 +212,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
ProgramMode (D1) :small_blue_diamond:
  • indicates if pre-scheduled program is running
uint8PR+EV02
  • NONE (0) :heavy_check_mark:
  • SCHEDULED (1) 
  • SCHEDULE_OVERRIDEN (2) 
## LeakSensor (83) -
Defines a Leak Sensor.
+
Defines a Leak Sensor.
@@ -223,7 +223,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
LeakDetected (70) :small_blue_diamond:
  • indictates if a leak is detected
uint8PR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## LightBulb (43) -
Defines any type of Light.
+
Defines any type of Light.
@@ -234,7 +234,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0) :heavy_check_mark:
  • ON (1) 
Brightness (8)
  • measured as a percentage
intPR+PW+EV01000
## LightSensor (84) -
Defines a Light Sensor.
+
Defines a Light Sensor.
@@ -245,7 +245,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentAmbientLightLevel (6B) :small_blue_diamond:
  • measured in Lux (lumens/m2
floatPR+EV0.00011000001
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## LockMechanism (45) -
Defines an electronic Lock.
+
Defines an electronic Lock.
@@ -256,7 +256,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
LockCurrentState (1D) :small_blue_diamond:
  • indicates state of a lock
uint8PR+EV03
  • UNLOCKED (0) :heavy_check_mark:
  • LOCKED (1) 
  • JAMMED (2) 
  • UNKNOWN (3) 
LockTargetState (1E) :small_blue_diamond:
  • indicates desired state of lock
uint8PW+PR+EV01
  • UNLOCK (0) :heavy_check_mark:
  • LOCK (1) 
## MotionSensor (85) -
Defines a Motion Sensor.
+
Defines a Motion Sensor.
@@ -267,7 +267,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
MotionDetected (22) :small_blue_diamond:
  • indicates if motion is detected
boolPR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## OccupancySensor (86) -
Defines and Occupancy Sensor.
+
Defines and Occupancy Sensor.
@@ -278,7 +278,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
OccupancyDetected (71) :small_blue_diamond:
  • indicates if occupanccy is detected
uint8PR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Outlet (47) -
Defines an controllable Outlet used to power any light or appliance.
+
Defines an controllable Outlet used to power any light or appliance.
@@ -286,7 +286,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0) :heavy_check_mark:
  • ON (1) 
OutletInUse (26) :small_blue_diamond:
  • indicates if an appliance or light is plugged into the outlet, regardless of whether on or off
boolPR+EV01
  • NOT_IN_USE (0) :heavy_check_mark:
  • IN_USE (1) 
## SecuritySystem (7E) -
Defines a Security System.
+
Defines a Security System.
@@ -297,13 +297,13 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
SecuritySystemCurrentState (66) :small_blue_diamond:
  • indicates current state of the security system
uint8PR+EV04
  • 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
uint8PW+PR+EV03
  • ARM_STAY (0) 
  • ARM_AWAY (1) 
  • ARM_NIGHT (2) 
  • DISARM (3) :heavy_check_mark:
## 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.
+
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.
CharacteristicFormatPermsMinMaxConstants/Defaults
ServiceLabelNamespace (CD) :small_blue_diamond:
  • indicates how un-named Services linked together with a ServiceLabel Service should be displayed in the Home App
uint8PR01
  • DOTS (0) 
  • NUMERALS (1) :heavy_check_mark:
## Slat (B9) -
Defines a motorized ventilation Slat(s).
+
Defines a motorized ventilation Slat(s).
@@ -314,7 +314,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentSlatState (AA) :small_blue_diamond:
  • indicates current state of slats
uint8PR+EV02
  • FIXED (0) :heavy_check_mark:
  • JAMMED (1) 
  • SWINGING (2) 
SlatType (C0) :small_blue_diamond:
  • indicates the direction of a slat or group of slats
uint8PR01
  • HORIZONTAL (0) :heavy_check_mark:
  • VERTICAL (1) 
## SmokeSensor (87) -
Defines a Smoke Sensor.
+
Defines a Smoke Sensor.
@@ -328,7 +328,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
SmokeDetected (76) :small_blue_diamond:
  • indicates if smoke is detected
uint8PR+EV01
  • NOT_DETECTED (0) :heavy_check_mark:
  • DETECTED (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## StatelessProgrammableSwitch (89) -
Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App.
+
Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App.
@@ -336,14 +336,14 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
ProgrammableSwitchEvent (73) :small_blue_diamond:
  • specifies type of button press
uint8PR+EV+NV02
  • SINGLE_PRESS (0) :heavy_check_mark:
  • DOUBLE_PRESS (1) 
  • LONG_PRESS (2) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Switch (49) -
Defines a generic Switch.
+
Defines a generic Switch.
CharacteristicFormatPermsMinMaxConstants/Defaults
On (25) :small_blue_diamond:
  • indicates if the Service is active/on
boolPR+PW+EV01
  • OFF (0) :heavy_check_mark:
  • ON (1) 
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Television (D8) -
Defines a TV. Optional Linked Services: InputSource and TelevisionSpeaker.
+
Defines a TV. Optional Linked Services: InputSource and TelevisionSpeaker.
@@ -353,14 +353,14 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • 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.
stringPW+PR+EV--"unnamed"
## 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.
+
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.
CharacteristicFormatPermsMinMaxConstants/Defaults
VolumeControlType (E9) :small_blue_diamond:
  • indicates the type of volume control
uint8PR+EV03
  • 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
uint8PW01
  • VOLUME_UP (0) 
  • VOLUME_DOWN (1) 
## TemperatureSensor (8A) -
Defines a Temperature Sensor.
+
Defines a Temperature Sensor.
@@ -371,7 +371,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentTemperature (11) :small_blue_diamond:
  • current temperature measured in Celsius
floatPR+EV01000
Name (23)
  • default name of a Service used only during initial pairing
stringPR--"unnamed"
## Thermostat (4A) -
Defines a Thermostat used to control a furnace, air conditioner, or both.
+
Defines a Thermostat used to control a furnace, air conditioner, or both.
@@ -386,7 +386,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentHeatingCoolingState (F) :small_blue_diamond:
  • indicates whether appliance is currently heating, cooling, or just idle
uint8PR+EV02
  • IDLE (0) :heavy_check_mark:
  • HEATING (1) 
  • COOLING (2) 
TargetHeatingCoolingState (33) :small_blue_diamond:
  • indicates desired state of appliance
uint8PW+PR+EV03
  • OFF (0) :heavy_check_mark:
  • HEAT (1) 
  • COOL (2) 
  • AUTO (3) 
## Valve (D0) -
Defines an electronic Valve. Can be used standalone or as a Linked Service in conjunction with the Faucet and IrrigationSystem Services.
+
Defines an electronic Valve. Can be used standalone or as a Linked Service in conjunction with the Faucet and IrrigationSystem Services.
@@ -400,7 +400,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
Active (B0) :small_blue_diamond:
  • indicates if the Service is active/on
uint8PW+PR+EV01
  • INACTIVE (0) :heavy_check_mark:
  • ACTIVE (1) 
InUse (D2) :small_blue_diamond:
  • if Service is set to active, this indictes whether it is currently in use
uint8PR+EV01
  • NOT_IN_USE (0) :heavy_check_mark:
  • IN_USE (1) 
## Window (8B) -
Defines a motorized Window.
+
Defines a motorized Window.
@@ -409,7 +409,7 @@
CharacteristicFormatPermsMinMaxConstants/Defaults
CurrentPosition (6D) :small_blue_diamond:
  • current position (as a percentage) from fully closed (0) to full open (100)
uint8PR+EV01000
TargetPosition (7C) :small_blue_diamond:
  • indicates target position (as a percentage) from fully closed (0) to full open (100)
uint8PW+PR+EV01000
## WindowCovering (8C) -
Defines a motorized Window Shade, Screen, Awning, etc.
+
Defines a motorized Window Shade, Screen, Awning, etc.
@@ -424,3 +424,4 @@ --- [↩️](../README.md) Back to the Welcome page + diff --git a/tools/makeServiceList b/tools/makeServiceList index 0ccd5f2..ed8f511 100755 --- a/tools/makeServiceList +++ b/tools/makeServiceList @@ -3,3 +3,7 @@ grep -B 1000 "AUTOGENERATED_TEXT" ../docs/ServiceList.md > ServiceList.md ./makeServices ../src/Characteristics.h ../src/Span.h >> ServiceList.md mv ServiceList.md ../docs/ServiceList.md + +grep -B 1000 "AUTOGENERATED_TEXT" ../docs/ServiceList_Expanded.md > ServiceList_Expanded.md +./makeServices -vdetailsAtt=" open" ../src/Characteristics.h ../src/Span.h >> ServiceList_Expanded.md +mv ServiceList_Expanded.md ../docs/ServiceList_Expanded.md diff --git a/tools/makeServices b/tools/makeServices index 940c6d4..8d8c1e9 100755 --- a/tools/makeServices +++ b/tools/makeServices @@ -65,7 +65,7 @@ END { for(i=0;i%s
CharacteristicFormatPermsMinMaxConstants/Defaults
TargetPosition (7C) :small_blue_diamond:
  • indicates target position (as a percentage) from fully closed (0) to full open (100)
uint8PW+PR+EV01000
CurrentPosition (6D) :small_blue_diamond:
  • current position (as a percentage) from fully closed (0) to full open (100)
uint8PR+EV01000
\n",desc[s]) + printf("%s
\n",detailsAtt,desc[s]) printf("\n") for(j=0;j
CharacteristicFormatPermsMinMaxConstants/Defaults