PyPlumIO v0.5.1
- Improved device parameters handling.
- BREAKING: changed parameters naming scheme. Please check ecoMAX parameter descriptors, mixer parameter descriptors and thermostat parameter descriptors to check new parameter names.
- BREAKING: Renamed
Parameter.is_changed
property toParameter.change_pending
to better reflect property meaning. - BREAKING: Removed custom type
ParameterTupleType
. - Parameter descriptors now supports units of measurements.
- Parameter display value is now calculated using multiplication instead of division, to avoid unnecessary int to float conversion.
- Implemented
ParameterValues
dataclass to store parameter'svalue
,min_value
andmax_value
.
- Improved data types.
- Implemented
BuiltInDataType
which groups together data types, that can be decoded purely via struct module. - Added data type encoders.
- Data type classes are now used for data packing/unpacking across entire library.
- Implemented
- Improved frame classes.
- Re-implemented
Frame.data
andFrame.message
as lazy-properties which improves performance by moving resource-intensive frame decoding inside frame consumer workers. Frame.recipient
andFrame.sender
can now be an instance ofAddressable
. This allows to access associated device data from frame decoder/encoder.- Removed "thermostat_parameter_decoder" and "regdata_decoder" events by directly decoding respective frames on demand.
- Re-implemented
- Improved test suite. Moved test data to separate JSON files.
- Slightly improved performance by utilizing caching.
- Added model name formatter to normalize model names across different devices.
- Fixed
ProductInfo
decoder returning incorrect logo and image ids. - Fixed empty alert frames not being ignored by the decoder. Related to: denpamusic/homeassistant-plum-ecomax#40
- Fixed non-descriptive error when encountering device parameters outside of known parameter table. Related to: denpamusic/homeassistant-plum-ecomax#44. Thanks @funraa
- Other minor optimizations and fixes.
Full Changelog: v0.4.14...v0.5.1