Controllers

A controller is the public surface for one device type — it parses Afero API payloads into typed models, caches them, and exposes async action methods (turn_on, set_state, …). Each attribute on AferoBridgeV1 is an instance of one of the controllers listed below; detail pages are generated from source with autodoc.

To find available actions for a device, open the page for that controller (or call dir(bridge.<controller>) on a live bridge). All controllers also support get_device(id), items(), and subscribe(callback, id_filter=...) from BaseResourcesController.

Bridge attribute

Controller class

bridge.dehumidifiers

Dehumidifiers

bridge.devices

Devices

bridge.exhaust_fans

Exhaust fans

bridge.fans

Fans

bridge.lights

Lights

bridge.locks

Locks

bridge.portable_acs

Portable ACs

bridge.switches

Switches

bridge.thermostats

Thermostats

bridge.security_systems

Security systems

bridge.security_systems_keypads

Security keypads

bridge.security_systems_sensors

Security sensors

bridge.valves

Valves

See also

BaseResourcesController — shared base class.

ClimateController — base for thermostats and portable ACs (not registered on the bridge directly).

Split devices — how multi-entity devices are split across controllers.