From 87b7ebf095c1c19d98141adf0c777acd5798526a Mon Sep 17 00:00:00 2001 From: Gregg Date: Sat, 20 Jan 2024 22:51:52 -0600 Subject: [PATCH] update --- src/Span.h | 60 ++++++++++++++++++++++++++++----------------------- tools/test.md | 30 +++++++++++++------------- 2 files changed, 48 insertions(+), 42 deletions(-) diff --git a/src/Span.h b/src/Span.h index 427f417..17febee 100644 --- a/src/Span.h +++ b/src/Span.h @@ -32,17 +32,23 @@ // Macros to define services, along with vectors of required and optional characteristics for each Span Service structure // The names of the macros are picked up by external scripts to help generate documentation +// Note: These macros below are also parsed by an external awk script to auto-generate Services and Characteristics documentation. +// +// The CREATE_SERV_DEP() macro is the same as the CREATE_SERV() macro, except that it is used for deprecated Services that will not +// be included in documentation. The OPT_DEP() macro is that same as the OPT() macro, except that it is used for deprecated Characteristics +// that will not be included in 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) +#define OPT_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); @@ -50,10 +56,10 @@ namespace Service { OPT(Name); OPT(SerialNumber); OPT(HardwareRevision); - DEP(AccessoryFlags); + OPT_DEP(AccessoryFlags); END_SERV - CREATE_SERV(AirPurifier,BB) // Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, Slat + CREATE_SERV(AirPurifier,BB) // Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, and Slat REQ(Active); REQ(CurrentAirPurifierState); REQ(TargetAirPurifierState); @@ -63,7 +69,7 @@ namespace Service { OPT(LockPhysicalControls); END_SERV - CREATE_SERV(AirQualitySensor,8D) // Defines an Air Quality Sensor with a variety of Air Quality Characteristics. + CREATE_SERV(AirQualitySensor,8D) // Defines an Air Quality Sensor. REQ(AirQuality); OPT(Name); OPT(OzoneDensity); @@ -119,20 +125,20 @@ namespace Service { CREATE_SERV(Door,81) // Defines a motorized Door. REQ(CurrentPosition); REQ(TargetPosition); - DEP(PositionState); + OPT_DEP(PositionState); OPT(Name); - DEP(HoldPosition); + OPT_DEP(HoldPosition); OPT(ObstructionDetected); END_SERV - CREATE_SERV(Doorbell,121) // Defines a Doorbell. + CREATE_SERV(Doorbell,121) // Defines a Doorbell. Can be used on a standalone basis or in conjunction with a LockMechanism Service. REQ(ProgrammableSwitchEvent); OPT(Name); - DEP(Volume); - DEP(Brightness); + OPT_DEP(Volume); + OPT_DEP(Brightness); END_SERV - CREATE_SERV(Fan,B7) // Defines a Fan. Can be used with a LightBulb Service to define a Lighted Ceiling Fan. + CREATE_SERV(Fan,B7) // Defines a Fan. Can be used in conjunction with a LightBulb Service to create a Lighted Ceiling Fan. REQ(Active); OPT(Name); OPT(CurrentFanState); @@ -143,7 +149,7 @@ namespace Service { OPT(LockPhysicalControls); END_SERV - 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). + 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 is defined). REQ(Active); OPT(StatusFault); OPT(Name); @@ -169,7 +175,7 @@ namespace Service { REQ(Version); END_SERV - 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. + 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); @@ -183,7 +189,7 @@ namespace Service { OPT(LockPhysicalControls); END_SERV - 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. + 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); @@ -206,7 +212,7 @@ namespace Service { OPT(StatusLowBattery); END_SERV - CREATE_SERV(InputSource,D9) // Defines an Input Source for a Television. Use only as a Linked Service for the Television Service. + CREATE_SERV(InputSource,D9) // Defines an Input Source for a TV. Use only as a Linked Service for the Television Service. OPT(ConfiguredName); OPT(IsConfigured); REQ(Identifier); @@ -214,7 +220,7 @@ namespace Service { OPT(TargetVisibilityState); END_SERV - CREATE_SERV(IrrigationSystem,CF) // Defines an Irrigation System. Linked Services: Valve Service (at least one required). + CREATE_SERV(IrrigationSystem,CF) // Defines an Irrigation System. Linked Services: Valve Service (at least one required). REQ(Active); REQ(ProgramMode); REQ(InUse); @@ -231,7 +237,7 @@ namespace Service { OPT(StatusLowBattery); END_SERV - CREATE_SERV(LightBulb,43) // Defines a generic Light. + CREATE_SERV(LightBulb,43) // Defines any type of Light. REQ(On); OPT(Brightness); OPT(Hue); @@ -298,7 +304,7 @@ namespace Service { REQ(ServiceLabelNamespace); END_SERV - CREATE_SERV(Slat,B9) // Defines a motorized ventilation Slat (or group of Slats). + CREATE_SERV(Slat,B9) // Defines a motorized ventilation Slat(s). REQ(CurrentSlatState); REQ(SlatType); OPT(Name); @@ -325,7 +331,7 @@ namespace Service { CREATE_SERV(StatelessProgrammableSwitch,89) // Defines a "Stateless" Programmable Switch that can be used to trigger actions in the Home App. REQ(ProgrammableSwitchEvent); OPT(Name); - DEP(ServiceLabelIndex); + OPT_DEP(ServiceLabelIndex); END_SERV CREATE_SERV(Switch,49) // Defines a generic Switch. @@ -333,7 +339,7 @@ namespace Service { OPT(Name); END_SERV - CREATE_SERV(Television,D8) // Defines a Television. Optional Linked Service: InputSource, TelevisionSpeaker + CREATE_SERV(Television,D8) // Defines a TV. Optional Linked Services: InputSource and TelevisionSpeaker. REQ(Active); OPT(ConfiguredName); OPT(ActiveIdentifier); @@ -341,7 +347,7 @@ namespace Service { OPT(PowerModeSelection); END_SERV - 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. + CREATE_SERV(TelevisionSpeaker,113) // Defines a Television Speaker that can be controlled via the Remote Control widget on an iPhone. Use only as a Linked Service for the Television Service. REQ(VolumeControlType); REQ(VolumeSelector); END_SERV @@ -368,14 +374,14 @@ namespace Service { OPT(TargetRelativeHumidity); END_SERV - 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. + CREATE_SERV(Valve,D0) // Defines an electronic Valve. Can be used standalone or as a Linked Service in conjunction with the Faucet and IrrigationSystem Services. REQ(Active); REQ(InUse); REQ(ValveType); OPT(SetDuration); OPT(RemainingDuration); OPT(IsConfigured); - DEP(ServiceLabelIndex); + OPT_DEP(ServiceLabelIndex); OPT(StatusFault); OPT(Name); END_SERV @@ -383,18 +389,18 @@ namespace Service { CREATE_SERV(Window,8B) // Defines a motorized Window. REQ(CurrentPosition); REQ(TargetPosition); - DEP(PositionState); + OPT_DEP(PositionState); OPT(Name); - DEP(HoldPosition); + OPT_DEP(HoldPosition); OPT(ObstructionDetected); END_SERV CREATE_SERV(WindowCovering,8C) // Defines a motorized Window Shade, Screen, Awning, etc. REQ(TargetPosition); REQ(CurrentPosition); - DEP(PositionState); + OPT_DEP(PositionState); OPT(Name); - DEP(HoldPosition); + OPT_DEP(HoldPosition); OPT(CurrentHorizontalTiltAngle); OPT(TargetHorizontalTiltAngle); OPT(CurrentVerticalTiltAngle); diff --git a/tools/test.md b/tools/test.md index b17af9f..b52a936 100644 --- a/tools/test.md +++ b/tools/test.md @@ -1,15 +1,15 @@ ## AccessoryInformation (3E) -
Required Identification Information. For each Accessory in a HomeSpan device this must be included as the first Service.
+
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--
                ## AirPurifier (BB) -
                Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, Slat
                +
                Defines a basic Air Purifier with an optional fan. Optional Linked Services: FilterMaintenance, AirQualitySensor, Fan, and 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.
                    +
                    Defines an Air Quality Sensor.
                    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)
                                    @@ -39,17 +39,17 @@ CurrentPosition6Duint8PR+EV0100TargetPosition7Cuint8PW+PR+EV0100
                                      Name23stringPR--
                                        ObstructionDetected24boolPR+EV01
                                          ## Doorbell (121) -
                                          Defines a Doorbell.
                                          +
                                          Defines a Doorbell. Can be used on a standalone basis or in conjunction with a LockMechanism Service.
                                          CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                          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.
                                            +
                                            Defines a Fan. Can be used in conjunction with a LightBulb Service to create 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).
                                                +
                                                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 is defined).
                                                CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                ActiveB0uint8PW+PR+EV01
                                                • INACTIVE (0)
                                                • ACTIVE (1)
                                                StatusFault77uint8PR+EV01
                                                • NO_FAULT (0)
                                                • FAULT (1)
                                                Name23stringPR--
                                                  @@ -64,12 +64,12 @@ 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.
                                                        +
                                                        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.
                                                                  +
                                                                  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)
                                                                              @@ -79,12 +79,12 @@ 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.
                                                                                    +
                                                                                    Defines an Input Source for a TV. 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).
                                                                                            +
                                                                                            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)
                                                                                              @@ -94,7 +94,7 @@ 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.
                                                                                                  +
                                                                                                  Defines any type of Light.
                                                                                                  CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                  On25boolPR+PW+EV01
                                                                                                    Brightness8intPR+PW+EV0100
                                                                                                      Hue13floatPR+PW+EV0360
                                                                                                        Name23stringPR--
                                                                                                          Saturation2FfloatPR+PW+EV0100
                                                                                                            ColorTemperatureCEuint32PR+PW+EV140500
                                                                                                              @@ -129,7 +129,7 @@ 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).
                                                                                                                +
                                                                                                                Defines a motorized ventilation Slat(s).
                                                                                                                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
                                                                                                                      @@ -149,12 +149,12 @@ On25boolPR+PW+EV01
                                                                                                                        Name23stringPR--
                                                                                                                          ## Television (D8) -
                                                                                                                          Defines a Television. Optional Linked Service: InputSource, TelevisionSpeaker
                                                                                                                          +
                                                                                                                          Defines a TV. Optional Linked Services: InputSource and 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.
                                                                                                                                  +
                                                                                                                                  Defines a Television Speaker that can be controlled via the Remote Control widget on an iPhone. Use only as a Linked Service for the Television Service.
                                                                                                                                  CharacteristicUUIDFormatPermsMinMaxConstantsNotes
                                                                                                                                  VolumeControlTypeE9uint8PR+EV03
                                                                                                                                    VolumeSelectorEAuint8PW01
                                                                                                                                      @@ -169,7 +169,7 @@ 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.
                                                                                                                                                    +
                                                                                                                                                    Defines an electronic Valve. Can be used standalone or as a Linked Service in conjunction with the Faucet and 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)
                                                                                                                                                          StatusFault77uint8PR+EV01
                                                                                                                                                          • NO_FAULT (0)
                                                                                                                                                          • FAULT (1)
                                                                                                                                                          Name23stringPR--