aioafero.v1.models package

Submodules

aioafero.v1.models.device module

Representation of a top-level item.

class aioafero.v1.models.device.Device(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.PARENT_DEVICE)[source]

Bases: StandardMixin

Representation of an Afero parent item.

Parameters:
type: ResourceTypes = 'parent-device'
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.PARENT_DEVICE) None
Parameters:
Return type:

None

aioafero.v1.models.exhaust_fan module

Representation of an Afero Exhaust Fan and its corresponding updates.

class aioafero.v1.models.exhaust_fan.ExhaustFan(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.EXHAUST_FAN)[source]

Bases: StandardMixin

Representation of an Afero Exhaust Fan.

Parameters:
type: ResourceTypes = 'exhaust-fan'
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.EXHAUST_FAN) None
Parameters:
Return type:

None

class aioafero.v1.models.exhaust_fan.ExhaustFanPut[source]

Bases: object

States that can be updated for an exhaust fan.

numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
__init__() None
Return type:

None

aioafero.v1.models.fan module

Representation of an Afero Fan and its corresponding updates.

class aioafero.v1.models.fan.Fan(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.FAN, on: ~aioafero.v1.models.features.OnFeature | None = None, speed: ~aioafero.v1.models.features.SpeedFeature | None = None, direction: ~aioafero.v1.models.features.DirectionFeature | None = None, preset: ~aioafero.v1.models.features.PresetFeature | None = None)[source]

Bases: StandardMixin

Representation of an Afero Fan.

Parameters:
type: ResourceTypes = 'fan'
on: OnFeature | None = None
speed: SpeedFeature | None = None
direction: DirectionFeature | None = None
preset: PresetFeature | None = None
property supports_direction

Determine if you can change the direction of the fan.

property supports_on

Determine if you can turn the fan on or off.

property supports_presets

Determine if presets are supported by this fan.

property supports_speed

Determine if a speed feature is supported by this fan.

property is_on: bool

Return bool if fan is currently powered on.

property current_direction: bool

Return if the direction is forward.

property current_speed: int

Current speed of the fan, as a percentage.

property current_preset: str | None

Current fan preset.

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.FAN, on: ~aioafero.v1.models.features.OnFeature | None = None, speed: ~aioafero.v1.models.features.SpeedFeature | None = None, direction: ~aioafero.v1.models.features.DirectionFeature | None = None, preset: ~aioafero.v1.models.features.PresetFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.fan.FanPut(on: OnFeature | None = None, speed: SpeedFeature | None = None, direction: DirectionFeature | None = None, preset: PresetFeature | None = None)[source]

Bases: object

States that can be updated for a Fan.

Parameters:
on: OnFeature | None = None
speed: SpeedFeature | None = None
direction: DirectionFeature | None = None
preset: PresetFeature | None = None
__init__(on: OnFeature | None = None, speed: SpeedFeature | None = None, direction: DirectionFeature | None = None, preset: PresetFeature | None = None) None
Parameters:
Return type:

None

aioafero.v1.models.features module

Feature Schemas used by various Afero resources.

class aioafero.v1.models.features.ColorModeFeature(mode: str)[source]

Bases: object

Represent the current mode (ie white, color) Feature object.

Parameters:

mode (str)

mode: str
property api_value

Value to send to Afero API.

__init__(mode: str) None
Parameters:

mode (str)

Return type:

None

class aioafero.v1.models.features.ColorFeature(red: int, green: int, blue: int)[source]

Bases: object

Represent RGB Feature object.

Parameters:
red: int
green: int
blue: int
property api_value

Value to send to Afero API.

__init__(red: int, green: int, blue: int) None
Parameters:
Return type:

None

class aioafero.v1.models.features.ColorTemperatureFeature(temperature: int, supported: list[int], prefix: str | None = None)[source]

Bases: object

Represent Current temperature Feature.

Parameters:
temperature: int
supported: list[int]
prefix: str | None = None
property api_value

Value to send to Afero API.

