powermon.configmodel.format_config_model module

pydantic definitions for the powermon format config model

class powermon.configmodel.format_config_model.BMSResponseFormatConfig(*, type: str, tag: None | str = None, draw_lines: None | bool = None, keep_case: None | bool = None, remove_spaces: None | bool = None, extra_info: None | bool = None, excl_filter: None | str = None, filter: None | str = None, protocol: None | Literal['pi30'] = None, force_charge: None | bool = None, battery_charge_voltage: None | float = None, battery_float_voltage: None | float = None, battery_cutoff_voltage: None | float = None, battery_max_charge_current: None | int = None, battery_max_discharge_current: None | int = None)

Bases: BaseFormatConfig

model/allowed elements for BMSResponse format config

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

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

model_fields: ClassVar[Dict[str, FieldInfo]] = {'battery_charge_voltage': FieldInfo(annotation=Union[NoneType, float], required=False, default=None), 'battery_cutoff_voltage': FieldInfo(annotation=Union[NoneType, float], required=False, default=None), 'battery_float_voltage': FieldInfo(annotation=Union[NoneType, float], required=False, default=None), 'battery_max_charge_current': FieldInfo(annotation=Union[NoneType, int], required=False, default=None), 'battery_max_discharge_current': FieldInfo(annotation=Union[NoneType, int], required=False, default=None), 'draw_lines': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'excl_filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'extra_info': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'force_charge': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'keep_case': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'protocol': FieldInfo(annotation=Union[NoneType, Literal['pi30']], required=False, default=None), 'remove_spaces': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'tag': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'type': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class powermon.configmodel.format_config_model.BaseFormatConfig(*, type: str, tag: None | str = None, draw_lines: None | bool = None, keep_case: None | bool = None, remove_spaces: None | bool = None, extra_info: None | bool = None, excl_filter: None | str = None, filter: None | str = None)

Bases: NoExtraBaseModel

model/allowed elements for base format config

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

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

model_fields: ClassVar[Dict[str, FieldInfo]] = {'draw_lines': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'excl_filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'extra_info': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'keep_case': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'remove_spaces': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'tag': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'type': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class powermon.configmodel.format_config_model.HassFormatConfig(*, type: str, tag: None | str = None, draw_lines: None | bool = None, keep_case: None | bool = None, remove_spaces: None | bool = None, extra_info: None | bool = None, excl_filter: None | str = None, filter: None | str = None, discovery_prefix: None | str = None, entity_id_prefix: None | str = None)

Bases: BaseFormatConfig

model/allowed elements for hass format config

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

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

model_fields: ClassVar[Dict[str, FieldInfo]] = {'discovery_prefix': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'draw_lines': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'entity_id_prefix': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'excl_filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'extra_info': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'keep_case': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'remove_spaces': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'tag': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'type': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class powermon.configmodel.format_config_model.JsonFormatConfig(*, type: str, tag: None | str = None, draw_lines: None | bool = None, keep_case: None | bool = None, remove_spaces: None | bool = None, extra_info: None | bool = None, excl_filter: None | str = None, filter: None | str = None, format: None | str, include_missing: None | bool = None)

Bases: BaseFormatConfig

model/allowed elements for mqtt format config

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

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

model_fields: ClassVar[Dict[str, FieldInfo]] = {'draw_lines': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'excl_filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'extra_info': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'format': FieldInfo(annotation=Union[NoneType, str], required=True), 'include_missing': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'keep_case': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'remove_spaces': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'tag': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'type': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class powermon.configmodel.format_config_model.MqttFormatConfig(*, type: str, tag: None | str = None, draw_lines: None | bool = None, keep_case: None | bool = None, remove_spaces: None | bool = None, extra_info: None | bool = None, excl_filter: None | str = None, filter: None | str = None, topic: None | str)

Bases: BaseFormatConfig

model/allowed elements for mqtt format config

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

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

model_fields: ClassVar[Dict[str, FieldInfo]] = {'draw_lines': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'excl_filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'extra_info': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'filter': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'keep_case': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'remove_spaces': FieldInfo(annotation=Union[NoneType, bool], required=False, default=None), 'tag': FieldInfo(annotation=Union[NoneType, str], required=False, default=None), 'topic': FieldInfo(annotation=Union[NoneType, str], required=True), 'type': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.