-
Notifications
You must be signed in to change notification settings - Fork 13
HomeKit Model Reference
In HomeKit's world, each thing we consider a "device" in Indigo is called a service in HomeKit and each piece of data or action that the service can perform is a characteristic.
What follows is our definition of the Services and Characteristics that HomeKit Bridge implements.
Index: AirPurifier | AirQualitySensor | BatteryService | CameraRTPStreamManagement | CarbonDioxideSensor | CarbonMonoxideSensor | ContactSensor | Door | Doorbell | Fan | Fanv2 | Faucet | FilterMaintenance | GarageDoorOpener | HeaterCooler | HumidifierDehumidifier | HumiditySensor | IrrigationSystem | LeakSensor | LightSensor | Lightbulb | LockMechanism | Microphone | MotionSensor | OccupancySensor | Outlet | PlaybackDeviceService | SecuritySystem | Slat | SmokeSensor | Speaker | StatelessProgrammableSwitch | Switch | TemperatureSensor | Thermostat | Valve | Window | WindowCovering
Device: Air Purifier
Required: Active | TargetAirPurifierState | CurrentAirPurifierState
Optional: LockPhysicalControls | RotationSpeed | Name | SwingMode
Default Indigo Values:
- Active: onState (all)
- TargetAirPurifierState: onState (all)
- CurrentAirPurifierState: onState (all)
- LockPhysicalControls: TBD
- RotationSpeed: brightness (all)
- Name: TBD
- SwingMode: TBD
Device: Air Quality Sensor
Required: AirQuality
Optional: StatusActive | StatusFault | CarbonMonoxideLevel | Name | OzoneDensity | StatusTampered | StatusLowBattery | NitrogenDioxideDensity | CarbonDioxideLevel | VOCDensity | PM2_5Density | SulphurDioxideDensity | PM10Density
Default Indigo Values:
- AirQuality: sensorValue (SensorDevice) | convertedValue (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: onState (all)
- StatusFault: TBD
- CarbonMonoxideLevel: TBD
- Name: TBD
- OzoneDensity: TBD
- StatusTampered: TBD
- StatusLowBattery: Calculated (lowbattery)
- NitrogenDioxideDensity: TBD
- CarbonDioxideLevel: TBD
- VOCDensity: TBD
- PM2_5Density: TBD
- SulphurDioxideDensity: TBD
- PM10Density: TBD
Device: Battery Service (3rd Party and Siri Only)
Notes: This service is unsupported by the native Apple Home application but is supported, in varying degrees, in 3rd party HomeKit apps. Apps tested with this service that work are the non-Apple version of Home and Elgato Eve.
Required: BatteryLevel | ChargingState | StatusLowBattery
Optional: Name
Default Indigo Values:
- BatteryLevel: batteryLevel (all)
- ChargingState: TBD
- StatusLowBattery: Calculated (lowbattery)
- Name: TBD
Device: Camera RTP Stream
Notes: Only supported for SecuritySpy and Blue Iris Indigo devices currently
Required: SelectedRTPStreamConfiguration | SetupEndpoints | SupportedAudioStreamConfiguration | StreamingStatus | SupportedVideoStreamConfiguration | SupportedRTPConfiguration
Optional: Name
Default Indigo Values:
- SelectedRTPStreamConfiguration: Calculated (rtpstream)
- SetupEndpoints: Calculated (endpoints)
- SupportedAudioStreamConfiguration: Calculated (audio)
- StreamingStatus: Calculated (streamstatus)
- SupportedVideoStreamConfiguration: Calculated (video)
- SupportedRTPConfiguration: Calculated (rtp)
- Name: TBD
Device: Carbon Dioxide (CO2) Sensor
Required: CarbonDioxideDetected
Optional: StatusActive | StatusFault | Name | StatusLowBattery | StatusTampered | CarbonDioxideLevel | CarbonDioxidePeakLevel
Default Indigo Values:
- CarbonDioxideDetected: onState (all) | convertedValue (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: TBD
- StatusFault: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
- StatusTampered: TBD
- CarbonDioxideLevel: sensorValue (SensorDevice) | brightness (DimmerDevice)
- CarbonDioxidePeakLevel: TBD
Device: Carbon Monoxide (CO) Sensor
Required: CarbonMonoxideDetected
Optional: StatusActive | StatusFault | CarbonMonoxideLevel | Name | StatusLowBattery | StatusTampered | CarbonMonoxidePeakLevel
Default Indigo Values:
- CarbonMonoxideDetected: onState (all) | convertedValue (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: TBD
- StatusFault: TBD
- CarbonMonoxideLevel: sensorValue (SensorDevice) | brightness (DimmerDevice)
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
- StatusTampered: TBD
- CarbonMonoxidePeakLevel: TBD
Device: Contact Sensor
Required: ContactSensorState
Optional: StatusActive | StatusFault | StatusTampered | Name | StatusLowBattery
Default Indigo Values:
- ContactSensorState: Calculated (invertedOnState) | activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice) | binaryOutput1 (MultiIODevice) | state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | convertedBoolean (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: TBD
- StatusFault: TBD
- StatusTampered: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
Device: Door
Required: CurrentPosition | TargetPosition | PositionState
Optional: HoldPosition | ObstructionDetected | Name
Default Indigo Values:
- CurrentPosition: brightness (all) | Calculated (onStateToFullBrightness)
- TargetPosition: brightness (all) | Calculated (onStateToFullBrightness)
- PositionState: TBD
- HoldPosition: TBD
- ObstructionDetected: TBD
- Name: TBD
Device: Doorbell (Experimental & Unsupported)
Notes: This service is completely experimental as it relies on an undocumented HomeKit method that is still being decoded, consider this unusable until further notice and only appears in the plugin for development testing
Required: ProgrammableSwitchEvent
Optional: Volume | Name | Brightness
Default Indigo Values:
- ProgrammableSwitchEvent: onState (all)
- Volume: TBD
- Name: TBD
- Brightness: brightness (all)
Device: Fan (Original)
Notes: This fan acts pretty much just like the Fanv2, except it has fewer capabilities. There may be reasons to hold on to it and that may become apparent in the future but consider this a device that may be depreciated and may not be included in future versions.
Required: On
Optional: RotationDirection | Name | RotationSpeed
Default Indigo Values:
- On: activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice) | binaryOutput1 (MultiIODevice) | onState (all) | Calculated (SenseMeFanToggle) | convertedBoolean (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- RotationDirection: TBD
- Name: TBD
- RotationSpeed: speedLevel (SpeedControlDevice) | Calculated (SenseMeFanSpeed) | brightness (DimmerDevice)
Device: Fan
Required: Active
Optional: LockPhysicalControls | Name | RotationDirection | RotationSpeed | CurrentFanState | SwingMode | TargetFanState
Default Indigo Values:
- Active: activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice) | binaryOutput1 (MultiIODevice) | onState (all) | Calculated (SenseMeFanToggle) | convertedBoolean (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- LockPhysicalControls: TBD
- Name: TBD
- RotationDirection: TBD
- RotationSpeed: speedLevel (SpeedControlDevice) | Calculated (SenseMeFanSpeed) | brightness (DimmerDevice)
- CurrentFanState: TBD
- SwingMode: TBD
- TargetFanState: TBD
Device: Faucet (3rd Party and Siri Only)
Notes: This service is unsupported by the native Apple Home application but is supported, in varying degrees, in 3rd party HomeKit apps. Apps tested with this service that work are the non-Apple version of Home and Elgato Eve.
Required: Active
Optional: StatusFault | Name
Default Indigo Values:
- Active: onState (all) | convertedValue (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusFault: TBD
- Name: TBD
Device: Filter Maintenance (3rd Party and Siri Only)
Notes: This service is unsupported by the native Apple Home application but is supported, in varying degrees, in 3rd party HomeKit apps. Apps tested with this service that work are the non-Apple version of Home and Elgato Eve.
Required: FilterChangeIndication
Optional: ResetFilterIndication | FilterLifeLevel
Default Indigo Values:
- FilterChangeIndication: onState (all)
- ResetFilterIndication: Calculated (deReplaceFilter)
- FilterLifeLevel: brightness (all) | sensorValue (SensorDevice)
Device: Garage Door Opener
Required: ObstructionDetected | TargetDoorState | CurrentDoorState
Optional: LockTargetState | Name | LockCurrentState
Default Indigo Values:
- ObstructionDetected: TBD
- TargetDoorState: binaryInput1 (MultiIODevice) | state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | onState (all)
- CurrentDoorState: binaryInput1 (MultiIODevice) | state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | onState (all)
- LockTargetState: TBD
- Name: TBD
- LockCurrentState: TBD
Device: Heater / Cooler
Required: Active | CurrentHeaterCoolerState | TargetHeaterCoolerState | CurrentTemperature
Optional: LockPhysicalControls | Name | RotationSpeed | SwingMode | HeatingThresholdTemperature | TemperatureDisplayUnits | CoolingThresholdTemperature
Default Indigo Values:
- Active: onState (all)
- CurrentHeaterCoolerState: Calculated (thermHVACMode)
- TargetHeaterCoolerState: Calculated (thermHVACMode)
- CurrentTemperature: Calculated (thermTemperature)
- LockPhysicalControls: TBD
- Name: TBD
- RotationSpeed: speedLevel (SpeedControlDevice) | brightness (DimmerDevice)
- SwingMode: TBD
- HeatingThresholdTemperature: TBD
- TemperatureDisplayUnits: Calculated (serverCorFSetting)
- CoolingThresholdTemperature: TBD
Device: Humidifier / Dehumidifier
Required: Active | CurrentHumidifierDehumidifierState | TargetHumidifierDehumidifierState | CurrentRelativeHumidity
Optional: LockPhysicalControls | Name | RotationSpeed | RelativeHumidityHumidifierThreshold | SwingMode | RelativeHumidityDehumidifierThreshold | WaterLevel
Default Indigo Values:
- Active: onState (all)
- CurrentHumidifierDehumidifierState: TBD
- TargetHumidifierDehumidifierState: TBD
- CurrentRelativeHumidity: sensorValue (all) | relativeHumidity (Device.com.fogbert.indigoplugin.wunderground.wunderground) | humidityInput1 (ThermostatDevice)
- LockPhysicalControls: TBD
- Name: TBD
- RotationSpeed: speedLevel (SpeedControlDevice) | brightness (DimmerDevice)
- RelativeHumidityHumidifierThreshold: TBD
- SwingMode: TBD
- RelativeHumidityDehumidifierThreshold: TBD
- WaterLevel: TBD
Device: Humidity Sensor
Required: CurrentRelativeHumidity
Optional: StatusActive | StatusFault | StatusTampered | Name | StatusLowBattery
Default Indigo Values:
- CurrentRelativeHumidity: humidityInput1 (ThermostatDevice) | sensorValue (all) | relativeHumidity (all) | humidity (all) | Humidity (all) | convertedValue (Device.com.eps.indigoplugin.device-extensions.epsdecon) | d01_humidity (Device.com.fogbert.indigoplugin.fantasticwWeather.Daily)
- StatusActive: TBD
- StatusFault: TBD
- StatusTampered: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
Device: Irrigation System
Notes: This service will automatically refresh back to HomeKit every 5 seconds if it is connected to an Indigo irrigation controller and if the controller has an active zone running so it can inform HomeKit of the number of remaining seconds left on the current zone.
Required: Active | ProgramMode | InUse
Optional: StatusFault | RemainingDuration | Name
Default Indigo Values:
- Active: onState (all) | activeZone (SprinklerDevice)
- ProgramMode: Calculated (sprinklerProgramMode)
- InUse: onState (all) | activeZone (SprinklerDevice)
- StatusFault: TBD
- RemainingDuration: Calculated (sprinklerRemainingDuration)
- Name: TBD
Device: Leak Sensor
Required: LeakDetected
Optional: StatusActive | StatusFault | StatusTampered | Name | StatusLowBattery
Default Indigo Values:
- LeakDetected: onState (all) | convertedBoolean (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: TBD
- StatusFault: TBD
- StatusTampered: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
Device: Light Sensor
Required: CurrentAmbientLightLevel
Optional: StatusActive | StatusFault | StatusTampered | Name | StatusLowBattery
Default Indigo Values:
- CurrentAmbientLightLevel: sensorValue (all) | convertedValue (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: TBD
- StatusFault: TBD
- StatusTampered: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
Device: Lightbulb
Required: On
Optional: Hue | Saturation | ColorTemperature | Name | Brightness
Default Indigo Values:
- On: activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice) | status.connected (Device.com.perceptiveautomation.indigoplugin.airfoilpro.speaker) | binaryOutput1 (MultiIODevice) | onState (all) | Calculated (SenseMeLightToggle) | convertedBoolean (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- Hue: Calculated (HSV)
- Saturation: Calculated (HSV)
- ColorTemperature: Calculated (HSV)
- Name: TBD
- Brightness: speedLevel (SpeedControlDevice) | Calculated (SenseMeLightLevel) | volume (Device.com.perceptiveautomation.indigoplugin.airfoilpro.speaker) | brightness (DimmerDevice)
Device: Lock Mechanism
Required: LockTargetState | LockCurrentState
Optional: Name
Default Indigo Values:
- LockTargetState: binaryOutput1 (MultiIODevice) | state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | onState (all) | activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice)
- LockCurrentState: binaryOutput1 (MultiIODevice) | state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | onState (all) | activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice)
- Name: TBD
Device: Microphone (3rd Party and Siri Only)
Notes: This service is unsupported by the native Apple Home application but is supported, in varying degrees, in 3rd party HomeKit apps. Apps tested with this service that work are the non-Apple version of Home and Elgato Eve.
Required: Mute
Default Indigo Values:
- Mute: onState (all) | status.disconnected (Device.com.perceptiveautomation.indigoplugin.airfoilpro.speaker)
- Volume: brightness (all) | volume (Device.com.perceptiveautomation.indigoplugin.airfoilpro.speaker)
- Name: TBD
Device: Motion Sensor
Required: MotionDetected
Optional: StatusActive | StatusFault | StatusTampered | Name | StatusLowBattery
Default Indigo Values:
- MotionDetected: motion (Device.org.cynic.securityspy.camera) | onState (all) | activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice) | binaryOutput1 (MultiIODevice) | state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | convertedBoolean (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: TBD
- StatusFault: TBD
- StatusTampered: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
Device: Occupancy Sensor
Required: OccupancyDetected
Optional: StatusActive | StatusFault | StatusTampered | Name | StatusLowBattery
Default Indigo Values:
- OccupancyDetected: onState (all) | activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice) | Calculated (piBeaconStatus) | binaryOutput1 (MultiIODevice) | state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | convertedValue (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: TBD
- StatusFault: TBD
- StatusTampered: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
Device: Outlet
Required: On | OutletInUse
Optional: None
Default Indigo Values:
- On: binaryOutput1 (MultiIODevice) | onState (all) | activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice)
- OutletInUse: Calculated (inuse)
Device: Playback Device Service (3rd Party Only)
Required: PlaybackState
Optional: MediaItemAlbumName | MediaItemArtist | MediaItemName
Default Indigo Values:
- PlaybackState: Calculated (itunesPlaybackState)
- MediaItemAlbumName: album (Device.com.perceptiveautomation.indigoplugin.itunes.mediaserver)
- MediaItemArtist: artist (Device.com.perceptiveautomation.indigoplugin.itunes.mediaserver)
- MediaItemName: track (Device.com.perceptiveautomation.indigoplugin.itunes.mediaserver)
Device: Security System
Required: SecuritySystemTargetState | SecuritySystemCurrentState
Optional: StatusTampered | StatusFault | SecuritySystemAlarmType | Name
Default Indigo Values:
- SecuritySystemTargetState: onState (all) | Calculated (dscKeypadState)
- SecuritySystemCurrentState: onState (all) | Calculated (dscKeypadState)
- StatusTampered: TBD
- StatusFault: TBD
- SecuritySystemAlarmType: TBD
- Name: TBD
Device: Slat (3rd Party and Siri Only)
Notes: This service is unsupported by the native Apple Home application but is supported, in varying degrees, in 3rd party HomeKit apps. Apps tested with this service that work are the non-Apple version of Home and Elgato Eve.
Required: CurrentSlatState | SlatType
Optional: TargetTiltAngle | Name | SwingMode | CurrentTiltAngle
Default Indigo Values:
- CurrentSlatState: onState (all)
- SlatType: TBD
- TargetTiltAngle: TBD
- Name: TBD
- SwingMode: TBD
- CurrentTiltAngle: TBD
Device: Smoke Sensor
Required: SmokeDetected
Optional: StatusActive | StatusFault | StatusTampered | Name | StatusLowBattery
Default Indigo Values:
- SmokeDetected: state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | onState (all) | convertedBoolean (Device.com.eps.indigoplugin.device-extensions.epsdecon)
- StatusActive: TBD
- StatusFault: TBD
- StatusTampered: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
Device: Speaker (3rd Party, Mute control in Home, Full Siri)
Notes: This service is unsupported by the native Apple Home application but is supported, in varying degrees, in 3rd party HomeKit apps. Apps tested with this service that work are the non-Apple version of Home and Elgato Eve.
Required: Mute
Default Indigo Values:
- Mute: onState (all) | status.disconnected (Device.com.perceptiveautomation.indigoplugin.airfoilpro.speaker)
- Volume: brightness (all) | volume (Device.com.perceptiveautomation.indigoplugin.airfoilpro.speaker)
- Name: TBD
Device: Stateless Programmable Switch
Required: ProgrammableSwitchEvent
Optional: None
Default Indigo Values:
- ProgrammableSwitchEvent: TBD
Device: Switch
Required: On
Optional: None
Default Indigo Values:
- On: recording (Device.org.cynic.securityspy.camera) | onState (all) | activeZone (SprinklerDevice) | fanIsOn (ThermostatDevice) | binaryOutput1 (MultiIODevice) | state.open (Device.com.frightideas.indigoplugin.dscAlarm.alarmZone) | convertedBoolean (Device.com.eps.indigoplugin.device-extensions.epsdecon)
Device: Temperature Sensor
Required: CurrentTemperature
Optional: StatusActive | StatusFault | StatusTampered | Name | StatusLowBattery
Default Indigo Values:
- CurrentTemperature: sensorValue (SensorDevice) | temp (all) | Temperature (all) | convertedValue (Device.com.eps.indigoplugin.device-extensions.epsdecon) | temperatureInput1 (ThermostatDevice) | temperature (all) | d01_temperatureHigh (Device.com.fogbert.indigoplugin.fantasticwWeather.Daily) | temperature_F (Device.com.perceptiveautomation.indigoplugin.weathersnoop.ws3station)
- StatusActive: TBD
- StatusFault: TBD
- StatusTampered: TBD
- Name: TBD
- StatusLowBattery: Calculated (lowbattery)
Device: Thermostat
Required: CurrentHeatingCoolingState | TargetTemperature | TemperatureDisplayUnits | CurrentTemperature | TargetHeatingCoolingState
Optional: HeatingThresholdTemperature | TargetRelativeHumidity | CoolingThresholdTemperature | Name | CurrentRelativeHumidity
Default Indigo Values:
- CurrentHeatingCoolingState: Calculated (nestHvacMode) | Calculated (thermHVACMode)
- TargetTemperature: Calculated (thermTemperatureSetPoint)
- TemperatureDisplayUnits: Calculated (serverCorFSetting)
- CurrentTemperature: temperatureInput1 (ThermostatDevice)
- TargetHeatingCoolingState: Calculated (thermHVACModeSet)
- HeatingThresholdTemperature: heatSetpoint (ThermostatDevice)
- TargetRelativeHumidity: TBD
- CoolingThresholdTemperature: coolSetpoint (ThermostatDevice)
- Name: TBD
- CurrentRelativeHumidity: humidityInput1 (ThermostatDevice)
Device: Valve
Notes: This service is unsupported by the native Apple Home application but is supported, in varying degrees, in 3rd party HomeKit apps. Apps tested with this service that work are the non-Apple version of Home and Elgato Eve.
Required: Active | ValveType | InUse
Optional: StatusFault | Name | ServiceLabelIndex | IsConfigured | SetDuration | RemainingDuration
Default Indigo Values:
- Active: onState (all)
- ValveType: TBD
- InUse: onState (all)
- StatusFault: TBD
- Name: TBD
- ServiceLabelIndex: TBD
- IsConfigured: TBD
- SetDuration: TBD
- RemainingDuration: TBD
Device: Window
Required: CurrentPosition | TargetPosition | PositionState
Optional: HoldPosition | ObstructionDetected | Name
Default Indigo Values:
- CurrentPosition: brightness (all) | Calculated (onStateToFullBrightness)
- TargetPosition: brightness (all) | Calculated (onStateToFullBrightness)
- PositionState: TBD
- HoldPosition: TBD
- ObstructionDetected: TBD
- Name: TBD
Device: Window Covering
Required: CurrentPosition | TargetPosition | PositionState
Optional: CurrentHorizontalTiltAngle | CurrentVerticalTiltAngle | ObstructionDetected | TargetHorizontalTiltAngle | HoldPosition | TargetVerticalTiltAngle | Name
Default Indigo Values:
- CurrentPosition: brightness (all) | Calculated (onStateToFullBrightness)
- TargetPosition: brightness (all) | Calculated (onStateToFullBrightness)
- PositionState: TBD
- CurrentHorizontalTiltAngle: TBD
- CurrentVerticalTiltAngle: TBD
- ObstructionDetected: TBD
- TargetHorizontalTiltAngle: TBD
- HoldPosition: TBD
- TargetVerticalTiltAngle: TBD
- Name: TBD
Index: Active | BatteryLevel | Brightness | CarbonDioxideDetected | CarbonDioxideLevel | CarbonDioxidePeakLevel | CarbonMonoxideDetected | CarbonMonoxideLevel | CarbonMonoxidePeakLevel | ChargingState | ColorTemperature | ContactSensorState | CoolingThresholdTemperature | CurrentAirPurifierState | CurrentAmbientLightLevel | CurrentDoorState | CurrentFanState | CurrentHeaterCoolerState | CurrentHeatingCoolingState | CurrentHorizontalTiltAngle | CurrentHumidifierDehumidifierState | CurrentPosition | CurrentRelativeHumidity | CurrentSlatState | CurrentTemperature | CurrentVerticalTiltAngle | FilterChangeIndication | FilterLifeLevel | HeatingThresholdTemperature | HoldPosition | Hue | InUse | IsConfigured | LeakDetected | LockCurrentState | LockPhysicalControls | LockTargetState | MediaItemAlbumName | MediaItemArtist | MediaItemName | MotionDetected | Mute | Name | NitrogenDioxideDensity | ObstructionDetected | OccupancyDetected | On | OutletInUse | OzoneDensity | PM10Density | PM2_5Density | PlaybackState | PositionState | ProgramMode | ProgrammableSwitchEvent | RelativeHumidityDehumidifierThreshold | RelativeHumidityHumidifierThreshold | RemainingDuration | ResetFilterIndication | RotationDirection | RotationSpeed | Saturation | SecuritySystemAlarmType | SecuritySystemCurrentState | SecuritySystemTargetState | SelectedRTPStreamConfiguration | ServiceLabelIndex | SetDuration | SetupEndpoints | SlatType | SmokeDetected | StatusActive | StatusFault | StatusLowBattery | StatusTampered | StreamingStatus | SulphurDioxideDensity | SupportedAudioStreamConfiguration | SupportedRTPConfiguration | SupportedVideoStreamConfiguration | SwingMode | TargetAirPurifierState | TargetDoorState | TargetFanState | TargetHeaterCoolerState | TargetHeatingCoolingState | TargetHorizontalTiltAngle | TargetHumidifierDehumidifierState | TargetPosition | TargetRelativeHumidity | TargetTemperature | TargetTiltAngle | TargetVerticalTiltAngle | TemperatureDisplayUnits | VOCDensity | ValveType | Volume | WaterLevel
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([active, inactive])
readonly = False
notify = True
value = 0
maxValue = 100
minValue = 0
readonly = True
notify = True
value = 0
maxValue = 100
minValue = 0
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([levels normal, levels abnormal])
readonly = True
notify = True
value = 0.0
maxValue = 10000
minValue = 0
readonly = False
notify = True
value = 0.0
maxValue = 10000
minValue = 0
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([levels normal, levels abnormal])
readonly = True
notify = True
value = 0.0
maxValue = 100
minValue = 0
readonly = False
notify = True
value = 0.0
maxValue = 100
minValue = 0
readonly = False
notify = True
value = 0
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([not charging, charging, not chargable])
readonly = False
notify = True
value = 140
maxValue = 15000
minValue = 140
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([contact detected, contact not detected])
readonly = False
notify = True
value = 0.0
maxValue = 38
minValue = 10
readonly = False
notify = True
value = 0
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([inactive, idle, purifying air])
readonly = True
notify = True
value = 0.0
maxValue = 100
minValue = 0.0001
readonly = True
notify = True
value = 0
maxValue = 4
minValue = 0
validValues = [0, 1, 2, 3, 4] ([open, closed, opening, closing, stopped])
readonly = True
notify = True
value = 0
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([inactive, idle, blowing air])
readonly = True
notify = True
value = 1
maxValue = 3
minValue = 0
validValues = [0, 1, 2, 3] ([inactive, idle, heating, cooling])
readonly = True
notify = True
value = 0
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([off, heat cool])
readonly = True
notify = True
value = 0
maxValue = 90
minValue = -90
readonly = True
notify = True
value = 0
maxValue = 3
minValue = 0
validValues = [0, 1, 2, 3] ([inactive, idle, humidifying, dehumidifying])
readonly = True
notify = True
value = 0
maxValue = 100
minValue = 0
readonly = True
notify = True
value = 0.0
maxValue = 100
minValue = 0
readonly = True
notify = True
value = 0
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([fixed, jammed, swinging])
readonly = False
notify = True
value = 0.0
maxValue = 500
minValue = -100
readonly = True
notify = True
value = 0
maxValue = 90
minValue = -90
readonly = True
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([filter OK, change filter])
readonly = False
notify = True
value = 0.0
maxValue = 100
minValue = 0
readonly = True
notify = True
value = 0.0
maxValue = 38
minValue = 0
readonly = False
notify = True
value = True
validValues = [True, False]
readonly = True
notify = False
value = 0.0
maxValue = 360.0
minValue = 0.0
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([not in use, in use])
readonly = True
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([not configured, is configured])
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([leak not detected, leak detected])
readonly = False
notify = True
value = 0
maxValue = 3
minValue = 0
validValues = [0, 1, 2, 3] ([unsecured, secured, jammed, unknown])
readonly = True
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([lock disabled, lock enabled])
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([unsecured, secured])
readonly = False
notify = True
value =
readonly = True
notify = True
value =
readonly = True
notify = True
value =
readonly = True
notify = True
value = False
validValues = [True, False]
readonly = True
notify = False
value = False
validValues = [True, False]
readonly = False
notify = False
value =
readonly = False
notify = False
value = 0.0
maxValue = 1000.0
minValue = 0.0
readonly = True
notify = True
value = False
validValues = [True, False]
readonly = True
notify = False
value = False
validValues = [True, False]
readonly = True
notify = False
value = False
validValues = [True, False]
readonly = False
notify = False
value = False
validValues = [True, False]
readonly = True
notify = True
value = 0.0
maxValue = 1000.0
minValue = 0.0
readonly = True
notify = True
value = 0.0
maxValue = 1000.0
minValue = 0.0
readonly = True
notify = True
value = 0.0
maxValue = 1000.0
minValue = 0.0
readonly = True
notify = True
value = 2
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([playing, paused, stopped])
readonly = False
notify = True
value = 2
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([decreasing, increasing, stopped])
readonly = True
notify = True
value = 0
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([no program scheduled, program scheduled, manual mode])
readonly = True
notify = True
value = 2
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([single press, double press, long press])
readonly = True
notify = True
value = 0.0
maxValue = 100.0
minValue = 0.0
readonly = False
notify = True
value = 0.0
maxValue = 100.0
minValue = 0.0
readonly = False
notify = True
value = 0
maxValue = 43200
minValue = 0
readonly = True
notify = True
value = 1
maxValue = 1
minValue = 1
validValues = [1] ([reset filter indication])
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([clockwise, counter clockwise])
readonly = False
notify = True
value = 0.0
maxValue = 100
minValue = 0
readonly = False
notify = True
value = 0.0
maxValue = 100.0
minValue = 0.0
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([no alarm, alarm])
readonly = True
notify = True
value = 0
maxValue = 4
minValue = 0
validValues = [0, 1, 2, 3, 4] ([stay armed, away armed, night armed, disarmed, alarm triggered])
readonly = True
notify = True
value = 0
maxValue = 4
minValue = 0
validValues = [0, 1, 2, 3] ([stay arm, away arm, night arm, disarm])
readonly = False
notify = True
value =
readonly = True
notify = False
value = 1
maxValue = 255
minValue = 1
readonly = False
notify = False
value = 0
maxValue = 43200
minValue = 0
readonly = False
notify = True
value =
readonly = True
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([horizontal, vertical])
readonly = True
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([smoke not detected, smoke detected])
readonly = False
notify = True
value = True
validValues = [True, False]
readonly = True
notify = False
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([no fault, fault])
readonly = True
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([normal, low])
readonly = True
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([not tampered, tampered])
readonly = True
notify = True
value =
readonly = True
notify = True
value = 0.0
maxValue = 1000.0
minValue = 0.0
readonly = True
notify = True
value =
readonly = True
notify = False
value =
readonly = True
notify = False
value =
readonly = True
notify = False
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([disabled, enabled])
readonly = False
notify = True
value = 0
maxValue = 2
minValue = 0
validValues = [0, 1] ([manual, auto])
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([open, closed])
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([manual, auto])
readonly = False
notify = True
value = 1
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([auto, heat, cool])
readonly = True
notify = True
value = 0
maxValue = 3
minValue = 0
validValues = [0, 1, 2, 3] ([off, heat, cool, auto])
readonly = False
notify = True
value = 0
maxValue = 90
minValue = -90
readonly = False
notify = True
value = 0
maxValue = 2
minValue = 0
validValues = [0, 1, 2] ([humidifier or dehumidifier, humidifier, dehumidifier])
readonly = False
notify = True
value = 0
maxValue = 100
minValue = 0
readonly = False
notify = True
value = 0.0
maxValue = 100
minValue = 0
readonly = False
notify = True
value = 0.0
maxValue = 38
minValue = 10
readonly = False
notify = True
value = 0
maxValue = 90
minValue = -90
readonly = False
notify = True
value = 0
maxValue = 90
minValue = -90
readonly = False
notify = True
value = 0
maxValue = 1
minValue = 0
validValues = [0, 1] ([celsius, fahrenheit])
readonly = False
notify = True
value = 0.0
maxValue = 1000.0
minValue = 0.0
readonly = True
notify = True
value = 0
maxValue = 3
minValue = 0
validValues = [0, 1, 2, 3] ([generic, irrigation, shower head, water faucet])
readonly = True
notify = True
value = 0
maxValue = 100
minValue = 0
readonly = False
notify = True
value = 0.0
maxValue = 100.0
minValue = 0.0
readonly = True
notify = True
HomeKit Bridge for Indigo Copyright (c) 2018 Colorado4Wheeler
HomeKit Indigo Version 2 Homebridge Script Copyright (c) 2018 Webdeck
Indigo Copyright (c) Perceptive Automation
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.