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.