Created
July 28, 2019 10:46
-
-
Save bakman2/64b3bdfea577044302b6533ccdbaa42b to your computer and use it in GitHub Desktop.
Homekit characteristics object for reuse in Node-red
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"homekit_services": [ | |
{ | |
"Name": "Name", | |
"service": "AirPurifier", | |
"characteristics": { | |
"Active": "0, 1 (active, inactive)", | |
"TargetAirPurifierState": "0,1 (manual, auto)", | |
"CurrentAirPurifierState": "0,1,2 (inactive, idle, purify air)", | |
"LockPhysicalControls": "0,1 (lock disabled, lock enabled)", | |
"RotationSpeed": "0-100", | |
"SwingMode": "0,1 (disabled, enabled)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "AirQualitySensor", | |
"characteristics": { | |
"AirQuality": "0,1,2,3,4,5 (unknown, excellent, good, fair, inferior, poor)", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"CarbonMonoxideLevel": "0-100", | |
"OzoneDensity": "true,false", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)", | |
"NitrogenDioxideDensity": "0-1000", | |
"CarbonDioxideLevel": "0-10000", | |
"VOCDensity": "0-1000", | |
"PM2_5Density": "0-1000", | |
"SulphurDioxideDensity": "0-1000", | |
"PM10Density": "0-1000" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "BatteryService", | |
"characteristics": { | |
"BatteryLevel": "0-100", | |
"ChargingState": "0,1,2 (not charging, charging, not chargable)", | |
"StatusLowBattery": "0,1(normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "CameraRTPStreamManagement", | |
"characteristics": { | |
"SelectedRTPStreamConfiguration": "?", | |
"SetupEndpoints": "?", | |
"SupportedAudioStreamConfiguration": "?", | |
"StreamingStatus": "?", | |
"SupportedVideoStreamConfiguration": "?", | |
"SupportedRTPConfiguration": "?" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "CarbonDioxideSensor", | |
"characteristics": { | |
"CarbonDioxideDetected": "0,1 (levels normal, levels abnormal)", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)", | |
"CarbonDioxideLevel": "0-10000", | |
"CarbonDioxidePeakLevel": "0-10000" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "CarbonMonoxideSensor", | |
"characteristics": { | |
"CarbonMonoxideDetected": "0,1 (levels normal, levels abnormal)", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"CarbonMonoxideLevel": "0-100", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)", | |
"CarbonMonoxidePeakLevel": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "ContactSensor", | |
"characteristics": { | |
"ContactSensorState": "0,1 (contact detected, contact not dectected)", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Door", | |
"characteristics": { | |
"CurrentPosition": "0-100", | |
"TargetPosition": "0-100", | |
"PositionState": "0,1,2 (decreasing, increasing, stopped)", | |
"HoldPosition": "true/false", | |
"ObstructionDetected": "true/false" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Doorbell", | |
"characteristics": { | |
"ProgrammableSwitchEvent": "0,1,2 (single press, double press, long press)", | |
"Volume": "0-100", | |
"Brightness": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Fan", | |
"characteristics": { | |
"On": "true,false", | |
"RotationDirection": "0,1 (clockwise, counter clockwise)", | |
"RotationSpeed": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Fanv2", | |
"characteristics": { | |
"Active": "0, 1 (active, inactive)", | |
"LockPhysicalControls": "0,1 (lock disabled, lock enabled)", | |
"RotationDirection": "0,1 (clockwise, counter clockwise)", | |
"RotationSpeed": "0-100", | |
"CurrentFanState": "0,1,2 (inactive, idle, blowing air)", | |
"SwingMode": "0,1 (disabled, enabled)", | |
"TargetFanState": "0,1 (manual, auto)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Faucet", | |
"characteristics": { | |
"Active": "0, 1 (active, inactive)", | |
"StatusFault": "0,1 (no fault, fault)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service:": "FilterMaintenance", | |
"characteristics": { | |
"FilterChangeIndication": "0,1 (filter OK, change filter)", | |
"ResetFilterIndication": "1 (reset filter indication)", | |
"FilterLifeLevel": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service:": "GarageDoorOpener", | |
"characteristics": { | |
"ObstructionDetected": "true/false", | |
"TargetDoorState": "0,1 (open, closed)", | |
"CurrentDoorState": "0,1,2,3,4 (open, closed, opening, closing, stopped)", | |
"LockTargetState": "0,1 (unsecured, secured)", | |
"LockCurrentState": "0,1,2,3 (unsecured, secured, jammed, unknown)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "HeaterCooler", | |
"characteristics": { | |
"Active": "0, 1 (active, inactive)", | |
"CurrentHeaterCoolerState": "0,1,2,3 (inactive, idle, heating, cooling)", | |
"TargetHeaterCoolerState": "0,1,2 (auto, heat, cool)", | |
"CurrentTemperature": "-100 to 500", | |
"LockPhysicalControls": "0,1 (lock disabled, lock enabled)", | |
"RotationSpeed": "0-100", | |
"SwingMode": "0,1 (disabled, enabled)", | |
"HeatingThresholdTemperature": "0-38", | |
"TemperatureDisplayUnits": "0,1 (celsius, fahrenheit)", | |
"CoolingThresholdTemperature": "10-38" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "HumidifierDehumidifier", | |
"characteristics": { | |
"Active": "0, 1 (active, inactive)", | |
"CurrentHumidifierDehumidifierState": "0,1,2,3 (inactive, idle, humidifying, dehumidifying)", | |
"TargetHumidifierDehumidifierState": "0,1,2 (humidifier or dehumidifier, humidifier, dehumidifier)", | |
"CurrentRelativeHumidity": "0-100", | |
"LockPhysicalControls": "0,1 (lock disabled, lock enabled)", | |
"RotationSpeed": "0-100", | |
"RelativeHumidityHumidifierThreshold": "0-100", | |
"SwingMode": "0,1 (disabled, enabled)", | |
"RelativeHumidityDehumidifierThreshold": "0-100", | |
"WaterLevel": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "HumiditySensor", | |
"characteristics": { | |
"CurrentRelativeHumidity": "0-100", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "IrrigationSystem", | |
"characteristics": { | |
"Active": "0, 1 (active, inactive)", | |
"ProgramMode": "0,1,2 (no program scheduled, program scheduled, manual mode)", | |
"InUse": "0,1 (not in use, in use)", | |
"StatusFault": "0,1 (no fault, fault)", | |
"RemainingDuration": "0-43200" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "LeakSensor", | |
"characteristics": { | |
"LeakDetected": "0,1 (leak not detected, leak detected)", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "LightSensor", | |
"characteristics": { | |
"CurrentAmbientLightLevel": "0-100", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Lightbulb", | |
"characteristics": { | |
"On": "true,false", | |
"Hue": "0-360", | |
"Saturation": "0-100", | |
"ColorTemperature": "140-15000", | |
"Brightness": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "LockMechanism", | |
"characteristics": { | |
"LockTargetState": "0,1 (unsecured, secured)", | |
"LockCurrentState": "0,1,2,3 (unsecured, secured, jammed, unknown)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Microphone", | |
"characteristics": { | |
"Mute": "true,false", | |
"Volume": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "MotionSensor", | |
"characteristics": { | |
"MotionDetected": "true,false", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "OccupancySensor", | |
"characteristics": { | |
"OccupancyDetected": "true/false", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Outlet", | |
"characteristics": { | |
"On": "true/false", | |
"OutletInUse": "true/false" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "PlaybackDeviceService", | |
"characteristics": { | |
"PlaybackState": "0,1,2 (playing, paused, stopped)", | |
"MediaItemAlbumName": "?", | |
"MediaItemArtist": "?", | |
"MediaItemName": "?" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "SecuritySystem", | |
"characteristics": { | |
"SecuritySystemTargetState": "0,1,2,3,4 (stay arm, away arm, night arm, disarm)", | |
"SecuritySystemCurrentState": "0,1,2,3,4 (stay armed, away armed, night armed, disarmed, alarm triggered)", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"SecuritySystemAlarmType": "0,1 (no alarm, alarm)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Slat", | |
"characteristics": { | |
"CurrentSlatState": "0,1,2 (fixed, jammed, swinging)", | |
"SlatType": "0,1 (horizontal, vertical)", | |
"TargetTiltAngle": "-90 to 90", | |
"SwingMode": "0,1 (disabled, enabled)", | |
"CurrentVerticalTiltAngle": "-90 to 90" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "SmokeSensor", | |
"characteristics": { | |
"SmokeDetected": "", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Speaker", | |
"characteristics": { | |
"Mute": "true/false", | |
"Volume": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "StatelessProgrammableSwitch", | |
"characteristics": { | |
"ProgrammableSwitchEvent": "0,1,2 (single press, double press, long press)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Switch", | |
"characteristics": { | |
"On": "true/false" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "TemperatureSensor", | |
"characteristics": { | |
"CurrentTemperature": "-100 to 500", | |
"StatusActive": "true,false", | |
"StatusFault": "0,1 (no fault, fault)", | |
"StatusTampered": "0,1 (not tampered, tampered)", | |
"StatusLowBattery": "0,1 (normal, low)" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Thermostat", | |
"characteristics": { | |
"CurrentHeatingCoolingState": "0,1,2 (off, heat, cool)", | |
"TargetTemperature": "10-38", | |
"TemperatureDisplayUnits": "0,1 (celsius, fahrenheit)", | |
"CurrentTemperature": "-100 to 500", | |
"TargetHeatingCoolingState": "0,1,2,3 (off, heat, cool, auto)", | |
"HeatingThresholdTemperature": "0-38", | |
"TargetRelativeHumidity": "0-100", | |
"CoolingThresholdTemperature": "10-38", | |
"CurrentRelativeHumidity": "0-100" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Valve", | |
"characteristics": { | |
"Active": "0, 1 (active, inactive)", | |
"ValveType": "0,1,2,3 (generic, irrigation, shower head, water faucet)", | |
"InUse": "0,1 (not in use, in use)", | |
"StatusFault": "0,1 (no fault, fault)", | |
"ServiceLabelIndex": "1-255", | |
"IsConfigured": "0,1 (not configured, is configured)", | |
"SetDuration": "0-43200", | |
"RemainingDuration": "0-43200" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "Window", | |
"characteristics": { | |
"CurrentPosition": "0-100", | |
"TargetPosition": "0-100", | |
"PositionState": "0,1,2 (decreasing, increasing, stopped)", | |
"HoldPosition": "true/false", | |
"ObstructionDetected": "" | |
} | |
}, | |
{ | |
"Name": "Name", | |
"service": "WindowCovering", | |
"characteristics": { | |
"CurrentPosition": "0-100", | |
"TargetPosition": "0-100", | |
"PositionState": "0,1,2 (decreasing, increasing, stopped)", | |
"CurrentHorizontalTiltAngle": "-90 to 90", | |
"CurrentVerticalTiltAngle": "-90 to 90", | |
"ObstructionDetected": "true/false", | |
"TargetHorizontalTiltAngle": "-90 to 90", | |
"HoldPosition": "true/false", | |
"TargetVerticalTiltAngle": "-90 to 90" | |
} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Just some pre-made objects with its possible characteristics.
This can be used in combination with
homebridge-mqtt
ornode-red-contrib-homebridge-automation
"true/false" as boolean
values as numbers.