powermon.ports.testport module

testport.py

class powermon.ports.testport.TestPort(response_number, protocol)

Bases: AbstractPort

test port object - responds with test data (if configured in the protocol)

async connect() int

default port connect function

async disconnect() None

default port disconnect function

async classmethod from_config(config=None)

build port object from config dict

is_connected()

default is_connected function

async send_and_receive(command: Command) Result

main worker function for port objects, specific to each port type

to_dto() _AbstractPortDTO

convert port object to data transfer object

class powermon.ports.testport.TestPortDTO(*, port_type: str, protocol: AbstractProtocolDTO, response_number: None | int)

Bases: _AbstractPortDTO

data transfer model for TestPort 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]] = {'port_type': FieldInfo(annotation=str, required=True), 'protocol': FieldInfo(annotation=AbstractProtocolDTO, required=True), 'response_number': FieldInfo(annotation=Union[NoneType, int], 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.