from . import characteristics
from .model import Service
class AccessoryInformation(Service):
uuid = '3e'
identify = characteristics.Identify
manufacturer = characteristics.Manufacturer
model = characteristics.Model
name = characteristics.Name
serial_number = characteristics.SerialNumber
firmware_revision = characteristics.FirmwareRevision
optional = ('hardware_revision', 'accessory_flags')
hardware_revision = characteristics.HardwareRevision
accessory_flags = characteristics.AccessoryFlags
class Fan(Service):
uuid = '40'
name = characteristics.Name
on = characteristics.On
optional = ('speed', 'direction')
speed = characteristics.RotationSpeed
direction = characteristics.RotationDirection
class Lightbulb(Service):
uuid = '43'
on = characteristics.On
optional = ('name', 'brightness', 'hue', 'saturation', 'color_temperature')
name = characteristics.Name
brightness = characteristics.Brightness
hue = characteristics.Hue
saturation = characteristics.Saturation
color_temperature = characteristics.ColorTemperature
class LockMechanism(Service):
uuid = '45'
current_state = characteristics.LockCurrentState
target_state = characteristics.LockTargetState
optional = ('name')
name = characteristics.Name
class Outlet(Service):
uuid = '47'
on = characteristics.On
in_use = characteristics.OutletInUse
optional = ('name')
name = characteristics.Name
class TemperatureSensor(Service):
uuid = '8A'
current_temperature = characteristics.CurrentTemperature
optional = ('name', 'status_active', 'status_fault', 'status_low_battery', 'status_tampered')
name = characteristics.Name
status_active = characteristics.StatusActive
status_fault = characteristics.StatusFault
status_low_battery = characteristics.StatusLowBattery
status_tampered = characteristics.StatusTampered
class HumiditySensor(Service):
uuid = '82'
current_humidity = characteristics.CurrentRelativeHumidity
optional = ('name', 'status_active', 'status_fault', 'status_low_battery', 'status_tampered')
name = characteristics.Name
status_active = characteristics.StatusActive
status_fault = characteristics.StatusFault
status_low_battery = characteristics.StatusLowBattery
status_tampered = characteristics.StatusTampered
class WindowCovering(Service):
uuid = '8C'
target_position = characteristics.TargetPosition
current_position = characteristics.CurrentPosition
position_state = characteristics.PositionState
optional = ('name', 'hold_position', 'current_horizontal_tilt_angle',
'target_horizontal_tilt_angle', 'current_vertical_tilt_angle',
'target_vertical_tilt_angle', 'obstruction_detected')
name = characteristics.Name
hold_position = characteristics.HoldPosition
current_horizontal_tilt_angle = characteristics.CurrentHorizontalTiltAngle
target_horizontal_tilt_angle = characteristics.TargetHorizontalTiltAngle
current_vertical_tilt_angle = characteristics.CurrentVerticalTiltAngle
target_vertical_tilt_angle = characteristics.TargetVerticalTiltAngle
obstruction_detected = characteristics.ObstructionDetected
class Switch(Service):
uuid = '49'
on = characteristics.On
optional = ('name', )
name = characteristics.Name
class Thermostat(Service):
uuid = '4A'
current_state = characteristics.CurrentHeatingCoolingState
target_state = characteristics.TargetHeatingCoolingState
current_temperature = characteristics.CurrentTemperature
target_temperature = characteristics.TargetTemperature
temperature_units = characteristics.TemperatureDisplayUnits
optional = ('cooling_threshold', 'heating_threshold', 'current_humidity', 'target_humidity',
'name')
cooling_threshold = characteristics.CoolingThresholdTemperature
heating_threshold = characteristics.HeatingThresholdTemperature
current_humidity = characteristics.CurrentRelativeHumidity
target_humidity = characteristics.TargetRelativeHumidity
name = characteristics.Name