diff --git a/examples/13-TargetStates/DEV_DoorsWindows.h b/examples/13-TargetStates/DEV_DoorsWindows.h index 02999c4..e3aa128 100644 --- a/examples/13-TargetStates/DEV_DoorsWindows.h +++ b/examples/13-TargetStates/DEV_DoorsWindows.h @@ -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 diff --git a/src/Span.h b/src/Span.h index a39141f..427f417 100644 --- a/src/Span.h +++ b/src/Span.h @@ -33,14 +33,16 @@ // 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 { - CREATE_SERV(AccessoryInformation,3E) // Required Identification Information. For each Accessory in a HomeSpan device this must be included as the first Service. + CREATE_SERV(AccessoryInformation,3E) // Required Identification Information. For each Accessory in a HomeSpan device this must be included as the first Service. REQ(Identify); OPT(FirmwareRevision); OPT(Manufacturer); @@ -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 Linked Services: 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. Linked Services: Valve (at least one required) and HeaterCooler (optional, unless 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 only as a Linked Service 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. Linked Services: Valve Service (at least one required). 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 Linked Service: 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 only as a Linked Service 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 Linked Service 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); diff --git a/tools/test.md b/tools/test.md index 24c49ae..b17af9f 100644 --- a/tools/test.md +++ b/tools/test.md @@ -1,205 +1,185 @@ ## AccessoryInformation (3E)
Required Identification Information. For each Accessory in a HomeSpan device this must be included as the first Service.
-
CharacteristicUUIDFormatPermsMinMaxConstantsNotes
Identify14boolPW01
    FirmwareRevision52stringPR+EV--
      Manufacturer20stringPR--
        Model21stringPR--
          Name23stringPR--
            SerialNumber30stringPR--
              HardwareRevision53stringPR--
                AccessoryFlagsA6uint32PR+EV11
                  This is not really used anywhere 1/3
                  +Identify14boolPW01FirmwareRevision52stringPR+EV--Manufacturer20stringPR--Model21stringPR--Name23stringPR--SerialNumber30stringPR--HardwareRevision53stringPR-- ## AirPurifier (BB) -

                  +
                  Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, Slat
                  CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                  ActiveB0uint8PW+PR+EV01
                  • INACTIVE (0)
                  • ACTIVE (1)
                  CurrentAirPurifierStateA9uint8PR+EV02
                  • INACTIVE (0)
                  • IDLE (1)
                  • PURIFYING (2)
                  TargetAirPurifierStateA8uint8PW+PR+EV01
                  • MANUAL (0)
                  • AUTO (1)
                  Name23stringPR--
                    RotationSpeed29floatPR+PW+EV0100
                      SwingModeB6uint8PR+EV+PW01
                      • SWING_DISABLED (0)
                      • SWING_ENABLED (1)
                      LockPhysicalControlsA7uint8PW+PR+EV01
                      • CONTROL_LOCK_DISABLED (0)
                      • CONTROL_LOCK_ENABLED (1)
                      ## AirQualitySensor (8D) -

                      +
                      Defines an Air Quality Sensor with a variety of Air Quality Characteristics.
                      CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                      AirQuality95uint8PR+EV05
                      • UNKNOWN (0)
                      • EXCELLENT (1)
                      • GOOD (2)
                      • FAIR (3)
                      • INFERIOR (4)
                      • POOR (5)
                      Name23stringPR--
                        OzoneDensityC3floatPR+EV01000
                          NitrogenDioxideDensityC4floatPR+EV01000
                            SulphurDioxideDensityC5floatPR+EV01000
                              PM25DensityC6floatPR+EV01000
                                PM10DensityC7floatPR+EV01000
                                  VOCDensityC8floatPR+EV01000
                                    StatusActive75boolPR+EV01
                                      StatusFault77uint8PR+EV01
                                      • NO_FAULT (0)
                                      • FAULT (1)
                                      StatusTampered7Auint8PR+EV01
                                      • NOT_TAMPERED (0)
                                      • TAMPERED (1)
                                      StatusLowBattery79uint8PR+EV01
                                      • NOT_LOW_BATTERY (0)
                                      • LOW_BATTERY (1)
                                      ## BatteryService (96) -

                                      +
                                      Defines a standalone Battery Service.
                                      CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                      BatteryLevel68uint8PR+EV0100
                                        ChargingState8Fuint8PR+EV02
                                        • NOT_CHARGING (0)
                                        • CHARGING (1)
                                        • NOT_CHARGEABLE (2)
                                        StatusLowBattery79uint8PR+EV01
                                        • NOT_LOW_BATTERY (0)
                                        • LOW_BATTERY (1)
                                        Name23stringPR--
                                          ## CarbonDioxideSensor (97) -

                                          +
                                          Defines a Carbon Dioxide Sensor.
                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                          CarbonDioxideDetected92uint8PR+EV01
                                          • NORMAL (0)
                                          • ABNORMAL (1)
                                          Name23stringPR--
                                            StatusActive75boolPR+EV01
                                              StatusFault77uint8PR+EV01
                                              • NO_FAULT (0)
                                              • FAULT (1)
                                              StatusTampered7Auint8PR+EV01
                                              • NOT_TAMPERED (0)
                                              • TAMPERED (1)
                                              StatusLowBattery79uint8PR+EV01
                                              • NOT_LOW_BATTERY (0)
                                              • LOW_BATTERY (1)
                                              CarbonDioxideLevel93floatPR+EV0100000
                                                CarbonDioxidePeakLevel94floatPR+EV0100000
                                                  ## CarbonMonoxideSensor (7F) -

                                                  +
                                                  Defines a Carbon Monoxide Sensor.
                                                  CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                  CarbonMonoxideDetected69uint8PR+EV01
                                                  • NORMAL (0)
                                                  • ABNORMAL (1)
                                                  Name23stringPR--
                                                    StatusActive75boolPR+EV01
                                                      StatusFault77uint8PR+EV01
                                                      • NO_FAULT (0)
                                                      • FAULT (1)
                                                      StatusTampered7Auint8PR+EV01
                                                      • NOT_TAMPERED (0)
                                                      • TAMPERED (1)
                                                      StatusLowBattery79uint8PR+EV01
                                                      • NOT_LOW_BATTERY (0)
                                                      • LOW_BATTERY (1)
                                                      CarbonMonoxideLevel90floatPR+EV0100
                                                        CarbonMonoxidePeakLevel91floatPR+EV0100
                                                          ## ContactSensor (80) -

                                                          +
                                                          Defines a Contact Sensor.
                                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                          ContactSensorState6Auint8PR+EV01
                                                          • DETECTED (0)
                                                          • NOT_DETECTED (1)
                                                          Name23stringPR--
                                                            StatusActive75boolPR+EV01
                                                              StatusFault77uint8PR+EV01
                                                              • NO_FAULT (0)
                                                              • FAULT (1)
                                                              StatusTampered7Auint8PR+EV01
                                                              • NOT_TAMPERED (0)
                                                              • TAMPERED (1)
                                                              StatusLowBattery79uint8PR+EV01
                                                              • NOT_LOW_BATTERY (0)
                                                              • LOW_BATTERY (1)
                                                              ## Door (81) -

                                                              +
                                                              Defines a motorized Door.
                                                              -
                                                              CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                              CurrentPosition6Duint8PR+EV0100
                                                                TargetPosition7Cuint8PW+PR+EV0100
                                                                  PositionState72uint8PR+EV02
                                                                  • GOING_TO_MINIMUM (0)
                                                                  • GOING_TO_MAXIMUM (1)
                                                                  • STOPPED (2)
                                                                  Name23stringPR--
                                                                    HoldPosition6FboolPW01
                                                                      ObstructionDetected24boolPR+EV01
                                                                        +CurrentPosition6Duint8PR+EV0100TargetPosition7Cuint8PW+PR+EV0100
                                                                          Name23stringPR--
                                                                            ObstructionDetected24boolPR+EV01
                                                                              ## Doorbell (121) -

                                                                              +
                                                                              Defines a Doorbell.
                                                                              -
                                                                              CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                              ProgrammableSwitchEvent73uint8PR+EV+NV02
                                                                              • SINGLE_PRESS (0)
                                                                              • DOUBLE_PRESS (1)
                                                                              • LONG_PRESS (2)
                                                                              Name23stringPR--
                                                                                Volume119uint8PW+PR+EV0100
                                                                                  Brightness8intPR+PW+EV0100
                                                                                    +ProgrammableSwitchEvent73uint8PR+EV+NV02
                                                                                    • SINGLE_PRESS (0)
                                                                                    • DOUBLE_PRESS (1)
                                                                                    • LONG_PRESS (2)
                                                                                    Name23stringPR--
                                                                                      ## Fan (B7) -

                                                                                      +
                                                                                      Defines a Fan. Can be used with a LightBulb Service to define a Lighted Ceiling Fan.
                                                                                      CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                      ActiveB0uint8PW+PR+EV01
                                                                                      • INACTIVE (0)
                                                                                      • ACTIVE (1)
                                                                                      Name23stringPR--
                                                                                        CurrentFanStateAFuint8PR+EV02
                                                                                        • INACTIVE (0)
                                                                                        • IDLE (1)
                                                                                        • BLOWING (2)
                                                                                        TargetFanStateBFuint8PW+PR+EV01
                                                                                        • MANUAL (0)
                                                                                        • AUTO (1)
                                                                                        RotationDirection28intPR+PW+EV01
                                                                                        • CLOCKWISE (0)
                                                                                        • COUNTERCLOCKWISE (1)
                                                                                        RotationSpeed29floatPR+PW+EV0100
                                                                                          SwingModeB6uint8PR+EV+PW01
                                                                                          • SWING_DISABLED (0)
                                                                                          • SWING_ENABLED (1)
                                                                                          LockPhysicalControlsA7uint8PW+PR+EV01
                                                                                          • CONTROL_LOCK_DISABLED (0)
                                                                                          • CONTROL_LOCK_ENABLED (1)
                                                                                          ## Faucet (D7) -

                                                                                          +
                                                                                          Defines the master control for one or more faucets or shower heads. Linked Services: Valve (at least one required) and HeaterCooler (optional, unless only one linked Valve defined).
                                                                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                          ActiveB0uint8PW+PR+EV01
                                                                                          • INACTIVE (0)
                                                                                          • ACTIVE (1)
                                                                                          StatusFault77uint8PR+EV01
                                                                                          • NO_FAULT (0)
                                                                                          • FAULT (1)
                                                                                          Name23stringPR--
                                                                                            ## FilterMaintenance (BA) -

                                                                                            +
                                                                                            Defines a Filter Maintainence check.
                                                                                            CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                            FilterChangeIndicationACuint8PR+EV01
                                                                                            • NO_CHANGE_NEEDED (0)
                                                                                            • CHANGE_NEEDED (1)
                                                                                            Name23stringPR--
                                                                                              FilterLifeLevelABfloatPR+EV0100
                                                                                                ResetFilterIndicationADuint8PW11
                                                                                                  ## GarageDoorOpener (41) -

                                                                                                  +
                                                                                                  Defines a motorized Garage Door Opener.
                                                                                                  -
                                                                                                  CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                  CurrentDoorStateEuint8PR+EV04
                                                                                                  • OPEN (0)
                                                                                                  • CLOSED (1)
                                                                                                  • OPENING (2)
                                                                                                  • CLOSING (3)
                                                                                                  • STOPPED (4)
                                                                                                  TargetDoorState32uint8PW+PR+EV01
                                                                                                  • OPEN (0)
                                                                                                  • CLOSED (1)
                                                                                                  ObstructionDetected24boolPR+EV01
                                                                                                    LockCurrentState1Duint8PR+EV03
                                                                                                    • UNLOCKED (0)
                                                                                                    • LOCKED (1)
                                                                                                    • JAMMED (2)
                                                                                                    • UNKNOWN (3)
                                                                                                    LockTargetState1Euint8PW+PR+EV01
                                                                                                    • UNLOCK (0)
                                                                                                    • LOCK (1)
                                                                                                    Name23stringPR--
                                                                                                      - -## HAPProtocolInformation (A2) -

                                                                                                      - -
                                                                                                      CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                      Version37stringPR--
                                                                                                        +CurrentDoorStateEuint8PR+EV04
                                                                                                        • OPEN (0)
                                                                                                        • CLOSED (1)
                                                                                                        • OPENING (2)
                                                                                                        • CLOSING (3)
                                                                                                        • STOPPED (4)
                                                                                                        TargetDoorState32uint8PW+PR+EV01
                                                                                                        • OPEN (0)
                                                                                                        • CLOSED (1)
                                                                                                        ObstructionDetected24boolPR+EV01
                                                                                                          LockCurrentState1Duint8PR+EV03
                                                                                                          • UNLOCKED (0)
                                                                                                          • LOCKED (1)
                                                                                                          • JAMMED (2)
                                                                                                          • UNKNOWN (3)
                                                                                                          LockTargetState1Euint8PW+PR+EV01
                                                                                                          • UNLOCK (0)
                                                                                                          • LOCK (1)
                                                                                                          Name23stringPR--
                                                                                                            Version37stringPR--
                                                                                                              ## 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.
                                                                                                              CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                              ActiveB0uint8PW+PR+EV01
                                                                                                              • INACTIVE (0)
                                                                                                              • ACTIVE (1)
                                                                                                              CurrentTemperature11floatPR+EV0100
                                                                                                                CurrentHeaterCoolerStateB1uint8PR+EV03
                                                                                                                • INACTIVE (0)
                                                                                                                • IDLE (1)
                                                                                                                • HEATING (2)
                                                                                                                • COOLING (3)
                                                                                                                TargetHeaterCoolerStateB2uint8PW+PR+EV02
                                                                                                                • AUTO (0)
                                                                                                                • HEAT (1)
                                                                                                                • COOL (2)
                                                                                                                Name23stringPR--
                                                                                                                  RotationSpeed29floatPR+PW+EV0100
                                                                                                                    TemperatureDisplayUnits36uint8PW+PR+EV01
                                                                                                                    • CELSIUS (0)
                                                                                                                    • FAHRENHEIT (1)
                                                                                                                    SwingModeB6uint8PR+EV+PW01
                                                                                                                    • SWING_DISABLED (0)
                                                                                                                    • SWING_ENABLED (1)
                                                                                                                    CoolingThresholdTemperatureDfloatPR+PW+EV1035
                                                                                                                      HeatingThresholdTemperature12floatPR+PW+EV025
                                                                                                                        LockPhysicalControlsA7uint8PW+PR+EV01
                                                                                                                        • CONTROL_LOCK_DISABLED (0)
                                                                                                                        • CONTROL_LOCK_ENABLED (1)
                                                                                                                        ## HumidifierDehumidifier (BD) -

                                                                                                                        +
                                                                                                                        Defines a Humidifer, Dehumidifier, or combined Humidifer/Dehumidifier. Can be used with a separate Fan Service and/or Slat Service to extend functionality.
                                                                                                                        CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                        ActiveB0uint8PW+PR+EV01
                                                                                                                        • INACTIVE (0)
                                                                                                                        • ACTIVE (1)
                                                                                                                        CurrentRelativeHumidity10floatPR+EV0100
                                                                                                                          CurrentHumidifierDehumidifierStateB3uint8PR+EV03
                                                                                                                          • INACTIVE (0)
                                                                                                                          • IDLE (1)
                                                                                                                          • HUMIDIFYING (2)
                                                                                                                          • DEHUMIDIFYING (3)
                                                                                                                          TargetHumidifierDehumidifierStateB4uint8PW+PR+EV02
                                                                                                                          • AUTO (0)
                                                                                                                          • HUMIDIFY (1)
                                                                                                                          • DEHUMIDIFY (2)
                                                                                                                          Name23stringPR--
                                                                                                                            RelativeHumidityDehumidifierThresholdC9floatPR+PW+EV0100
                                                                                                                              RelativeHumidityHumidifierThresholdCAfloatPR+PW+EV0100
                                                                                                                                RotationSpeed29floatPR+PW+EV0100
                                                                                                                                  SwingModeB6uint8PR+EV+PW01
                                                                                                                                  • SWING_DISABLED (0)
                                                                                                                                  • SWING_ENABLED (1)
                                                                                                                                  WaterLevelB5floatPR+EV0100
                                                                                                                                    LockPhysicalControlsA7uint8PW+PR+EV01
                                                                                                                                    • CONTROL_LOCK_DISABLED (0)
                                                                                                                                    • CONTROL_LOCK_ENABLED (1)
                                                                                                                                    ## HumiditySensor (82) -

                                                                                                                                    +
                                                                                                                                    Defines a Humidity Sensor.
                                                                                                                                    CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                    CurrentRelativeHumidity10floatPR+EV0100
                                                                                                                                      Name23stringPR--
                                                                                                                                        StatusActive75boolPR+EV01
                                                                                                                                          StatusFault77uint8PR+EV01
                                                                                                                                          • NO_FAULT (0)
                                                                                                                                          • FAULT (1)
                                                                                                                                          StatusTampered7Auint8PR+EV01
                                                                                                                                          • NOT_TAMPERED (0)
                                                                                                                                          • TAMPERED (1)
                                                                                                                                          StatusLowBattery79uint8PR+EV01
                                                                                                                                          • NOT_LOW_BATTERY (0)
                                                                                                                                          • LOW_BATTERY (1)
                                                                                                                                          ## InputSource (D9) -

                                                                                                                                          +
                                                                                                                                          Defines an Input Source for a Television. Use only as a Linked Service for the Television Service.
                                                                                                                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                          ConfiguredNameE3stringPW+PR+EV--
                                                                                                                                            IsConfiguredD6uint8PR+EV01
                                                                                                                                            • NOT_CONFIGURED (0)
                                                                                                                                            • CONFIGURED (1)
                                                                                                                                            IdentifierE6uint32PR0255
                                                                                                                                              CurrentVisibilityState135uint8PR+EV01
                                                                                                                                                TargetVisibilityState134uint8PW+PR+EV01
                                                                                                                                                  ## IrrigationSystem (CF) -

                                                                                                                                                  +
                                                                                                                                                  Defines an Irrigation System. Linked Services: Valve Service (at least one required).
                                                                                                                                                  CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                  ActiveB0uint8PW+PR+EV01
                                                                                                                                                  • INACTIVE (0)
                                                                                                                                                  • ACTIVE (1)
                                                                                                                                                  ProgramModeD1uint8PR+EV02
                                                                                                                                                  • NONE (0)
                                                                                                                                                  • SCHEDULED (1)
                                                                                                                                                  • SCHEDULE_OVERRIDEN (2)
                                                                                                                                                  InUseD2uint8PR+EV01
                                                                                                                                                  • NOT_IN_USE (0)
                                                                                                                                                  • IN_USE (1)
                                                                                                                                                  RemainingDurationD4uint32PR+EV03600
                                                                                                                                                    StatusFault77uint8PR+EV01
                                                                                                                                                    • NO_FAULT (0)
                                                                                                                                                    • FAULT (1)
                                                                                                                                                    ## LeakSensor (83) -

                                                                                                                                                    +
                                                                                                                                                    Defines a Leak Sensor.
                                                                                                                                                    CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                    LeakDetected70uint8PR+EV01
                                                                                                                                                    • NOT_DETECTED (0)
                                                                                                                                                    • DETECTED (1)
                                                                                                                                                    Name23stringPR--
                                                                                                                                                      StatusActive75boolPR+EV01
                                                                                                                                                        StatusFault77uint8PR+EV01
                                                                                                                                                        • NO_FAULT (0)
                                                                                                                                                        • FAULT (1)
                                                                                                                                                        StatusTampered7Auint8PR+EV01
                                                                                                                                                        • NOT_TAMPERED (0)
                                                                                                                                                        • TAMPERED (1)
                                                                                                                                                        StatusLowBattery79uint8PR+EV01
                                                                                                                                                        • NOT_LOW_BATTERY (0)
                                                                                                                                                        • LOW_BATTERY (1)
                                                                                                                                                        ## LightBulb (43) -

                                                                                                                                                        +
                                                                                                                                                        Defines a generic Light.
                                                                                                                                                        CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                        On25boolPR+PW+EV01
                                                                                                                                                          Brightness8intPR+PW+EV0100
                                                                                                                                                            Hue13floatPR+PW+EV0360
                                                                                                                                                              Name23stringPR--
                                                                                                                                                                Saturation2FfloatPR+PW+EV0100
                                                                                                                                                                  ColorTemperatureCEuint32PR+PW+EV140500
                                                                                                                                                                    ## LightSensor (84) -

                                                                                                                                                                    +
                                                                                                                                                                    Defines a Light Sensor.
                                                                                                                                                                    CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                    CurrentAmbientLightLevel6BfloatPR+EV0.0001100000
                                                                                                                                                                      Name23stringPR--
                                                                                                                                                                        StatusActive75boolPR+EV01
                                                                                                                                                                          StatusFault77uint8PR+EV01
                                                                                                                                                                          • NO_FAULT (0)
                                                                                                                                                                          • FAULT (1)
                                                                                                                                                                          StatusTampered7Auint8PR+EV01
                                                                                                                                                                          • NOT_TAMPERED (0)
                                                                                                                                                                          • TAMPERED (1)
                                                                                                                                                                          StatusLowBattery79uint8PR+EV01
                                                                                                                                                                          • NOT_LOW_BATTERY (0)
                                                                                                                                                                          • LOW_BATTERY (1)
                                                                                                                                                                          ## LockMechanism (45) -

                                                                                                                                                                          +
                                                                                                                                                                          Defines an electronic Lock.
                                                                                                                                                                          -
                                                                                                                                                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                          LockCurrentState1Duint8PR+EV03
                                                                                                                                                                          • UNLOCKED (0)
                                                                                                                                                                          • LOCKED (1)
                                                                                                                                                                          • JAMMED (2)
                                                                                                                                                                          • UNKNOWN (3)
                                                                                                                                                                          LockTargetState1Euint8PW+PR+EV01
                                                                                                                                                                          • UNLOCK (0)
                                                                                                                                                                          • LOCK (1)
                                                                                                                                                                          Name23stringPR--
                                                                                                                                                                            - -## Microphone (112) -

                                                                                                                                                                            - -
                                                                                                                                                                            CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                            Mute11AboolPW+PR+EV01
                                                                                                                                                                            • OFF (0)
                                                                                                                                                                            • ON (1)
                                                                                                                                                                            Name23stringPR--
                                                                                                                                                                              Volume119uint8PW+PR+EV0100
                                                                                                                                                                                +LockCurrentState1Duint8PR+EV03
                                                                                                                                                                                • UNLOCKED (0)
                                                                                                                                                                                • LOCKED (1)
                                                                                                                                                                                • JAMMED (2)
                                                                                                                                                                                • UNKNOWN (3)
                                                                                                                                                                                LockTargetState1Euint8PW+PR+EV01
                                                                                                                                                                                • UNLOCK (0)
                                                                                                                                                                                • LOCK (1)
                                                                                                                                                                                Name23stringPR--
                                                                                                                                                                                  Mute11AboolPW+PR+EV01
                                                                                                                                                                                  • OFF (0)
                                                                                                                                                                                  • ON (1)
                                                                                                                                                                                  Name23stringPR--
                                                                                                                                                                                    Volume119uint8PW+PR+EV0100
                                                                                                                                                                                      ## MotionSensor (85) -

                                                                                                                                                                                      +
                                                                                                                                                                                      Defines a Motion Sensor.
                                                                                                                                                                                      CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                      MotionDetected22boolPR+EV01
                                                                                                                                                                                        Name23stringPR--
                                                                                                                                                                                          StatusActive75boolPR+EV01
                                                                                                                                                                                            StatusFault77uint8PR+EV01
                                                                                                                                                                                            • NO_FAULT (0)
                                                                                                                                                                                            • FAULT (1)
                                                                                                                                                                                            StatusTampered7Auint8PR+EV01
                                                                                                                                                                                            • NOT_TAMPERED (0)
                                                                                                                                                                                            • TAMPERED (1)
                                                                                                                                                                                            StatusLowBattery79uint8PR+EV01
                                                                                                                                                                                            • NOT_LOW_BATTERY (0)
                                                                                                                                                                                            • LOW_BATTERY (1)
                                                                                                                                                                                            ## OccupancySensor (86) -

                                                                                                                                                                                            +
                                                                                                                                                                                            Defines and Occupancy Sensor.
                                                                                                                                                                                            CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                            OccupancyDetected71uint8PR+EV01
                                                                                                                                                                                            • NOT_DETECTED (0)
                                                                                                                                                                                            • DETECTED (1)
                                                                                                                                                                                            Name23stringPR--
                                                                                                                                                                                              StatusActive75boolPR+EV01
                                                                                                                                                                                                StatusFault77uint8PR+EV01
                                                                                                                                                                                                • NO_FAULT (0)
                                                                                                                                                                                                • FAULT (1)
                                                                                                                                                                                                StatusTampered7Auint8PR+EV01
                                                                                                                                                                                                • NOT_TAMPERED (0)
                                                                                                                                                                                                • TAMPERED (1)
                                                                                                                                                                                                StatusLowBattery79uint8PR+EV01
                                                                                                                                                                                                • NOT_LOW_BATTERY (0)
                                                                                                                                                                                                • LOW_BATTERY (1)
                                                                                                                                                                                                ## Outlet (47) -

                                                                                                                                                                                                +
                                                                                                                                                                                                Defines an controllable Outlet used to power any light or appliance.
                                                                                                                                                                                                CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                On25boolPR+PW+EV01
                                                                                                                                                                                                  OutletInUse26boolPR+EV01
                                                                                                                                                                                                    Name23stringPR--
                                                                                                                                                                                                      ## SecuritySystem (7E) -

                                                                                                                                                                                                      +
                                                                                                                                                                                                      Defines a Security System.
                                                                                                                                                                                                      -
                                                                                                                                                                                                      CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                      SecuritySystemCurrentState66uint8PR+EV04
                                                                                                                                                                                                      • ARMED_STAY (0)
                                                                                                                                                                                                      • ARMED_AWAY (1)
                                                                                                                                                                                                      • ARMED_NIGHT (2)
                                                                                                                                                                                                      • DISARMED (3)
                                                                                                                                                                                                      • ALARM_TRIGGERED (4)
                                                                                                                                                                                                      SecuritySystemTargetState67uint8PW+PR+EV03
                                                                                                                                                                                                      • ARM_STAY (0)
                                                                                                                                                                                                      • ARM_AWAY (1)
                                                                                                                                                                                                      • ARM_NIGHT (2)
                                                                                                                                                                                                      • DISARM (3)
                                                                                                                                                                                                      Name23stringPR--
                                                                                                                                                                                                        SecuritySystemAlarmType8Euint8PR+EV01
                                                                                                                                                                                                        • KNOWN (0)
                                                                                                                                                                                                        • UNKNOWN (1)
                                                                                                                                                                                                        StatusFault77uint8PR+EV01
                                                                                                                                                                                                        • NO_FAULT (0)
                                                                                                                                                                                                        • FAULT (1)
                                                                                                                                                                                                        StatusTampered7Auint8PR+EV01
                                                                                                                                                                                                        • NOT_TAMPERED (0)
                                                                                                                                                                                                        • TAMPERED (1)
                                                                                                                                                                                                        - -## ServiceLabel (CC) -

                                                                                                                                                                                                        - -
                                                                                                                                                                                                        CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                        ServiceLabelNamespaceCDuint8PR01
                                                                                                                                                                                                        • DOTS (0)
                                                                                                                                                                                                        • NUMERALS (1)
                                                                                                                                                                                                        +SecuritySystemCurrentState66uint8PR+EV04
                                                                                                                                                                                                        • ARMED_STAY (0)
                                                                                                                                                                                                        • ARMED_AWAY (1)
                                                                                                                                                                                                        • ARMED_NIGHT (2)
                                                                                                                                                                                                        • DISARMED (3)
                                                                                                                                                                                                        • ALARM_TRIGGERED (4)
                                                                                                                                                                                                        SecuritySystemTargetState67uint8PW+PR+EV03
                                                                                                                                                                                                        • ARM_STAY (0)
                                                                                                                                                                                                        • ARM_AWAY (1)
                                                                                                                                                                                                        • ARM_NIGHT (2)
                                                                                                                                                                                                        • DISARM (3)
                                                                                                                                                                                                        Name23stringPR--
                                                                                                                                                                                                          SecuritySystemAlarmType8Euint8PR+EV01
                                                                                                                                                                                                          • KNOWN (0)
                                                                                                                                                                                                          • UNKNOWN (1)
                                                                                                                                                                                                          StatusFault77uint8PR+EV01
                                                                                                                                                                                                          • NO_FAULT (0)
                                                                                                                                                                                                          • FAULT (1)
                                                                                                                                                                                                          StatusTampered7Auint8PR+EV01
                                                                                                                                                                                                          • NOT_TAMPERED (0)
                                                                                                                                                                                                          • TAMPERED (1)
                                                                                                                                                                                                          ServiceLabelNamespaceCDuint8PR01
                                                                                                                                                                                                          • DOTS (0)
                                                                                                                                                                                                          • NUMERALS (1)
                                                                                                                                                                                                          ## Slat (B9) -

                                                                                                                                                                                                          +
                                                                                                                                                                                                          Defines a motorized ventilation Slat (or group of Slats).
                                                                                                                                                                                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                          CurrentSlatStateAAuint8PR+EV02
                                                                                                                                                                                                          • FIXED (0)
                                                                                                                                                                                                          • JAMMED (1)
                                                                                                                                                                                                          • SWINGING (2)
                                                                                                                                                                                                          SlatTypeC0uint8PR01
                                                                                                                                                                                                          • HORIZONTAL (0)
                                                                                                                                                                                                          • VERTICAL (1)
                                                                                                                                                                                                          Name23stringPR--
                                                                                                                                                                                                            SwingModeB6uint8PR+EV+PW01
                                                                                                                                                                                                            • SWING_DISABLED (0)
                                                                                                                                                                                                            • SWING_ENABLED (1)
                                                                                                                                                                                                            CurrentTiltAngleC1intPR+EV-9090
                                                                                                                                                                                                              TargetTiltAngleC2intPW+PR+EV-9090
                                                                                                                                                                                                                ## SmokeSensor (87) -

                                                                                                                                                                                                                +
                                                                                                                                                                                                                Defines a Smoke Sensor.
                                                                                                                                                                                                                -
                                                                                                                                                                                                                CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                SmokeDetected76uint8PR+EV01
                                                                                                                                                                                                                • NOT_DETECTED (0)
                                                                                                                                                                                                                • DETECTED (1)
                                                                                                                                                                                                                Name23stringPR--
                                                                                                                                                                                                                  StatusActive75boolPR+EV01
                                                                                                                                                                                                                    StatusFault77uint8PR+EV01
                                                                                                                                                                                                                    • NO_FAULT (0)
                                                                                                                                                                                                                    • FAULT (1)
                                                                                                                                                                                                                    StatusTampered7Auint8PR+EV01
                                                                                                                                                                                                                    • NOT_TAMPERED (0)
                                                                                                                                                                                                                    • TAMPERED (1)
                                                                                                                                                                                                                    StatusLowBattery79uint8PR+EV01
                                                                                                                                                                                                                    • NOT_LOW_BATTERY (0)
                                                                                                                                                                                                                    • LOW_BATTERY (1)
                                                                                                                                                                                                                    - -## Speaker (113) -

                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                    Mute11AboolPW+PR+EV01
                                                                                                                                                                                                                    • OFF (0)
                                                                                                                                                                                                                    • ON (1)
                                                                                                                                                                                                                    Name23stringPR--
                                                                                                                                                                                                                      Volume119uint8PW+PR+EV0100
                                                                                                                                                                                                                        +SmokeDetected76uint8PR+EV01
                                                                                                                                                                                                                        • NOT_DETECTED (0)
                                                                                                                                                                                                                        • DETECTED (1)
                                                                                                                                                                                                                        Name23stringPR--
                                                                                                                                                                                                                          StatusActive75boolPR+EV01
                                                                                                                                                                                                                            StatusFault77uint8PR+EV01
                                                                                                                                                                                                                            • NO_FAULT (0)
                                                                                                                                                                                                                            • FAULT (1)
                                                                                                                                                                                                                            StatusTampered7Auint8PR+EV01
                                                                                                                                                                                                                            • NOT_TAMPERED (0)
                                                                                                                                                                                                                            • TAMPERED (1)
                                                                                                                                                                                                                            StatusLowBattery79uint8PR+EV01
                                                                                                                                                                                                                            • NOT_LOW_BATTERY (0)
                                                                                                                                                                                                                            • LOW_BATTERY (1)
                                                                                                                                                                                                                            Mute11AboolPW+PR+EV01
                                                                                                                                                                                                                            • OFF (0)
                                                                                                                                                                                                                            • ON (1)
                                                                                                                                                                                                                            Name23stringPR--
                                                                                                                                                                                                                              Volume119uint8PW+PR+EV0100
                                                                                                                                                                                                                                ## StatelessProgrammableSwitch (89) -

                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App.
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                ProgrammableSwitchEvent73uint8PR+EV+NV02
                                                                                                                                                                                                                                • SINGLE_PRESS (0)
                                                                                                                                                                                                                                • DOUBLE_PRESS (1)
                                                                                                                                                                                                                                • LONG_PRESS (2)
                                                                                                                                                                                                                                Name23stringPR--
                                                                                                                                                                                                                                  ServiceLabelIndexCBuint8PR1255
                                                                                                                                                                                                                                    +ProgrammableSwitchEvent73uint8PR+EV+NV02
                                                                                                                                                                                                                                    • SINGLE_PRESS (0)
                                                                                                                                                                                                                                    • DOUBLE_PRESS (1)
                                                                                                                                                                                                                                    • LONG_PRESS (2)
                                                                                                                                                                                                                                    Name23stringPR--
                                                                                                                                                                                                                                      ## Switch (49) -

                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      Defines a generic Switch.
                                                                                                                                                                                                                                      CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                      On25boolPR+PW+EV01
                                                                                                                                                                                                                                        Name23stringPR--
                                                                                                                                                                                                                                          ## Television (D8) -

                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          Defines a Television. Optional Linked Service: InputSource, TelevisionSpeaker
                                                                                                                                                                                                                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                          ActiveB0uint8PW+PR+EV01
                                                                                                                                                                                                                                          • INACTIVE (0)
                                                                                                                                                                                                                                          • ACTIVE (1)
                                                                                                                                                                                                                                          ConfiguredNameE3stringPW+PR+EV--
                                                                                                                                                                                                                                            ActiveIdentifierE7uint32PW+PR+EV0255
                                                                                                                                                                                                                                              RemoteKeyE1uint8PW016
                                                                                                                                                                                                                                                PowerModeSelectionDFuint8PW01
                                                                                                                                                                                                                                                  ## TelevisionSpeaker (113) -

                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Defines a TelevisionSpeaker that can be controlled via the Remote Control widget on an iPhone. Use only as a Linked Service for the Television Service.
                                                                                                                                                                                                                                                  CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                                  VolumeControlTypeE9uint8PR+EV03
                                                                                                                                                                                                                                                    VolumeSelectorEAuint8PW01
                                                                                                                                                                                                                                                      ## TemperatureSensor (8A) -

                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      Defines a Temperature Sensor.
                                                                                                                                                                                                                                                      CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                                      CurrentTemperature11floatPR+EV0100
                                                                                                                                                                                                                                                        Name23stringPR--
                                                                                                                                                                                                                                                          StatusActive75boolPR+EV01
                                                                                                                                                                                                                                                            StatusFault77uint8PR+EV01
                                                                                                                                                                                                                                                            • NO_FAULT (0)
                                                                                                                                                                                                                                                            • FAULT (1)
                                                                                                                                                                                                                                                            StatusTampered7Auint8PR+EV01
                                                                                                                                                                                                                                                            • NOT_TAMPERED (0)
                                                                                                                                                                                                                                                            • TAMPERED (1)
                                                                                                                                                                                                                                                            StatusLowBattery79uint8PR+EV01
                                                                                                                                                                                                                                                            • NOT_LOW_BATTERY (0)
                                                                                                                                                                                                                                                            • LOW_BATTERY (1)
                                                                                                                                                                                                                                                            ## Thermostat (4A) -

                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            Defines a Thermostat used to control a furnace, air conditioner, or both.
                                                                                                                                                                                                                                                            CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                                            CurrentHeatingCoolingStateFuint8PR+EV02
                                                                                                                                                                                                                                                            • OFF (0)
                                                                                                                                                                                                                                                            • HEATING (1)
                                                                                                                                                                                                                                                            • COOLING (2)
                                                                                                                                                                                                                                                            TargetHeatingCoolingState33uint8PW+PR+EV03
                                                                                                                                                                                                                                                            • OFF (0)
                                                                                                                                                                                                                                                            • HEAT (1)
                                                                                                                                                                                                                                                            • COOL (2)
                                                                                                                                                                                                                                                            • AUTO (3)
                                                                                                                                                                                                                                                            CurrentTemperature11floatPR+EV0100
                                                                                                                                                                                                                                                              TargetTemperature35floatPW+PR+EV1038
                                                                                                                                                                                                                                                                TemperatureDisplayUnits36uint8PW+PR+EV01
                                                                                                                                                                                                                                                                • CELSIUS (0)
                                                                                                                                                                                                                                                                • FAHRENHEIT (1)
                                                                                                                                                                                                                                                                CoolingThresholdTemperatureDfloatPR+PW+EV1035
                                                                                                                                                                                                                                                                  CurrentRelativeHumidity10floatPR+EV0100
                                                                                                                                                                                                                                                                    HeatingThresholdTemperature12floatPR+PW+EV025
                                                                                                                                                                                                                                                                      Name23stringPR--
                                                                                                                                                                                                                                                                        TargetRelativeHumidity34floatPW+PR+EV0100
                                                                                                                                                                                                                                                                          ## Valve (D0) -

                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          Defines an electronic Valve. Can be used standalone or as a Linked Service in conjunction with the Faucet or IrrigationSystem Services.
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                                                          ActiveB0uint8PW+PR+EV01
                                                                                                                                                                                                                                                                          • INACTIVE (0)
                                                                                                                                                                                                                                                                          • ACTIVE (1)
                                                                                                                                                                                                                                                                          InUseD2uint8PR+EV01
                                                                                                                                                                                                                                                                          • NOT_IN_USE (0)
                                                                                                                                                                                                                                                                          • IN_USE (1)
                                                                                                                                                                                                                                                                          ValveTypeD5uint8PR+EV03
                                                                                                                                                                                                                                                                            SetDurationD3uint32PW+PR+EV03600
                                                                                                                                                                                                                                                                              RemainingDurationD4uint32PR+EV03600
                                                                                                                                                                                                                                                                                IsConfiguredD6uint8PR+EV01
                                                                                                                                                                                                                                                                                • NOT_CONFIGURED (0)
                                                                                                                                                                                                                                                                                • CONFIGURED (1)
                                                                                                                                                                                                                                                                                ServiceLabelIndexCBuint8PR1255
                                                                                                                                                                                                                                                                                  StatusFault77uint8PR+EV01
                                                                                                                                                                                                                                                                                  • NO_FAULT (0)
                                                                                                                                                                                                                                                                                  • FAULT (1)
                                                                                                                                                                                                                                                                                  Name23stringPR--
                                                                                                                                                                                                                                                                                    +ActiveB0uint8PW+PR+EV01
                                                                                                                                                                                                                                                                                    • INACTIVE (0)
                                                                                                                                                                                                                                                                                    • ACTIVE (1)
                                                                                                                                                                                                                                                                                    InUseD2uint8PR+EV01
                                                                                                                                                                                                                                                                                    • NOT_IN_USE (0)
                                                                                                                                                                                                                                                                                    • IN_USE (1)
                                                                                                                                                                                                                                                                                    ValveTypeD5uint8PR+EV03
                                                                                                                                                                                                                                                                                      SetDurationD3uint32PW+PR+EV03600
                                                                                                                                                                                                                                                                                        RemainingDurationD4uint32PR+EV03600
                                                                                                                                                                                                                                                                                          IsConfiguredD6uint8PR+EV01
                                                                                                                                                                                                                                                                                          • NOT_CONFIGURED (0)
                                                                                                                                                                                                                                                                                          • CONFIGURED (1)
                                                                                                                                                                                                                                                                                          StatusFault77uint8PR+EV01
                                                                                                                                                                                                                                                                                          • NO_FAULT (0)
                                                                                                                                                                                                                                                                                          • FAULT (1)
                                                                                                                                                                                                                                                                                          Name23stringPR--
                                                                                                                                                                                                                                                                                            ## Window (8B) -

                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            Defines a motorized Window.
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                                                                            CurrentPosition6Duint8PR+EV0100
                                                                                                                                                                                                                                                                                              TargetPosition7Cuint8PW+PR+EV0100
                                                                                                                                                                                                                                                                                                PositionState72uint8PR+EV02
                                                                                                                                                                                                                                                                                                • GOING_TO_MINIMUM (0)
                                                                                                                                                                                                                                                                                                • GOING_TO_MAXIMUM (1)
                                                                                                                                                                                                                                                                                                • STOPPED (2)
                                                                                                                                                                                                                                                                                                Name23stringPR--
                                                                                                                                                                                                                                                                                                  HoldPosition6FboolPW01
                                                                                                                                                                                                                                                                                                    ObstructionDetected24boolPR+EV01
                                                                                                                                                                                                                                                                                                      +CurrentPosition6Duint8PR+EV0100
                                                                                                                                                                                                                                                                                                        TargetPosition7Cuint8PW+PR+EV0100
                                                                                                                                                                                                                                                                                                          Name23stringPR--
                                                                                                                                                                                                                                                                                                            ObstructionDetected24boolPR+EV01
                                                                                                                                                                                                                                                                                                              ## WindowCovering (8C) -

                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              Defines a motorized Window Shade, Screen, Awning, etc.
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                                                                                                                                                                                              TargetPosition7Cuint8PW+PR+EV0100
                                                                                                                                                                                                                                                                                                                CurrentPosition6Duint8PR+EV0100
                                                                                                                                                                                                                                                                                                                  PositionState72uint8PR+EV02
                                                                                                                                                                                                                                                                                                                  • GOING_TO_MINIMUM (0)
                                                                                                                                                                                                                                                                                                                  • GOING_TO_MAXIMUM (1)
                                                                                                                                                                                                                                                                                                                  • STOPPED (2)
                                                                                                                                                                                                                                                                                                                  Name23stringPR--
                                                                                                                                                                                                                                                                                                                    HoldPosition6FboolPW01
                                                                                                                                                                                                                                                                                                                      CurrentHorizontalTiltAngle6CintPR+EV-9090
                                                                                                                                                                                                                                                                                                                        TargetHorizontalTiltAngle7BintPW+PR+EV-9090
                                                                                                                                                                                                                                                                                                                          CurrentVerticalTiltAngle6EintPR+EV-9090
                                                                                                                                                                                                                                                                                                                            TargetVerticalTiltAngle7DintPW+PR+EV-9090
                                                                                                                                                                                                                                                                                                                              ObstructionDetected24boolPR+EV01
                                                                                                                                                                                                                                                                                                                                +TargetPosition7Cuint8PW+PR+EV0100
                                                                                                                                                                                                                                                                                                                                  CurrentPosition6Duint8PR+EV0100
                                                                                                                                                                                                                                                                                                                                    Name23stringPR--
                                                                                                                                                                                                                                                                                                                                      CurrentHorizontalTiltAngle6CintPR+EV-9090
                                                                                                                                                                                                                                                                                                                                        TargetHorizontalTiltAngle7BintPW+PR+EV-9090
                                                                                                                                                                                                                                                                                                                                          CurrentVerticalTiltAngle6EintPR+EV-9090
                                                                                                                                                                                                                                                                                                                                            TargetVerticalTiltAngle7DintPW+PR+EV-9090
                                                                                                                                                                                                                                                                                                                                              ObstructionDetected24boolPR+EV01