update
This commit is contained in:
parent
348232a663
commit
8cae896273
|
|
@ -118,8 +118,7 @@ struct DEV_WindowShade : Service::WindowCovering { // A motorized Window Sha
|
|||
// the current state.
|
||||
|
||||
// According to HAP, the Characteristic Position State is also required. However, this seems duplicative and is NOT needed
|
||||
// at all given the way HomeKit uses current position. HomeSpan will warn you if Position State is not defined (since it
|
||||
// is technically required) but this works fine without it.
|
||||
// at all given the way HomeKit uses current position.
|
||||
|
||||
} // loop
|
||||
|
||||
|
|
|
|||
104
src/Span.h
104
src/Span.h
|
|
@ -33,10 +33,12 @@
|
|||
// The names of the macros are picked up by external scripts to help generate documentation
|
||||
|
||||
#define CREATE_SERV(NAME,UUID) struct NAME : SpanService { NAME() : SpanService{#UUID,#NAME}{
|
||||
#define CREATE_SERV_DEP(NAME,UUID) struct NAME : SpanService { NAME() : SpanService{#UUID,#NAME}{
|
||||
#define END_SERV }};
|
||||
|
||||
#define REQ(HAPCHAR) req.push_back(&hapChars.HAPCHAR)
|
||||
#define OPT(HAPCHAR) opt.push_back(&hapChars.HAPCHAR)
|
||||
#define DEP(HAPCHAR) opt.push_back(&hapChars.HAPCHAR)
|
||||
|
||||
namespace Service {
|
||||
|
||||
|
|
@ -48,10 +50,10 @@ namespace Service {
|
|||
OPT(Name);
|
||||
OPT(SerialNumber);
|
||||
OPT(HardwareRevision);
|
||||
OPT(AccessoryFlags);
|
||||
DEP(AccessoryFlags);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(AirPurifier,BB)
|
||||
CREATE_SERV(AirPurifier,BB) // Defines a basic Air Purifier with an optional fan. Optional <i>Linked Services</i>: FilterMaintenance, AirQualitySensor, Fan, Slat
|
||||
REQ(Active);
|
||||
REQ(CurrentAirPurifierState);
|
||||
REQ(TargetAirPurifierState);
|
||||
|
|
@ -61,7 +63,7 @@ namespace Service {
|
|||
OPT(LockPhysicalControls);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(AirQualitySensor,8D)
|
||||
CREATE_SERV(AirQualitySensor,8D) // Defines an Air Quality Sensor with a variety of Air Quality Characteristics.
|
||||
REQ(AirQuality);
|
||||
OPT(Name);
|
||||
OPT(OzoneDensity);
|
||||
|
|
@ -76,14 +78,14 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(BatteryService,96)
|
||||
CREATE_SERV(BatteryService,96) // Defines a standalone Battery Service.
|
||||
REQ(BatteryLevel);
|
||||
REQ(ChargingState);
|
||||
REQ(StatusLowBattery);
|
||||
OPT(Name);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(CarbonDioxideSensor,97)
|
||||
CREATE_SERV(CarbonDioxideSensor,97) // Defines a Carbon Dioxide Sensor.
|
||||
REQ(CarbonDioxideDetected);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -94,7 +96,7 @@ namespace Service {
|
|||
OPT(CarbonDioxidePeakLevel);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(CarbonMonoxideSensor,7F)
|
||||
CREATE_SERV(CarbonMonoxideSensor,7F) // Defines a Carbon Monoxide Sensor.
|
||||
REQ(CarbonMonoxideDetected);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -105,7 +107,7 @@ namespace Service {
|
|||
OPT(CarbonMonoxidePeakLevel);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(ContactSensor,80)
|
||||
CREATE_SERV(ContactSensor,80) // Defines a Contact Sensor.
|
||||
REQ(ContactSensorState);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -114,23 +116,23 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Door,81)
|
||||
CREATE_SERV(Door,81) // Defines a motorized Door.
|
||||
REQ(CurrentPosition);
|
||||
REQ(TargetPosition);
|
||||
REQ(PositionState);
|
||||
DEP(PositionState);
|
||||
OPT(Name);
|
||||
OPT(HoldPosition);
|
||||
DEP(HoldPosition);
|
||||
OPT(ObstructionDetected);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Doorbell,121)
|
||||
CREATE_SERV(Doorbell,121) // Defines a Doorbell.
|
||||
REQ(ProgrammableSwitchEvent);
|
||||
OPT(Name);
|
||||
OPT(Volume);
|
||||
OPT(Brightness);
|
||||
DEP(Volume);
|
||||
DEP(Brightness);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Fan,B7)
|
||||
CREATE_SERV(Fan,B7) // Defines a Fan. Can be used with a LightBulb Service to define a Lighted Ceiling Fan.
|
||||
REQ(Active);
|
||||
OPT(Name);
|
||||
OPT(CurrentFanState);
|
||||
|
|
@ -141,20 +143,20 @@ namespace Service {
|
|||
OPT(LockPhysicalControls);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Faucet,D7)
|
||||
CREATE_SERV(Faucet,D7) // Defines the master control for one or more faucets or shower heads. <i>Linked Services:</i> Valve (at least one <b>required</b>) and HeaterCooler (optional, <i>unless</i> only one linked Valve defined).
|
||||
REQ(Active);
|
||||
OPT(StatusFault);
|
||||
OPT(Name);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(FilterMaintenance,BA)
|
||||
CREATE_SERV(FilterMaintenance,BA) // Defines a Filter Maintainence check.
|
||||
REQ(FilterChangeIndication);
|
||||
OPT(Name);
|
||||
OPT(FilterLifeLevel);
|
||||
OPT(ResetFilterIndication);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(GarageDoorOpener,41)
|
||||
CREATE_SERV(GarageDoorOpener,41) // Defines a motorized Garage Door Opener.
|
||||
REQ(CurrentDoorState);
|
||||
REQ(TargetDoorState);
|
||||
REQ(ObstructionDetected);
|
||||
|
|
@ -163,11 +165,11 @@ namespace Service {
|
|||
OPT(Name);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(HAPProtocolInformation,A2)
|
||||
CREATE_SERV_DEP(HAPProtocolInformation,A2)
|
||||
REQ(Version);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(HeaterCooler,BC)
|
||||
CREATE_SERV(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.
|
||||
REQ(Active);
|
||||
REQ(CurrentTemperature);
|
||||
REQ(CurrentHeaterCoolerState);
|
||||
|
|
@ -181,7 +183,7 @@ namespace Service {
|
|||
OPT(LockPhysicalControls);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(HumidifierDehumidifier,BD)
|
||||
CREATE_SERV(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.
|
||||
REQ(Active);
|
||||
REQ(CurrentRelativeHumidity);
|
||||
REQ(CurrentHumidifierDehumidifierState);
|
||||
|
|
@ -195,7 +197,7 @@ namespace Service {
|
|||
OPT(LockPhysicalControls);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(HumiditySensor,82)
|
||||
CREATE_SERV(HumiditySensor,82) // Defines a Humidity Sensor.
|
||||
REQ(CurrentRelativeHumidity);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -204,7 +206,7 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(InputSource,D9)
|
||||
CREATE_SERV(InputSource,D9) // Defines an Input Source for a Television. Use <b>only</b> as a <i>Linked Service</i> for the Television Service.
|
||||
OPT(ConfiguredName);
|
||||
OPT(IsConfigured);
|
||||
REQ(Identifier);
|
||||
|
|
@ -212,7 +214,7 @@ namespace Service {
|
|||
OPT(TargetVisibilityState);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(IrrigationSystem,CF)
|
||||
CREATE_SERV(IrrigationSystem,CF) // Defines an Irrigation System. <i>Linked Services:</i> Valve Service (at least one <b>required</b>).
|
||||
REQ(Active);
|
||||
REQ(ProgramMode);
|
||||
REQ(InUse);
|
||||
|
|
@ -220,7 +222,7 @@ namespace Service {
|
|||
OPT(StatusFault);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(LeakSensor,83)
|
||||
CREATE_SERV(LeakSensor,83) // Defines a Leak Sensor.
|
||||
REQ(LeakDetected);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -229,7 +231,7 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(LightBulb,43)
|
||||
CREATE_SERV(LightBulb,43) // Defines a generic Light.
|
||||
REQ(On);
|
||||
OPT(Brightness);
|
||||
OPT(Hue);
|
||||
|
|
@ -238,7 +240,7 @@ namespace Service {
|
|||
OPT(ColorTemperature);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(LightSensor,84)
|
||||
CREATE_SERV(LightSensor,84) // Defines a Light Sensor.
|
||||
REQ(CurrentAmbientLightLevel);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -247,19 +249,19 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(LockMechanism,45)
|
||||
CREATE_SERV(LockMechanism,45) // Defines an electronic Lock.
|
||||
REQ(LockCurrentState);
|
||||
REQ(LockTargetState);
|
||||
OPT(Name);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Microphone,112)
|
||||
CREATE_SERV_DEP(Microphone,112)
|
||||
REQ(Mute);
|
||||
OPT(Name);
|
||||
OPT(Volume);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(MotionSensor,85)
|
||||
CREATE_SERV(MotionSensor,85) // Defines a Motion Sensor.
|
||||
REQ(MotionDetected);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -268,7 +270,7 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(OccupancySensor,86)
|
||||
CREATE_SERV(OccupancySensor,86) // Defines and Occupancy Sensor.
|
||||
REQ(OccupancyDetected);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -277,13 +279,13 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Outlet,47)
|
||||
CREATE_SERV(Outlet,47) // Defines an controllable Outlet used to power any light or appliance.
|
||||
REQ(On);
|
||||
REQ(OutletInUse);
|
||||
OPT(Name);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(SecuritySystem,7E)
|
||||
CREATE_SERV(SecuritySystem,7E) // Defines a Security System.
|
||||
REQ(SecuritySystemCurrentState);
|
||||
REQ(SecuritySystemTargetState);
|
||||
OPT(Name);
|
||||
|
|
@ -292,11 +294,11 @@ namespace Service {
|
|||
OPT(StatusTampered);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(ServiceLabel,CC)
|
||||
CREATE_SERV_DEP(ServiceLabel,CC)
|
||||
REQ(ServiceLabelNamespace);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Slat,B9)
|
||||
CREATE_SERV(Slat,B9) // Defines a motorized ventilation Slat (or group of Slats).
|
||||
REQ(CurrentSlatState);
|
||||
REQ(SlatType);
|
||||
OPT(Name);
|
||||
|
|
@ -305,7 +307,7 @@ namespace Service {
|
|||
OPT(TargetTiltAngle);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(SmokeSensor,87)
|
||||
CREATE_SERV(SmokeSensor,87) // Defines a Smoke Sensor.
|
||||
REQ(SmokeDetected);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -314,24 +316,24 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Speaker,113)
|
||||
CREATE_SERV_DEP(Speaker,113)
|
||||
REQ(Mute);
|
||||
OPT(Name);
|
||||
OPT(Volume);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(StatelessProgrammableSwitch,89)
|
||||
CREATE_SERV(StatelessProgrammableSwitch,89) // Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App.
|
||||
REQ(ProgrammableSwitchEvent);
|
||||
OPT(Name);
|
||||
OPT(ServiceLabelIndex);
|
||||
DEP(ServiceLabelIndex);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Switch,49)
|
||||
CREATE_SERV(Switch,49) // Defines a generic Switch.
|
||||
REQ(On);
|
||||
OPT(Name);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Television,D8)
|
||||
CREATE_SERV(Television,D8) // Defines a Television. Optional <i>Linked Service</i>: InputSource, TelevisionSpeaker
|
||||
REQ(Active);
|
||||
OPT(ConfiguredName);
|
||||
OPT(ActiveIdentifier);
|
||||
|
|
@ -339,12 +341,12 @@ namespace Service {
|
|||
OPT(PowerModeSelection);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(TelevisionSpeaker,113)
|
||||
CREATE_SERV(TelevisionSpeaker,113) // Defines a TelevisionSpeaker that can be controlled via the Remote Control widget on an iPhone. Use <b>only</b> as a <i>Linked Service</i> for the Television Service.
|
||||
REQ(VolumeControlType);
|
||||
REQ(VolumeSelector);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(TemperatureSensor,8A)
|
||||
CREATE_SERV(TemperatureSensor,8A) // Defines a Temperature Sensor.
|
||||
REQ(CurrentTemperature);
|
||||
OPT(Name);
|
||||
OPT(StatusActive);
|
||||
|
|
@ -353,7 +355,7 @@ namespace Service {
|
|||
OPT(StatusLowBattery);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Thermostat,4A)
|
||||
CREATE_SERV(Thermostat,4A) // Defines a Thermostat used to control a furnace, air conditioner, or both.
|
||||
REQ(CurrentHeatingCoolingState);
|
||||
REQ(TargetHeatingCoolingState);
|
||||
REQ(CurrentTemperature);
|
||||
|
|
@ -366,33 +368,33 @@ namespace Service {
|
|||
OPT(TargetRelativeHumidity);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Valve,D0)
|
||||
CREATE_SERV(Valve,D0) // Defines an electronic Valve. Can be used standalone or as a <i>Linked Service</i> in conjunction with the Faucet or IrrigationSystem Services.
|
||||
REQ(Active);
|
||||
REQ(InUse);
|
||||
REQ(ValveType);
|
||||
OPT(SetDuration);
|
||||
OPT(RemainingDuration);
|
||||
OPT(IsConfigured);
|
||||
OPT(ServiceLabelIndex);
|
||||
DEP(ServiceLabelIndex);
|
||||
OPT(StatusFault);
|
||||
OPT(Name);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(Window,8B)
|
||||
CREATE_SERV(Window,8B) // Defines a motorized Window.
|
||||
REQ(CurrentPosition);
|
||||
REQ(TargetPosition);
|
||||
REQ(PositionState);
|
||||
DEP(PositionState);
|
||||
OPT(Name);
|
||||
OPT(HoldPosition);
|
||||
DEP(HoldPosition);
|
||||
OPT(ObstructionDetected);
|
||||
END_SERV
|
||||
|
||||
CREATE_SERV(WindowCovering,8C)
|
||||
CREATE_SERV(WindowCovering,8C) // Defines a motorized Window Shade, Screen, Awning, etc.
|
||||
REQ(TargetPosition);
|
||||
REQ(CurrentPosition);
|
||||
REQ(PositionState);
|
||||
DEP(PositionState);
|
||||
OPT(Name);
|
||||
OPT(HoldPosition);
|
||||
DEP(HoldPosition);
|
||||
OPT(CurrentHorizontalTiltAngle);
|
||||
OPT(TargetHorizontalTiltAngle);
|
||||
OPT(CurrentVerticalTiltAngle);
|
||||
|
|
|
|||
114
tools/test.md
114
tools/test.md
|
|
@ -1,205 +1,185 @@
|
|||
## AccessoryInformation (3E)
|
||||
<details><summary> Required Identification Information. For each Accessory in a HomeSpan device this <i>must be included as the first Service.</i></summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Identify</td><td align="center">14</td><td align="center">bool</td><td align="center">PW</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>FirmwareRevision</td><td align="center">52</td><td align="center">string</td><td align="center">PR+EV</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Manufacturer</td><td align="center">20</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Model</td><td align="center">21</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>SerialNumber</td><td align="center">30</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>HardwareRevision</td><td align="center">53</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>AccessoryFlags</td><td align="center">A6</td><td align="center">uint32</td><td align="center">PR+EV</td><td align="center">1</td><td align="center">1</td><td><ul></ul></td><td> This is not really used anywhere 1/3</td></tr></table></details>
|
||||
<tr><td><b>Identify</td><td align="center">14</td><td align="center">bool</td><td align="center">PW</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>FirmwareRevision</td><td align="center">52</td><td align="center">string</td><td align="center">PR+EV</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Manufacturer</td><td align="center">20</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Model</td><td align="center">21</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>SerialNumber</td><td align="center">30</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>HardwareRevision</td><td align="center">53</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## AirPurifier (BB)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a basic Air Purifier with an optional fan. Optional <i>Linked Services</i>: FilterMaintenance, AirQualitySensor, Fan, Slat</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td><b>CurrentAirPurifierState</td><td align="center">A9</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>INACTIVE (0)</li><li>IDLE (1)</li><li>PURIFYING (2)</li></ul></td><td></td></tr><tr><td><b>TargetAirPurifierState</td><td align="center">A8</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>MANUAL (0)</li><li>AUTO (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>RotationSpeed</td><td align="center">29</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>SwingMode</td><td align="center">B6</td><td align="center">uint8</td><td align="center">PR+EV+PW</td><td align="center">0</td><td align="center">1</td><td><ul><li>SWING_DISABLED (0)</li><li>SWING_ENABLED (1)</li></ul></td><td></td></tr><tr><td>LockPhysicalControls</td><td align="center">A7</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>CONTROL_LOCK_DISABLED (0)</li><li>CONTROL_LOCK_ENABLED (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## AirQualitySensor (8D)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines an Air Quality Sensor with a variety of Air Quality Characteristics. </summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>AirQuality</td><td align="center">95</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">5</td><td><ul><li>UNKNOWN (0)</li><li>EXCELLENT (1)</li><li>GOOD (2)</li><li>FAIR (3)</li><li>INFERIOR (4)</li><li>POOR (5)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>OzoneDensity</td><td align="center">C3</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1000</td><td><ul></ul></td><td></td></tr><tr><td>NitrogenDioxideDensity</td><td align="center">C4</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1000</td><td><ul></ul></td><td></td></tr><tr><td>SulphurDioxideDensity</td><td align="center">C5</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1000</td><td><ul></ul></td><td></td></tr><tr><td>PM25Density</td><td align="center">C6</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1000</td><td><ul></ul></td><td></td></tr><tr><td>PM10Density</td><td align="center">C7</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1000</td><td><ul></ul></td><td></td></tr><tr><td>VOCDensity</td><td align="center">C8</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1000</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## BatteryService (96)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a standalone Battery Service.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>BatteryLevel</td><td align="center">68</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>ChargingState</td><td align="center">8F</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>NOT_CHARGING (0)</li><li>CHARGING (1)</li><li>NOT_CHARGEABLE (2)</li></ul></td><td></td></tr><tr><td><b>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## CarbonDioxideSensor (97)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Carbon Dioxide Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CarbonDioxideDetected</td><td align="center">92</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NORMAL (0)</li><li>ABNORMAL (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr><tr><td>CarbonDioxideLevel</td><td align="center">93</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100000</td><td><ul></ul></td><td></td></tr><tr><td>CarbonDioxidePeakLevel</td><td align="center">94</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100000</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## CarbonMonoxideSensor (7F)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Carbon Monoxide Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CarbonMonoxideDetected</td><td align="center">69</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NORMAL (0)</li><li>ABNORMAL (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr><tr><td>CarbonMonoxideLevel</td><td align="center">90</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>CarbonMonoxidePeakLevel</td><td align="center">91</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## ContactSensor (80)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Contact Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>ContactSensorState</td><td align="center">6A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>DETECTED (0)</li><li>NOT_DETECTED (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Door (81)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a motorized Door.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CurrentPosition</td><td align="center">6D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>TargetPosition</td><td align="center">7C</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>PositionState</td><td align="center">72</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>GOING_TO_MINIMUM (0)</li><li>GOING_TO_MAXIMUM (1)</li><li>STOPPED (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>HoldPosition</td><td align="center">6F</td><td align="center">bool</td><td align="center">PW</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>ObstructionDetected</td><td align="center">24</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>CurrentPosition</td><td align="center">6D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>TargetPosition</td><td align="center">7C</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>ObstructionDetected</td><td align="center">24</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Doorbell (121)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Doorbell.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>ProgrammableSwitchEvent</td><td align="center">73</td><td align="center">uint8</td><td align="center">PR+EV+NV</td><td align="center">0</td><td align="center">2</td><td><ul><li>SINGLE_PRESS (0)</li><li>DOUBLE_PRESS (1)</li><li>LONG_PRESS (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Volume</td><td align="center">119</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>Brightness</td><td align="center">8</td><td align="center">int</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>ProgrammableSwitchEvent</td><td align="center">73</td><td align="center">uint8</td><td align="center">PR+EV+NV</td><td align="center">0</td><td align="center">2</td><td><ul><li>SINGLE_PRESS (0)</li><li>DOUBLE_PRESS (1)</li><li>LONG_PRESS (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Fan (B7)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Fan. Can be used with a LightBulb Service to define a Lighted Ceiling Fan.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>CurrentFanState</td><td align="center">AF</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>INACTIVE (0)</li><li>IDLE (1)</li><li>BLOWING (2)</li></ul></td><td></td></tr><tr><td>TargetFanState</td><td align="center">BF</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>MANUAL (0)</li><li>AUTO (1)</li></ul></td><td></td></tr><tr><td>RotationDirection</td><td align="center">28</td><td align="center">int</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>CLOCKWISE (0)</li><li>COUNTERCLOCKWISE (1)</li></ul></td><td></td></tr><tr><td>RotationSpeed</td><td align="center">29</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>SwingMode</td><td align="center">B6</td><td align="center">uint8</td><td align="center">PR+EV+PW</td><td align="center">0</td><td align="center">1</td><td><ul><li>SWING_DISABLED (0)</li><li>SWING_ENABLED (1)</li></ul></td><td></td></tr><tr><td>LockPhysicalControls</td><td align="center">A7</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>CONTROL_LOCK_DISABLED (0)</li><li>CONTROL_LOCK_ENABLED (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Faucet (D7)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines the master control for one or more faucets or shower heads. <i>Linked Services:</i> Valve (at least one <b>required</b>) and HeaterCooler (optional, <i>unless</i> only one linked Valve defined).</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## FilterMaintenance (BA)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Filter Maintainence check.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>FilterChangeIndication</td><td align="center">AC</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_CHANGE_NEEDED (0)</li><li>CHANGE_NEEDED (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>FilterLifeLevel</td><td align="center">AB</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>ResetFilterIndication</td><td align="center">AD</td><td align="center">uint8</td><td align="center">PW</td><td align="center">1</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## GarageDoorOpener (41)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a motorized Garage Door Opener.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CurrentDoorState</td><td align="center">E</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">4</td><td><ul><li>OPEN (0)</li><li>CLOSED (1)</li><li>OPENING (2)</li><li>CLOSING (3)</li><li>STOPPED (4)</li></ul></td><td></td></tr><tr><td><b>TargetDoorState</td><td align="center">32</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>OPEN (0)</li><li>CLOSED (1)</li></ul></td><td></td></tr><tr><td><b>ObstructionDetected</td><td align="center">24</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>LockCurrentState</td><td align="center">1D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>UNLOCKED (0)</li><li>LOCKED (1)</li><li>JAMMED (2)</li><li>UNKNOWN (3)</li></ul></td><td></td></tr><tr><td>LockTargetState</td><td align="center">1E</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>UNLOCK (0)</li><li>LOCK (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## HAPProtocolInformation (A2)
|
||||
<details><summary></summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Version</td><td align="center">37</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>CurrentDoorState</td><td align="center">E</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">4</td><td><ul><li>OPEN (0)</li><li>CLOSED (1)</li><li>OPENING (2)</li><li>CLOSING (3)</li><li>STOPPED (4)</li></ul></td><td></td></tr><tr><td><b>TargetDoorState</td><td align="center">32</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>OPEN (0)</li><li>CLOSED (1)</li></ul></td><td></td></tr><tr><td><b>ObstructionDetected</td><td align="center">24</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>LockCurrentState</td><td align="center">1D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>UNLOCKED (0)</li><li>LOCKED (1)</li><li>JAMMED (2)</li><li>UNKNOWN (3)</li></ul></td><td></td></tr><tr><td>LockTargetState</td><td align="center">1E</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>UNLOCK (0)</li><li>LOCK (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td><b>Version</td><td align="center">37</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## HeaterCooler (BC)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a standalone Heater, Cooler, or combined Heater/Cooler. Can be used with a separate Fan Service and/or Slat Service to extend functionality.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td><b>CurrentTemperature</td><td align="center">11</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>CurrentHeaterCoolerState</td><td align="center">B1</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>INACTIVE (0)</li><li>IDLE (1)</li><li>HEATING (2)</li><li>COOLING (3)</li></ul></td><td></td></tr><tr><td><b>TargetHeaterCoolerState</td><td align="center">B2</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>AUTO (0)</li><li>HEAT (1)</li><li>COOL (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>RotationSpeed</td><td align="center">29</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>TemperatureDisplayUnits</td><td align="center">36</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>CELSIUS (0)</li><li>FAHRENHEIT (1)</li></ul></td><td></td></tr><tr><td>SwingMode</td><td align="center">B6</td><td align="center">uint8</td><td align="center">PR+EV+PW</td><td align="center">0</td><td align="center">1</td><td><ul><li>SWING_DISABLED (0)</li><li>SWING_ENABLED (1)</li></ul></td><td></td></tr><tr><td>CoolingThresholdTemperature</td><td align="center">D</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">10</td><td align="center">35</td><td><ul></ul></td><td></td></tr><tr><td>HeatingThresholdTemperature</td><td align="center">12</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">25</td><td><ul></ul></td><td></td></tr><tr><td>LockPhysicalControls</td><td align="center">A7</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>CONTROL_LOCK_DISABLED (0)</li><li>CONTROL_LOCK_ENABLED (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## HumidifierDehumidifier (BD)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Humidifer, Dehumidifier, or combined Humidifer/Dehumidifier. Can be used with a separate Fan Service and/or Slat Service to extend functionality.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td><b>CurrentRelativeHumidity</td><td align="center">10</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>CurrentHumidifierDehumidifierState</td><td align="center">B3</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>INACTIVE (0)</li><li>IDLE (1)</li><li>HUMIDIFYING (2)</li><li>DEHUMIDIFYING (3)</li></ul></td><td></td></tr><tr><td><b>TargetHumidifierDehumidifierState</td><td align="center">B4</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>AUTO (0)</li><li>HUMIDIFY (1)</li><li>DEHUMIDIFY (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>RelativeHumidityDehumidifierThreshold</td><td align="center">C9</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>RelativeHumidityHumidifierThreshold</td><td align="center">CA</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>RotationSpeed</td><td align="center">29</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>SwingMode</td><td align="center">B6</td><td align="center">uint8</td><td align="center">PR+EV+PW</td><td align="center">0</td><td align="center">1</td><td><ul><li>SWING_DISABLED (0)</li><li>SWING_ENABLED (1)</li></ul></td><td></td></tr><tr><td>WaterLevel</td><td align="center">B5</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>LockPhysicalControls</td><td align="center">A7</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>CONTROL_LOCK_DISABLED (0)</li><li>CONTROL_LOCK_ENABLED (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## HumiditySensor (82)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Humidity Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CurrentRelativeHumidity</td><td align="center">10</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## InputSource (D9)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines an Input Source for a Television. Use <b>only</b> as a <i>Linked Service</i> for the Television Service.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td>ConfiguredName</td><td align="center">E3</td><td align="center">string</td><td align="center">PW+PR+EV</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>IsConfigured</td><td align="center">D6</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_CONFIGURED (0)</li><li>CONFIGURED (1)</li></ul></td><td></td></tr><tr><td><b>Identifier</td><td align="center">E6</td><td align="center">uint32</td><td align="center">PR</td><td align="center">0</td><td align="center">255</td><td><ul></ul></td><td></td></tr><tr><td>CurrentVisibilityState</td><td align="center">135</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>TargetVisibilityState</td><td align="center">134</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## IrrigationSystem (CF)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines an Irrigation System. <i>Linked Services:</i> Valve Service (at least one <b>required</b>).</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td><b>ProgramMode</td><td align="center">D1</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>NONE (0)</li><li>SCHEDULED (1)</li><li>SCHEDULE_OVERRIDEN (2)</li></ul></td><td></td></tr><tr><td><b>InUse</td><td align="center">D2</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_IN_USE (0)</li><li>IN_USE (1)</li></ul></td><td></td></tr><tr><td>RemainingDuration</td><td align="center">D4</td><td align="center">uint32</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3600</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## LeakSensor (83)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Leak Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>LeakDetected</td><td align="center">70</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_DETECTED (0)</li><li>DETECTED (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## LightBulb (43)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a generic Light.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>On</td><td align="center">25</td><td align="center">bool</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>Brightness</td><td align="center">8</td><td align="center">int</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>Hue</td><td align="center">13</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">360</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Saturation</td><td align="center">2F</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>ColorTemperature</td><td align="center">CE</td><td align="center">uint32</td><td align="center">PR+PW+EV</td><td align="center">140</td><td align="center">500</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## LightSensor (84)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Light Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CurrentAmbientLightLevel</td><td align="center">6B</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0.0001</td><td align="center">100000</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## LockMechanism (45)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines an electronic Lock.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>LockCurrentState</td><td align="center">1D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>UNLOCKED (0)</li><li>LOCKED (1)</li><li>JAMMED (2)</li><li>UNKNOWN (3)</li></ul></td><td></td></tr><tr><td><b>LockTargetState</td><td align="center">1E</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>UNLOCK (0)</li><li>LOCK (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Microphone (112)
|
||||
<details><summary></summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Mute</td><td align="center">11A</td><td align="center">bool</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>OFF (0)</li><li>ON (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Volume</td><td align="center">119</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>LockCurrentState</td><td align="center">1D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>UNLOCKED (0)</li><li>LOCKED (1)</li><li>JAMMED (2)</li><li>UNKNOWN (3)</li></ul></td><td></td></tr><tr><td><b>LockTargetState</td><td align="center">1E</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>UNLOCK (0)</li><li>LOCK (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td><b>Mute</td><td align="center">11A</td><td align="center">bool</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>OFF (0)</li><li>ON (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Volume</td><td align="center">119</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## MotionSensor (85)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Motion Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>MotionDetected</td><td align="center">22</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## OccupancySensor (86)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines and Occupancy Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>OccupancyDetected</td><td align="center">71</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_DETECTED (0)</li><li>DETECTED (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Outlet (47)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines an controllable Outlet used to power any light or appliance.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>On</td><td align="center">25</td><td align="center">bool</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td><b>OutletInUse</td><td align="center">26</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## SecuritySystem (7E)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Security System.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>SecuritySystemCurrentState</td><td align="center">66</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">4</td><td><ul><li>ARMED_STAY (0)</li><li>ARMED_AWAY (1)</li><li>ARMED_NIGHT (2)</li><li>DISARMED (3)</li><li>ALARM_TRIGGERED (4)</li></ul></td><td></td></tr><tr><td><b>SecuritySystemTargetState</td><td align="center">67</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>ARM_STAY (0)</li><li>ARM_AWAY (1)</li><li>ARM_NIGHT (2)</li><li>DISARM (3)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>SecuritySystemAlarmType</td><td align="center">8E</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>KNOWN (0)</li><li>UNKNOWN (1)</li></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## ServiceLabel (CC)
|
||||
<details><summary></summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>ServiceLabelNamespace</td><td align="center">CD</td><td align="center">uint8</td><td align="center">PR</td><td align="center">0</td><td align="center">1</td><td><ul><li>DOTS (0)</li><li>NUMERALS (1)</li></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>SecuritySystemCurrentState</td><td align="center">66</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">4</td><td><ul><li>ARMED_STAY (0)</li><li>ARMED_AWAY (1)</li><li>ARMED_NIGHT (2)</li><li>DISARMED (3)</li><li>ALARM_TRIGGERED (4)</li></ul></td><td></td></tr><tr><td><b>SecuritySystemTargetState</td><td align="center">67</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>ARM_STAY (0)</li><li>ARM_AWAY (1)</li><li>ARM_NIGHT (2)</li><li>DISARM (3)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>SecuritySystemAlarmType</td><td align="center">8E</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>KNOWN (0)</li><li>UNKNOWN (1)</li></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td><b>ServiceLabelNamespace</td><td align="center">CD</td><td align="center">uint8</td><td align="center">PR</td><td align="center">0</td><td align="center">1</td><td><ul><li>DOTS (0)</li><li>NUMERALS (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Slat (B9)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a motorized ventilation Slat (or group of Slats).</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CurrentSlatState</td><td align="center">AA</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>FIXED (0)</li><li>JAMMED (1)</li><li>SWINGING (2)</li></ul></td><td></td></tr><tr><td><b>SlatType</td><td align="center">C0</td><td align="center">uint8</td><td align="center">PR</td><td align="center">0</td><td align="center">1</td><td><ul><li>HORIZONTAL (0)</li><li>VERTICAL (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>SwingMode</td><td align="center">B6</td><td align="center">uint8</td><td align="center">PR+EV+PW</td><td align="center">0</td><td align="center">1</td><td><ul><li>SWING_DISABLED (0)</li><li>SWING_ENABLED (1)</li></ul></td><td></td></tr><tr><td>CurrentTiltAngle</td><td align="center">C1</td><td align="center">int</td><td align="center">PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>TargetTiltAngle</td><td align="center">C2</td><td align="center">int</td><td align="center">PW+PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## SmokeSensor (87)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Smoke Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>SmokeDetected</td><td align="center">76</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_DETECTED (0)</li><li>DETECTED (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Speaker (113)
|
||||
<details><summary></summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Mute</td><td align="center">11A</td><td align="center">bool</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>OFF (0)</li><li>ON (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Volume</td><td align="center">119</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>SmokeDetected</td><td align="center">76</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_DETECTED (0)</li><li>DETECTED (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr><tr><td><b>Mute</td><td align="center">11A</td><td align="center">bool</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>OFF (0)</li><li>ON (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>Volume</td><td align="center">119</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## StatelessProgrammableSwitch (89)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>ProgrammableSwitchEvent</td><td align="center">73</td><td align="center">uint8</td><td align="center">PR+EV+NV</td><td align="center">0</td><td align="center">2</td><td><ul><li>SINGLE_PRESS (0)</li><li>DOUBLE_PRESS (1)</li><li>LONG_PRESS (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>ServiceLabelIndex</td><td align="center">CB</td><td align="center">uint8</td><td align="center">PR</td><td align="center">1</td><td align="center">255</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>ProgrammableSwitchEvent</td><td align="center">73</td><td align="center">uint8</td><td align="center">PR+EV+NV</td><td align="center">0</td><td align="center">2</td><td><ul><li>SINGLE_PRESS (0)</li><li>DOUBLE_PRESS (1)</li><li>LONG_PRESS (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Switch (49)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a generic Switch.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>On</td><td align="center">25</td><td align="center">bool</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Television (D8)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Television. Optional <i>Linked Service</i>: InputSource, TelevisionSpeaker</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td>ConfiguredName</td><td align="center">E3</td><td align="center">string</td><td align="center">PW+PR+EV</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>ActiveIdentifier</td><td align="center">E7</td><td align="center">uint32</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">255</td><td><ul></ul></td><td></td></tr><tr><td>RemoteKey</td><td align="center">E1</td><td align="center">uint8</td><td align="center">PW</td><td align="center">0</td><td align="center">16</td><td><ul></ul></td><td></td></tr><tr><td>PowerModeSelection</td><td align="center">DF</td><td align="center">uint8</td><td align="center">PW</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## TelevisionSpeaker (113)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a TelevisionSpeaker that can be controlled via the Remote Control widget on an iPhone. Use <b>only</b> as a <i>Linked Service</i> for the Television Service.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>VolumeControlType</td><td align="center">E9</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul></ul></td><td></td></tr><tr><td><b>VolumeSelector</td><td align="center">EA</td><td align="center">uint8</td><td align="center">PW</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## TemperatureSensor (8A)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Temperature Sensor.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CurrentTemperature</td><td align="center">11</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>StatusActive</td><td align="center">75</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>StatusTampered</td><td align="center">7A</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_TAMPERED (0)</li><li>TAMPERED (1)</li></ul></td><td></td></tr><tr><td>StatusLowBattery</td><td align="center">79</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_LOW_BATTERY (0)</li><li>LOW_BATTERY (1)</li></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Thermostat (4A)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a Thermostat used to control a furnace, air conditioner, or both.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CurrentHeatingCoolingState</td><td align="center">F</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>OFF (0)</li><li>HEATING (1)</li><li>COOLING (2)</li></ul></td><td></td></tr><tr><td><b>TargetHeatingCoolingState</td><td align="center">33</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul><li>OFF (0)</li><li>HEAT (1)</li><li>COOL (2)</li><li>AUTO (3)</li></ul></td><td></td></tr><tr><td><b>CurrentTemperature</td><td align="center">11</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>TargetTemperature</td><td align="center">35</td><td align="center">float</td><td align="center">PW+PR+EV</td><td align="center">10</td><td align="center">38</td><td><ul></ul></td><td></td></tr><tr><td><b>TemperatureDisplayUnits</td><td align="center">36</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>CELSIUS (0)</li><li>FAHRENHEIT (1)</li></ul></td><td></td></tr><tr><td>CoolingThresholdTemperature</td><td align="center">D</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">10</td><td align="center">35</td><td><ul></ul></td><td></td></tr><tr><td>CurrentRelativeHumidity</td><td align="center">10</td><td align="center">float</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>HeatingThresholdTemperature</td><td align="center">12</td><td align="center">float</td><td align="center">PR+PW+EV</td><td align="center">0</td><td align="center">25</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>TargetRelativeHumidity</td><td align="center">34</td><td align="center">float</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Valve (D0)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines an electronic Valve. Can be used standalone or as a <i>Linked Service</i> in conjunction with the Faucet or IrrigationSystem Services.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td><b>InUse</td><td align="center">D2</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_IN_USE (0)</li><li>IN_USE (1)</li></ul></td><td></td></tr><tr><td><b>ValveType</td><td align="center">D5</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul></ul></td><td></td></tr><tr><td>SetDuration</td><td align="center">D3</td><td align="center">uint32</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">3600</td><td><ul></ul></td><td></td></tr><tr><td>RemainingDuration</td><td align="center">D4</td><td align="center">uint32</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3600</td><td><ul></ul></td><td></td></tr><tr><td>IsConfigured</td><td align="center">D6</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_CONFIGURED (0)</li><li>CONFIGURED (1)</li></ul></td><td></td></tr><tr><td>ServiceLabelIndex</td><td align="center">CB</td><td align="center">uint8</td><td align="center">PR</td><td align="center">1</td><td align="center">255</td><td><ul></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>Active</td><td align="center">B0</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>INACTIVE (0)</li><li>ACTIVE (1)</li></ul></td><td></td></tr><tr><td><b>InUse</td><td align="center">D2</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_IN_USE (0)</li><li>IN_USE (1)</li></ul></td><td></td></tr><tr><td><b>ValveType</td><td align="center">D5</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3</td><td><ul></ul></td><td></td></tr><tr><td>SetDuration</td><td align="center">D3</td><td align="center">uint32</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">3600</td><td><ul></ul></td><td></td></tr><tr><td>RemainingDuration</td><td align="center">D4</td><td align="center">uint32</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">3600</td><td><ul></ul></td><td></td></tr><tr><td>IsConfigured</td><td align="center">D6</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NOT_CONFIGURED (0)</li><li>CONFIGURED (1)</li></ul></td><td></td></tr><tr><td>StatusFault</td><td align="center">77</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul><li>NO_FAULT (0)</li><li>FAULT (1)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## Window (8B)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a motorized Window.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>CurrentPosition</td><td align="center">6D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>TargetPosition</td><td align="center">7C</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>PositionState</td><td align="center">72</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>GOING_TO_MINIMUM (0)</li><li>GOING_TO_MAXIMUM (1)</li><li>STOPPED (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>HoldPosition</td><td align="center">6F</td><td align="center">bool</td><td align="center">PW</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>ObstructionDetected</td><td align="center">24</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>CurrentPosition</td><td align="center">6D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>TargetPosition</td><td align="center">7C</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>ObstructionDetected</td><td align="center">24</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
## WindowCovering (8C)
|
||||
<details><summary></summary><br><table>
|
||||
<details><summary> Defines a motorized Window Shade, Screen, Awning, etc.</summary><br><table>
|
||||
<tr><th>Characteristic</th><th>UUID</th><th>Format</th><th>Perms</th><th>Min</th><th>Max</th><th>Constants</th><th>Notes</th></tr>
|
||||
<tr><td><b>TargetPosition</td><td align="center">7C</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>CurrentPosition</td><td align="center">6D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>PositionState</td><td align="center">72</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">2</td><td><ul><li>GOING_TO_MINIMUM (0)</li><li>GOING_TO_MAXIMUM (1)</li><li>STOPPED (2)</li></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>HoldPosition</td><td align="center">6F</td><td align="center">bool</td><td align="center">PW</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr><tr><td>CurrentHorizontalTiltAngle</td><td align="center">6C</td><td align="center">int</td><td align="center">PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>TargetHorizontalTiltAngle</td><td align="center">7B</td><td align="center">int</td><td align="center">PW+PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>CurrentVerticalTiltAngle</td><td align="center">6E</td><td align="center">int</td><td align="center">PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>TargetVerticalTiltAngle</td><td align="center">7D</td><td align="center">int</td><td align="center">PW+PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>ObstructionDetected</td><td align="center">24</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
<tr><td><b>TargetPosition</td><td align="center">7C</td><td align="center">uint8</td><td align="center">PW+PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td><b>CurrentPosition</td><td align="center">6D</td><td align="center">uint8</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">100</td><td><ul></ul></td><td></td></tr><tr><td>Name</td><td align="center">23</td><td align="center">string</td><td align="center">PR</td><td align="center">-</td><td align="center">-</td><td><ul></ul></td><td></td></tr><tr><td>CurrentHorizontalTiltAngle</td><td align="center">6C</td><td align="center">int</td><td align="center">PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>TargetHorizontalTiltAngle</td><td align="center">7B</td><td align="center">int</td><td align="center">PW+PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>CurrentVerticalTiltAngle</td><td align="center">6E</td><td align="center">int</td><td align="center">PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>TargetVerticalTiltAngle</td><td align="center">7D</td><td align="center">int</td><td align="center">PW+PR+EV</td><td align="center">-90</td><td align="center">90</td><td><ul></ul></td><td></td></tr><tr><td>ObstructionDetected</td><td align="center">24</td><td align="center">bool</td><td align="center">PR+EV</td><td align="center">0</td><td align="center">1</td><td><ul></ul></td><td></td></tr></table></details>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue