powermon.outputs.abstractoutput module¶
outputs / abstractoutput.py
- class powermon.outputs.abstractoutput.AbstractOutput(name=None)¶
Bases:
ABC
base class for all output modules
- property formatter¶
the formatter for this output
- abstract process(command=None, result: Result = None, mqtt_broker=None, device_info=None)¶
entry point of any output class
- to_dto() AbstractOutputDTO ¶
convert output object to a data transfer object
- class powermon.outputs.abstractoutput.AbstractOutputDTO(*, output_type: str, topic: None | str, formatter: AbstractFormatDTO)¶
Bases:
BaseModel
data transfer model for AbstractOutput class
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'formatter': FieldInfo(annotation=AbstractFormatDTO, required=True), 'output_type': FieldInfo(annotation=str, required=True), 'topic': FieldInfo(annotation=Union[NoneType, 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.