enhomie.philips.params.plugins package#

Submodules#

enhomie.philips.params.plugins.button 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.philips.params.plugins.button.DriverPhueButtonParams(*, device: Annotated[str, MinLen(min_length=1)], events: Annotated[list[Literal['initial_press', 'long_release', 'short_release']] | None, MinLen(min_length=1)] = None, sensor: Literal['button1', 'button2', 'button3', 'button4'])[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

device: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Device that is in scope', metadata=[MinLen(min_length=1)])]#
events: Annotated[list[Literal['initial_press', 'long_release', 'short_release']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Events that will be matched', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

sensor: Annotated[Literal['button1', 'button2', 'button3', 'button4'], FieldInfo(annotation=NoneType, required=True, description='Sensor that will be matched')]#

enhomie.philips.params.plugins.change 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.philips.params.plugins.change.DriverPhueChangeParams(*, devices: Annotated[list[str], MinLen(min_length=1)], sensors: Annotated[list[Literal['button1', 'button2', 'button3', 'button4', 'contact', 'motion', 'temperature']] | None, MinLen(min_length=1)] = None, since: Annotated[int, Ge(ge=0)] = 0)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

devices: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, description='Devices that are in scope', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

sensors: Annotated[list[Literal['button1', 'button2', 'button3', 'button4', 'contact', 'motion', 'temperature']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Sensors that will be matched', metadata=[MinLen(min_length=1)])]#
since: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=0, description='Minimum time since changed', metadata=[Ge(ge=0)])]#

enhomie.philips.params.plugins.contact 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.philips.params.plugins.contact.DriverPhueContactParams(*, device: Annotated[str, MinLen(min_length=1)], states: Annotated[list[Literal['contact', 'no_contact']] | None, MinLen(min_length=1)] = None)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

device: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Device that is in scope', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

states: Annotated[list[Literal['contact', 'no_contact']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='States that will be matched', metadata=[MinLen(min_length=1)])]#

enhomie.philips.params.plugins.motion 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.philips.params.plugins.motion.DriverPhueMotionParams(*, device: Annotated[str, MinLen(min_length=1)], states: Annotated[list[Literal['motion', 'no_motion']] | None, MinLen(min_length=1)] = None)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

device: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Device that is in scope', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

states: Annotated[list[Literal['motion', 'no_motion']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='States that will be matched', metadata=[MinLen(min_length=1)])]#

enhomie.philips.params.plugins.scene 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.philips.params.plugins.scene.DriverPhueSceneParams(*, scene: Annotated[str, MinLen(min_length=1)], group: Annotated[str, MinLen(min_length=1)], states: Annotated[list[Literal['active', 'inactive']] | None, MinLen(min_length=1)] = None)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

group: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Group that is in scope', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

scene: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Scene that is in scope', metadata=[MinLen(min_length=1)])]#
states: Annotated[list[Literal['active', 'inactive']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='States that will be matched', metadata=[MinLen(min_length=1)])]#

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.philips.params.plugins.DriverPhueButtonParams(*, device: Annotated[str, MinLen(min_length=1)], events: Annotated[list[Literal['initial_press', 'long_release', 'short_release']] | None, MinLen(min_length=1)] = None, sensor: Literal['button1', 'button2', 'button3', 'button4'])[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

device: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Device that is in scope', metadata=[MinLen(min_length=1)])]#
events: Annotated[list[Literal['initial_press', 'long_release', 'short_release']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Events that will be matched', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

sensor: Annotated[Literal['button1', 'button2', 'button3', 'button4'], FieldInfo(annotation=NoneType, required=True, description='Sensor that will be matched')]#
class enhomie.philips.params.plugins.DriverPhueChangeParams(*, devices: Annotated[list[str], MinLen(min_length=1)], sensors: Annotated[list[Literal['button1', 'button2', 'button3', 'button4', 'contact', 'motion', 'temperature']] | None, MinLen(min_length=1)] = None, since: Annotated[int, Ge(ge=0)] = 0)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

devices: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, description='Devices that are in scope', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

sensors: Annotated[list[Literal['button1', 'button2', 'button3', 'button4', 'contact', 'motion', 'temperature']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Sensors that will be matched', metadata=[MinLen(min_length=1)])]#
since: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=0, description='Minimum time since changed', metadata=[Ge(ge=0)])]#
class enhomie.philips.params.plugins.DriverPhueContactParams(*, device: Annotated[str, MinLen(min_length=1)], states: Annotated[list[Literal['contact', 'no_contact']] | None, MinLen(min_length=1)] = None)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

device: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Device that is in scope', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

states: Annotated[list[Literal['contact', 'no_contact']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='States that will be matched', metadata=[MinLen(min_length=1)])]#
class enhomie.philips.params.plugins.DriverPhueMotionParams(*, device: Annotated[str, MinLen(min_length=1)], states: Annotated[list[Literal['motion', 'no_motion']] | None, MinLen(min_length=1)] = None)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

device: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Device that is in scope', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

states: Annotated[list[Literal['motion', 'no_motion']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='States that will be matched', metadata=[MinLen(min_length=1)])]#
class enhomie.philips.params.plugins.DriverPhueSceneParams(*, scene: Annotated[str, MinLen(min_length=1)], group: Annotated[str, MinLen(min_length=1)], states: Annotated[list[Literal['active', 'inactive']] | None, MinLen(min_length=1)] = None)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

group: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Group that is in scope', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

scene: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Scene that is in scope', metadata=[MinLen(min_length=1)])]#
states: Annotated[list[Literal['active', 'inactive']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='States that will be matched', metadata=[MinLen(min_length=1)])]#