__init__(temperature: int, supported: list[int], prefix: str | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.features.CurrentPositionEnum(*values)[source]

Bases: Enum

Enum with available current position modes.

LOCKED = 'locked'
LOCKING = 'locking'
UNKNOWN = 'unknown'
UNLOCKED = 'unlocked'
UNLOCKING = 'unlocking'
class aioafero.v1.models.features.CurrentPositionFeature(position: CurrentPositionEnum)[source]

Bases: object

Represents the current position of the lock.

Parameters:

position (CurrentPositionEnum)

position: CurrentPositionEnum
property api_value

Value to send to Afero API.

__init__(position: CurrentPositionEnum) None
Parameters:

position (CurrentPositionEnum)

Return type:

None

class aioafero.v1.models.features.CurrentTemperatureFeature(temperature: float, function_class: str, function_instance: str | None)[source]

Bases: object

Represents the current temperature.

Parameters:
  • temperature (float)

  • function_class (str)

  • function_instance (str | None)

temperature: float
function_class: str
function_instance: str | None
property api_value

Value to send to Afero API.

__init__(temperature: float, function_class: str, function_instance: str | None) None
Parameters:
  • temperature (float)

  • function_class (str)

  • function_instance (str | None)

Return type:

None

class aioafero.v1.models.features.DimmingFeature(brightness: int, supported: list[int], func_instance: str | None = None)[source]

Bases: object

Represent Current temperature Feature.

Parameters:
  • brightness (int)

  • supported (list[int])

  • func_instance (str | None)

brightness: int
supported: list[int]
func_instance: str | None = None
property api_value

Value to send to Afero API.

__init__(brightness: int, supported: list[int], func_instance: str | None = None) None
Parameters:
  • brightness (int)

  • supported (list[int])

  • func_instance (str | None)

Return type:

None

class aioafero.v1.models.features.DirectionFeature(forward: bool)[source]

Bases: object

Represent Current Fan direction Feature.

Parameters:

forward (bool)

forward: bool
property api_value

Value to send to Afero API.

__init__(forward: bool) None
Parameters:

forward (bool)

Return type:

None

class aioafero.v1.models.features.EffectFeature(effect: str, effects: dict[str, set[str]])[source]

Bases: object

Represent the current effect.

Parameters:
effect: str
effects: dict[str, set[str]]
property api_value

States to send to Afero API.

is_preset(effect)[source]

Determine if the current state is a preset effect.

__init__(effect: str, effects: dict[str, set[str]]) None
Parameters:
Return type:

None

class aioafero.v1.models.features.HVACModeFeature(mode: str | None, previous_mode: str | None, supported_modes: set[str], modes: set[str])[source]

Bases: object

Represent HVAC Mode Feature.

Parameters:
  • mode (str | None)

  • previous_mode (str | None)

  • supported_modes (set[str])

  • modes (set[str])

mode: str | None
previous_mode: str | None
supported_modes: set[str]
modes: set[str]
property api_value

Value to send to Afero API.

__init__(mode: str | None, previous_mode: str | None, supported_modes: set[str], modes: set[str]) None
Parameters:
  • mode (str | None)

  • previous_mode (str | None)

  • supported_modes (set[str])

  • modes (set[str])

Return type:

None

class aioafero.v1.models.features.ModeFeature(mode: str | None, modes: set[str])[source]

Bases: object

Represent Current Fan mode Feature.

Parameters:
mode: str | None
modes: set[str]
property api_value

Value to send to Afero API.

__init__(mode: str | None, modes: set[str]) None
Parameters:
Return type:

None

class aioafero.v1.models.features.NumbersFeature(value: float, min: float, max: float, step: float, name: str | None, unit: str | None)[source]

Bases: object

Represents a numeric value.

Parameters:
value: float
min: float
max: float
step: float
name: str | None
unit: str | None
property api_value

Value to send to Afero API.

__init__(value: float, min: float, max: float, step: float, name: str | None, unit: str | None) None
Parameters:
Return type:

None

class aioafero.v1.models.features.OnFeature(on: bool, func_class: str | None = 'power', func_instance: str | None = None)[source]

Bases: object

Represent On Feature object as used by various Afero resources.

Parameters:
  • on (bool)

  • func_class (str | None)

  • func_instance (str | None)

on: bool
func_class: str | None = 'power'
func_instance: str | None = None
property api_value

Value to send to Afero API.

__init__(on: bool, func_class: str | None = 'power', func_instance: str | None = None) None
Parameters:
  • on (bool)

  • func_class (str | None)

  • func_instance (str | None)

Return type:

None

class aioafero.v1.models.features.OpenFeature(open: bool, func_class: str | None = 'toggle', func_instance: str | None = None)[source]

Bases: object

Represent Open Feature object.

Parameters:
  • open (bool)

  • func_class (str | None)

  • func_instance (str | None)

open: bool
func_class: str | None = 'toggle'
func_instance: str | None = None
property api_value

Value to send to Afero API.

__init__(open: bool, func_class: str | None = 'toggle', func_instance: str | None = None) None
Parameters:
  • open (bool)

  • func_class (str | None)

  • func_instance (str | None)

Return type:

None

class aioafero.v1.models.features.PresetFeature(enabled: bool, func_instance: str, func_class: str)[source]

Bases: object

Represent the current preset.

Parameters:
  • enabled (bool)

  • func_instance (str)

  • func_class (str)

enabled: bool
func_instance: str
func_class: str
property api_value

Value to send to Afero API.

__init__(enabled: bool, func_instance: str, func_class: str) None
Parameters:
  • enabled (bool)

  • func_instance (str)

  • func_class (str)

Return type:

None

class aioafero.v1.models.features.SecuritySensorConfigFeature(sensor_id: int, chirpMode: int, triggerType: int, bypassType: int, key_name: str)[source]

Bases: object

Represent the current security sensor configuration.

Parameters:
  • sensor_id (int)

  • chirpMode (int)

  • triggerType (int)

  • bypassType (int)

  • key_name (str)

sensor_id: int
chirpMode: int
triggerType: int
bypassType: int
key_name: str
property api_value

Value to send to Afero API.

__init__(sensor_id: int, chirpMode: int, triggerType: int, bypassType: int, key_name: str) None
Parameters:
  • sensor_id (int)

  • chirpMode (int)

  • triggerType (int)

  • bypassType (int)

  • key_name (str)

Return type:

None

class aioafero.v1.models.features.SelectFeature(selected: str, selects: set[str], name: str)[source]

Bases: object

Represent available options and currently selected.

Parameters:
selected: str
selects: set[str]
name: str
property api_value

Value to send to Afero API.

__init__(selected: str, selects: set[str], name: str) None
Parameters:
Return type:

None

class aioafero.v1.models.features.SecuritySystemDisarmPin(pin: int)[source]

Bases: object

Represent the disarm pin feature.

Parameters:

pin (int)

pin: int
property api_value

Value to send to Afero API.

__init__(pin: int) None
Parameters:

pin (int)

Return type:

None

class aioafero.v1.models.features.SecuritySensorSirenFeature(result_code: int | None, command: int | None)[source]

Bases: object

Represent the current state of the siren.

Parameters:
  • result_code (int | None)

  • command (int | None)

result_code: int | None
command: int | None
property api_value

Value to send to Afero API.

__init__(result_code: int | None, command: int | None) None
Parameters:
  • result_code (int | None)

  • command (int | None)

Return type:

None

class aioafero.v1.models.features.SpeedFeature(speed: int, speeds: list[str])[source]

Bases: object

Represent Current Fan speed Feature.

Parameters:
speed: int
speeds: list[str]
property api_value

Value to send to Afero API.

__init__(speed: int, speeds: list[str]) None
Parameters:
Return type:

None

class aioafero.v1.models.features.TargetTemperatureFeature(value: float, min: float, max: float, step: float, instance: str)[source]

Bases: object

Represents the target temperature for auto.

Parameters:
value: float
min: float
max: float
step: float
instance: str
property api_value

Value to send to Afero API.

__init__(value: float, min: float, max: float, step: float, instance: str) None
Parameters:
Return type:

None

aioafero.v1.models.hvac_mixin module

Handles generic information related to all HVAC devices.

class aioafero.v1.models.hvac_mixin.HVACMixin(*, current_temperature: CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: HVACModeFeature | None = None, target_temperature_heating: TargetTemperatureFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None, target_temperature_auto_heating: TargetTemperatureFeature | None = None, target_temperature_auto_cooling: TargetTemperatureFeature | None = None)[source]

Bases: ABC

Mixin for HVAC properties and methods.

Parameters:
current_temperature: CurrentTemperatureFeature | None = None
fan_running: bool | None = None
fan_mode: ModeFeature | None = None
hvac_action: str | None = None
hvac_mode: HVACModeFeature | None = None
target_temperature_heating: TargetTemperatureFeature | None = None
target_temperature_cooling: TargetTemperatureFeature | None = None
target_temperature_auto_heating: TargetTemperatureFeature | None = None
target_temperature_auto_cooling: TargetTemperatureFeature | None = None
property target_temperature: float | None

Temperature which the HVAC will try to achieve.

abstractmethod get_mode_to_check() str | None[source]

Determine the current mode of the thermostat.

Return type:

str | None

property target_temperature_step: float

Smallest increment for adjusting the temperature.

property target_temperature_max: float | None

Maximum target temperature.

property target_temperature_min: float | None

Minimum target temperature.

property temperature: float | None

Current temperature of the selected mode.

__init__(*, current_temperature: CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: HVACModeFeature | None = None, target_temperature_heating: TargetTemperatureFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None, target_temperature_auto_heating: TargetTemperatureFeature | None = None, target_temperature_auto_cooling: TargetTemperatureFeature | None = None) None
Parameters:
Return type:

None

aioafero.v1.models.light module

Representation of an Afero Light and its corresponding updates.

class aioafero.v1.models.light.Light(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.LIGHT, on: ~aioafero.v1.models.features.OnFeature | None = None, color: ~aioafero.v1.models.features.ColorFeature | None = None, color_mode: ~aioafero.v1.models.features.ColorModeFeature | None = None, color_modes: list[str] | None = None, color_temperature: ~aioafero.v1.models.features.ColorTemperatureFeature | None = None, dimming: ~aioafero.v1.models.features.DimmingFeature | None = None, effect: ~aioafero.v1.models.features.EffectFeature | None = None, supports_white: bool = False, dual_channel: bool = False, color_brightness: int | None = None, white_brightness: int | None = None)[source]

Bases: StandardMixin

Representation of an Afero Light.

Parameters:
type: ResourceTypes = 'light'
on: OnFeature | None = None
color: ColorFeature | None = None
color_mode: ColorModeFeature | None = None
color_modes: list[str] | None = None
color_temperature: ColorTemperatureFeature | None = None
dimming: DimmingFeature | None = None
effect: EffectFeature | None = None
supports_white: bool = False
dual_channel: bool = False
color_brightness: int | None = None
white_brightness: int | None = None
__post_init__()[source]

Determine if white only is supported.

property supports_color: bool

Return if this light supports color control.

property supports_color_temperature: bool

Return if this light supports color_temperature control.

property supports_color_white: bool

Return if this light supports setting white.

property supports_dimming: bool

Return if this light supports brightness control.

property supports_effects: bool

Return if this light supports brightness control.

property supports_on

If the light can be toggled on or off.

property is_on: bool

Return bool if light is currently powered on.

property brightness: float

Return current brightness of light.

property is_dual_channel: bool

Return True when color and white brightness are independently controllable.

channel_brightness(channel: str) float | None[source]

Return cached brightness percentage for a dual-channel zone.

Parameters:

channel (str)

Return type:

float | None

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.LIGHT, on: ~aioafero.v1.models.features.OnFeature | None = None, color: ~aioafero.v1.models.features.ColorFeature | None = None, color_mode: ~aioafero.v1.models.features.ColorModeFeature | None = None, color_modes: list[str] | None = None, color_temperature: ~aioafero.v1.models.features.ColorTemperatureFeature | None = None, dimming: ~aioafero.v1.models.features.DimmingFeature | None = None, effect: ~aioafero.v1.models.features.EffectFeature | None = None, supports_white: bool = False, dual_channel: bool = False, color_brightness: int | None = None, white_brightness: int | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.light.LightPut(on: OnFeature | None = None, color: ColorFeature | None = None, color_mode: ColorModeFeature | None = None, color_temperature: ColorTemperatureFeature | None = None, dimming: DimmingFeature | None = None, effect: EffectFeature | None = None)[source]

Bases: Generic

States that can be updated for a light.

Parameters:
on: OnFeature | None = None
color: ColorFeature | None = None
color_mode: ColorModeFeature | None = None
color_temperature: ColorTemperatureFeature | None = None
dimming: DimmingFeature | None = None
effect: EffectFeature | None = None
numbers: dict[tuple[str, str | None], NumbersFeature] | None
__init__(on: OnFeature | None = None, color: ColorFeature | None = None, color_mode: ColorModeFeature | None = None, color_temperature: ColorTemperatureFeature | None = None, dimming: DimmingFeature | None = None, effect: EffectFeature | None = None) None
Parameters:
Return type:

None

aioafero.v1.models.lock module

Representation of an Afero Lock and its corresponding updates.

class aioafero.v1.models.lock.Lock(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.LOCK, position: ~aioafero.v1.models.features.CurrentPositionFeature | None = None)[source]

Bases: StandardMixin

Representation of an Afero Lock.

Parameters:
type: ResourceTypes = 'door-lock'
position: CurrentPositionFeature | None = None
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.LOCK, position: ~aioafero.v1.models.features.CurrentPositionFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.lock.LockPut(position: CurrentPositionFeature | None = None)[source]

Bases: object

States that can be updated for a Lock.

Parameters:

position (CurrentPositionFeature | None)

position: CurrentPositionFeature | None = None
__init__(position: CurrentPositionFeature | None = None) None
Parameters:

position (CurrentPositionFeature | None)

Return type:

None

aioafero.v1.models.portable_ac module

Representation of an Afero Portable AC and its corresponding updates.

class aioafero.v1.models.portable_ac.PortableAC(*, current_temperature: ~aioafero.v1.models.features.CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ~aioafero.v1.models.features.ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: ~aioafero.v1.models.features.HVACModeFeature | None = None, target_temperature_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.PORTABLE_AC)[source]

Bases: StandardMixin, HVACMixin

Representation of an Afero Portable AC.

Parameters:
type: ResourceTypes = 'portable-air-conditioner'
numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
property supports_fan_mode: bool

Can enable fan-only mode.

get_mode_to_check() str | None[source]

Determine the current mode of the thermostat.

Return type:

str | None

property supports_temperature_range: bool

Range which the thermostat will heat / cool.

__init__(*, current_temperature: ~aioafero.v1.models.features.CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ~aioafero.v1.models.features.ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: ~aioafero.v1.models.features.HVACModeFeature | None = None, target_temperature_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.PORTABLE_AC) None
Parameters:
Return type:

None

class aioafero.v1.models.portable_ac.PortableACPut(current_temperature: CurrentTemperatureFeature | None = None, hvac_mode: HVACModeFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None)[source]

Bases: object

States that can be updated for a Portable AC.

Parameters:
current_temperature: CurrentTemperatureFeature | None = None
hvac_mode: HVACModeFeature | None = None
target_temperature_cooling: TargetTemperatureFeature | None = None
numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
__init__(current_temperature: CurrentTemperatureFeature | None = None, hvac_mode: HVACModeFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None) None
Parameters:
Return type:

None

aioafero.v1.models.resource module

Generic/base Resource Model(s).

class aioafero.v1.models.resource.ResourceTypes(*values)[source]

Bases: Enum

Type of the supported resources.

DEVICE = 'metadevice.device'
HOME = 'metadata.home'
ROOM = 'metadata.room'
EXHAUST_FAN = 'exhaust-fan'
FAN = 'fan'
LANDSCAPE_TRANSFORMER = 'landscape-transformer'
LIGHT = 'light'
LOCK = 'door-lock'
PARENT_DEVICE = 'parent-device'
PORTABLE_AC = 'portable-air-conditioner'
POWER_OUTLET = 'power-outlet'
SECURITY_SYSTEM = 'security-system'
SECURITY_SYSTEM_KEYPAD = 'security-system-keypad'
SECURITY_SYSTEM_SENSOR = 'security-system-sensor'
SWITCH = 'switch'
THERMOSTAT = 'thermostat'
UNKNOWN = 'unknown'
WATER_TIMER = 'water-timer'
class aioafero.v1.models.resource.DeviceInformation(device_class: str | None = None, default_image: str | None = None, default_name: str | None = None, manufacturer: str | None = None, model: str | None = None, name: str | None = None, parent_id: str | None = None, wifi_mac: str | None = None, ble_mac: str | None = None, version_data: dict | None = None, children: list[str] | None = None, functions: list[dict[str, Any]] | None = None)[source]

Bases: object

Generic Device Information.

Parameters:
  • device_class (str | None)

  • default_image (str | None)

  • default_name (str | None)

  • manufacturer (str | None)

  • model (str | None)

  • name (str | None)

  • parent_id (str | None)

  • wifi_mac (str | None)

  • ble_mac (str | None)

  • version_data (dict | None)

  • children (list[str] | None)

  • functions (list[dict[str, Any]] | None)

device_class: str | None = None
default_image: str | None = None
default_name: str | None = None
manufacturer: str | None = None
model: str | None = None
name: str | None = None
parent_id: str | None = None
wifi_mac: str | None = None
ble_mac: str | None = None
version_data: dict | None = None
children: list[str] | None = None
functions: list[dict[str, Any]] | None = None
__init__(device_class: str | None = None, default_image: str | None = None, default_name: str | None = None, manufacturer: str | None = None, model: str | None = None, name: str | None = None, parent_id: str | None = None, wifi_mac: str | None = None, ble_mac: str | None = None, version_data: dict | None = None, children: list[str] | None = None, functions: list[dict[str, Any]] | None = None) None
Parameters:
  • device_class (str | None)

  • default_image (str | None)

  • default_name (str | None)

  • manufacturer (str | None)

  • model (str | None)

  • name (str | None)

  • parent_id (str | None)

  • wifi_mac (str | None)

  • ble_mac (str | None)

  • version_data (dict | None)

  • children (list[str] | None)

  • functions (list[dict[str, Any]] | None)

Return type:

None

aioafero.v1.models.security_system module

Representation of an Afero Security System and its corresponding updates.

class aioafero.v1.models.security_system.SecuritySystem(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM, alarm_state: ~aioafero.v1.models.features.ModeFeature | None = None, siren_action: ~aioafero.v1.models.features.SecuritySensorSirenFeature | None = None)[source]

Bases: StandardMixin

Representation of an Afero Security Panel.

Parameters:
type: ResourceTypes = 'security-system'
alarm_state: ModeFeature | None = None
siren_action: SecuritySensorSirenFeature | None = None
property supports_away: bool

States if the panel supports away mode.

property supports_arm_bypass: bool

States if the panel supports arm-bypass mode.

property supports_home: bool

States if the panel supports home mode.

property supports_night: bool

States if the panel supports night mode.

property supports_vacation: bool

States if the panel supports vacation mode.

property supports_trigger: bool

States if the panel supports manually triggering.

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM, alarm_state: ~aioafero.v1.models.features.ModeFeature | None = None, siren_action: ~aioafero.v1.models.features.SecuritySensorSirenFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.security_system.SecuritySystemPut(alarm_state: ModeFeature | None = None, siren_action: SecuritySensorSirenFeature | None = None, disarm_pin: SecuritySystemDisarmPin | None = None)[source]

Bases: object

States that can be updated for a Security System.

Parameters:
alarm_state: ModeFeature | None = None
siren_action: SecuritySensorSirenFeature | None = None
disarm_pin: SecuritySystemDisarmPin | None = None
numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
__init__(alarm_state: ModeFeature | None = None, siren_action: SecuritySensorSirenFeature | None = None, disarm_pin: SecuritySystemDisarmPin | None = None) None
Parameters:
Return type:

None

aioafero.v1.models.security_system_keypad module

Representation of an Afero Security System Keypad and its corresponding updates.

class aioafero.v1.models.security_system_keypad.SecuritySystemKeypad(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM_KEYPAD)[source]

Bases: StandardMixin

Representation of an Afero Security Keypad.

Parameters:
type: ResourceTypes = 'security-system-keypad'
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM_KEYPAD) None
Parameters:
Return type:

