Releases: fredlcore/BSB-LAN
Releases · fredlcore/BSB-LAN
v.2.2.3
v5.0
- ATTENTION: BREAKING CHANGE! Streamlined topic structure for MQTT. New strucuture adds
/status
for querying a parameter,/set
for SETting a parameter,/inf
for sending data as INF telegram and/poll
to force BSB-LAN to send an update of that parameter value to the broker. If you are using MQTT auto-discovery, ideally, calling/M1
should update these changes. However, if you are using your own configurations, you'll have to make adjustments here. - ATTENTION: BREAKING CHANGE! When using JSON settings for MQTT, previously all messages were written to the
BSB-LAN/json
and thus basically immediately overwritten when logging several parameters. Now this setting only determines the format (and not format and topic) of the data that is written into/status
of each parameter. For auto-discovery, plain text remains the only valid choice. - ATTENTION: BREAKING CHANGE The acknowledgement message sent by BSB-LAN to the
MQTT
topic has been removed. Instead, QoS for publishing messages has been set to level 1. - ATTENTION: BREAKING CHANGE: Log configuration values have changed. However, only users that have logged to UDP are affected and will have to adjust their settings.
- ATTENTION: BREAKING CHANGE: Removed WiFiSPI support to use WiFi on the Arduino Due.
- ATTENTION: BREAKING CHANGE: Removed the need to add
#define CUSTOM_COMMANDS
in order to run code as part ofBSB_LAN_custom*.h
. Check these files for old/unused code that might inadvertently get executed when updating to the new version. If you want to enable/disable custom code quickly, add a new variable inBSB_LAN_config.h
and include that as a condition in your code. - ATTENTION:
/JK=ALL
now lists all categories of all devices in LPB systems with more than one device. Usedev_fam
(device family),dev_var
(device variant),dev_id
(destination device ID) anddev_name
(device model) elements to sort and identify which category applies to the current destination device. - ATTENTION Users that have a parameter with data type
VT_CURRENT1000
in theirBSB_LAN_custom_defs.h
: Please change it toVT_CURRENT
unless(!) you have BSB-LAN connected to an LMU64/LMU74 via an OCI420. Only in that case, keep the parameter's data type atVT_CURRENT1000
. - Added new URL command /QDB - this queries BSB/LPB heating systems for device-specific parameters (for safety reasons, only read-only parameters are added) and activates these until reboot. All these parameters are in category 0, generically named "Parameters". Likewise, the name of all parameters is "Parameter". You have to identify their meaning by their parameter number.
This is not a replacement for generating a proper device-specific parameter list as it only contains few parameter types which we know for certain how they work and no harm can be done (mostly read-only status temperatures). However, these can be helpful for heating technicians which want to monitor on the spot the behavior of a random heating system without the need to create a device-specific parameter list. - Added possibility to set the room setpoint temperature with MAX! thermostats. Specific variables
max_cul_rf_addr
,max_flags
,max_group_id
andmax_temp_mode
are pre-defined inBSB_LAN.ino
but can be overwritten inBSB_LAN_config.h
if necessary. - Added setting to only publish log parameters to MQTT. Forcing MQTT updates via /poll topic are still possible. This setting also applies to MQTT auto-discovery, i.e. only log parameters will be discovered!
- Moved MQTT username and password configuration to basic configuration view in webinterface
- Added state_class for non cumulative sensors in MQTT auto-discovery
- Updated the room unit emulation in
custom_functions
to work with version 4.x. - Disabling parameters can now be done both with an empty value as well as by sending
---
. Sending an empty value is still possible, but is depracated and will be removed at some later time. - BSB-LAN now scans the BSB/LPB bus during startup (and later periodically, if not connected to heating system) for other devices on the bus. This significantly reduces access times later on for systems with more than one device on the bus.
/JQ
now contains "payload" which contains the raw payload data which can be useful for evaluating non-standard commands.- Workaround for intermittent crashes on PoE- or barrel-connector-powered Olimex microcontrollers
- New version from new repo of PubSubClient. Hopefully with this version, disconnects will be greatly reduced.
- Bugfix for VT_ENERGY, added new data type VT_ENERGY10 and VT_ENERGY10_N
- Numerous bugfixes, especially for the JSON API
- French and German translations of the manual added, special thanks to GitHub user @plauwers for this!
- This release has been supported by the following sponsors: Sven Rutten
v4.1
- ATTENTION: BREAKING CHANGE! Changed topic structure for MQTT. This means that all existing MQTT entities in your home-automation system will have to be adjusted or created anew! The new structure now is
BSB-LAN/<device id>/<category id>/<parameter number>
. - ATTENTION: BREAKING CHANGE! Changed unique_id for MQTT auto-discovery. This means that all MQTT entities that have been created via auto-discovery will have to be created anew!
- ATTENTION: Configuration options
fixed_device_family
andfixed_device_variant
have been removed since they no longer work for device-specific parameter lists. If your heating system is off when turning on the microcontroller, BSB-LAN will try to acquire the details every 60 seconds. - ATTENTION: Change of configuration options results in new EEPROM layout, therefore EEPROM will be reinitialized based on configuration of
BSB_LAN_config.h
. - MQTT auto-discovery now works for all devices, not only device ID 0. Use
/M1!<x>
or/M0!<x>
to create/remove entities for device ID<x>
. - Changed MQTT auto-discovery messages' flag to "retain" so that parameters remain available after reboot of Home Assistant.
v4.0
- ATTENTION: BREAKING CHANGE! Room temperature parameter 10000, 10001 and 10002 must now have the additional flag
FL_SPECIAL_INF
, otherwise setting temperature will not work! - ATTENTION: BREAKING CHANGE! Outside temperature simulation parameter 10017 must have
FL_SPECIAL_INF
flag removed, otherwise setting temperature will not work! - ATTENTION: BREAKING CHANGE! Room temperature parameter 10000, 10001 and 10002 for Weishaupt heaters (device families 49, 50, 51 and 59) must now have
FL_SPECIAL_INF
flag removd, otherwise setting temperature will not work! - ATTENTION: BREAKING CHANGE! URL commands
/U
(dislpay user-defined variables) and/X
(display MAX! values) have been removed as these values can now be accessed via parameters 20000++ - ATTENTION: BREAKING CHANGE! PPS time program parameters (15050-15091) have been streamlined with BSB/LPB time program parameters, resulting in only one parameter per day (instead of six), covering three switch points (start and end) per parameter.
- ATTENTION: For ESP32, BSB-LAN requires the ESP32 framework version 3.0.x - please look out for errors or strange behaviour, (1-Wire sensors are not tested yet).
- ATTENTION: New configuration options in
BSB_LAN_config.h
- please update your existing configuration files! Web-based configuration will be overwritten with config file settings due to changes in EEPROM layout! - ATTENTION: New manual URL: https://docs.bsb-lan.de/
- BUTTONS and
RGT_EMULATION
have been moved from main code tocustom_functions
library. To continue using them, make use ofBSB_LAN_custom_*.h
files and activateCUSTOM_COMMANDS
definement. - Most configuration definements removed from
BSB_LAN_config.h
. Almost all functionality can now be configured without reflashing. - BSB-LAN now supports MQTT auto discovery (supported e.g. by Home Assistant). To create devices, call URL command
/M1
to remove them call/M0
- ATTENTION: MQTT auto discovery creates a general switch for the BSB-LAN device in Home Assistant. This switch will immediately write all parameters with the values stored in Home Assistant. DO NOT USE THIS SWITCH unless you REALLY know what it does!
- "Set" button in webinterface now also works with non-default destination devices (i.e. 1 instead of 0)
- Queried/set parameters are now forwarded to the MQTT broker (if MQTT is enabled)
- Previously used
/M1
and/M0
for toggling monitor function have been removed since it can now be accessed via the configuration in the webinterface. - Listing categories with
/K
now also works with destination device. - Important bugfix for OTA update: Previous versions had a hard limit on file size which newer heating systems with several hundred parameters hit, so no OTA update was possible. This is now fixed, but affected users will have to make a USB-based update one more time.
- 1-Wire- and DHT-sensors are now be disabled with value -1 instead of 0. In web interface, an empty field is also accepted.
- MQTTTopicPrefix is no longer optional, "fromBroker" topic removed (formerly used to send commands to BSB-LAN via MQTT)
- Using the 24h averages functionality no longer requires the use of an SD card. SD card will only be used to store averages if interval logging to SD card is active.
- New PPS room unit variant for RVD130, which increases high nibble of magic byte at every transaction.
- Polling current time from NTP server is active by default. Deactivate by setting
ntp_server
to empty string. - New parameter flag
FL_NOSWAP_QUR
for parameters that do not swap the first two bytes of command ID in QUR telegram - New parameter flag
FL_FORCE_INF
for parameters from which we are certain they only work with INF (such as room temperature). Will force an INF telegram even if/S
is used to set the parameter (allows setting room temperature via web interface) - BSB-LAN logo watermark in log graph display (DE-cr)
- Binary ENUMs (yes/no, on/off etc.) now return either 0 or 1 when queried, not - as is the case with some heating systems - 0 or 255. Setting any value from 1 to 255 is still possible.
- Fixed a breaking bug in PPS that prevented running properly in active/room unit mode.
- Fixed bug (or, based on perspective, reduced security) that prevented issuing commands via serial/telnet console when HTTP authentication was active
- Various bugfixes, among others logging of bus telegrams on storage device.
- New OneWireNg library version
- This release has been supported by the following sponsors: Erich Scheilko
v2.2.2
Backport of changed meaning of FL_SPECIAL_INF. Room temperature parameters 10000, 10001 and 10002 must now have the FL_SPECIAL_INF flag added. Outside temperature simulation (10003 or 10017) must have it removed, the same goes for the Weishaupt room temperatur parameters.
v3.3
- ATTENTION: New configuration options in BSB_LAN_config.h - please update your existing configuration files!
- ESP32: Support for receiving date and time via NTP instead of taking it from the heater.
- MQTT broker setting now accepts domain names as well as IP addresses. An optional port can be added after a trailing colon, e.g. broker.my-domain.com:1884. Otherwise defaults to 1883.
- ESP32 NodeMCU: Support for optional additional SD card adapter. SPI pins can be configured in BSB_LAN_config.h, defaulting to standard SPI pins 5, 18, 19 and 23.
- ESP32: Switching between log storage device (SD card / internal flash) can now be done in the web interface.
- ESP32: Create temporary WiFi AP in case Ethernet connection fails
- ESP32 NodeMCU: EEPROM clear pin has changed from 18 to 21 in order not to collide with SPI SD card adapters.
- This release has been supported by the following GitHub sponsors: jsimon3
v3.2
- ATTENTION: In BSB_LAN_config.h, new layout of log_parameters, avg_parameters and ipwe_parameters now written in curly brackets and different size (40 instead of 80) and type ("parameter" instead of "float"). Please update your BSB_LAN_config.h accordingly to prevent errors!
- Added configuration file versioning checks to prevent the use of outdated configuration files with newer software versions.
- Variable esp32_save_energy now defaults to false because it only seems to make sense when using LAN connection or if you use WiFi and can live with the performance impact.
- Added folder "custom_functions" where code examples for useful functions will be collected which are nevertheless too specific to be added to BSB-LAN's core code.
- Added custom function example for mapping DS18B20 sensors to fixed custom floats parameters
- This release has been supported by the following GitHub Sponsors: BraweProg, fdobrovolny, Harald
v2.2.1
v3.1
- ATTENTION: For ESP32 devices using internal flash for log storage: Filesystem was switched from SPIFFS to LittleFS. Download important log data before updating!
- ATTENTION: In BSB_LAN_config.h, the structure of log_parameters, avg_parameters and ipwe_parameters has changed and now includes the destination device on the bus!
- ATTENTION: New EEPROM schema may result in lost web-configuration settings when updating. Note your settings prior to updating!
- ATTENTION: New variable esp32_save_energy in BSB_LAN_config.h - update before compiling new version.
- ATTENTION: New variable bssid in BSB_LAN_config.h - defines a fixed BSSID address to connect to when using WiFi on ESP32.
- Parameters can now be queried from other devices on the bus using the ! notation also when logging (including MQTT) or using average or IPWE parameters
- Enable/disable power saving on ESP32. Saves 20% of energy, but can have impact on WiFi range and downloading speed of log files when using WiFi (LAN not affected)
- Improved performance and flash memory usage on ESP32 devices using internal flash for logging due to switch from SPIFFS to LittleFS
- To improve handling of large datalogs: date range selection in /DG, new url commands /Da,b /DA /DB /Dn /DI /DKn
- This release has been supported by the following GitHub Sponsors: lapixo, nrobadey
v3.0
- ATTENTION: BSB_LAN_custom_defs.h.default needs to be renamed to BSB_LAN_custom_defs.h and only contains a very limited set of parameters by default. See the manual for getting device-specific parameter lists.
- Add new '/LN' URL command to force logging irrespective of current interval.
- Improved library checks: No need for ESP32 users to remove ArduinoMDNS and WiFiSpi folders anymore.
- New SdFat version 2 for Arduino Due
- New data type VT_BINARY_ENUM
- This release has been supported by the following GitHub Sponsors: Alex, DE-cr