/      日本語

mwings.parsers.app_pal_amb Module

Parsers for packets sent from PAL App (Environmental PAL) and data structures to store their contents.

Parsers for packets sent from PAL App (Environmental PAL) and data structures to store their contents.

src/mwings/parsers/app_pal_amb.py

PacketParser

A static class parser that interprets packets representing data sent from PAL App (Environmental PAL).

Inherits from: 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, unparsable

parse()

parse(bare_packet)

Parses the given raw packet.

Parameters

NameTypeDescription
bare_packetcommon.BarePacketRaw packet data

Returns

TypeValueDescription
optional ParsedPacketParsedPacket instanceParsed data
NoneUnparsable

ParsedPacket

A structure to store the result of parsing packets representing data sent from PAL App (Environmental PAL).

Inherits from: 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, ai1_voltage=0, temp_100x=0, humid_100x=0, illuminance=0)

Parameters

Including properties inherited from the base class.

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)
router_serial_idcommon.UInt32Serial ID of first relay device (0x80000000 if none) v1.0.13+
ai1_voltagecommon.UInt16Voltage of AI1 (mV)
temp_100xcommon.Int16Temperature multiplied by 100 (°C)
humid_100xcommon.UInt16Relative humidity multiplied by 100
illuminancecommon.UInt32Illuminance (lx)

You can also pass a dictionary unpacked with **.

to_df()

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

Converts the parsed data into 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 if other args are None)

Returns

TypeDescription
pd.DataFrameConverted DataFrame

Exceptions

  • EnvironmentError if pandas is not installed

to_dict()

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

Converts the parsed data into 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 if other args are None)
spreadboolWhether to split non-time-series list-like data
sort_keysboolWhether to sort keys

Returns

TypeDescription
dict[str, Any]Converted dictionary

to_json()

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

Converts the parsed data into a JSON string.

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 if other args are None)
spreadboolWhether to split non-time-series list-like data
indentoptional intNumber of indentation spaces (None for no newlines)
sort_keysboolWhether to sort keys

Returns

TypeDescription
strConverted JSON string

model_*()