enhomie.homie.params package#
Submodules#
enhomie.homie.params.aspire module#
- class enhomie.homie.params.aspire.HomieAspireParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
3ge=1, le=86400
No
Nonemin_length=1
No
NoneNo
Nonemin_length=1
No
Nonemin_length=1
- devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Devices that are in scope', metadata=[MinLen(min_length=1)])]#
- groups: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Groups that are in scope', metadata=[MinLen(min_length=1)])]#
- stage: Annotated[HomieStageParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Default device scene config')]#
- scene: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update the group light scene', metadata=[MinLen(min_length=1)])]#
- store: Annotated[list[HomieStoreParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update values in database', metadata=[MinLen(min_length=1)])]#
- occurs: Annotated[list[HomieOccurParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugins for the conditions', metadata=[MinLen(min_length=1)])]#
enhomie.homie.params.child module#
- class enhomie.homie.params.child.HomieChildParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
enhomie.homie.params.common module#
enhomie.homie.params.desire module#
- class enhomie.homie.params.desire.HomieDesireParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
TrueNo
Nonemin_length=1
No
Nonemin_length=1
No
0ge=0, le=86400
No
Nonemin_length=1
No
NoneNo
Nonemin_length=1
No
0ge=0, le=1000.0
No
Nonemin_length=1
- devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Devices that are in scope', metadata=[MinLen(min_length=1)])]#
- groups: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Groups that are in scope', metadata=[MinLen(min_length=1)])]#
- stage: Annotated[HomieStageParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Default device scene config')]#
- scene: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update the group light scene', metadata=[MinLen(min_length=1)])]#
- store: Annotated[list[HomieStoreParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update values in database', metadata=[MinLen(min_length=1)])]#
- wheres: Annotated[list[HomieWhereParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugins for the conditions', metadata=[MinLen(min_length=1)])]#
- pause: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=0, description='Delay before acting again', metadata=[Ge(ge=0), Le(le=86400)])]#
enhomie.homie.params.device module#
- class enhomie.homie.params.device.HomieDeviceParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
Yes
min_length=1
No
Nonemin_length=1
- origin: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Origin where device exists', metadata=[MinLen(min_length=1)])]#
enhomie.homie.params.group module#
- class enhomie.homie.params.group.HomieGroupParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
- origin: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Origin where group exists', metadata=[MinLen(min_length=1)])]#
enhomie.homie.params.homie module#
- class enhomie.homie.params.homie.HomiePrinterParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
FalseNo
FalseNo
FalseNo
FalseNo
False- action: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the actions to console')]#
- update: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the updates to console')]#
- stream: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the streams to console')]#
- class enhomie.homie.params.homie.HomieFiltersParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
- class enhomie.homie.params.homie.HomieParams[source]#
Bases:
ParamsProcess and validate the core configuration parameters.
Fields# Field
Type
Required
Default
Constraints
dict[str,HomieAspireParams] |NoneNo
Nonemin_length=1
No
FalseNo
'sqlite:///:memory:'min_length=1
No
Falsedict[str,HomieDesireParams] |NoneNo
Nonemin_length=1
dict[str,HomieDeviceParams] |NoneNo
Nonemin_length=1
No
FalseenconfigNo
NoneencryptsNo
NoneenloggerNo
NoneNo
factory
No
Truedict[str,HomieGroupParams] |NoneNo
Nonemin_length=1
dict[str,HomieOriginParams] |NoneNo
Nonemin_length=1
No
Nonemin_length=1
No
factory
No
factory
dict[str,HomieSceneParams] |NoneNo
Nonemin_length=1
No
factory
- database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])]#
- console: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Output console information; parameter is parsed by and used in low-level config')]#
- debug: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Enable logging level debug; parameter is parsed by and used in low-level config')]#
- dryrun: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Whether to allow changes')]#
- forced: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Ignore present idempotency')]#
- printer: Annotated[HomiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomiePrinterParams, description='Print the stream to console')]#
- service: Annotated[HomieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceParams, description='Parameters for Homie Service')]#
- restful: Annotated[RestfulServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RestfulServiceParams, description='Parameters for Homie RESTful')]#
- persists: Annotated[dict[str, HomiePersistParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for common persists', metadata=[MinLen(min_length=1)])]#
- filters: Annotated[HomieFiltersParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieFiltersParams, description='Determine object instantiation')]#
- origins: Annotated[dict[str, HomieOriginParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie origins', metadata=[MinLen(min_length=1)])]#
- devices: Annotated[dict[str, HomieDeviceParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie devices', metadata=[MinLen(min_length=1)])]#
- groups: Annotated[dict[str, HomieGroupParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie groups', metadata=[MinLen(min_length=1)])]#
- scenes: Annotated[dict[str, HomieSceneParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie scenes', metadata=[MinLen(min_length=1)])]#
enhomie.homie.params.occur module#
- class enhomie.homie.params.occur.HomieOccurParams[source]#
Bases:
HomiePluginParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
NoneNo
NoneNo
NoneNo
NoneNo
None- builtins_regexp: Annotated[DriverBltnRegexpParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_button: Annotated[DriverPhueButtonParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_contact: Annotated[DriverPhueContactParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_motion: Annotated[DriverPhueMotionParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_scene: Annotated[DriverPhueSceneParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
enhomie.homie.params.origin module#
- class enhomie.homie.params.origin.HomieOriginParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
NoneNo
NoneNo
None- hubitat: Annotated[HubiOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')]#
- philips: Annotated[PhueOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')]#
- ubiquiti: Annotated[UbiqOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')]#
enhomie.homie.params.persist module#
- class enhomie.homie.params.persist.HomiePersistParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1, pattern=``re.compile(‘^(\d+(s|m|h|d|w|y))*$’)``
Literal[‘failure’, ‘information’, ‘success’, ‘warning’] |NoneNo
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
- value_unit: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Unit for persist value', metadata=[MinLen(min_length=1)])]#
- value_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist value', metadata=[MinLen(min_length=1)])]#
- value_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist value', metadata=[MinLen(min_length=1)])]#
- about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='About the persist entry', metadata=[MinLen(min_length=1)])]#
- about_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist entry', metadata=[MinLen(min_length=1)])]#
- about_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist entry', metadata=[MinLen(min_length=1)])]#
- level: Annotated[Literal['failure', 'information', 'success', 'warning'] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Severity of persist entry', metadata=[MinLen(min_length=1)])]#
enhomie.homie.params.plugin module#
- class enhomie.homie.params.plugin.HomiePluginParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
enhomie.homie.params.scene module#
- class enhomie.homie.params.scene.HomieSceneParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
dict[str,HomieStageParams] |NoneNo
Nonemin_length=1
No
Nonemin_length=1
No
factory
- label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Scene name in the origin', metadata=[MinLen(min_length=1)])]#
- stage: Annotated[HomieStageParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieStageParams, description='Default device scene config')]#
enhomie.homie.params.service module#
- class enhomie.homie.params.service.HomieServiceTimeoutParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
5ge=1, le=30
No
60ge=1, le=900
No
3ge=1, le=30
- action: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=5, description='Override the actions timeout', metadata=[Ge(ge=1), Le(le=30)])]#
- class enhomie.homie.params.service.HomieServiceRespiteParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
60ge=1, le=900
No
3ge=1, le=15
No
60ge=1, le=900
- desire: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=60, description='How often desires performed', metadata=[Ge(ge=1), Le(le=900)])]#
- class enhomie.homie.params.service.HomieServiceMembersParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
TrueNo
FalseNo
TrueNo
True- actions: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine whether created')]#
- streams: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine whether created')]#
- class enhomie.homie.params.service.HomieServiceParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
factory
No
factory
No
factory
- respite: Annotated[HomieServiceRespiteParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceRespiteParams, description='When operates are performed')]#
- timeout: Annotated[HomieServiceTimeoutParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceTimeoutParams, description='Override source or defaults')]#
- members: Annotated[HomieServiceMembersParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceMembersParams, description='Which members are created')]#
enhomie.homie.params.stage module#
- class enhomie.homie.params.stage.HomieStageParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=6, max_length=6
No
Nonege=0, le=100
No
None- state: Annotated[Literal['poweron', 'nopower'] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Setting for the light state')]#
enhomie.homie.params.store module#
- class enhomie.homie.params.store.HomieStoreParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
'1d'min_length=1, pattern=``re.compile(‘^(\d+(s|m|h|d|w|y))*$’)``
Literal[‘failure’, ‘information’, ‘success’, ‘warning’] |NoneNo
Nonemin_length=1
No
Nonemin_length=1
Yes
min_length=1
Yes
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
- 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=True, description='Value stored at unique')]#
- value_unit: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Unit for persist value', metadata=[MinLen(min_length=1)])]#
- value_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist value', metadata=[MinLen(min_length=1)])]#
- value_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist value', metadata=[MinLen(min_length=1)])]#
- about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='About the persist entry', metadata=[MinLen(min_length=1)])]#
- about_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist entry', metadata=[MinLen(min_length=1)])]#
- about_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist entry', metadata=[MinLen(min_length=1)])]#
- level: Annotated[Literal['failure', 'information', 'success', 'warning'] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Severity of persist entry', metadata=[MinLen(min_length=1)])]#
enhomie.homie.params.where module#
- class enhomie.homie.params.where.HomieWhereParams[source]#
Bases:
HomiePluginParamsProcess and validate the Homie configuration parameters.
Note
When using the default family, the conditons are in an AND relationship. If another name is given for family, those will be with an OR relationship.
Fields# Field
Type
Required
Default
Constraints
No
NoneNo
NoneNo
'default'min_length=1
No
FalseNo
NoneNo
None- negate: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Invert conditional outcome')]#
- family: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='default', description='Combine conditions in group', metadata=[MinLen(min_length=1)])]#
- builtins_store: Annotated[DriverBltnStoreParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- builtins_period: Annotated[DriverBltnPeriodParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_change: Annotated[DriverPhueChangeParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- ubiquiti_client: Annotated[DriverUbiqClientParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
Module contents#
- class enhomie.homie.params.HomieParams[source]#
Bases:
ParamsProcess and validate the core configuration parameters.
Fields# Field
Type
Required
Default
Constraints
dict[str,HomieAspireParams] |NoneNo
Nonemin_length=1
No
FalseNo
'sqlite:///:memory:'min_length=1
No
Falsedict[str,HomieDesireParams] |NoneNo
Nonemin_length=1
dict[str,HomieDeviceParams] |NoneNo
Nonemin_length=1
No
FalseenconfigNo
NoneencryptsNo
NoneenloggerNo
NoneNo
factory
No
Truedict[str,HomieGroupParams] |NoneNo
Nonemin_length=1
dict[str,HomieOriginParams] |NoneNo
Nonemin_length=1
No
Nonemin_length=1
No
factory
No
factory
dict[str,HomieSceneParams] |NoneNo
Nonemin_length=1
No
factory
- database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])]#
- console: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Output console information; parameter is parsed by and used in low-level config')]#
- debug: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Enable logging level debug; parameter is parsed by and used in low-level config')]#
- dryrun: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Whether to allow changes')]#
- forced: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Ignore present idempotency')]#
- printer: Annotated[HomiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomiePrinterParams, description='Print the stream to console')]#
- service: Annotated[HomieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceParams, description='Parameters for Homie Service')]#
- restful: Annotated[RestfulServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RestfulServiceParams, description='Parameters for Homie RESTful')]#
- persists: Annotated[dict[str, HomiePersistParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for common persists', metadata=[MinLen(min_length=1)])]#
- filters: Annotated[HomieFiltersParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieFiltersParams, description='Determine object instantiation')]#
- origins: Annotated[dict[str, HomieOriginParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie origins', metadata=[MinLen(min_length=1)])]#
- devices: Annotated[dict[str, HomieDeviceParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie devices', metadata=[MinLen(min_length=1)])]#
- groups: Annotated[dict[str, HomieGroupParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie groups', metadata=[MinLen(min_length=1)])]#
- scenes: Annotated[dict[str, HomieSceneParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie scenes', metadata=[MinLen(min_length=1)])]#
- class enhomie.homie.params.HomieParamsModel[source]#
Bases:
BaseModelProcess and validate the Homie configuration parameters.
- class enhomie.homie.params.HomiePrinterParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
FalseNo
FalseNo
FalseNo
FalseNo
False- action: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the actions to console')]#
- update: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the updates to console')]#
- stream: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the streams to console')]#
- class enhomie.homie.params.HomiePersistParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1, pattern=``re.compile(‘^(\d+(s|m|h|d|w|y))*$’)``
Literal[‘failure’, ‘information’, ‘success’, ‘warning’] |NoneNo
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
- value_unit: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Unit for persist value', metadata=[MinLen(min_length=1)])]#
- value_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist value', metadata=[MinLen(min_length=1)])]#
- value_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist value', metadata=[MinLen(min_length=1)])]#
- about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='About the persist entry', metadata=[MinLen(min_length=1)])]#
- about_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist entry', metadata=[MinLen(min_length=1)])]#
- about_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist entry', metadata=[MinLen(min_length=1)])]#
- level: Annotated[Literal['failure', 'information', 'success', 'warning'] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Severity of persist entry', metadata=[MinLen(min_length=1)])]#
- class enhomie.homie.params.HomieChildParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
- class enhomie.homie.params.HomieOriginParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
NoneNo
NoneNo
None- hubitat: Annotated[HubiOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')]#
- philips: Annotated[PhueOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')]#
- ubiquiti: Annotated[UbiqOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')]#
- class enhomie.homie.params.HomieDeviceParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
Yes
min_length=1
No
Nonemin_length=1
- origin: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Origin where device exists', metadata=[MinLen(min_length=1)])]#
- class enhomie.homie.params.HomieGroupParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
- origin: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Origin where group exists', metadata=[MinLen(min_length=1)])]#
- class enhomie.homie.params.HomieSceneParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
dict[str,HomieStageParams] |NoneNo
Nonemin_length=1
No
Nonemin_length=1
No
factory
- label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Scene name in the origin', metadata=[MinLen(min_length=1)])]#
- stage: Annotated[HomieStageParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieStageParams, description='Default device scene config')]#
- class enhomie.homie.params.HomieAspireParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
3ge=1, le=86400
No
Nonemin_length=1
No
NoneNo
Nonemin_length=1
No
Nonemin_length=1
- devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Devices that are in scope', metadata=[MinLen(min_length=1)])]#
- groups: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Groups that are in scope', metadata=[MinLen(min_length=1)])]#
- stage: Annotated[HomieStageParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Default device scene config')]#
- scene: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update the group light scene', metadata=[MinLen(min_length=1)])]#
- store: Annotated[list[HomieStoreParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update values in database', metadata=[MinLen(min_length=1)])]#
- occurs: Annotated[list[HomieOccurParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugins for the conditions', metadata=[MinLen(min_length=1)])]#
- class enhomie.homie.params.HomieDesireParams[source]#
Bases:
HomieChildParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
TrueNo
Nonemin_length=1
No
Nonemin_length=1
No
0ge=0, le=86400
No
Nonemin_length=1
No
NoneNo
Nonemin_length=1
No
0ge=0, le=1000.0
No
Nonemin_length=1
- devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Devices that are in scope', metadata=[MinLen(min_length=1)])]#
- groups: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Groups that are in scope', metadata=[MinLen(min_length=1)])]#
- stage: Annotated[HomieStageParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Default device scene config')]#
- scene: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update the group light scene', metadata=[MinLen(min_length=1)])]#
- store: Annotated[list[HomieStoreParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update values in database', metadata=[MinLen(min_length=1)])]#
- wheres: Annotated[list[HomieWhereParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugins for the conditions', metadata=[MinLen(min_length=1)])]#
- pause: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=0, description='Delay before acting again', metadata=[Ge(ge=0), Le(le=86400)])]#
- class enhomie.homie.params.HomieServiceParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
factory
No
factory
No
factory
- respite: Annotated[HomieServiceRespiteParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceRespiteParams, description='When operates are performed')]#
- timeout: Annotated[HomieServiceTimeoutParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceTimeoutParams, description='Override source or defaults')]#
- members: Annotated[HomieServiceMembersParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceMembersParams, description='Which members are created')]#
- class enhomie.homie.params.HomiePluginParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
- class enhomie.homie.params.HomieStoreParams[source]#
Bases:
HomieParamsModelProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
Constraints
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
No
'1d'min_length=1, pattern=``re.compile(‘^(\d+(s|m|h|d|w|y))*$’)``
Literal[‘failure’, ‘information’, ‘success’, ‘warning’] |NoneNo
Nonemin_length=1
No
Nonemin_length=1
Yes
min_length=1
Yes
No
Nonemin_length=1
No
Nonemin_length=1
No
Nonemin_length=1
- 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=True, description='Value stored at unique')]#
- value_unit: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Unit for persist value', metadata=[MinLen(min_length=1)])]#
- value_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist value', metadata=[MinLen(min_length=1)])]#
- value_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist value', metadata=[MinLen(min_length=1)])]#
- about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='About the persist entry', metadata=[MinLen(min_length=1)])]#
- about_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist entry', metadata=[MinLen(min_length=1)])]#
- about_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist entry', metadata=[MinLen(min_length=1)])]#
- level: Annotated[Literal['failure', 'information', 'success', 'warning'] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Severity of persist entry', metadata=[MinLen(min_length=1)])]#
- class enhomie.homie.params.HomieOccurParams[source]#
Bases:
HomiePluginParamsProcess and validate the Homie configuration parameters.
Fields# Field
Type
Required
Default
No
NoneNo
NoneNo
NoneNo
NoneNo
None- builtins_regexp: Annotated[DriverBltnRegexpParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_button: Annotated[DriverPhueButtonParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_contact: Annotated[DriverPhueContactParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_motion: Annotated[DriverPhueMotionParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_scene: Annotated[DriverPhueSceneParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- class enhomie.homie.params.HomieWhereParams[source]#
Bases:
HomiePluginParamsProcess and validate the Homie configuration parameters.
Note
When using the default family, the conditons are in an AND relationship. If another name is given for family, those will be with an OR relationship.
Fields# Field
Type
Required
Default
Constraints
No
NoneNo
NoneNo
'default'min_length=1
No
FalseNo
NoneNo
None- negate: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Invert conditional outcome')]#
- family: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='default', description='Combine conditions in group', metadata=[MinLen(min_length=1)])]#
- builtins_store: Annotated[DriverBltnStoreParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- builtins_period: Annotated[DriverBltnPeriodParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- philips_change: Annotated[DriverPhueChangeParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#
- ubiquiti_client: Annotated[DriverUbiqClientParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')]#