/      日本語

mwings.parsers.app_twelite Module

Parsers for packets sent from the Standard App (App_TWELITE) and data structures to store their contents.

Parsers for packets sent from the Extremely simple! Standard App (App_Twelite) and data structures to handle the data.

src/mwings/parsers/app_twelite.py

PacketParser

A static class parser that interprets packets representing data sent from the Extremely simple! Standard App.

Inherits: common.PacketParserBase

is_valid()

is_valid(bare_packet)

Checks whether the given raw packet is valid.

Parameters

NameTypeDescription
bare_packetcommon.BarePacketRaw packet data

Returns

TypeValueDescription
boolTrueValid, parsable
FalseInvalid, not parsable

parse()

parse(bare_packet)

Parses the given raw packet.

Parameters

NameTypeDescription
bare_packetcommon.BarePacketRaw packet data

Returns

TypeValueDescription
optional ParsedPacketParsedPacket instanceParsed data
NoneParsing failed

ParsedPacket

A structure to store the result of parsing packets representing data sent from the Extremely simple! Standard App.

Inherits: common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, destination_logical_id=120, relay_count=0, periodic=False, di_changed=<mwings.common.CrossSectional object>, di_state=<mwings.common.CrossSectional object>, ai_voltage=<mwings.common.CrossSectional object>)

Parameters

NameTypeDescription
time_parsedoptional AwareDatetimeParsing timestamp
packet_typecommon.PacketTypePacket type
sequence_numberoptional common.UInt16Sequence number
source_serial_idcommon.UInt32Source serial ID
source_logical_idcommon.UInt8Source logical device ID
lqioptional common.UInt8Radio communication quality
supply_voltageoptional common.UInt16Supply voltage (mV)
destination_logical_idcommon.UInt8Destination logical device ID
relay_countcommon.UInt8Relay count
periodicboolWhether periodic transmission
di_changedcommon.CrossSectional[bool](4)Digital interface change presence
di_statecommon.CrossSectional[bool](4)Digital interface state
ai_voltagecommon.CrossSectional[common.UInt16](4)Analog interface voltages

You can also pass a dictionary unpacked with **.

to_df()

to_df(include=None, exclude=None, verbose=True)

Converts parsed data to a pandas DataFrame.

Parameters

NameTypeDescription
includeoptional set[str]Set of columns (members) to include in the DataFrame
excludeoptional set[str]Set of columns (members) to exclude from the DataFrame
verboseboolWhether to include system information (only when other args are None)

Returns

TypeValueDescription
pd.DataFrame-Converted DataFrame

Exceptions

  • EnvironmentError if pandas is not installed

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

Converts parsed data to a dictionary.

Parameters

NameTypeDescription
includeoptional set[str]Set of keys (members) to include in the dictionary
excludeoptional set[str]Set of keys (members) to exclude from the dictionary
verboseboolWhether to include system information (only when other args are None)
spreadboolWhether to split non-time-series list-like data
sort_keysboolWhether to sort keys

Returns

TypeValueDescription
dict[str, Any]-Converted dictionary

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

Converts parsed data to JSON format.

Parameters

NameTypeDescription
includeoptional set[str]Set of keys (members) to include in the JSON
excludeoptional set[str]Set of keys (members) to exclude from the JSON
verboseboolWhether to include system information (only when other args are None)
spreadboolWhether to split non-time-series list-like data
indentoptional intNumber of spaces for indentation (None for no newline)
sort_keysboolWhether to sort keys

Returns

TypeValueDescription
str-Converted JSON string

model_*()