enhomie.builtins.params package#

Submodules#

enhomie.builtins.params.period module#

class enhomie.builtins.params.period.DriverBltnPeriodParams[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

days

list[Literal[‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’, ‘Saturday’, ‘Sunday’]] | None

No

None

min_length=1

start

str | None

No

None

pattern=``re.compile(‘^([01]\d|2[0-3]):([0-5]\d)$’)``

stop

str | None

No

None

pattern=``re.compile(‘^([01]\d|2[0-3]):([0-5]\d)$’)``

tzname

str

No

'UTC'

min_length=1

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)$'))])]#
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)])]#
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#

class enhomie.builtins.params.regexp.DriverBltnRegexpParams[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

complete

bool

No

False

patterns

list[str]

Yes

min_length=1

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

enhomie.builtins.params.store module#

class enhomie.builtins.params.store.DriverBltnStoreParams[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

operator

Literal[‘present’, ‘absent’, ‘eq’, ‘neq’, ‘lt’, ‘lte’, ‘gt’, ‘gte’]

Yes

unique

str

Yes

min_length=1

value

int | float | bool | str | None

No

None

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

Module contents#

class enhomie.builtins.params.DriverBltnStoreParams[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

operator

Literal[‘present’, ‘absent’, ‘eq’, ‘neq’, ‘lt’, ‘lte’, ‘gt’, ‘gte’]

Yes

unique

str

Yes

min_length=1

value

int | float | bool | str | None

No

None

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

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

days

list[Literal[‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’, ‘Saturday’, ‘Sunday’]] | None

No

None

min_length=1

start

str | None

No

None

pattern=``re.compile(‘^([01]\d|2[0-3]):([0-5]\d)$’)``

stop

str | None

No

None

pattern=``re.compile(‘^([01]\d|2[0-3]):([0-5]\d)$’)``

tzname

str

No

'UTC'

min_length=1

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)$'))])]#
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)])]#
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[source]#

Bases: HomieParamsModel

Process and validate the Homie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

complete

bool

No

False

patterns

list[str]

Yes

min_length=1

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