None

class aioafero.v1.models.security_system_keypad.SecuritySystemKeypadPut[source]

Bases: object

States that can be updated for a Security System Keypad.

selects: dict[tuple[str, str | None], SelectFeature] | None
__init__() None
Return type:

None

aioafero.v1.models.security_system_sensor module

Representation of an Afero Security System Sensor (derived) and its corresponding updates.

class aioafero.v1.models.security_system_sensor.SecuritySystemSensor(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM_SENSOR, config_key: str | None = None)[source]

Bases: StandardMixin

Representation of a security system sensor.

Parameters:
type: ResourceTypes = 'security-system-sensor'
config_key: str | None = None
property instance

Instance for the split device.

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM_SENSOR, config_key: str | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.security_system_sensor.SecuritySystemSensorPut[source]

Bases: object

States that can be updated for a Security System Sensor.

sensor_config: SecuritySensorConfigFeature | None
__init__() None
Return type:

None

aioafero.v1.models.sensor module

Representation of an Afero Sensor and its corresponding updates.

class aioafero.v1.models.sensor.AferoSensor(id: str, owner: str, value: str | int | float | None, unit: str | None = None, instance: str | None = None)[source]

Bases: object

Sensor that can return any value.

Parameters:
id: str
owner: str
value: str | int | float | None
unit: str | None = None
instance: str | None = None
__init__(id: str, owner: str, value: str | int | float | None, unit: str | None = None, instance: str | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.sensor.AferoBinarySensor(id: str, owner: str, current_value: str | int, _error: str | int, unit: str | None = None, instance: str | None = None)[source]

Bases: object

Sensor that can return True (alerting) or False (normal).

Parameters:
id: str
owner: str
current_value: str | int
unit: str | None = None
instance: str | None = None
property value: bool

Determine if the binary sensor is in an alert state.

__init__(id: str, owner: str, current_value: str | int, _error: str | int, unit: str | None = None, instance: str | None = None) None
Parameters:
Return type:

None

aioafero.v1.models.standard_mixin module

Handles generic information related to all devices.

class aioafero.v1.models.standard_mixin.StandardMixin(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>)[source]

Bases: object

Mixin for standard properties and methods.

Parameters:
available: bool
device_information: DeviceInformation
split_identifier: str | None = None
numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
sensors: dict[str, AferoSensor]
binary_sensors: dict[str, AferoBinarySensor]
instances: dict
__post_init__()[source]

Configure the available instances.

get_instance(elem)[source]

Lookup the instance associated with the elem.

property id

ID for the device (split or normal).

property instance

Instance for the split device.

property update_id: str

ID used when sending updates to Afero API.

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>) None
Parameters:
Return type:

