The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Renamed
a_fieldtoaddressindecodeHeader()JSON output
- Renamed
decode()todecodeRecords()for clarity (old name kept as deprecated wrapper) - Renamed
decodeHeaderLong()todecodeHeader()("Long" was redundant) - revised Example
- New
decodeHeaderLong()method: decodes M-Bus Long Frame header (ID, manufacturer, medium, status byte, version, access counter, signature) into a JSON object - Example updated to demonstrate header decoding
- Buffer overflow prevention: increased vifBuffer and charBuffer sizes by 1 byte
- Typo fix: LUMINOUS_IDENSITY_CD → LUMINOUS_INTENSITY_CD
- UNKNOWN_VIF no longer returns "total" as state_class
- Formatting: unified indentation to 4 spaces
- Fix conditional check for VIFs in case of timestamps (caused in 0.9.15)
- Time Stamp addressed from VIFEs. From table "Codes for Value Information Field Extension" E110 1f1b Date (/time) of å ç (f,b: as above)
- fix an issue if CRC is randomly a MDH (0Fh/1Fh)
- support of first nibble F marked negative BCDs [outside the standard]
- detects whether subsequent telegrams are present (multi telegram slaves)
- alow empty first VIFE
- fix Arduino and pico Pi issues better then in 0.9.10
- change some uint64 convertion syntax because of Arduinos limitations
-
VIF group FDFDxx added (41 new VIFs)
-
therfore some major changes in the lib, like the vif variable to find the definition is now uint64_t and somthing more.
CURRENT_SELECTED_APL, SUB_DEVICES, REMAIN_BAT_LIFE_MONTH, CARBON_DIOXIDE_PPM, CARBON_MONOXIDE_PPM, VOLATILE_ORG_COMP_ppb, VOLATILE_ORG_COMP_UG_M3, PARTICLES_UNSPEC_UG_M3, PARTICLES_PM1_UG_M3, PARTICLES_PM2_5_UG_M3, PARTICLES_PM10_UG_M3, PARTICLES_UNSPEC_1M3, PARTICLES_PM1_1M3, PARTICLES_PM2_5_1M3, PARTICLES_PM10_1M3, ILLUMINANCE_LUX, LUMINOUS_INTENSITY_CD, RADIANT_FLUX_DENS, WIND_SPEED_M_S, RAINFALL_L_MM, FORMAZIN_NEPHELOMETER_U, POTENTIAL_HYDROGEN_PH, DISMOUNTS_COUNTER, TEST_BUTTON_COUNTER, ALARM_COUNTER, ALARM_MUTE_COUNTER, OBSTACLE_DETECT_COUNTER, SMOKE_ENTRIES_COUNTER, SMOKE_CHAMBER_DEFECTS, SELF_TEST_COUNTER, SOUNDER_DEFECT_COUNTER, DECIBEL_A, BATTERY_PERCENTAGE, CHAMBER_POLLUTION_LEVEL, DISTANCE_MM, MOISTURE_LEVEL_PERCENT, PRESSURE_SENS_STATUS, SMOKE_ALARM_STATUS, CO_ALARM_STATUS, HEAT_ALARM_STATUS, DOOR_WINDOW_SENS_STATUS,
- VIFE name extensions like 0xFC01 for "L1", L1,L2,L3,N,L1-L2,L2-L3,L3-L1,abs.,delta
-
VIF FB2C frequency
-
VIF FB34 apparent power
-
VIF FB02 reactive energy
-
additve / multiplicative corretion factor is now working for every VIF
- unknown VIFs do not longer stop decoding
- HA autodiscovery state class energy is now "total"
- VIF 7C customized ascii vif support
- VIF FC VIFE support
- roll back from float to double in example for a better precision
- vif FB1A rel humidity
- better process for unknown VIFs
- better real support
- fix failure with more VIFEs
- fix a problem with floats since last version
- MANUFACTURER_SPECIFIC VIF 0xFF
- Added getStateClass() and getDeviceClass() for home assistant
- changed some units to home-assistant compatible units
- delete unused files in example
- Added a much simpler example
- Typos in code: Year JJ --> YY
- Switch to ArduinoJSON 7
- support of "Codes for Value Information Field Extension (VIFE)" other then 0xFB,0xFC and 0xFD. Only to prevent stumbling, not all Units are implemented
- compilation problems at Windows machines
- revised documentation
- typing error correction
- support sub unit, tariff and storage number
- send only important and existing values to the json to save storage
- support for variable length values included ASCII values
- delete all encode capabilities.
- support for customized ASCII VIF 0hFC
- some tab format for a better clarity.
- Initial version