enhomie.ubiquiti package#

Subpackages#

Submodules#

enhomie.ubiquiti.device module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enhomie.ubiquiti.device.UbiqDevice(homie: Homie, name: str, params: HomieChildParams)[source]#

Bases: HomieDevice

Contain the relevant attributes from the related source.

property family: Literal['ubiquiti']#

Return the value for the attribute from class instance.

Returns:

Value for the attribute from class instance.

enhomie.ubiquiti.helpers module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

enhomie.ubiquiti.helpers.merge_fetch(fetch: dict[str, Any]) dict[str, dict[str, Any]][source]#

Return the content related to the item in parent system.

Parameters:

fetch – Dictionary from the origin to be updated.

Returns:

Content related to the item in parent system.

enhomie.ubiquiti.helpers.merge_find(merge: dict[str, dict[str, Any]], kind: HomieKinds | None = None, unique: str | None = None, label: str | None = None) list[dict[str, Any]][source]#

Return the content related to the item in parent system.

Parameters:
  • merge – Dictionary from the origin to be updated.

  • kind – Which kind of Homie object will be located.

  • unique – Unique identifier within parents system.

  • label – Friendly name or label within the parent.

Returns:

Content related to the item in parent system.

enhomie.ubiquiti.models module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enhomie.ubiquiti.models.UbiqDriverHelpers[source]#

Bases: object

Return the class object that was imported within method.

Note

These are used with the Homie Automate Jinja2 parser.

classmethod latest() Callable[[...], Any][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

class enhomie.ubiquiti.models.UbiqDriverModels[source]#

Bases: object

Return the class object that was imported within method.

classmethod client() Type[DriverUbiqClientParams][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

classmethod helpers() Type[UbiqDriverHelpers][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

class enhomie.ubiquiti.models.UbiqModels[source]#

Bases: object

Return the class object that was imported within method.

classmethod drivers() Type[UbiqDriverModels][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

classmethod origin() Type[UbiqOriginParams][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

classmethod update() Type[UbiqUpdateItem][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

enhomie.ubiquiti.origin module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enhomie.ubiquiti.origin.UbiqOrigin(*args: Any, **kwargs: Any)[source]#

Bases: HomieOrigin

Contain the relevant attributes from the related source.

property family: Literal['ubiquiti']#

Return the value for the attribute from class instance.

Returns:

Value for the attribute from class instance.

property fetch: dict[str, Any] | None#

Return the content related to the item in parent system.

Returns:

Content related to the item in parent system.

get_update() HomieUpdateItem[source]#

Return the new item containing information for operation.

Returns:

New item containing information for operation.

property merge: dict[str, dict[str, Any]] | None#

Return the content related to the item in parent system.

Returns:

Content related to the item in parent system.

refresh(timeout: int | None = None) bool[source]#

Refresh the cached information for the remote upstream.

Parameters:

timeout – Timeout waiting for the server response.

Returns:

Boolean indicating the success of the refresh.

property router: Router#

Return the value for the attribute from class instance.

Returns:

Value for the attribute from class instance.

set_update(uitem: HomieUpdateBase) bool[source]#

Replace or update internal configuration with provided.

Parameters:

uitem – Item containing information for operation.

Returns:

Boolean indicating whether or not was changed.

source(kind: HomieKinds | None = None, unique: str | None = None, label: str | None = None, relate: HomieActionNode | None = None) dict[str, Any] | None[source]#

Return the content related to the item in parent system.

Note

This method is redundant with other origin classes.

Parameters:
  • kind – Which kind of Homie object will be located.

  • unique – Unique identifier within parents system.

  • label – Friendly name or label within the parent.

  • relate – Child class instance for Homie Automate.

Returns:

Content related to the item in parent system.

enhomie.ubiquiti.update module#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enhomie.ubiquiti.update.UbiqUpdate(*args: Any, **kwargs: Any)[source]#

Bases: HomieUpdate

Common methods and routines for Homie Automate threads.

class enhomie.ubiquiti.update.UbiqUpdateItem(origin: HomieOrigin, fetch: dict[str, Any])[source]#

Bases: HomieUpdateItem

Contain information for sharing using the Python queue.

fetch: dict[str, Any]#

Module contents#

Functions and routines associated with Enasis Network Homie Automate.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enhomie.ubiquiti.DriverUbiqClient(plugin: HomiePlugin, params: HomieParamsModel)[source]#

Bases: HomieDriver

Match specific conditions for determining desired state.

property family: Literal['ubiquiti']#

Return the value for the attribute from class instance.

Returns:

Value for the attribute from class instance.

property kinds: list[HomiePluginKinds]#

Return the value for the attribute from class instance.

Returns:

Value for the attribute from class instance.

property params: DriverUbiqClientParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None[source]#

Perform advanced validation on the parameters provided.

where(time: Time) bool[source]#

Return the boolean indicating the conditional outcomes.

Parameters:

time – Time that will be used in the conditionals.

Returns:

Boolean indicating the conditional outcomes.

class enhomie.ubiquiti.UbiqDevice(homie: Homie, name: str, params: HomieChildParams)[source]#

Bases: HomieDevice

Contain the relevant attributes from the related source.

property family: Literal['ubiquiti']#

Return the value for the attribute from class instance.

Returns:

Value for the attribute from class instance.

class enhomie.ubiquiti.UbiqModels[source]#

Bases: object

Return the class object that was imported within method.

classmethod drivers() Type[UbiqDriverModels][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

classmethod origin() Type[UbiqOriginParams][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

classmethod update() Type[UbiqUpdateItem][source]#

Return the class object that was imported within method.

Returns:

Class object that was imported within method.

class enhomie.ubiquiti.UbiqOrigin(*args: Any, **kwargs: Any)[source]#

Bases: HomieOrigin

Contain the relevant attributes from the related source.

property family: Literal['ubiquiti']#

Return the value for the attribute from class instance.

Returns:

Value for the attribute from class instance.

property fetch: dict[str, Any] | None#

Return the content related to the item in parent system.

Returns:

Content related to the item in parent system.

get_update() HomieUpdateItem[source]#

Return the new item containing information for operation.

Returns:

New item containing information for operation.

property merge: dict[str, dict[str, Any]] | None#

Return the content related to the item in parent system.

Returns:

Content related to the item in parent system.

refresh(timeout: int | None = None) bool[source]#

Refresh the cached information for the remote upstream.

Parameters:

timeout – Timeout waiting for the server response.

Returns:

Boolean indicating the success of the refresh.

property router: Router#

Return the value for the attribute from class instance.

Returns:

Value for the attribute from class instance.

set_update(uitem: HomieUpdateBase) bool[source]#

Replace or update internal configuration with provided.

Parameters:

uitem – Item containing information for operation.

Returns:

Boolean indicating whether or not was changed.

source(kind: HomieKinds | None = None, unique: str | None = None, label: str | None = None, relate: HomieActionNode | None = None) dict[str, Any] | None[source]#

Return the content related to the item in parent system.

Note

This method is redundant with other origin classes.

Parameters:
  • kind – Which kind of Homie object will be located.

  • unique – Unique identifier within parents system.

  • label – Friendly name or label within the parent.

  • relate – Child class instance for Homie Automate.

Returns:

Content related to the item in parent system.

class enhomie.ubiquiti.UbiqUpdate(*args: Any, **kwargs: Any)[source]#

Bases: HomieUpdate

Common methods and routines for Homie Automate threads.