None

aioafero.v1.models.switch module

Representation of an Afero Switch and its corresponding updates.

class aioafero.v1.models.switch.Switch(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SWITCH, on: dict[str | None, ~aioafero.v1.models.features.OnFeature] | None = None)[source]

Bases: StandardMixin

Representation of an Afero Switch.

Parameters:
type: ResourceTypes = 'switch'
on: dict[str | None, OnFeature] | None = None
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SWITCH, on: dict[str | None, ~aioafero.v1.models.features.OnFeature] | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.switch.SwitchPut(on: OnFeature | None = None)[source]

Bases: object

States that can be updated for a Switch.

Parameters:

on (OnFeature | None)

on: OnFeature | None = None
__init__(on: OnFeature | None = None) None
Parameters:

on (OnFeature | None)

Return type:

None

aioafero.v1.models.thermostat module

Representation of an Afero Thermostat and its corresponding updates.

class aioafero.v1.models.thermostat.Thermostat(*, current_temperature: ~aioafero.v1.models.features.CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ~aioafero.v1.models.features.ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: ~aioafero.v1.models.features.HVACModeFeature | None = None, target_temperature_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.THERMOSTAT, safety_max_temp: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, safety_min_temp: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None)[source]

Bases: StandardMixin, HVACMixin

Representation of an Afero Thermostat.

