enhomie.builtins.params package#

Submodules#

enhomie.builtins.params.period 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.builtins.params.period.DriverBltnPeriodParams(*, start: Annotated[str | None, _PydanticGeneralMetadata(pattern=re.compile('^([01]\\d|2[0-3]):([0-5]\\d)$'))] = None, stop: Annotated[str | None, _PydanticGeneralMetadata(pattern=re.compile('^([01]\\d|2[0-3]):([0-5]\\d)$'))] = None, days: Annotated[list[Literal['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']] | None, MinLen(min_length=1)] = None, tzname: Annotated[str, MinLen(min_length=1)] = 'UTC')[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

days: Annotated[list[Literal['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Days of the week 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].

start: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Start time in 24 hour format', metadata=[_PydanticGeneralMetadata(pattern=re.compile('^([01]\\d|2[0-3]):([0-5]\\d)$'))])]#
stop: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Stop time in 24 hour format', metadata=[_PydanticGeneralMetadata(pattern=re.compile('^([01]\\d|2[0-3]):([0-5]\\d)$'))])]#
tzname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='UTC', description='Timezone parsed with Time', metadata=[MinLen(min_length=1)])]#

enhomie.builtins.params.regexp 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.builtins.params.regexp.DriverBltnRegexpParams(*, patterns: Annotated[list[str], MinLen(min_length=1)], complete: bool = False)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

complete: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Perform complete match')]#
model_config = {'extra': 'forbid'}#

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

patterns: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, description='Regular expression match', metadata=[MinLen(min_length=1)])]#

enhomie.builtins.params.store 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.builtins.params.store.DriverBltnStoreParams(*, unique: Annotated[str, MinLen(min_length=1)], operator: Literal['present', 'absent', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte'], value: int | float | bool | str | None = None)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

model_config = {'extra': 'forbid'}#

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

operator: Annotated[Literal['present', 'absent', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte'], FieldInfo(annotation=NoneType, required=True, description='Operator for the condition')]#
unique: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Unique key for the value', metadata=[MinLen(min_length=1)])]#
value: Annotated[int | float | bool | str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Value for the condition')]#

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.builtins.params.DriverBltnPeriodParams(*, start: Annotated[str | None, _PydanticGeneralMetadata(pattern=re.compile('^([01]\\d|2[0-3]):([0-5]\\d)$'))] = None, stop: Annotated[str | None, _PydanticGeneralMetadata(pattern=re.compile('^([01]\\d|2[0-3]):([0-5]\\d)$'))] = None, days: Annotated[list[Literal['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']] | None, MinLen(min_length=1)] = None, tzname: Annotated[str, MinLen(min_length=1)] = 'UTC')[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

days: Annotated[list[Literal['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Days of the week 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].

start: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Start time in 24 hour format', metadata=[_PydanticGeneralMetadata(pattern=re.compile('^([01]\\d|2[0-3]):([0-5]\\d)$'))])]#
stop: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Stop time in 24 hour format', metadata=[_PydanticGeneralMetadata(pattern=re.compile('^([01]\\d|2[0-3]):([0-5]\\d)$'))])]#
tzname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='UTC', description='Timezone parsed with Time', metadata=[MinLen(min_length=1)])]#
class enhomie.builtins.params.DriverBltnRegexpParams(*, patterns: Annotated[list[str], MinLen(min_length=1)], complete: bool = False)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

complete: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Perform complete match')]#
model_config = {'extra': 'forbid'}#

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

patterns: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, description='Regular expression match', metadata=[MinLen(min_length=1)])]#
class enhomie.builtins.params.DriverBltnStoreParams(*, unique: Annotated[str, MinLen(min_length=1)], operator: Literal['present', 'absent', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte'], value: int | float | bool | str | None = None)[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

model_config = {'extra': 'forbid'}#

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

operator: Annotated[Literal['present', 'absent', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte'], FieldInfo(annotation=NoneType, required=True, description='Operator for the condition')]#
unique: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Unique key for the value', metadata=[MinLen(min_length=1)])]#
value: Annotated[int | float | bool | str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Value for the condition')]#