enhomie.homie.params package#
Submodules#
enhomie.homie.params.aspire 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.
- pydantic model enhomie.homie.params.aspire.HomieAspireParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieAspireParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Devices that are in scope", "title": "Devices" }, "groups": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Groups that are in scope", "title": "Groups" }, "stage": { "anyOf": [ { "$ref": "#/$defs/HomieStageParams" }, { "type": "null" } ], "default": null, "description": "Default device scene config" }, "scene": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Update the group light scene", "title": "Scene" }, "store": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieStoreParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Update values in database", "title": "Store" }, "occurs": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieOccurParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Occurs" }, "wheres": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieWhereParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Wheres" }, "pause": { "default": 3, "description": "Delay before acting again", "maximum": 86400, "minimum": 1, "title": "Pause", "type": "integer" } }, "$defs": { "DriverBltnPeriodParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "start": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Start time in 24 hour format", "title": "Start" }, "stop": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Stop time in 24 hour format", "title": "Stop" }, "days": { "anyOf": [ { "items": { "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Days of the week in scope", "title": "Days" }, "tzname": { "default": "UTC", "description": "Timezone parsed with Time", "minLength": 1, "title": "Tzname", "type": "string" } }, "title": "DriverBltnPeriodParams", "type": "object" }, "DriverBltnRegexpParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "patterns": { "description": "Regular expression match", "items": { "type": "string" }, "minItems": 1, "title": "Patterns", "type": "array" }, "complete": { "default": false, "description": "Perform complete match", "title": "Complete", "type": "boolean" } }, "required": [ "patterns" ], "title": "DriverBltnRegexpParams", "type": "object" }, "DriverBltnStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "operator": { "description": "Operator for the condition", "enum": [ "present", "absent", "eq", "neq", "lt", "lte", "gt", "gte" ], "title": "Operator", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "default": null, "description": "Value for the condition", "title": "Value" } }, "required": [ "unique", "operator" ], "title": "DriverBltnStoreParams", "type": "object" }, "DriverPhueButtonParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "events": { "anyOf": [ { "items": { "enum": [ "initial_press", "long_release", "short_release" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Events that will be matched", "title": "Events" }, "sensor": { "description": "Sensor that will be matched", "enum": [ "button1", "button2", "button3", "button4" ], "title": "Sensor", "type": "string" } }, "required": [ "device", "sensor" ], "title": "DriverPhueButtonParams", "type": "object" }, "DriverPhueChangeParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "description": "Devices that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Devices", "type": "array" }, "sensors": { "anyOf": [ { "items": { "enum": [ "button1", "button2", "button3", "button4", "contact", "motion", "temperature" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Sensors that will be matched", "title": "Sensors" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "devices" ], "title": "DriverPhueChangeParams", "type": "object" }, "DriverPhueContactParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "contact", "no_contact" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueContactParams", "type": "object" }, "DriverPhueMotionParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "motion", "no_motion" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueMotionParams", "type": "object" }, "DriverPhueSceneParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "scene": { "description": "Scene that is in scope", "minLength": 1, "title": "Scene", "type": "string" }, "group": { "description": "Group that is in scope", "minLength": 1, "title": "Group", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "active", "inactive" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "scene", "group" ], "title": "DriverPhueSceneParams", "type": "object" }, "DriverUbiqClientParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "clients": { "description": "Clients that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "clients" ], "title": "DriverUbiqClientParams", "type": "object" }, "HomieOccurParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "builtins_regexp": { "anyOf": [ { "$ref": "#/$defs/DriverBltnRegexpParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_button": { "anyOf": [ { "$ref": "#/$defs/DriverPhueButtonParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_contact": { "anyOf": [ { "$ref": "#/$defs/DriverPhueContactParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_motion": { "anyOf": [ { "$ref": "#/$defs/DriverPhueMotionParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_scene": { "anyOf": [ { "$ref": "#/$defs/DriverPhueSceneParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieOccurParams", "type": "object" }, "HomieStageParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "title": "HomieStageParams", "type": "object" }, "HomieStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "description": "Value stored at unique", "title": "Value" }, "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": "1d", "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "required": [ "unique", "value" ], "title": "HomieStoreParams", "type": "object" }, "HomieWhereParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.\n\n.. note::\n When using the `default` `family`, the conditons are\n in an `AND` relationship. If another name is given\n for `family`, those will be with an OR relationship.", "properties": { "negate": { "default": false, "description": "Invert conditional outcome", "title": "Negate", "type": "boolean" }, "family": { "default": "default", "description": "Combine conditions in group", "minLength": 1, "title": "Family", "type": "string" }, "builtins_store": { "anyOf": [ { "$ref": "#/$defs/DriverBltnStoreParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "builtins_period": { "anyOf": [ { "$ref": "#/$defs/DriverBltnPeriodParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_change": { "anyOf": [ { "$ref": "#/$defs/DriverPhueChangeParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "ubiquiti_client": { "anyOf": [ { "$ref": "#/$defs/DriverUbiqClientParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieWhereParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Devices that are in scope', metadata=[MinLen(min_length=1)])] = None#
Devices that are in scope
- Constraints:
min_length = 1
- field groups: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Groups that are in scope', metadata=[MinLen(min_length=1)])] = None#
Groups that are in scope
- Constraints:
min_length = 1
- field occurs: Annotated[list[HomieOccurParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugins for the conditions', metadata=[MinLen(min_length=1)])] = None#
Plugins for the conditions
- Constraints:
min_length = 1
- field pause: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=3, description='Delay before acting again', metadata=[Ge(ge=1), Le(le=86400)])] = 3#
Delay before acting again
- Constraints:
ge = 1
le = 86400
- field scene: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update the group light scene', metadata=[MinLen(min_length=1)])] = None#
Update the group light scene
- Constraints:
min_length = 1
- field stage: Annotated[HomieStageParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Default device scene config')] = None#
Default device scene config
enhomie.homie.params.child 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.
- pydantic model enhomie.homie.params.child.HomieChildParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieChildParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": {}, "additionalProperties": false }
- Config:
extra: str = forbid
enhomie.homie.params.common 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.
- pydantic model enhomie.homie.params.common.HomieParamsModel[source]#
Bases:
BaseModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieParamsModel", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": {}, "additionalProperties": false }
- Config:
extra: str = forbid
enhomie.homie.params.desire 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.
- pydantic model enhomie.homie.params.desire.HomieDesireParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieDesireParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Devices that are in scope", "title": "Devices" }, "groups": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Groups that are in scope", "title": "Groups" }, "stage": { "anyOf": [ { "$ref": "#/$defs/HomieStageParams" }, { "type": "null" } ], "default": null, "description": "Default device scene config" }, "scene": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Update the group light scene", "title": "Scene" }, "store": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieStoreParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Update values in database", "title": "Store" }, "wheres": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieWhereParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Wheres" }, "pause": { "default": 0, "description": "Delay before acting again", "maximum": 86400, "minimum": 0, "title": "Pause", "type": "integer" }, "delay": { "default": true, "description": "Enforce pause on initial", "title": "Delay", "type": "boolean" }, "weight": { "default": 0, "description": "Precedence when multiple", "maximum": 1000.0, "minimum": 0, "title": "Weight", "type": "integer" } }, "$defs": { "DriverBltnPeriodParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "start": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Start time in 24 hour format", "title": "Start" }, "stop": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Stop time in 24 hour format", "title": "Stop" }, "days": { "anyOf": [ { "items": { "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Days of the week in scope", "title": "Days" }, "tzname": { "default": "UTC", "description": "Timezone parsed with Time", "minLength": 1, "title": "Tzname", "type": "string" } }, "title": "DriverBltnPeriodParams", "type": "object" }, "DriverBltnStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "operator": { "description": "Operator for the condition", "enum": [ "present", "absent", "eq", "neq", "lt", "lte", "gt", "gte" ], "title": "Operator", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "default": null, "description": "Value for the condition", "title": "Value" } }, "required": [ "unique", "operator" ], "title": "DriverBltnStoreParams", "type": "object" }, "DriverPhueChangeParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "description": "Devices that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Devices", "type": "array" }, "sensors": { "anyOf": [ { "items": { "enum": [ "button1", "button2", "button3", "button4", "contact", "motion", "temperature" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Sensors that will be matched", "title": "Sensors" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "devices" ], "title": "DriverPhueChangeParams", "type": "object" }, "DriverUbiqClientParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "clients": { "description": "Clients that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "clients" ], "title": "DriverUbiqClientParams", "type": "object" }, "HomieStageParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "title": "HomieStageParams", "type": "object" }, "HomieStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "description": "Value stored at unique", "title": "Value" }, "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": "1d", "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "required": [ "unique", "value" ], "title": "HomieStoreParams", "type": "object" }, "HomieWhereParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.\n\n.. note::\n When using the `default` `family`, the conditons are\n in an `AND` relationship. If another name is given\n for `family`, those will be with an OR relationship.", "properties": { "negate": { "default": false, "description": "Invert conditional outcome", "title": "Negate", "type": "boolean" }, "family": { "default": "default", "description": "Combine conditions in group", "minLength": 1, "title": "Family", "type": "string" }, "builtins_store": { "anyOf": [ { "$ref": "#/$defs/DriverBltnStoreParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "builtins_period": { "anyOf": [ { "$ref": "#/$defs/DriverBltnPeriodParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_change": { "anyOf": [ { "$ref": "#/$defs/DriverPhueChangeParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "ubiquiti_client": { "anyOf": [ { "$ref": "#/$defs/DriverUbiqClientParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieWhereParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field delay: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Enforce pause on initial')] = True#
Enforce pause on initial
- field devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Devices that are in scope', metadata=[MinLen(min_length=1)])] = None#
Devices that are in scope
- Constraints:
min_length = 1
- field groups: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Groups that are in scope', metadata=[MinLen(min_length=1)])] = None#
Groups that are in scope
- Constraints:
min_length = 1
- field pause: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=0, description='Delay before acting again', metadata=[Ge(ge=0), Le(le=86400)])] = 0#
Delay before acting again
- Constraints:
ge = 0
le = 86400
- field scene: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update the group light scene', metadata=[MinLen(min_length=1)])] = None#
Update the group light scene
- Constraints:
min_length = 1
- field stage: Annotated[HomieStageParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Default device scene config')] = None#
Default device scene config
- field store: Annotated[list[HomieStoreParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update values in database', metadata=[MinLen(min_length=1)])] = None#
Update values in database
- Constraints:
min_length = 1
enhomie.homie.params.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.
- pydantic model enhomie.homie.params.device.HomieDeviceParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieDeviceParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "origin": { "description": "Origin where device exists", "minLength": 1, "title": "Origin", "type": "string" }, "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Device name in the origin", "title": "Label" }, "unique": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unique identifier in origin", "title": "Unique" } }, "additionalProperties": false, "required": [ "origin" ] }
- Config:
extra: str = forbid
- Fields:
- field label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Device name in the origin', metadata=[MinLen(min_length=1)])] = None#
Device name in the origin
- Constraints:
min_length = 1
enhomie.homie.params.group 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.
- pydantic model enhomie.homie.params.group.HomieGroupParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieGroupParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "origin": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Origin where group exists", "title": "Origin" }, "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Group name in the origin", "title": "Label" }, "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "List of devices in group", "title": "Devices" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='List of devices in group', metadata=[MinLen(min_length=1)])] = None#
List of devices in group
- Constraints:
min_length = 1
enhomie.homie.params.homie 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.
- pydantic model enhomie.homie.params.homie.HomieFiltersParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieFiltersParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "aspires": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Patterns the names must match", "title": "Aspires" }, "desires": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Patterns the names must match", "title": "Desires" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- pydantic model enhomie.homie.params.homie.HomieParams[source]#
Bases:
Params
Process and validate the core configuration parameters.
Show JSON schema
{ "title": "HomieParams", "description": "Process and validate the core configuration parameters.", "type": "object", "properties": { "enconfig": { "anyOf": [ { "$ref": "#/$defs/ConfigParams" }, { "type": "null" } ], "default": null, "description": "Parameters for Config instance" }, "enlogger": { "anyOf": [ { "$ref": "#/$defs/LoggerParams" }, { "type": "null" } ], "default": null, "description": "Parameters for Logger instance" }, "encrypts": { "anyOf": [ { "$ref": "#/$defs/CryptsParams" }, { "type": "null" } ], "default": null, "description": "Parameters for Crypts instance" }, "database": { "default": "sqlite:///:memory:", "description": "Database connection string", "minLength": 1, "title": "Database", "type": "string" }, "dryrun": { "default": false, "description": "Determine if changes applied", "title": "Dryrun", "type": "boolean" }, "potent": { "default": true, "description": "Ignore idempotency in change", "title": "Potent", "type": "boolean" }, "printer": { "$ref": "#/$defs/HomiePrinterParams", "description": "Print the stream to console" }, "service": { "$ref": "#/$defs/HomieServiceParams", "description": "Parameters for Homie Service" }, "restful": { "$ref": "#/$defs/RestfulServiceParams", "description": "Parameters for Homie RESTful" }, "persists": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomiePersistParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for common persists", "title": "Persists" }, "filters": { "$ref": "#/$defs/HomieFiltersParams", "description": "Determine object instantiation" }, "origins": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieOriginParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie origins", "title": "Origins" }, "devices": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieDeviceParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie devices", "title": "Devices" }, "groups": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieGroupParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie groups", "title": "Groups" }, "scenes": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieSceneParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie scenes", "title": "Scenes" }, "desires": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieDesireParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie desires", "title": "Desires" }, "aspires": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieAspireParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie aspires", "title": "Aspires" } }, "$defs": { "ConfigParams": { "additionalProperties": false, "description": "Process and validate the core configuration parameters.", "properties": { "paths": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Location of configuration files", "title": "Paths" } }, "title": "ConfigParams", "type": "object" }, "CryptParams": { "additionalProperties": false, "description": "Process and validate the core configuration parameters.", "properties": { "phrase": { "description": "Passphrase for the operations", "minLength": 1, "title": "Phrase", "type": "string" } }, "required": [ "phrase" ], "title": "CryptParams", "type": "object" }, "CryptsParams": { "additionalProperties": false, "description": "Process and validate the core configuration parameters.", "properties": { "phrases": { "additionalProperties": { "$ref": "#/$defs/CryptParams" }, "description": "Passphrases for the operations", "minProperties": 0, "title": "Phrases", "type": "object" } }, "required": [ "phrases" ], "title": "CryptsParams", "type": "object" }, "DriverBltnPeriodParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "start": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Start time in 24 hour format", "title": "Start" }, "stop": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Stop time in 24 hour format", "title": "Stop" }, "days": { "anyOf": [ { "items": { "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Days of the week in scope", "title": "Days" }, "tzname": { "default": "UTC", "description": "Timezone parsed with Time", "minLength": 1, "title": "Tzname", "type": "string" } }, "title": "DriverBltnPeriodParams", "type": "object" }, "DriverBltnRegexpParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "patterns": { "description": "Regular expression match", "items": { "type": "string" }, "minItems": 1, "title": "Patterns", "type": "array" }, "complete": { "default": false, "description": "Perform complete match", "title": "Complete", "type": "boolean" } }, "required": [ "patterns" ], "title": "DriverBltnRegexpParams", "type": "object" }, "DriverBltnStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "operator": { "description": "Operator for the condition", "enum": [ "present", "absent", "eq", "neq", "lt", "lte", "gt", "gte" ], "title": "Operator", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "default": null, "description": "Value for the condition", "title": "Value" } }, "required": [ "unique", "operator" ], "title": "DriverBltnStoreParams", "type": "object" }, "DriverPhueButtonParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "events": { "anyOf": [ { "items": { "enum": [ "initial_press", "long_release", "short_release" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Events that will be matched", "title": "Events" }, "sensor": { "description": "Sensor that will be matched", "enum": [ "button1", "button2", "button3", "button4" ], "title": "Sensor", "type": "string" } }, "required": [ "device", "sensor" ], "title": "DriverPhueButtonParams", "type": "object" }, "DriverPhueChangeParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "description": "Devices that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Devices", "type": "array" }, "sensors": { "anyOf": [ { "items": { "enum": [ "button1", "button2", "button3", "button4", "contact", "motion", "temperature" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Sensors that will be matched", "title": "Sensors" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "devices" ], "title": "DriverPhueChangeParams", "type": "object" }, "DriverPhueContactParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "contact", "no_contact" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueContactParams", "type": "object" }, "DriverPhueMotionParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "motion", "no_motion" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueMotionParams", "type": "object" }, "DriverPhueSceneParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "scene": { "description": "Scene that is in scope", "minLength": 1, "title": "Scene", "type": "string" }, "group": { "description": "Group that is in scope", "minLength": 1, "title": "Group", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "active", "inactive" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "scene", "group" ], "title": "DriverPhueSceneParams", "type": "object" }, "DriverUbiqClientParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "clients": { "description": "Clients that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "clients" ], "title": "DriverUbiqClientParams", "type": "object" }, "HomieAspireParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Devices that are in scope", "title": "Devices" }, "groups": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Groups that are in scope", "title": "Groups" }, "stage": { "anyOf": [ { "$ref": "#/$defs/HomieStageParams" }, { "type": "null" } ], "default": null, "description": "Default device scene config" }, "scene": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Update the group light scene", "title": "Scene" }, "store": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieStoreParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Update values in database", "title": "Store" }, "occurs": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieOccurParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Occurs" }, "wheres": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieWhereParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Wheres" }, "pause": { "default": 3, "description": "Delay before acting again", "maximum": 86400, "minimum": 1, "title": "Pause", "type": "integer" } }, "title": "HomieAspireParams", "type": "object" }, "HomieDesireParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Devices that are in scope", "title": "Devices" }, "groups": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Groups that are in scope", "title": "Groups" }, "stage": { "anyOf": [ { "$ref": "#/$defs/HomieStageParams" }, { "type": "null" } ], "default": null, "description": "Default device scene config" }, "scene": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Update the group light scene", "title": "Scene" }, "store": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieStoreParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Update values in database", "title": "Store" }, "wheres": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieWhereParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Wheres" }, "pause": { "default": 0, "description": "Delay before acting again", "maximum": 86400, "minimum": 0, "title": "Pause", "type": "integer" }, "delay": { "default": true, "description": "Enforce pause on initial", "title": "Delay", "type": "boolean" }, "weight": { "default": 0, "description": "Precedence when multiple", "maximum": 1000.0, "minimum": 0, "title": "Weight", "type": "integer" } }, "title": "HomieDesireParams", "type": "object" }, "HomieDeviceParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "origin": { "description": "Origin where device exists", "minLength": 1, "title": "Origin", "type": "string" }, "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Device name in the origin", "title": "Label" }, "unique": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unique identifier in origin", "title": "Unique" } }, "required": [ "origin" ], "title": "HomieDeviceParams", "type": "object" }, "HomieFiltersParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "aspires": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Patterns the names must match", "title": "Aspires" }, "desires": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Patterns the names must match", "title": "Desires" } }, "title": "HomieFiltersParams", "type": "object" }, "HomieGroupParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "origin": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Origin where group exists", "title": "Origin" }, "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Group name in the origin", "title": "Label" }, "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "List of devices in group", "title": "Devices" } }, "title": "HomieGroupParams", "type": "object" }, "HomieOccurParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "builtins_regexp": { "anyOf": [ { "$ref": "#/$defs/DriverBltnRegexpParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_button": { "anyOf": [ { "$ref": "#/$defs/DriverPhueButtonParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_contact": { "anyOf": [ { "$ref": "#/$defs/DriverPhueContactParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_motion": { "anyOf": [ { "$ref": "#/$defs/DriverPhueMotionParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_scene": { "anyOf": [ { "$ref": "#/$defs/DriverPhueSceneParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieOccurParams", "type": "object" }, "HomieOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "hubitat": { "anyOf": [ { "$ref": "#/$defs/HubiOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" }, "philips": { "anyOf": [ { "$ref": "#/$defs/PhueOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" }, "ubiquiti": { "anyOf": [ { "$ref": "#/$defs/UbiqOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" } }, "title": "HomieOriginParams", "type": "object" }, "HomiePersistParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": null, "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "title": "HomiePersistParams", "type": "object" }, "HomiePrinterParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "action": { "default": false, "description": "Print the actions to console", "title": "Action", "type": "boolean" }, "update": { "default": false, "description": "Print the updates to console", "title": "Update", "type": "boolean" }, "stream": { "default": false, "description": "Print the streams to console", "title": "Stream", "type": "boolean" }, "desire": { "default": false, "description": "Print the aspires to console", "title": "Desire", "type": "boolean" }, "aspire": { "default": false, "description": "Print the aspires to console", "title": "Aspire", "type": "boolean" } }, "title": "HomiePrinterParams", "type": "object" }, "HomieSceneParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Scene name in the origin", "title": "Label" }, "stage": { "$ref": "#/$defs/HomieStageParams", "description": "Default device scene config" }, "devices": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieStageParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Device specific scene config", "title": "Devices" } }, "title": "HomieSceneParams", "type": "object" }, "HomieServiceMembersParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "actions": { "default": true, "description": "Determine whether created", "title": "Actions", "type": "boolean" }, "streams": { "default": true, "description": "Determine whether created", "title": "Streams", "type": "boolean" }, "updates": { "default": true, "description": "Determine whether created", "title": "Updates", "type": "boolean" }, "restful": { "default": false, "description": "Determine whether created", "title": "Restful", "type": "boolean" } }, "title": "HomieServiceMembersParams", "type": "object" }, "HomieServiceParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "respite": { "$ref": "#/$defs/HomieServiceRespiteParams", "description": "When operates are performed" }, "timeout": { "$ref": "#/$defs/HomieServiceTimeoutParams", "description": "Override source or defaults" }, "members": { "$ref": "#/$defs/HomieServiceMembersParams", "description": "Which members are created" } }, "title": "HomieServiceParams", "type": "object" }, "HomieServiceRespiteParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "desire": { "default": 60, "description": "How often desires performed", "maximum": 900, "minimum": 1, "title": "Desire", "type": "integer" }, "update": { "default": 60, "description": "How often updates performed", "maximum": 900, "minimum": 1, "title": "Update", "type": "integer" }, "health": { "default": 3, "description": "How often health is checked", "maximum": 15, "minimum": 1, "title": "Health", "type": "integer" } }, "title": "HomieServiceRespiteParams", "type": "object" }, "HomieServiceTimeoutParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "action": { "default": 5, "description": "Override the actions timeout", "maximum": 30, "minimum": 1, "title": "Action", "type": "integer" }, "update": { "default": 3, "description": "Override the updates timeout", "maximum": 30, "minimum": 1, "title": "Update", "type": "integer" }, "stream": { "default": 60, "description": "Override the stream timeout", "maximum": 900, "minimum": 1, "title": "Stream", "type": "integer" } }, "title": "HomieServiceTimeoutParams", "type": "object" }, "HomieStageParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "title": "HomieStageParams", "type": "object" }, "HomieStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "description": "Value stored at unique", "title": "Value" }, "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": "1d", "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "required": [ "unique", "value" ], "title": "HomieStoreParams", "type": "object" }, "HomieWhereParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.\n\n.. note::\n When using the `default` `family`, the conditons are\n in an `AND` relationship. If another name is given\n for `family`, those will be with an OR relationship.", "properties": { "negate": { "default": false, "description": "Invert conditional outcome", "title": "Negate", "type": "boolean" }, "family": { "default": "default", "description": "Combine conditions in group", "minLength": 1, "title": "Family", "type": "string" }, "builtins_store": { "anyOf": [ { "$ref": "#/$defs/DriverBltnStoreParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "builtins_period": { "anyOf": [ { "$ref": "#/$defs/DriverBltnPeriodParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_change": { "anyOf": [ { "$ref": "#/$defs/DriverPhueChangeParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "ubiquiti_client": { "anyOf": [ { "$ref": "#/$defs/DriverUbiqClientParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieWhereParams", "type": "object" }, "HubiOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bridge": { "$ref": "#/$defs/enconnect__hubitat__params__BridgeParams", "description": "Connection specific parameters" } }, "required": [ "bridge" ], "title": "HubiOriginParams", "type": "object" }, "LoggerParams": { "additionalProperties": false, "description": "Process and validate the core configuration parameters.", "properties": { "stdo_level": { "anyOf": [ { "enum": [ "critical", "debug", "error", "info", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Minimum logging message level", "title": "Stdo Level" }, "file_level": { "anyOf": [ { "enum": [ "critical", "debug", "error", "info", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Minimum logging message level", "title": "File Level" }, "file_path": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Enable output to the log file", "title": "File Path" } }, "title": "LoggerParams", "type": "object" }, "PhueOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bridge": { "$ref": "#/$defs/enconnect__philips__params__BridgeParams", "description": "Connection specific parameters" } }, "required": [ "bridge" ], "title": "PhueOriginParams", "type": "object" }, "RestfulServiceParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bind_addr": { "default": "127.0.0.1", "description": "Which local address to bind", "minLength": 1, "title": "Bind Addr", "type": "string" }, "bind_port": { "default": 8420, "description": "Which port on address to bind", "maximum": 65535, "minimum": 0, "title": "Bind Port", "type": "integer" }, "authenticate": { "anyOf": [ { "additionalProperties": { "type": "string" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Credentials for authentication", "title": "Authenticate" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Filesystem path to certificate", "title": "Ssl Capem" }, "ssl_mypem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Filesystem path to certificate", "title": "Ssl Mypem" }, "ssl_mykey": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Filesystem path to certificate", "title": "Ssl Mykey" } }, "title": "RestfulServiceParams", "type": "object" }, "RouterParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "username": { "description": "Parameter for the integration", "minLength": 1, "title": "Username", "type": "string" }, "password": { "description": "Parameter for the integration", "minLength": 1, "title": "Password", "type": "string" }, "site": { "default": "default", "description": "Parameter for the integration", "minLength": 1, "title": "Site", "type": "string" }, "ssl_verify": { "default": true, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "username", "password" ], "title": "RouterParams", "type": "object" }, "UbiqOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "router": { "$ref": "#/$defs/RouterParams", "description": "Connection specific parameters" } }, "required": [ "router" ], "title": "UbiqOriginParams", "type": "object" }, "enconnect__hubitat__params__BridgeParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "appid": { "description": "Parameter for the integration", "minimum": 0, "title": "Appid", "type": "integer" }, "token": { "description": "Parameter for the integration", "minLength": 1, "title": "Token", "type": "string" }, "ssl_verify": { "default": false, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "appid", "token" ], "title": "BridgeParams", "type": "object" }, "enconnect__philips__params__BridgeParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "token": { "description": "Parameter for the integration", "minLength": 1, "title": "Token", "type": "string" }, "ssl_verify": { "default": true, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "token" ], "title": "BridgeParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
aspires (dict[str, enhomie.homie.params.aspire.HomieAspireParams] | None)
desires (dict[str, enhomie.homie.params.desire.HomieDesireParams] | None)
devices (dict[str, enhomie.homie.params.device.HomieDeviceParams] | None)
groups (dict[str, enhomie.homie.params.group.HomieGroupParams] | None)
origins (dict[str, enhomie.homie.params.origin.HomieOriginParams] | None)
persists (dict[str, enhomie.homie.params.persist.HomiePersistParams] | None)
scenes (dict[str, enhomie.homie.params.scene.HomieSceneParams] | None)
- field aspires: Annotated[dict[str, HomieAspireParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie aspires', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie aspires
- Constraints:
min_length = 1
- field database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])] = 'sqlite:///:memory:'#
Database connection string
- Constraints:
min_length = 1
- field desires: Annotated[dict[str, HomieDesireParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie desires', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie desires
- Constraints:
min_length = 1
- field devices: Annotated[dict[str, HomieDeviceParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie devices', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie devices
- Constraints:
min_length = 1
- field dryrun: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Determine if changes applied')] = False#
Determine if changes applied
- field filters: Annotated[HomieFiltersParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieFiltersParams, description='Determine object instantiation')] [Optional]#
Determine object instantiation
- field groups: Annotated[dict[str, HomieGroupParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie groups', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie groups
- Constraints:
min_length = 1
- field origins: Annotated[dict[str, HomieOriginParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie origins', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie origins
- Constraints:
min_length = 1
- field persists: Annotated[dict[str, HomiePersistParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for common persists', metadata=[MinLen(min_length=1)])] = None#
Parameters for common persists
- Constraints:
min_length = 1
- field potent: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Ignore idempotency in change')] = True#
Ignore idempotency in change
- field printer: Annotated[HomiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomiePrinterParams, description='Print the stream to console')] [Optional]#
Print the stream to console
- field restful: Annotated[RestfulServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RestfulServiceParams, description='Parameters for Homie RESTful')] [Optional]#
Parameters for Homie RESTful
- field scenes: Annotated[dict[str, HomieSceneParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie scenes', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie scenes
- Constraints:
min_length = 1
- field service: Annotated[HomieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceParams, description='Parameters for Homie Service')] [Optional]#
Parameters for Homie Service
- pydantic model enhomie.homie.params.homie.HomiePrinterParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomiePrinterParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "action": { "default": false, "description": "Print the actions to console", "title": "Action", "type": "boolean" }, "update": { "default": false, "description": "Print the updates to console", "title": "Update", "type": "boolean" }, "stream": { "default": false, "description": "Print the streams to console", "title": "Stream", "type": "boolean" }, "desire": { "default": false, "description": "Print the aspires to console", "title": "Desire", "type": "boolean" }, "aspire": { "default": false, "description": "Print the aspires to console", "title": "Aspire", "type": "boolean" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field action: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the actions to console')] = False#
Print the actions to console
- field aspire: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the aspires to console')] = False#
Print the aspires to console
- field desire: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the aspires to console')] = False#
Print the aspires to console
enhomie.homie.params.occur 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.
- pydantic model enhomie.homie.params.occur.HomieOccurParams[source]#
Bases:
HomiePluginParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieOccurParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "builtins_regexp": { "anyOf": [ { "$ref": "#/$defs/DriverBltnRegexpParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_button": { "anyOf": [ { "$ref": "#/$defs/DriverPhueButtonParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_contact": { "anyOf": [ { "$ref": "#/$defs/DriverPhueContactParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_motion": { "anyOf": [ { "$ref": "#/$defs/DriverPhueMotionParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_scene": { "anyOf": [ { "$ref": "#/$defs/DriverPhueSceneParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "$defs": { "DriverBltnRegexpParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "patterns": { "description": "Regular expression match", "items": { "type": "string" }, "minItems": 1, "title": "Patterns", "type": "array" }, "complete": { "default": false, "description": "Perform complete match", "title": "Complete", "type": "boolean" } }, "required": [ "patterns" ], "title": "DriverBltnRegexpParams", "type": "object" }, "DriverPhueButtonParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "events": { "anyOf": [ { "items": { "enum": [ "initial_press", "long_release", "short_release" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Events that will be matched", "title": "Events" }, "sensor": { "description": "Sensor that will be matched", "enum": [ "button1", "button2", "button3", "button4" ], "title": "Sensor", "type": "string" } }, "required": [ "device", "sensor" ], "title": "DriverPhueButtonParams", "type": "object" }, "DriverPhueContactParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "contact", "no_contact" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueContactParams", "type": "object" }, "DriverPhueMotionParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "motion", "no_motion" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueMotionParams", "type": "object" }, "DriverPhueSceneParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "scene": { "description": "Scene that is in scope", "minLength": 1, "title": "Scene", "type": "string" }, "group": { "description": "Group that is in scope", "minLength": 1, "title": "Group", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "active", "inactive" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "scene", "group" ], "title": "DriverPhueSceneParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
builtins_regexp (enhomie.builtins.params.regexp.DriverBltnRegexpParams | None)
philips_button (enhomie.philips.params.plugins.button.DriverPhueButtonParams | None)
philips_contact (enhomie.philips.params.plugins.contact.DriverPhueContactParams | None)
philips_motion (enhomie.philips.params.plugins.motion.DriverPhueMotionParams | None)
philips_scene (enhomie.philips.params.plugins.scene.DriverPhueSceneParams | None)
- field builtins_regexp: Annotated[DriverBltnRegexpParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field philips_button: Annotated[DriverPhueButtonParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field philips_contact: Annotated[DriverPhueContactParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field philips_motion: Annotated[DriverPhueMotionParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field philips_scene: Annotated[DriverPhueSceneParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
enhomie.homie.params.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.
- pydantic model enhomie.homie.params.origin.HomieOriginParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieOriginParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "hubitat": { "anyOf": [ { "$ref": "#/$defs/HubiOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" }, "philips": { "anyOf": [ { "$ref": "#/$defs/PhueOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" }, "ubiquiti": { "anyOf": [ { "$ref": "#/$defs/UbiqOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" } }, "$defs": { "HubiOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bridge": { "$ref": "#/$defs/enconnect__hubitat__params__BridgeParams", "description": "Connection specific parameters" } }, "required": [ "bridge" ], "title": "HubiOriginParams", "type": "object" }, "PhueOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bridge": { "$ref": "#/$defs/enconnect__philips__params__BridgeParams", "description": "Connection specific parameters" } }, "required": [ "bridge" ], "title": "PhueOriginParams", "type": "object" }, "RouterParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "username": { "description": "Parameter for the integration", "minLength": 1, "title": "Username", "type": "string" }, "password": { "description": "Parameter for the integration", "minLength": 1, "title": "Password", "type": "string" }, "site": { "default": "default", "description": "Parameter for the integration", "minLength": 1, "title": "Site", "type": "string" }, "ssl_verify": { "default": true, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "username", "password" ], "title": "RouterParams", "type": "object" }, "UbiqOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "router": { "$ref": "#/$defs/RouterParams", "description": "Connection specific parameters" } }, "required": [ "router" ], "title": "UbiqOriginParams", "type": "object" }, "enconnect__hubitat__params__BridgeParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "appid": { "description": "Parameter for the integration", "minimum": 0, "title": "Appid", "type": "integer" }, "token": { "description": "Parameter for the integration", "minLength": 1, "title": "Token", "type": "string" }, "ssl_verify": { "default": false, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "appid", "token" ], "title": "BridgeParams", "type": "object" }, "enconnect__philips__params__BridgeParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "token": { "description": "Parameter for the integration", "minLength": 1, "title": "Token", "type": "string" }, "ssl_verify": { "default": true, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "token" ], "title": "BridgeParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field hubitat: Annotated[HubiOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')] = None#
Connection specific parameters
- field philips: Annotated[PhueOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')] = None#
Connection specific parameters
- field ubiquiti: Annotated[UbiqOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')] = None#
Connection specific parameters
enhomie.homie.params.persist 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.
- pydantic model enhomie.homie.params.persist.HomiePersistParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomiePersistParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": null, "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='About the persist entry', metadata=[MinLen(min_length=1)])] = None#
About the persist entry
- Constraints:
min_length = 1
- field about_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist entry', metadata=[MinLen(min_length=1)])] = None#
Icon for persist entry
- Constraints:
min_length = 1
- field about_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist entry', metadata=[MinLen(min_length=1)])] = None#
Label for persist entry
- Constraints:
min_length = 1
- field expire: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='After when the key expires', examples=['1h', '1h30m', '1d'], metadata=[MinLen(min_length=1), _PydanticGeneralMetadata(pattern=re.compile('^(\\d+(s|m|h|d|w|y))*$'))])] = None#
After when the key expires
- Constraints:
min_length = 1
pattern = re.compile(‘^(\d+(s|m|h|d|w|y))*$’)
- field 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)])] = None#
Severity of persist entry
- Constraints:
min_length = 1
- field tags: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Tags for persist entry', metadata=[MinLen(min_length=1)])] = None#
Tags for persist entry
- Constraints:
min_length = 1
- field value_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist value', metadata=[MinLen(min_length=1)])] = None#
Icon for persist value
- Constraints:
min_length = 1
enhomie.homie.params.plugin 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.
- pydantic model enhomie.homie.params.plugin.HomiePluginParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomiePluginParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": {}, "additionalProperties": false }
- Config:
extra: str = forbid
enhomie.homie.params.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.
- pydantic model enhomie.homie.params.scene.HomieSceneParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieSceneParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Scene name in the origin", "title": "Label" }, "stage": { "$ref": "#/$defs/HomieStageParams", "description": "Default device scene config" }, "devices": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieStageParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Device specific scene config", "title": "Devices" } }, "$defs": { "HomieStageParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "title": "HomieStageParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field devices: Annotated[dict[str, HomieStageParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Device specific scene config', metadata=[MinLen(min_length=1)])] = None#
Device specific scene config
- Constraints:
min_length = 1
- field label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Scene name in the origin', metadata=[MinLen(min_length=1)])] = None#
Scene name in the origin
- Constraints:
min_length = 1
- field stage: Annotated[HomieStageParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieStageParams, description='Default device scene config')] [Optional]#
Default device scene config
enhomie.homie.params.service 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.
- pydantic model enhomie.homie.params.service.HomieServiceMembersParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieServiceMembersParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "actions": { "default": true, "description": "Determine whether created", "title": "Actions", "type": "boolean" }, "streams": { "default": true, "description": "Determine whether created", "title": "Streams", "type": "boolean" }, "updates": { "default": true, "description": "Determine whether created", "title": "Updates", "type": "boolean" }, "restful": { "default": false, "description": "Determine whether created", "title": "Restful", "type": "boolean" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field actions: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine whether created')] = True#
Determine whether created
- field restful: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Determine whether created')] = False#
Determine whether created
- pydantic model enhomie.homie.params.service.HomieServiceParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieServiceParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "respite": { "$ref": "#/$defs/HomieServiceRespiteParams", "description": "When operates are performed" }, "timeout": { "$ref": "#/$defs/HomieServiceTimeoutParams", "description": "Override source or defaults" }, "members": { "$ref": "#/$defs/HomieServiceMembersParams", "description": "Which members are created" } }, "$defs": { "HomieServiceMembersParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "actions": { "default": true, "description": "Determine whether created", "title": "Actions", "type": "boolean" }, "streams": { "default": true, "description": "Determine whether created", "title": "Streams", "type": "boolean" }, "updates": { "default": true, "description": "Determine whether created", "title": "Updates", "type": "boolean" }, "restful": { "default": false, "description": "Determine whether created", "title": "Restful", "type": "boolean" } }, "title": "HomieServiceMembersParams", "type": "object" }, "HomieServiceRespiteParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "desire": { "default": 60, "description": "How often desires performed", "maximum": 900, "minimum": 1, "title": "Desire", "type": "integer" }, "update": { "default": 60, "description": "How often updates performed", "maximum": 900, "minimum": 1, "title": "Update", "type": "integer" }, "health": { "default": 3, "description": "How often health is checked", "maximum": 15, "minimum": 1, "title": "Health", "type": "integer" } }, "title": "HomieServiceRespiteParams", "type": "object" }, "HomieServiceTimeoutParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "action": { "default": 5, "description": "Override the actions timeout", "maximum": 30, "minimum": 1, "title": "Action", "type": "integer" }, "update": { "default": 3, "description": "Override the updates timeout", "maximum": 30, "minimum": 1, "title": "Update", "type": "integer" }, "stream": { "default": 60, "description": "Override the stream timeout", "maximum": 900, "minimum": 1, "title": "Stream", "type": "integer" } }, "title": "HomieServiceTimeoutParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field members: Annotated[HomieServiceMembersParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceMembersParams, description='Which members are created')] [Optional]#
Which members are created
- field respite: Annotated[HomieServiceRespiteParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceRespiteParams, description='When operates are performed')] [Optional]#
When operates are performed
- field timeout: Annotated[HomieServiceTimeoutParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceTimeoutParams, description='Override source or defaults')] [Optional]#
Override source or defaults
- pydantic model enhomie.homie.params.service.HomieServiceRespiteParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieServiceRespiteParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "desire": { "default": 60, "description": "How often desires performed", "maximum": 900, "minimum": 1, "title": "Desire", "type": "integer" }, "update": { "default": 60, "description": "How often updates performed", "maximum": 900, "minimum": 1, "title": "Update", "type": "integer" }, "health": { "default": 3, "description": "How often health is checked", "maximum": 15, "minimum": 1, "title": "Health", "type": "integer" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field desire: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=60, description='How often desires performed', metadata=[Ge(ge=1), Le(le=900)])] = 60#
How often desires performed
- Constraints:
ge = 1
le = 900
- pydantic model enhomie.homie.params.service.HomieServiceTimeoutParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieServiceTimeoutParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "action": { "default": 5, "description": "Override the actions timeout", "maximum": 30, "minimum": 1, "title": "Action", "type": "integer" }, "update": { "default": 3, "description": "Override the updates timeout", "maximum": 30, "minimum": 1, "title": "Update", "type": "integer" }, "stream": { "default": 60, "description": "Override the stream timeout", "maximum": 900, "minimum": 1, "title": "Stream", "type": "integer" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field action: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=5, description='Override the actions timeout', metadata=[Ge(ge=1), Le(le=30)])] = 5#
Override the actions timeout
- Constraints:
ge = 1
le = 30
enhomie.homie.params.stage 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.
- pydantic model enhomie.homie.params.stage.HomieStageParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieStageParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field color: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Setting for the light color', metadata=[MinLen(min_length=6), MaxLen(max_length=6)])] = None#
Setting for the light color
- Constraints:
min_length = 6
max_length = 6
enhomie.homie.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.
- pydantic model enhomie.homie.params.store.HomieStoreParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieStoreParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "description": "Value stored at unique", "title": "Value" }, "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": "1d", "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "additionalProperties": false, "required": [ "unique", "value" ] }
- Config:
extra: str = forbid
- Fields:
- field about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='About the persist entry', metadata=[MinLen(min_length=1)])] = None#
About the persist entry
- Constraints:
min_length = 1
- field about_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist entry', metadata=[MinLen(min_length=1)])] = None#
Icon for persist entry
- Constraints:
min_length = 1
- field about_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist entry', metadata=[MinLen(min_length=1)])] = None#
Label for persist entry
- Constraints:
min_length = 1
- field expire: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='After when the key expires', examples=['1h', '1h30m', '1d'], metadata=[MinLen(min_length=1), _PydanticGeneralMetadata(pattern=re.compile('^(\\d+(s|m|h|d|w|y))*$'))])] = '1d'#
After when the key expires
- Constraints:
min_length = 1
pattern = re.compile(‘^(\d+(s|m|h|d|w|y))*$’)
- field 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)])] = None#
Severity of persist entry
- Constraints:
min_length = 1
- field tags: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Tags for persist entry', metadata=[MinLen(min_length=1)])] = None#
Tags for persist entry
- Constraints:
min_length = 1
- field unique: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Unique key for the value', metadata=[MinLen(min_length=1)])] [Required]#
Unique key for the value
- Constraints:
min_length = 1
- field value: Annotated[int | float | bool | str | None, FieldInfo(annotation=NoneType, required=True, description='Value stored at unique')] [Required]#
Value stored at unique
- field value_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist value', metadata=[MinLen(min_length=1)])] = None#
Icon for persist value
- Constraints:
min_length = 1
enhomie.homie.params.where 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.
- pydantic model enhomie.homie.params.where.HomieWhereParams[source]#
Bases:
HomiePluginParams
Process 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.
Show JSON schema
{ "title": "HomieWhereParams", "description": "Process and validate the Homie configuration parameters.\n\n.. note::\n When using the `default` `family`, the conditons are\n in an `AND` relationship. If another name is given\n for `family`, those will be with an OR relationship.", "type": "object", "properties": { "negate": { "default": false, "description": "Invert conditional outcome", "title": "Negate", "type": "boolean" }, "family": { "default": "default", "description": "Combine conditions in group", "minLength": 1, "title": "Family", "type": "string" }, "builtins_store": { "anyOf": [ { "$ref": "#/$defs/DriverBltnStoreParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "builtins_period": { "anyOf": [ { "$ref": "#/$defs/DriverBltnPeriodParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_change": { "anyOf": [ { "$ref": "#/$defs/DriverPhueChangeParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "ubiquiti_client": { "anyOf": [ { "$ref": "#/$defs/DriverUbiqClientParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "$defs": { "DriverBltnPeriodParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "start": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Start time in 24 hour format", "title": "Start" }, "stop": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Stop time in 24 hour format", "title": "Stop" }, "days": { "anyOf": [ { "items": { "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Days of the week in scope", "title": "Days" }, "tzname": { "default": "UTC", "description": "Timezone parsed with Time", "minLength": 1, "title": "Tzname", "type": "string" } }, "title": "DriverBltnPeriodParams", "type": "object" }, "DriverBltnStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "operator": { "description": "Operator for the condition", "enum": [ "present", "absent", "eq", "neq", "lt", "lte", "gt", "gte" ], "title": "Operator", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "default": null, "description": "Value for the condition", "title": "Value" } }, "required": [ "unique", "operator" ], "title": "DriverBltnStoreParams", "type": "object" }, "DriverPhueChangeParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "description": "Devices that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Devices", "type": "array" }, "sensors": { "anyOf": [ { "items": { "enum": [ "button1", "button2", "button3", "button4", "contact", "motion", "temperature" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Sensors that will be matched", "title": "Sensors" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "devices" ], "title": "DriverPhueChangeParams", "type": "object" }, "DriverUbiqClientParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "clients": { "description": "Clients that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "clients" ], "title": "DriverUbiqClientParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
builtins_period (enhomie.builtins.params.period.DriverBltnPeriodParams | None)
builtins_store (enhomie.builtins.params.store.DriverBltnStoreParams | None)
philips_change (enhomie.philips.params.plugins.change.DriverPhueChangeParams | None)
ubiquiti_client (enhomie.ubiquiti.params.plugins.client.DriverUbiqClientParams | None)
- field builtins_period: Annotated[DriverBltnPeriodParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field builtins_store: Annotated[DriverBltnStoreParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field family: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='default', description='Combine conditions in group', metadata=[MinLen(min_length=1)])] = 'default'#
Combine conditions in group
- Constraints:
min_length = 1
- field negate: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Invert conditional outcome')] = False#
Invert conditional outcome
- field philips_change: Annotated[DriverPhueChangeParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field ubiquiti_client: Annotated[DriverUbiqClientParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
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.
- pydantic model enhomie.homie.params.HomieAspireParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieAspireParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Devices that are in scope", "title": "Devices" }, "groups": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Groups that are in scope", "title": "Groups" }, "stage": { "anyOf": [ { "$ref": "#/$defs/HomieStageParams" }, { "type": "null" } ], "default": null, "description": "Default device scene config" }, "scene": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Update the group light scene", "title": "Scene" }, "store": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieStoreParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Update values in database", "title": "Store" }, "occurs": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieOccurParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Occurs" }, "wheres": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieWhereParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Wheres" }, "pause": { "default": 3, "description": "Delay before acting again", "maximum": 86400, "minimum": 1, "title": "Pause", "type": "integer" } }, "$defs": { "DriverBltnPeriodParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "start": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Start time in 24 hour format", "title": "Start" }, "stop": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Stop time in 24 hour format", "title": "Stop" }, "days": { "anyOf": [ { "items": { "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Days of the week in scope", "title": "Days" }, "tzname": { "default": "UTC", "description": "Timezone parsed with Time", "minLength": 1, "title": "Tzname", "type": "string" } }, "title": "DriverBltnPeriodParams", "type": "object" }, "DriverBltnRegexpParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "patterns": { "description": "Regular expression match", "items": { "type": "string" }, "minItems": 1, "title": "Patterns", "type": "array" }, "complete": { "default": false, "description": "Perform complete match", "title": "Complete", "type": "boolean" } }, "required": [ "patterns" ], "title": "DriverBltnRegexpParams", "type": "object" }, "DriverBltnStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "operator": { "description": "Operator for the condition", "enum": [ "present", "absent", "eq", "neq", "lt", "lte", "gt", "gte" ], "title": "Operator", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "default": null, "description": "Value for the condition", "title": "Value" } }, "required": [ "unique", "operator" ], "title": "DriverBltnStoreParams", "type": "object" }, "DriverPhueButtonParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "events": { "anyOf": [ { "items": { "enum": [ "initial_press", "long_release", "short_release" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Events that will be matched", "title": "Events" }, "sensor": { "description": "Sensor that will be matched", "enum": [ "button1", "button2", "button3", "button4" ], "title": "Sensor", "type": "string" } }, "required": [ "device", "sensor" ], "title": "DriverPhueButtonParams", "type": "object" }, "DriverPhueChangeParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "description": "Devices that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Devices", "type": "array" }, "sensors": { "anyOf": [ { "items": { "enum": [ "button1", "button2", "button3", "button4", "contact", "motion", "temperature" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Sensors that will be matched", "title": "Sensors" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "devices" ], "title": "DriverPhueChangeParams", "type": "object" }, "DriverPhueContactParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "contact", "no_contact" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueContactParams", "type": "object" }, "DriverPhueMotionParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "motion", "no_motion" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueMotionParams", "type": "object" }, "DriverPhueSceneParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "scene": { "description": "Scene that is in scope", "minLength": 1, "title": "Scene", "type": "string" }, "group": { "description": "Group that is in scope", "minLength": 1, "title": "Group", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "active", "inactive" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "scene", "group" ], "title": "DriverPhueSceneParams", "type": "object" }, "DriverUbiqClientParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "clients": { "description": "Clients that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "clients" ], "title": "DriverUbiqClientParams", "type": "object" }, "HomieOccurParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "builtins_regexp": { "anyOf": [ { "$ref": "#/$defs/DriverBltnRegexpParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_button": { "anyOf": [ { "$ref": "#/$defs/DriverPhueButtonParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_contact": { "anyOf": [ { "$ref": "#/$defs/DriverPhueContactParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_motion": { "anyOf": [ { "$ref": "#/$defs/DriverPhueMotionParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_scene": { "anyOf": [ { "$ref": "#/$defs/DriverPhueSceneParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieOccurParams", "type": "object" }, "HomieStageParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "title": "HomieStageParams", "type": "object" }, "HomieStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "description": "Value stored at unique", "title": "Value" }, "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": "1d", "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "required": [ "unique", "value" ], "title": "HomieStoreParams", "type": "object" }, "HomieWhereParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.\n\n.. note::\n When using the `default` `family`, the conditons are\n in an `AND` relationship. If another name is given\n for `family`, those will be with an OR relationship.", "properties": { "negate": { "default": false, "description": "Invert conditional outcome", "title": "Negate", "type": "boolean" }, "family": { "default": "default", "description": "Combine conditions in group", "minLength": 1, "title": "Family", "type": "string" }, "builtins_store": { "anyOf": [ { "$ref": "#/$defs/DriverBltnStoreParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "builtins_period": { "anyOf": [ { "$ref": "#/$defs/DriverBltnPeriodParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_change": { "anyOf": [ { "$ref": "#/$defs/DriverPhueChangeParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "ubiquiti_client": { "anyOf": [ { "$ref": "#/$defs/DriverUbiqClientParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieWhereParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Devices that are in scope', metadata=[MinLen(min_length=1)])] = None#
Devices that are in scope
- Constraints:
min_length = 1
- field groups: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Groups that are in scope', metadata=[MinLen(min_length=1)])] = None#
Groups that are in scope
- Constraints:
min_length = 1
- field occurs: Annotated[list[HomieOccurParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugins for the conditions', metadata=[MinLen(min_length=1)])] = None#
Plugins for the conditions
- Constraints:
min_length = 1
- field pause: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=3, description='Delay before acting again', metadata=[Ge(ge=1), Le(le=86400)])] = 3#
Delay before acting again
- Constraints:
ge = 1
le = 86400
- field scene: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update the group light scene', metadata=[MinLen(min_length=1)])] = None#
Update the group light scene
- Constraints:
min_length = 1
- field stage: Annotated[HomieStageParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Default device scene config')] = None#
Default device scene config
- pydantic model enhomie.homie.params.HomieChildParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieChildParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": {}, "additionalProperties": false }
- Config:
extra: str = forbid
- pydantic model enhomie.homie.params.HomieDesireParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieDesireParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Devices that are in scope", "title": "Devices" }, "groups": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Groups that are in scope", "title": "Groups" }, "stage": { "anyOf": [ { "$ref": "#/$defs/HomieStageParams" }, { "type": "null" } ], "default": null, "description": "Default device scene config" }, "scene": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Update the group light scene", "title": "Scene" }, "store": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieStoreParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Update values in database", "title": "Store" }, "wheres": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieWhereParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Wheres" }, "pause": { "default": 0, "description": "Delay before acting again", "maximum": 86400, "minimum": 0, "title": "Pause", "type": "integer" }, "delay": { "default": true, "description": "Enforce pause on initial", "title": "Delay", "type": "boolean" }, "weight": { "default": 0, "description": "Precedence when multiple", "maximum": 1000.0, "minimum": 0, "title": "Weight", "type": "integer" } }, "$defs": { "DriverBltnPeriodParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "start": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Start time in 24 hour format", "title": "Start" }, "stop": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Stop time in 24 hour format", "title": "Stop" }, "days": { "anyOf": [ { "items": { "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Days of the week in scope", "title": "Days" }, "tzname": { "default": "UTC", "description": "Timezone parsed with Time", "minLength": 1, "title": "Tzname", "type": "string" } }, "title": "DriverBltnPeriodParams", "type": "object" }, "DriverBltnStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "operator": { "description": "Operator for the condition", "enum": [ "present", "absent", "eq", "neq", "lt", "lte", "gt", "gte" ], "title": "Operator", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "default": null, "description": "Value for the condition", "title": "Value" } }, "required": [ "unique", "operator" ], "title": "DriverBltnStoreParams", "type": "object" }, "DriverPhueChangeParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "description": "Devices that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Devices", "type": "array" }, "sensors": { "anyOf": [ { "items": { "enum": [ "button1", "button2", "button3", "button4", "contact", "motion", "temperature" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Sensors that will be matched", "title": "Sensors" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "devices" ], "title": "DriverPhueChangeParams", "type": "object" }, "DriverUbiqClientParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "clients": { "description": "Clients that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "clients" ], "title": "DriverUbiqClientParams", "type": "object" }, "HomieStageParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "title": "HomieStageParams", "type": "object" }, "HomieStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "description": "Value stored at unique", "title": "Value" }, "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": "1d", "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "required": [ "unique", "value" ], "title": "HomieStoreParams", "type": "object" }, "HomieWhereParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.\n\n.. note::\n When using the `default` `family`, the conditons are\n in an `AND` relationship. If another name is given\n for `family`, those will be with an OR relationship.", "properties": { "negate": { "default": false, "description": "Invert conditional outcome", "title": "Negate", "type": "boolean" }, "family": { "default": "default", "description": "Combine conditions in group", "minLength": 1, "title": "Family", "type": "string" }, "builtins_store": { "anyOf": [ { "$ref": "#/$defs/DriverBltnStoreParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "builtins_period": { "anyOf": [ { "$ref": "#/$defs/DriverBltnPeriodParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_change": { "anyOf": [ { "$ref": "#/$defs/DriverPhueChangeParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "ubiquiti_client": { "anyOf": [ { "$ref": "#/$defs/DriverUbiqClientParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieWhereParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field delay: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Enforce pause on initial')] = True#
Enforce pause on initial
- field devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Devices that are in scope', metadata=[MinLen(min_length=1)])] = None#
Devices that are in scope
- Constraints:
min_length = 1
- field groups: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Groups that are in scope', metadata=[MinLen(min_length=1)])] = None#
Groups that are in scope
- Constraints:
min_length = 1
- field pause: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=0, description='Delay before acting again', metadata=[Ge(ge=0), Le(le=86400)])] = 0#
Delay before acting again
- Constraints:
ge = 0
le = 86400
- field scene: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update the group light scene', metadata=[MinLen(min_length=1)])] = None#
Update the group light scene
- Constraints:
min_length = 1
- field stage: Annotated[HomieStageParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Default device scene config')] = None#
Default device scene config
- field store: Annotated[list[HomieStoreParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Update values in database', metadata=[MinLen(min_length=1)])] = None#
Update values in database
- Constraints:
min_length = 1
- pydantic model enhomie.homie.params.HomieDeviceParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieDeviceParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "origin": { "description": "Origin where device exists", "minLength": 1, "title": "Origin", "type": "string" }, "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Device name in the origin", "title": "Label" }, "unique": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unique identifier in origin", "title": "Unique" } }, "additionalProperties": false, "required": [ "origin" ] }
- Config:
extra: str = forbid
- Fields:
- field label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Device name in the origin', metadata=[MinLen(min_length=1)])] = None#
Device name in the origin
- Constraints:
min_length = 1
- pydantic model enhomie.homie.params.HomieGroupParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieGroupParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "origin": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Origin where group exists", "title": "Origin" }, "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Group name in the origin", "title": "Label" }, "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "List of devices in group", "title": "Devices" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field devices: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='List of devices in group', metadata=[MinLen(min_length=1)])] = None#
List of devices in group
- Constraints:
min_length = 1
- pydantic model enhomie.homie.params.HomieOccurParams[source]#
Bases:
HomiePluginParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieOccurParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "builtins_regexp": { "anyOf": [ { "$ref": "#/$defs/DriverBltnRegexpParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_button": { "anyOf": [ { "$ref": "#/$defs/DriverPhueButtonParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_contact": { "anyOf": [ { "$ref": "#/$defs/DriverPhueContactParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_motion": { "anyOf": [ { "$ref": "#/$defs/DriverPhueMotionParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_scene": { "anyOf": [ { "$ref": "#/$defs/DriverPhueSceneParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "$defs": { "DriverBltnRegexpParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "patterns": { "description": "Regular expression match", "items": { "type": "string" }, "minItems": 1, "title": "Patterns", "type": "array" }, "complete": { "default": false, "description": "Perform complete match", "title": "Complete", "type": "boolean" } }, "required": [ "patterns" ], "title": "DriverBltnRegexpParams", "type": "object" }, "DriverPhueButtonParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "events": { "anyOf": [ { "items": { "enum": [ "initial_press", "long_release", "short_release" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Events that will be matched", "title": "Events" }, "sensor": { "description": "Sensor that will be matched", "enum": [ "button1", "button2", "button3", "button4" ], "title": "Sensor", "type": "string" } }, "required": [ "device", "sensor" ], "title": "DriverPhueButtonParams", "type": "object" }, "DriverPhueContactParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "contact", "no_contact" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueContactParams", "type": "object" }, "DriverPhueMotionParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "motion", "no_motion" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueMotionParams", "type": "object" }, "DriverPhueSceneParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "scene": { "description": "Scene that is in scope", "minLength": 1, "title": "Scene", "type": "string" }, "group": { "description": "Group that is in scope", "minLength": 1, "title": "Group", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "active", "inactive" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "scene", "group" ], "title": "DriverPhueSceneParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field builtins_regexp: Annotated[DriverBltnRegexpParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field philips_button: Annotated[DriverPhueButtonParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field philips_contact: Annotated[DriverPhueContactParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field philips_motion: Annotated[DriverPhueMotionParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field philips_scene: Annotated[DriverPhueSceneParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- pydantic model enhomie.homie.params.HomieOriginParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieOriginParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "hubitat": { "anyOf": [ { "$ref": "#/$defs/HubiOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" }, "philips": { "anyOf": [ { "$ref": "#/$defs/PhueOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" }, "ubiquiti": { "anyOf": [ { "$ref": "#/$defs/UbiqOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" } }, "$defs": { "HubiOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bridge": { "$ref": "#/$defs/enconnect__hubitat__params__BridgeParams", "description": "Connection specific parameters" } }, "required": [ "bridge" ], "title": "HubiOriginParams", "type": "object" }, "PhueOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bridge": { "$ref": "#/$defs/enconnect__philips__params__BridgeParams", "description": "Connection specific parameters" } }, "required": [ "bridge" ], "title": "PhueOriginParams", "type": "object" }, "RouterParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "username": { "description": "Parameter for the integration", "minLength": 1, "title": "Username", "type": "string" }, "password": { "description": "Parameter for the integration", "minLength": 1, "title": "Password", "type": "string" }, "site": { "default": "default", "description": "Parameter for the integration", "minLength": 1, "title": "Site", "type": "string" }, "ssl_verify": { "default": true, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "username", "password" ], "title": "RouterParams", "type": "object" }, "UbiqOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "router": { "$ref": "#/$defs/RouterParams", "description": "Connection specific parameters" } }, "required": [ "router" ], "title": "UbiqOriginParams", "type": "object" }, "enconnect__hubitat__params__BridgeParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "appid": { "description": "Parameter for the integration", "minimum": 0, "title": "Appid", "type": "integer" }, "token": { "description": "Parameter for the integration", "minLength": 1, "title": "Token", "type": "string" }, "ssl_verify": { "default": false, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "appid", "token" ], "title": "BridgeParams", "type": "object" }, "enconnect__philips__params__BridgeParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "token": { "description": "Parameter for the integration", "minLength": 1, "title": "Token", "type": "string" }, "ssl_verify": { "default": true, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "token" ], "title": "BridgeParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field hubitat: Annotated[HubiOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')] = None#
Connection specific parameters
- field philips: Annotated[PhueOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')] = None#
Connection specific parameters
- field ubiquiti: Annotated[UbiqOriginParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Connection specific parameters')] = None#
Connection specific parameters
- pydantic model enhomie.homie.params.HomieParams[source]#
Bases:
Params
Process and validate the core configuration parameters.
Show JSON schema
{ "title": "HomieParams", "description": "Process and validate the core configuration parameters.", "type": "object", "properties": { "enconfig": { "anyOf": [ { "$ref": "#/$defs/ConfigParams" }, { "type": "null" } ], "default": null, "description": "Parameters for Config instance" }, "enlogger": { "anyOf": [ { "$ref": "#/$defs/LoggerParams" }, { "type": "null" } ], "default": null, "description": "Parameters for Logger instance" }, "encrypts": { "anyOf": [ { "$ref": "#/$defs/CryptsParams" }, { "type": "null" } ], "default": null, "description": "Parameters for Crypts instance" }, "database": { "default": "sqlite:///:memory:", "description": "Database connection string", "minLength": 1, "title": "Database", "type": "string" }, "dryrun": { "default": false, "description": "Determine if changes applied", "title": "Dryrun", "type": "boolean" }, "potent": { "default": true, "description": "Ignore idempotency in change", "title": "Potent", "type": "boolean" }, "printer": { "$ref": "#/$defs/HomiePrinterParams", "description": "Print the stream to console" }, "service": { "$ref": "#/$defs/HomieServiceParams", "description": "Parameters for Homie Service" }, "restful": { "$ref": "#/$defs/RestfulServiceParams", "description": "Parameters for Homie RESTful" }, "persists": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomiePersistParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for common persists", "title": "Persists" }, "filters": { "$ref": "#/$defs/HomieFiltersParams", "description": "Determine object instantiation" }, "origins": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieOriginParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie origins", "title": "Origins" }, "devices": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieDeviceParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie devices", "title": "Devices" }, "groups": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieGroupParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie groups", "title": "Groups" }, "scenes": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieSceneParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie scenes", "title": "Scenes" }, "desires": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieDesireParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie desires", "title": "Desires" }, "aspires": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieAspireParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Parameters for Homie aspires", "title": "Aspires" } }, "$defs": { "ConfigParams": { "additionalProperties": false, "description": "Process and validate the core configuration parameters.", "properties": { "paths": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Location of configuration files", "title": "Paths" } }, "title": "ConfigParams", "type": "object" }, "CryptParams": { "additionalProperties": false, "description": "Process and validate the core configuration parameters.", "properties": { "phrase": { "description": "Passphrase for the operations", "minLength": 1, "title": "Phrase", "type": "string" } }, "required": [ "phrase" ], "title": "CryptParams", "type": "object" }, "CryptsParams": { "additionalProperties": false, "description": "Process and validate the core configuration parameters.", "properties": { "phrases": { "additionalProperties": { "$ref": "#/$defs/CryptParams" }, "description": "Passphrases for the operations", "minProperties": 0, "title": "Phrases", "type": "object" } }, "required": [ "phrases" ], "title": "CryptsParams", "type": "object" }, "DriverBltnPeriodParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "start": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Start time in 24 hour format", "title": "Start" }, "stop": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Stop time in 24 hour format", "title": "Stop" }, "days": { "anyOf": [ { "items": { "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Days of the week in scope", "title": "Days" }, "tzname": { "default": "UTC", "description": "Timezone parsed with Time", "minLength": 1, "title": "Tzname", "type": "string" } }, "title": "DriverBltnPeriodParams", "type": "object" }, "DriverBltnRegexpParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "patterns": { "description": "Regular expression match", "items": { "type": "string" }, "minItems": 1, "title": "Patterns", "type": "array" }, "complete": { "default": false, "description": "Perform complete match", "title": "Complete", "type": "boolean" } }, "required": [ "patterns" ], "title": "DriverBltnRegexpParams", "type": "object" }, "DriverBltnStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "operator": { "description": "Operator for the condition", "enum": [ "present", "absent", "eq", "neq", "lt", "lte", "gt", "gte" ], "title": "Operator", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "default": null, "description": "Value for the condition", "title": "Value" } }, "required": [ "unique", "operator" ], "title": "DriverBltnStoreParams", "type": "object" }, "DriverPhueButtonParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "events": { "anyOf": [ { "items": { "enum": [ "initial_press", "long_release", "short_release" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Events that will be matched", "title": "Events" }, "sensor": { "description": "Sensor that will be matched", "enum": [ "button1", "button2", "button3", "button4" ], "title": "Sensor", "type": "string" } }, "required": [ "device", "sensor" ], "title": "DriverPhueButtonParams", "type": "object" }, "DriverPhueChangeParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "description": "Devices that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Devices", "type": "array" }, "sensors": { "anyOf": [ { "items": { "enum": [ "button1", "button2", "button3", "button4", "contact", "motion", "temperature" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Sensors that will be matched", "title": "Sensors" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "devices" ], "title": "DriverPhueChangeParams", "type": "object" }, "DriverPhueContactParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "contact", "no_contact" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueContactParams", "type": "object" }, "DriverPhueMotionParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "device": { "description": "Device that is in scope", "minLength": 1, "title": "Device", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "motion", "no_motion" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "device" ], "title": "DriverPhueMotionParams", "type": "object" }, "DriverPhueSceneParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "scene": { "description": "Scene that is in scope", "minLength": 1, "title": "Scene", "type": "string" }, "group": { "description": "Group that is in scope", "minLength": 1, "title": "Group", "type": "string" }, "states": { "anyOf": [ { "items": { "enum": [ "active", "inactive" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "States that will be matched", "title": "States" } }, "required": [ "scene", "group" ], "title": "DriverPhueSceneParams", "type": "object" }, "DriverUbiqClientParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "clients": { "description": "Clients that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "clients" ], "title": "DriverUbiqClientParams", "type": "object" }, "HomieAspireParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Devices that are in scope", "title": "Devices" }, "groups": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Groups that are in scope", "title": "Groups" }, "stage": { "anyOf": [ { "$ref": "#/$defs/HomieStageParams" }, { "type": "null" } ], "default": null, "description": "Default device scene config" }, "scene": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Update the group light scene", "title": "Scene" }, "store": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieStoreParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Update values in database", "title": "Store" }, "occurs": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieOccurParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Occurs" }, "wheres": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieWhereParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Wheres" }, "pause": { "default": 3, "description": "Delay before acting again", "maximum": 86400, "minimum": 1, "title": "Pause", "type": "integer" } }, "title": "HomieAspireParams", "type": "object" }, "HomieDesireParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Devices that are in scope", "title": "Devices" }, "groups": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Groups that are in scope", "title": "Groups" }, "stage": { "anyOf": [ { "$ref": "#/$defs/HomieStageParams" }, { "type": "null" } ], "default": null, "description": "Default device scene config" }, "scene": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Update the group light scene", "title": "Scene" }, "store": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieStoreParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Update values in database", "title": "Store" }, "wheres": { "anyOf": [ { "items": { "$ref": "#/$defs/HomieWhereParams" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Plugins for the conditions", "title": "Wheres" }, "pause": { "default": 0, "description": "Delay before acting again", "maximum": 86400, "minimum": 0, "title": "Pause", "type": "integer" }, "delay": { "default": true, "description": "Enforce pause on initial", "title": "Delay", "type": "boolean" }, "weight": { "default": 0, "description": "Precedence when multiple", "maximum": 1000.0, "minimum": 0, "title": "Weight", "type": "integer" } }, "title": "HomieDesireParams", "type": "object" }, "HomieDeviceParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "origin": { "description": "Origin where device exists", "minLength": 1, "title": "Origin", "type": "string" }, "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Device name in the origin", "title": "Label" }, "unique": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unique identifier in origin", "title": "Unique" } }, "required": [ "origin" ], "title": "HomieDeviceParams", "type": "object" }, "HomieFiltersParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "aspires": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Patterns the names must match", "title": "Aspires" }, "desires": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Patterns the names must match", "title": "Desires" } }, "title": "HomieFiltersParams", "type": "object" }, "HomieGroupParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "origin": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Origin where group exists", "title": "Origin" }, "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Group name in the origin", "title": "Label" }, "devices": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "List of devices in group", "title": "Devices" } }, "title": "HomieGroupParams", "type": "object" }, "HomieOccurParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "builtins_regexp": { "anyOf": [ { "$ref": "#/$defs/DriverBltnRegexpParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_button": { "anyOf": [ { "$ref": "#/$defs/DriverPhueButtonParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_contact": { "anyOf": [ { "$ref": "#/$defs/DriverPhueContactParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_motion": { "anyOf": [ { "$ref": "#/$defs/DriverPhueMotionParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_scene": { "anyOf": [ { "$ref": "#/$defs/DriverPhueSceneParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieOccurParams", "type": "object" }, "HomieOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "hubitat": { "anyOf": [ { "$ref": "#/$defs/HubiOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" }, "philips": { "anyOf": [ { "$ref": "#/$defs/PhueOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" }, "ubiquiti": { "anyOf": [ { "$ref": "#/$defs/UbiqOriginParams" }, { "type": "null" } ], "default": null, "description": "Connection specific parameters" } }, "title": "HomieOriginParams", "type": "object" }, "HomiePersistParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": null, "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "title": "HomiePersistParams", "type": "object" }, "HomiePrinterParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "action": { "default": false, "description": "Print the actions to console", "title": "Action", "type": "boolean" }, "update": { "default": false, "description": "Print the updates to console", "title": "Update", "type": "boolean" }, "stream": { "default": false, "description": "Print the streams to console", "title": "Stream", "type": "boolean" }, "desire": { "default": false, "description": "Print the aspires to console", "title": "Desire", "type": "boolean" }, "aspire": { "default": false, "description": "Print the aspires to console", "title": "Aspire", "type": "boolean" } }, "title": "HomiePrinterParams", "type": "object" }, "HomieSceneParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Scene name in the origin", "title": "Label" }, "stage": { "$ref": "#/$defs/HomieStageParams", "description": "Default device scene config" }, "devices": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieStageParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Device specific scene config", "title": "Devices" } }, "title": "HomieSceneParams", "type": "object" }, "HomieServiceMembersParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "actions": { "default": true, "description": "Determine whether created", "title": "Actions", "type": "boolean" }, "streams": { "default": true, "description": "Determine whether created", "title": "Streams", "type": "boolean" }, "updates": { "default": true, "description": "Determine whether created", "title": "Updates", "type": "boolean" }, "restful": { "default": false, "description": "Determine whether created", "title": "Restful", "type": "boolean" } }, "title": "HomieServiceMembersParams", "type": "object" }, "HomieServiceParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "respite": { "$ref": "#/$defs/HomieServiceRespiteParams", "description": "When operates are performed" }, "timeout": { "$ref": "#/$defs/HomieServiceTimeoutParams", "description": "Override source or defaults" }, "members": { "$ref": "#/$defs/HomieServiceMembersParams", "description": "Which members are created" } }, "title": "HomieServiceParams", "type": "object" }, "HomieServiceRespiteParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "desire": { "default": 60, "description": "How often desires performed", "maximum": 900, "minimum": 1, "title": "Desire", "type": "integer" }, "update": { "default": 60, "description": "How often updates performed", "maximum": 900, "minimum": 1, "title": "Update", "type": "integer" }, "health": { "default": 3, "description": "How often health is checked", "maximum": 15, "minimum": 1, "title": "Health", "type": "integer" } }, "title": "HomieServiceRespiteParams", "type": "object" }, "HomieServiceTimeoutParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "action": { "default": 5, "description": "Override the actions timeout", "maximum": 30, "minimum": 1, "title": "Action", "type": "integer" }, "update": { "default": 3, "description": "Override the updates timeout", "maximum": 30, "minimum": 1, "title": "Update", "type": "integer" }, "stream": { "default": 60, "description": "Override the stream timeout", "maximum": 900, "minimum": 1, "title": "Stream", "type": "integer" } }, "title": "HomieServiceTimeoutParams", "type": "object" }, "HomieStageParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "title": "HomieStageParams", "type": "object" }, "HomieStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "description": "Value stored at unique", "title": "Value" }, "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": "1d", "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "required": [ "unique", "value" ], "title": "HomieStoreParams", "type": "object" }, "HomieWhereParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.\n\n.. note::\n When using the `default` `family`, the conditons are\n in an `AND` relationship. If another name is given\n for `family`, those will be with an OR relationship.", "properties": { "negate": { "default": false, "description": "Invert conditional outcome", "title": "Negate", "type": "boolean" }, "family": { "default": "default", "description": "Combine conditions in group", "minLength": 1, "title": "Family", "type": "string" }, "builtins_store": { "anyOf": [ { "$ref": "#/$defs/DriverBltnStoreParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "builtins_period": { "anyOf": [ { "$ref": "#/$defs/DriverBltnPeriodParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_change": { "anyOf": [ { "$ref": "#/$defs/DriverPhueChangeParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "ubiquiti_client": { "anyOf": [ { "$ref": "#/$defs/DriverUbiqClientParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "title": "HomieWhereParams", "type": "object" }, "HubiOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bridge": { "$ref": "#/$defs/enconnect__hubitat__params__BridgeParams", "description": "Connection specific parameters" } }, "required": [ "bridge" ], "title": "HubiOriginParams", "type": "object" }, "LoggerParams": { "additionalProperties": false, "description": "Process and validate the core configuration parameters.", "properties": { "stdo_level": { "anyOf": [ { "enum": [ "critical", "debug", "error", "info", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Minimum logging message level", "title": "Stdo Level" }, "file_level": { "anyOf": [ { "enum": [ "critical", "debug", "error", "info", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Minimum logging message level", "title": "File Level" }, "file_path": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Enable output to the log file", "title": "File Path" } }, "title": "LoggerParams", "type": "object" }, "PhueOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bridge": { "$ref": "#/$defs/enconnect__philips__params__BridgeParams", "description": "Connection specific parameters" } }, "required": [ "bridge" ], "title": "PhueOriginParams", "type": "object" }, "RestfulServiceParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "bind_addr": { "default": "127.0.0.1", "description": "Which local address to bind", "minLength": 1, "title": "Bind Addr", "type": "string" }, "bind_port": { "default": 8420, "description": "Which port on address to bind", "maximum": 65535, "minimum": 0, "title": "Bind Port", "type": "integer" }, "authenticate": { "anyOf": [ { "additionalProperties": { "type": "string" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Credentials for authentication", "title": "Authenticate" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Filesystem path to certificate", "title": "Ssl Capem" }, "ssl_mypem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Filesystem path to certificate", "title": "Ssl Mypem" }, "ssl_mykey": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Filesystem path to certificate", "title": "Ssl Mykey" } }, "title": "RestfulServiceParams", "type": "object" }, "RouterParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "username": { "description": "Parameter for the integration", "minLength": 1, "title": "Username", "type": "string" }, "password": { "description": "Parameter for the integration", "minLength": 1, "title": "Password", "type": "string" }, "site": { "default": "default", "description": "Parameter for the integration", "minLength": 1, "title": "Site", "type": "string" }, "ssl_verify": { "default": true, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "username", "password" ], "title": "RouterParams", "type": "object" }, "UbiqOriginParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "router": { "$ref": "#/$defs/RouterParams", "description": "Connection specific parameters" } }, "required": [ "router" ], "title": "UbiqOriginParams", "type": "object" }, "enconnect__hubitat__params__BridgeParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "appid": { "description": "Parameter for the integration", "minimum": 0, "title": "Appid", "type": "integer" }, "token": { "description": "Parameter for the integration", "minLength": 1, "title": "Token", "type": "string" }, "ssl_verify": { "default": false, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "appid", "token" ], "title": "BridgeParams", "type": "object" }, "enconnect__philips__params__BridgeParams": { "additionalProperties": false, "description": "Process and validate the class configuration parameters.", "properties": { "server": { "description": "Server address for connection", "minLength": 1, "title": "Server", "type": "string" }, "timeout": { "default": 30, "description": "Timeout connecting to server", "maximum": 300, "minimum": 1, "title": "Timeout", "type": "integer" }, "token": { "description": "Parameter for the integration", "minLength": 1, "title": "Token", "type": "string" }, "ssl_verify": { "default": true, "description": "Verify the ceritifcate valid", "title": "Ssl Verify", "type": "boolean" }, "ssl_capem": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Verify the ceritifcate valid", "title": "Ssl Capem" } }, "required": [ "server", "token" ], "title": "BridgeParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
enconfig (Annotated[Optional[ConfigParams], Field(None, description='Parameters for Config instance')])
encrypts (Annotated[Optional[CryptsParams], Field(None, description='Parameters for Crypts instance')])
enlogger (Annotated[Optional[LoggerParams], Field(None, description='Parameters for Logger instance')])
- field aspires: Annotated[dict[str, HomieAspireParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie aspires', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie aspires
- Constraints:
min_length = 1
- field database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])] = 'sqlite:///:memory:'#
Database connection string
- Constraints:
min_length = 1
- field desires: Annotated[dict[str, HomieDesireParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie desires', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie desires
- Constraints:
min_length = 1
- field devices: Annotated[dict[str, HomieDeviceParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie devices', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie devices
- Constraints:
min_length = 1
- field dryrun: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Determine if changes applied')] = False#
Determine if changes applied
- field enconfig: Annotated[ConfigParams | None, Field(None, description='Parameters for Config instance')] = None#
Parameters for Config instance
- field encrypts: Annotated[CryptsParams | None, Field(None, description='Parameters for Crypts instance')] = None#
Parameters for Crypts instance
- field enlogger: Annotated[LoggerParams | None, Field(None, description='Parameters for Logger instance')] = None#
Parameters for Logger instance
- field filters: Annotated[HomieFiltersParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieFiltersParams, description='Determine object instantiation')] [Optional]#
Determine object instantiation
- field groups: Annotated[dict[str, HomieGroupParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie groups', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie groups
- Constraints:
min_length = 1
- field origins: Annotated[dict[str, HomieOriginParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie origins', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie origins
- Constraints:
min_length = 1
- field persists: Annotated[dict[str, HomiePersistParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for common persists', metadata=[MinLen(min_length=1)])] = None#
Parameters for common persists
- Constraints:
min_length = 1
- field potent: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Ignore idempotency in change')] = True#
Ignore idempotency in change
- field printer: Annotated[HomiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomiePrinterParams, description='Print the stream to console')] [Optional]#
Print the stream to console
- field restful: Annotated[RestfulServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RestfulServiceParams, description='Parameters for Homie RESTful')] [Optional]#
Parameters for Homie RESTful
- field scenes: Annotated[dict[str, HomieSceneParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Homie scenes', metadata=[MinLen(min_length=1)])] = None#
Parameters for Homie scenes
- Constraints:
min_length = 1
- field service: Annotated[HomieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceParams, description='Parameters for Homie Service')] [Optional]#
Parameters for Homie Service
- pydantic model enhomie.homie.params.HomieParamsModel[source]#
Bases:
BaseModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieParamsModel", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": {}, "additionalProperties": false }
- Config:
extra: str = forbid
- pydantic model enhomie.homie.params.HomiePersistParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomiePersistParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": null, "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='About the persist entry', metadata=[MinLen(min_length=1)])] = None#
About the persist entry
- Constraints:
min_length = 1
- field about_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist entry', metadata=[MinLen(min_length=1)])] = None#
Icon for persist entry
- Constraints:
min_length = 1
- field about_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist entry', metadata=[MinLen(min_length=1)])] = None#
Label for persist entry
- Constraints:
min_length = 1
- field expire: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='After when the key expires', examples=['1h', '1h30m', '1d'], metadata=[MinLen(min_length=1), _PydanticGeneralMetadata(pattern=re.compile('^(\\d+(s|m|h|d|w|y))*$'))])] = None#
After when the key expires
- Constraints:
min_length = 1
pattern = re.compile(‘^(\d+(s|m|h|d|w|y))*$’)
- field 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)])] = None#
Severity of persist entry
- Constraints:
min_length = 1
- field tags: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Tags for persist entry', metadata=[MinLen(min_length=1)])] = None#
Tags for persist entry
- Constraints:
min_length = 1
- field value_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist value', metadata=[MinLen(min_length=1)])] = None#
Icon for persist value
- Constraints:
min_length = 1
- pydantic model enhomie.homie.params.HomiePluginParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomiePluginParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": {}, "additionalProperties": false }
- Config:
extra: str = forbid
- pydantic model enhomie.homie.params.HomiePrinterParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomiePrinterParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "action": { "default": false, "description": "Print the actions to console", "title": "Action", "type": "boolean" }, "update": { "default": false, "description": "Print the updates to console", "title": "Update", "type": "boolean" }, "stream": { "default": false, "description": "Print the streams to console", "title": "Stream", "type": "boolean" }, "desire": { "default": false, "description": "Print the aspires to console", "title": "Desire", "type": "boolean" }, "aspire": { "default": false, "description": "Print the aspires to console", "title": "Aspire", "type": "boolean" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field action: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the actions to console')] = False#
Print the actions to console
- field aspire: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the aspires to console')] = False#
Print the aspires to console
- field desire: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the aspires to console')] = False#
Print the aspires to console
- pydantic model enhomie.homie.params.HomieSceneParams[source]#
Bases:
HomieChildParams
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieSceneParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Scene name in the origin", "title": "Label" }, "stage": { "$ref": "#/$defs/HomieStageParams", "description": "Default device scene config" }, "devices": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/HomieStageParams" }, "minProperties": 1, "type": "object" }, { "type": "null" } ], "default": null, "description": "Device specific scene config", "title": "Devices" } }, "$defs": { "HomieStageParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "state": { "anyOf": [ { "enum": [ "poweron", "nopower" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light state", "title": "State" }, "color": { "anyOf": [ { "maxLength": 6, "minLength": 6, "type": "string" }, { "type": "null" } ], "default": null, "description": "Setting for the light color", "title": "Color" }, "level": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Setting for the light level", "title": "Level" } }, "title": "HomieStageParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field devices: Annotated[dict[str, HomieStageParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Device specific scene config', metadata=[MinLen(min_length=1)])] = None#
Device specific scene config
- Constraints:
min_length = 1
- field label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Scene name in the origin', metadata=[MinLen(min_length=1)])] = None#
Scene name in the origin
- Constraints:
min_length = 1
- field stage: Annotated[HomieStageParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieStageParams, description='Default device scene config')] [Optional]#
Default device scene config
- pydantic model enhomie.homie.params.HomieServiceParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieServiceParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "respite": { "$ref": "#/$defs/HomieServiceRespiteParams", "description": "When operates are performed" }, "timeout": { "$ref": "#/$defs/HomieServiceTimeoutParams", "description": "Override source or defaults" }, "members": { "$ref": "#/$defs/HomieServiceMembersParams", "description": "Which members are created" } }, "$defs": { "HomieServiceMembersParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "actions": { "default": true, "description": "Determine whether created", "title": "Actions", "type": "boolean" }, "streams": { "default": true, "description": "Determine whether created", "title": "Streams", "type": "boolean" }, "updates": { "default": true, "description": "Determine whether created", "title": "Updates", "type": "boolean" }, "restful": { "default": false, "description": "Determine whether created", "title": "Restful", "type": "boolean" } }, "title": "HomieServiceMembersParams", "type": "object" }, "HomieServiceRespiteParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "desire": { "default": 60, "description": "How often desires performed", "maximum": 900, "minimum": 1, "title": "Desire", "type": "integer" }, "update": { "default": 60, "description": "How often updates performed", "maximum": 900, "minimum": 1, "title": "Update", "type": "integer" }, "health": { "default": 3, "description": "How often health is checked", "maximum": 15, "minimum": 1, "title": "Health", "type": "integer" } }, "title": "HomieServiceRespiteParams", "type": "object" }, "HomieServiceTimeoutParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "action": { "default": 5, "description": "Override the actions timeout", "maximum": 30, "minimum": 1, "title": "Action", "type": "integer" }, "update": { "default": 3, "description": "Override the updates timeout", "maximum": 30, "minimum": 1, "title": "Update", "type": "integer" }, "stream": { "default": 60, "description": "Override the stream timeout", "maximum": 900, "minimum": 1, "title": "Stream", "type": "integer" } }, "title": "HomieServiceTimeoutParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field members: Annotated[HomieServiceMembersParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceMembersParams, description='Which members are created')] [Optional]#
Which members are created
- field respite: Annotated[HomieServiceRespiteParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceRespiteParams, description='When operates are performed')] [Optional]#
When operates are performed
- field timeout: Annotated[HomieServiceTimeoutParams, FieldInfo(annotation=NoneType, required=False, default_factory=HomieServiceTimeoutParams, description='Override source or defaults')] [Optional]#
Override source or defaults
- pydantic model enhomie.homie.params.HomieStoreParams[source]#
Bases:
HomieParamsModel
Process and validate the Homie configuration parameters.
Show JSON schema
{ "title": "HomieStoreParams", "description": "Process and validate the Homie configuration parameters.", "type": "object", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "description": "Value stored at unique", "title": "Value" }, "value_unit": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Unit for persist value", "title": "Value Unit" }, "value_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist value", "title": "Value Label" }, "value_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist value", "title": "Value Icon" }, "about": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "About the persist entry", "title": "About" }, "about_label": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Label for persist entry", "title": "About Label" }, "about_icon": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon for persist entry", "title": "About Icon" }, "level": { "anyOf": [ { "enum": [ "failure", "information", "success", "warning" ], "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Severity of persist entry", "title": "Level" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Tags for persist entry", "title": "Tags" }, "expire": { "anyOf": [ { "minLength": 1, "pattern": "^(\\d+(s|m|h|d|w|y))*$", "type": "string" }, { "type": "null" } ], "default": "1d", "description": "After when the key expires", "examples": [ "1h", "1h30m", "1d" ], "title": "Expire" } }, "additionalProperties": false, "required": [ "unique", "value" ] }
- Config:
extra: str = forbid
- Fields:
- field about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='About the persist entry', metadata=[MinLen(min_length=1)])] = None#
About the persist entry
- Constraints:
min_length = 1
- field about_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist entry', metadata=[MinLen(min_length=1)])] = None#
Icon for persist entry
- Constraints:
min_length = 1
- field about_label: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Label for persist entry', metadata=[MinLen(min_length=1)])] = None#
Label for persist entry
- Constraints:
min_length = 1
- field expire: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='After when the key expires', examples=['1h', '1h30m', '1d'], metadata=[MinLen(min_length=1), _PydanticGeneralMetadata(pattern=re.compile('^(\\d+(s|m|h|d|w|y))*$'))])] = '1d'#
After when the key expires
- Constraints:
min_length = 1
pattern = re.compile(‘^(\d+(s|m|h|d|w|y))*$’)
- field 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)])] = None#
Severity of persist entry
- Constraints:
min_length = 1
- field tags: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Tags for persist entry', metadata=[MinLen(min_length=1)])] = None#
Tags for persist entry
- Constraints:
min_length = 1
- field unique: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Unique key for the value', metadata=[MinLen(min_length=1)])] [Required]#
Unique key for the value
- Constraints:
min_length = 1
- field value: Annotated[int | float | bool | str | None, FieldInfo(annotation=NoneType, required=True, description='Value stored at unique')] [Required]#
Value stored at unique
- field value_icon: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Icon for persist value', metadata=[MinLen(min_length=1)])] = None#
Icon for persist value
- Constraints:
min_length = 1
- pydantic model enhomie.homie.params.HomieWhereParams[source]#
Bases:
HomiePluginParams
Process 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.
Show JSON schema
{ "title": "HomieWhereParams", "description": "Process and validate the Homie configuration parameters.\n\n.. note::\n When using the `default` `family`, the conditons are\n in an `AND` relationship. If another name is given\n for `family`, those will be with an OR relationship.", "type": "object", "properties": { "negate": { "default": false, "description": "Invert conditional outcome", "title": "Negate", "type": "boolean" }, "family": { "default": "default", "description": "Combine conditions in group", "minLength": 1, "title": "Family", "type": "string" }, "builtins_store": { "anyOf": [ { "$ref": "#/$defs/DriverBltnStoreParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "builtins_period": { "anyOf": [ { "$ref": "#/$defs/DriverBltnPeriodParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "philips_change": { "anyOf": [ { "$ref": "#/$defs/DriverPhueChangeParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" }, "ubiquiti_client": { "anyOf": [ { "$ref": "#/$defs/DriverUbiqClientParams" }, { "type": "null" } ], "default": null, "description": "Plugin for the operations" } }, "$defs": { "DriverBltnPeriodParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "start": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Start time in 24 hour format", "title": "Start" }, "stop": { "anyOf": [ { "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Stop time in 24 hour format", "title": "Stop" }, "days": { "anyOf": [ { "items": { "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Days of the week in scope", "title": "Days" }, "tzname": { "default": "UTC", "description": "Timezone parsed with Time", "minLength": 1, "title": "Tzname", "type": "string" } }, "title": "DriverBltnPeriodParams", "type": "object" }, "DriverBltnStoreParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "unique": { "description": "Unique key for the value", "minLength": 1, "title": "Unique", "type": "string" }, "operator": { "description": "Operator for the condition", "enum": [ "present", "absent", "eq", "neq", "lt", "lte", "gt", "gte" ], "title": "Operator", "type": "string" }, "value": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }, { "type": "null" } ], "default": null, "description": "Value for the condition", "title": "Value" } }, "required": [ "unique", "operator" ], "title": "DriverBltnStoreParams", "type": "object" }, "DriverPhueChangeParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "devices": { "description": "Devices that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Devices", "type": "array" }, "sensors": { "anyOf": [ { "items": { "enum": [ "button1", "button2", "button3", "button4", "contact", "motion", "temperature" ], "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Sensors that will be matched", "title": "Sensors" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "devices" ], "title": "DriverPhueChangeParams", "type": "object" }, "DriverUbiqClientParams": { "additionalProperties": false, "description": "Process and validate the Homie configuration parameters.", "properties": { "clients": { "description": "Clients that are in scope", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "since": { "default": 0, "description": "Minimum time since changed", "minimum": 0, "title": "Since", "type": "integer" } }, "required": [ "clients" ], "title": "DriverUbiqClientParams", "type": "object" } }, "additionalProperties": false }
- Config:
extra: str = forbid
- Fields:
- field builtins_period: Annotated[DriverBltnPeriodParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field builtins_store: Annotated[DriverBltnStoreParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field family: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='default', description='Combine conditions in group', metadata=[MinLen(min_length=1)])] = 'default'#
Combine conditions in group
- Constraints:
min_length = 1
- field negate: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Invert conditional outcome')] = False#
Invert conditional outcome
- field philips_change: Annotated[DriverPhueChangeParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations
- field ubiquiti_client: Annotated[DriverUbiqClientParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Plugin for the operations')] = None#
Plugin for the operations