Parameters:
type: ResourceTypes = 'thermostat'
safety_max_temp: TargetTemperatureFeature | None = None
safety_min_temp: TargetTemperatureFeature | None = None
property target_temperature_range: tuple[float, float]

Range which the thermostat supports.

get_mode_to_check() str | None[source]

Determine the current mode of the thermostat.

Return type:

str | None

property supports_fan_mode: bool

Can enable fan-only mode.

property supports_temperature_range: bool

Range which the thermostat will heat / cool.

__init__(*, current_temperature: ~aioafero.v1.models.features.CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ~aioafero.v1.models.features.ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: ~aioafero.v1.models.features.HVACModeFeature | None = None, target_temperature_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.THERMOSTAT, safety_max_temp: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, safety_min_temp: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.thermostat.ThermostatPut(fan_mode: ModeFeature | None = None, hvac_mode: HVACModeFeature | None = None, safety_max_temp: TargetTemperatureFeature | None = None, safety_min_temp: TargetTemperatureFeature | None = None, target_temperature_auto_heating: TargetTemperatureFeature | None = None, target_temperature_auto_cooling: TargetTemperatureFeature | None = None, target_temperature_heating: TargetTemperatureFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None)[source]

Bases: object

States that can be updated for a Thermostat.

Parameters:
fan_mode: ModeFeature | None = None
hvac_mode: HVACModeFeature | None = None
safety_max_temp: TargetTemperatureFeature | None = None
safety_min_temp: TargetTemperatureFeature | None = None
target_temperature_auto_heating: TargetTemperatureFeature | None = None
target_temperature_auto_cooling: TargetTemperatureFeature | None = None
target_temperature_heating: TargetTemperatureFeature | None = None
target_temperature_cooling: TargetTemperatureFeature | None = None
__init__(fan_mode: ModeFeature | None = None, hvac_mode: HVACModeFeature | None = None, safety_max_temp: TargetTemperatureFeature | None = None, safety_min_temp: TargetTemperatureFeature | None = None, target_temperature_auto_heating: TargetTemperatureFeature | None = None, target_temperature_auto_cooling: TargetTemperatureFeature | None = None, target_temperature_heating: TargetTemperatureFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None) None
Parameters:
Return type:

None

aioafero.v1.models.valve module

Representation of an Afero Valve and its corresponding updates.

class aioafero.v1.models.valve.Valve(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.WATER_TIMER, open: dict[str | None, ~aioafero.v1.models.features.OpenFeature] = <factory>)[source]

Bases: StandardMixin

Representation of an Afero Valve.

Parameters:
type: ResourceTypes = 'water-timer'
open: dict[str | None, OpenFeature]
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.WATER_TIMER, open: dict[str | None, ~aioafero.v1.models.features.OpenFeature] = <factory>) None
Parameters:
Return type:

None

class aioafero.v1.models.valve.ValvePut(open: OpenFeature | None = None)[source]

Bases: object

States that can be updated for a Valve.

Parameters:

open (OpenFeature | None)

open: OpenFeature | None = None
__init__(open: OpenFeature | None = None) None
Parameters:

open (OpenFeature | None)

Return type:

None

Module contents

Models for all currently-tracked Afero IoT device classes.

class aioafero.v1.models.AferoBinarySensor(id: str, owner: str, current_value: str | int, _error: str | int, unit: str | None = None, instance: str | None = None)[source]

Bases: object

Sensor that can return True (alerting) or False (normal).

