Releases: denpamusic/PyPlumIO
Releases · denpamusic/PyPlumIO
PyPlumIO v0.5.8
- Parameters are now copied when storing in filters for further comparisons. Resolves #17
- Regulator Data is now stored as regular dictionary instead of instance of EventManager.
- Improve frame constructor.
PyPlumIO v0.5.7
- Added ability to specify a custom protocol to handle device communication. See: https://pyplumio.denpa.pro/connecting.html#protocols
- Added LRU cache for alerts datetime converter.
- Renamed "schema" to "regdata_schema".
- Removed ethernet_parameters and wireless_parameters method, please directly use respective dataclasses.
- Improved documentation.
PyPlumIO v0.5.6
- Improved memory usage via slots.
- Device base classes are now defined as abstact.
PyPlumIO v0.5.4
- Parameter classes are now only instantiated once.
- Improved code style.
- Improved log messages.
PyPlumIO v0.5.3
- Parameter values are now stored inside slotted dataclass.
- Renamed "power" and "load" sensors to "boiler_power" and "boiler_load".
PyPlumIO v0.5.2
- Fixed boiler load sensor and improved respective test.
- Allow proxying of parameter descriptor attributes.
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
PyPlumIO v0.4.14
- Fixed incorrect parameter names for ecoMAX 850i.
PyPlumIO v0.4.13
- Added missing
support
circuit parameter for the ecoMAX 850i. Resolves denpamusic/homeassistant-plum-ecomax#42. Thanks @zASSAz
PyPlumIO v0.4.12
- Improved startup time by lazy-loading frame and device type maps.