Parameters:
id: str
owner: str
current_value: str | int
unit: str | None = None
instance: str | None = None
property value: bool

Determine if the binary sensor is in an alert state.

__init__(id: str, owner: str, current_value: str | int, _error: str | int, unit: str | None = None, instance: str | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.AferoSensor(id: str, owner: str, value: str | int | float | None, unit: str | None = None, instance: str | None = None)[source]

Bases: object

Sensor that can return any value.

Parameters:
id: str
owner: str
value: str | int | float | None
unit: str | None = None
instance: str | None = None
__init__(id: str, owner: str, value: str | int | float | None, unit: str | None = None, instance: str | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.Device(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.PARENT_DEVICE)[source]

Bases: StandardMixin

Representation of an Afero parent item.

Parameters:
type: ResourceTypes = 'parent-device'
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.PARENT_DEVICE) None
Parameters:
Return type:

None

class aioafero.v1.models.DeviceInformation(device_class: str | None = None, default_image: str | None = None, default_name: str | None = None, manufacturer: str | None = None, model: str | None = None, name: str | None = None, parent_id: str | None = None, wifi_mac: str | None = None, ble_mac: str | None = None, version_data: dict | None = None, children: list[str] | None = None, functions: list[dict[str, Any]] | None = None)[source]

Bases: object

Generic Device Information.

Parameters:
  • device_class (str | None)

  • default_image (str | None)

  • default_name (str | None)

  • manufacturer (str | None)

  • model (str | None)

  • name (str | None)

  • parent_id (str | None)

  • wifi_mac (str | None)

  • ble_mac (str | None)

  • version_data (dict | None)

  • children (list[str] | None)

  • functions (list[dict[str, Any]] | None)

device_class: str | None = None
default_image: str | None = None
default_name: str | None = None
manufacturer: str | None = None
model: str | None = None
name: str | None = None
parent_id: str | None = None
wifi_mac: str | None = None
ble_mac: str | None = None
version_data: dict | None = None
children: list[str] | None = None
functions: list[dict[str, Any]] | None = None
__init__(device_class: str | None = None, default_image: str | None = None, default_name: str | None = None, manufacturer: str | None = None, model: str | None = None, name: str | None = None, parent_id: str | None = None, wifi_mac: str | None = None, ble_mac: str | None = None, version_data: dict | None = None, children: list[str] | None = None, functions: list[dict[str, Any]] | None = None) None
Parameters:
  • device_class (str | None)

  • default_image (str | None)

  • default_name (str | None)

  • manufacturer (str | None)

  • model (str | None)

  • name (str | None)

  • parent_id (str | None)

  • wifi_mac (str | None)

  • ble_mac (str | None)

  • version_data (dict | None)

  • children (list[str] | None)

  • functions (list[dict[str, Any]] | None)

Return type:

None

class aioafero.v1.models.ExhaustFan(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.EXHAUST_FAN)[source]

Bases: StandardMixin

Representation of an Afero Exhaust Fan.

Parameters:
type: ResourceTypes = 'exhaust-fan'
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.EXHAUST_FAN) None
Parameters:
Return type:

None

class aioafero.v1.models.ExhaustFanPut[source]

Bases: object

States that can be updated for an exhaust fan.

numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
__init__() None
Return type:

None

class aioafero.v1.models.Fan(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.FAN, on: ~aioafero.v1.models.features.OnFeature | None = None, speed: ~aioafero.v1.models.features.SpeedFeature | None = None, direction: ~aioafero.v1.models.features.DirectionFeature | None = None, preset: ~aioafero.v1.models.features.PresetFeature | None = None)[source]

Bases: StandardMixin

Representation of an Afero Fan.

Parameters:
type: ResourceTypes = 'fan'
on: OnFeature | None = None
speed: SpeedFeature | None = None
direction: DirectionFeature | None = None
preset: PresetFeature | None = None
property supports_direction

Determine if you can change the direction of the fan.

property supports_on

Determine if you can turn the fan on or off.

property supports_presets

Determine if presets are supported by this fan.

property supports_speed

Determine if a speed feature is supported by this fan.

property is_on: bool

Return bool if fan is currently powered on.

property current_direction: bool

Return if the direction is forward.

property current_speed: int

Current speed of the fan, as a percentage.

property current_preset: str | None

Current fan preset.

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.FAN, on: ~aioafero.v1.models.features.OnFeature | None = None, speed: ~aioafero.v1.models.features.SpeedFeature | None = None, direction: ~aioafero.v1.models.features.DirectionFeature | None = None, preset: ~aioafero.v1.models.features.PresetFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.FanPut(on: OnFeature | None = None, speed: SpeedFeature | None = None, direction: DirectionFeature | None = None, preset: PresetFeature | None = None)[source]

Bases: object

States that can be updated for a Fan.

Parameters:
on: OnFeature | None = None
speed: SpeedFeature | None = None
direction: DirectionFeature | None = None
preset: PresetFeature | None = None
__init__(on: OnFeature | None = None, speed: SpeedFeature | None = None, direction: DirectionFeature | None = None, preset: PresetFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.Light(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.LIGHT, on: ~aioafero.v1.models.features.OnFeature | None = None, color: ~aioafero.v1.models.features.ColorFeature | None = None, color_mode: ~aioafero.v1.models.features.ColorModeFeature | None = None, color_modes: list[str] | None = None, color_temperature: ~aioafero.v1.models.features.ColorTemperatureFeature | None = None, dimming: ~aioafero.v1.models.features.DimmingFeature | None = None, effect: ~aioafero.v1.models.features.EffectFeature | None = None, supports_white: bool = False, dual_channel: bool = False, color_brightness: int | None = None, white_brightness: int | None = None)[source]

Bases: StandardMixin

Representation of an Afero Light.

Parameters:
type: ResourceTypes = 'light'
on: OnFeature | None = None
color: ColorFeature | None = None
color_mode: ColorModeFeature | None = None
color_modes: list[str] | None = None
color_temperature: ColorTemperatureFeature | None = None
dimming: DimmingFeature | None = None
effect: EffectFeature | None = None
supports_white: bool = False
dual_channel: bool = False
color_brightness: int | None = None
white_brightness: int | None = None
__post_init__()[source]

Determine if white only is supported.

property supports_color: bool

Return if this light supports color control.

property supports_color_temperature: bool

Return if this light supports color_temperature control.

property supports_color_white: bool

Return if this light supports setting white.

property supports_dimming: bool

Return if this light supports brightness control.

property supports_effects: bool

Return if this light supports brightness control.

property supports_on

If the light can be toggled on or off.

property is_on: bool

Return bool if light is currently powered on.

property brightness: float

Return current brightness of light.

property is_dual_channel: bool

Return True when color and white brightness are independently controllable.

channel_brightness(channel: str) float | None[source]

Return cached brightness percentage for a dual-channel zone.

Parameters:

channel (str)

Return type:

float | None

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.LIGHT, on: ~aioafero.v1.models.features.OnFeature | None = None, color: ~aioafero.v1.models.features.ColorFeature | None = None, color_mode: ~aioafero.v1.models.features.ColorModeFeature | None = None, color_modes: list[str] | None = None, color_temperature: ~aioafero.v1.models.features.ColorTemperatureFeature | None = None, dimming: ~aioafero.v1.models.features.DimmingFeature | None = None, effect: ~aioafero.v1.models.features.EffectFeature | None = None, supports_white: bool = False, dual_channel: bool = False, color_brightness: int | None = None, white_brightness: int | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.LightPut(on: OnFeature | None = None, color: ColorFeature | None = None, color_mode: ColorModeFeature | None = None, color_temperature: ColorTemperatureFeature | None = None, dimming: DimmingFeature | None = None, effect: EffectFeature | None = None)[source]

Bases: Generic

States that can be updated for a light.

Parameters:
on: OnFeature | None = None
color: ColorFeature | None = None
color_mode: ColorModeFeature | None = None
color_temperature: ColorTemperatureFeature | None = None
dimming: DimmingFeature | None = None
effect: EffectFeature | None = None
numbers: dict[tuple[str, str | None], NumbersFeature] | None
__init__(on: OnFeature | None = None, color: ColorFeature | None = None, color_mode: ColorModeFeature | None = None, color_temperature: ColorTemperatureFeature | None = None, dimming: DimmingFeature | None = None, effect: EffectFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.Lock(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.LOCK, position: ~aioafero.v1.models.features.CurrentPositionFeature | None = None)[source]

Bases: StandardMixin

Representation of an Afero Lock.

Parameters:
type: ResourceTypes = 'door-lock'
position: CurrentPositionFeature | None = None
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.LOCK, position: ~aioafero.v1.models.features.CurrentPositionFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.LockPut(position: CurrentPositionFeature | None = None)[source]

Bases: object

States that can be updated for a Lock.

Parameters:

position (CurrentPositionFeature | None)

position: CurrentPositionFeature | None = None
__init__(position: CurrentPositionFeature | None = None) None
Parameters:

position (CurrentPositionFeature | None)

Return type:

None

class aioafero.v1.models.PortableAC(*, current_temperature: ~aioafero.v1.models.features.CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ~aioafero.v1.models.features.ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: ~aioafero.v1.models.features.HVACModeFeature | None = None, target_temperature_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.PORTABLE_AC)[source]

Bases: StandardMixin, HVACMixin

Representation of an Afero Portable AC.

Parameters:
type: ResourceTypes = 'portable-air-conditioner'
numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
property supports_fan_mode: bool

Can enable fan-only mode.

get_mode_to_check() str | None[source]

Determine the current mode of the thermostat.

Return type:

str | None

property supports_temperature_range: bool

Range which the thermostat will heat / cool.

__init__(*, current_temperature: ~aioafero.v1.models.features.CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ~aioafero.v1.models.features.ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: ~aioafero.v1.models.features.HVACModeFeature | None = None, target_temperature_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.PORTABLE_AC) None
Parameters:
Return type:

None

class aioafero.v1.models.PortableACPut(current_temperature: CurrentTemperatureFeature | None = None, hvac_mode: HVACModeFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None)[source]

Bases: object

States that can be updated for a Portable AC.

Parameters:
current_temperature: CurrentTemperatureFeature | None = None
hvac_mode: HVACModeFeature | None = None
target_temperature_cooling: TargetTemperatureFeature | None = None
numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
__init__(current_temperature: CurrentTemperatureFeature | None = None, hvac_mode: HVACModeFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.ResourceTypes(*values)[source]

Bases: Enum

Type of the supported resources.

DEVICE = 'metadevice.device'
HOME = 'metadata.home'
ROOM = 'metadata.room'
EXHAUST_FAN = 'exhaust-fan'
FAN = 'fan'
LANDSCAPE_TRANSFORMER = 'landscape-transformer'
LIGHT = 'light'
LOCK = 'door-lock'
PARENT_DEVICE = 'parent-device'
PORTABLE_AC = 'portable-air-conditioner'
POWER_OUTLET = 'power-outlet'
SECURITY_SYSTEM = 'security-system'
SECURITY_SYSTEM_KEYPAD = 'security-system-keypad'
SECURITY_SYSTEM_SENSOR = 'security-system-sensor'
SWITCH = 'switch'
THERMOSTAT = 'thermostat'
UNKNOWN = 'unknown'
WATER_TIMER = 'water-timer'
class aioafero.v1.models.SecuritySystem(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM, alarm_state: ~aioafero.v1.models.features.ModeFeature | None = None, siren_action: ~aioafero.v1.models.features.SecuritySensorSirenFeature | None = None)[source]

Bases: StandardMixin

Representation of an Afero Security Panel.

Parameters:
type: ResourceTypes = 'security-system'
alarm_state: ModeFeature | None = None
siren_action: SecuritySensorSirenFeature | None = None
property supports_away: bool

States if the panel supports away mode.

property supports_arm_bypass: bool

States if the panel supports arm-bypass mode.

property supports_home: bool

States if the panel supports home mode.

property supports_night: bool

States if the panel supports night mode.

property supports_vacation: bool

States if the panel supports vacation mode.

property supports_trigger: bool

States if the panel supports manually triggering.

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM, alarm_state: ~aioafero.v1.models.features.ModeFeature | None = None, siren_action: ~aioafero.v1.models.features.SecuritySensorSirenFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.SecuritySystemKeypad(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM_KEYPAD)[source]

Bases: StandardMixin

Representation of an Afero Security Keypad.

Parameters:
type: ResourceTypes = 'security-system-keypad'
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM_KEYPAD) None
Parameters:
Return type:

None

class aioafero.v1.models.SecuritySystemKeypadPut[source]

Bases: object

States that can be updated for a Security System Keypad.

selects: dict[tuple[str, str | None], SelectFeature] | None
__init__() None
Return type:

None

class aioafero.v1.models.SecuritySystemPut(alarm_state: ModeFeature | None = None, siren_action: SecuritySensorSirenFeature | None = None, disarm_pin: SecuritySystemDisarmPin | None = None)[source]

Bases: object

States that can be updated for a Security System.

Parameters:
alarm_state: ModeFeature | None = None
siren_action: SecuritySensorSirenFeature | None = None
disarm_pin: SecuritySystemDisarmPin | None = None
numbers: dict[tuple[str, str | None], NumbersFeature] | None
selects: dict[tuple[str, str | None], SelectFeature] | None
__init__(alarm_state: ModeFeature | None = None, siren_action: SecuritySensorSirenFeature | None = None, disarm_pin: SecuritySystemDisarmPin | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.SecuritySystemSensor(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM_SENSOR, config_key: str | None = None)[source]

Bases: StandardMixin

Representation of a security system sensor.

Parameters:
type: ResourceTypes = 'security-system-sensor'
config_key: str | None = None
property instance

Instance for the split device.

__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SECURITY_SYSTEM_SENSOR, config_key: str | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.SecuritySystemSensorPut[source]

Bases: object

States that can be updated for a Security System Sensor.

sensor_config: SecuritySensorConfigFeature | None
__init__() None
Return type:

None

class aioafero.v1.models.Switch(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SWITCH, on: dict[str | None, ~aioafero.v1.models.features.OnFeature] | None = None)[source]

Bases: StandardMixin

Representation of an Afero Switch.

Parameters:
type: ResourceTypes = 'switch'
on: dict[str | None, OnFeature] | None = None
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.SWITCH, on: dict[str | None, ~aioafero.v1.models.features.OnFeature] | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.SwitchPut(on: OnFeature | None = None)[source]

Bases: object

States that can be updated for a Switch.

Parameters:

on (OnFeature | None)

on: OnFeature | None = None
__init__(on: OnFeature | None = None) None
Parameters:

on (OnFeature | None)

Return type:

None

class aioafero.v1.models.Thermostat(*, current_temperature: ~aioafero.v1.models.features.CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ~aioafero.v1.models.features.ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: ~aioafero.v1.models.features.HVACModeFeature | None = None, target_temperature_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.THERMOSTAT, safety_max_temp: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, safety_min_temp: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None)[source]

Bases: StandardMixin, HVACMixin

Representation of an Afero Thermostat.

Parameters:
type: ResourceTypes = 'thermostat'
safety_max_temp: TargetTemperatureFeature | None = None
safety_min_temp: TargetTemperatureFeature | None = None
property target_temperature_range: tuple[float, float]

Range which the thermostat supports.

get_mode_to_check() str | None[source]

Determine the current mode of the thermostat.

Return type:

str | None

property supports_fan_mode: bool

Can enable fan-only mode.

property supports_temperature_range: bool

Range which the thermostat will heat / cool.

__init__(*, current_temperature: ~aioafero.v1.models.features.CurrentTemperatureFeature | None = None, fan_running: bool | None = None, fan_mode: ~aioafero.v1.models.features.ModeFeature | None = None, hvac_action: str | None = None, hvac_mode: ~aioafero.v1.models.features.HVACModeFeature | None = None, target_temperature_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_heating: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, target_temperature_auto_cooling: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.THERMOSTAT, safety_max_temp: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None, safety_min_temp: ~aioafero.v1.models.features.TargetTemperatureFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.ThermostatPut(fan_mode: ModeFeature | None = None, hvac_mode: HVACModeFeature | None = None, safety_max_temp: TargetTemperatureFeature | None = None, safety_min_temp: TargetTemperatureFeature | None = None, target_temperature_auto_heating: TargetTemperatureFeature | None = None, target_temperature_auto_cooling: TargetTemperatureFeature | None = None, target_temperature_heating: TargetTemperatureFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None)[source]

Bases: object

States that can be updated for a Thermostat.

Parameters:
fan_mode: ModeFeature | None = None
hvac_mode: HVACModeFeature | None = None
safety_max_temp: TargetTemperatureFeature | None = None
safety_min_temp: TargetTemperatureFeature | None = None
target_temperature_auto_heating: TargetTemperatureFeature | None = None
target_temperature_auto_cooling: TargetTemperatureFeature | None = None
target_temperature_heating: TargetTemperatureFeature | None = None
target_temperature_cooling: TargetTemperatureFeature | None = None
__init__(fan_mode: ModeFeature | None = None, hvac_mode: HVACModeFeature | None = None, safety_max_temp: TargetTemperatureFeature | None = None, safety_min_temp: TargetTemperatureFeature | None = None, target_temperature_auto_heating: TargetTemperatureFeature | None = None, target_temperature_auto_cooling: TargetTemperatureFeature | None = None, target_temperature_heating: TargetTemperatureFeature | None = None, target_temperature_cooling: TargetTemperatureFeature | None = None) None
Parameters:
Return type:

None

class aioafero.v1.models.Valve(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.WATER_TIMER, open: dict[str | None, ~aioafero.v1.models.features.OpenFeature] = <factory>)[source]

Bases: StandardMixin

Representation of an Afero Valve.

Parameters:
type: ResourceTypes = 'water-timer'
open: dict[str | None, OpenFeature]
__init__(*, _id: str, available: bool, device_information: ~aioafero.v1.models.resource.DeviceInformation = <factory>, split_identifier: str | None = None, numbers: dict[tuple[str, str | None], ~aioafero.v1.models.features.NumbersFeature] | None = <factory>, selects: dict[tuple[str, str | None], ~aioafero.v1.models.features.SelectFeature] | None = <factory>, sensors: dict[str, ~aioafero.v1.models.sensor.AferoSensor] = <factory>, binary_sensors: dict[str, ~aioafero.v1.models.sensor.AferoBinarySensor] = <factory>, type: ~aioafero.v1.models.resource.ResourceTypes = ResourceTypes.WATER_TIMER, open: dict[str | None, ~aioafero.v1.models.features.OpenFeature] = <factory>) None
Parameters:
Return type:

None

class aioafero.v1.models.ValvePut(open: OpenFeature | None = None)[source]

Bases: object

States that can be updated for a Valve.

Parameters:

open (OpenFeature | None)

open: OpenFeature | None = None
__init__(open: OpenFeature | None = None) None
Parameters:

open (OpenFeature | None)

Return type:

None