diff --git a/de/troubleshooting.html b/de/troubleshooting.html index 5c2371f9..a780a28c 100644 --- a/de/troubleshooting.html +++ b/de/troubleshooting.html @@ -258,6 +258,7 @@

Cannot read any parameter

No data even though the adapter's red LED is on

diff --git a/fr/troubleshooting.html b/fr/troubleshooting.html index 62dbcfc3..33476651 100644 --- a/fr/troubleshooting.html +++ b/fr/troubleshooting.html @@ -258,6 +258,7 @@

Cannot read any parameter

No data even though the adapter's red LED is on

diff --git a/index.html b/index.html index ed7a4e20..ffcd1870 100644 --- a/index.html +++ b/index.html @@ -264,5 +264,5 @@ diff --git a/search/search_index.json b/search/search_index.json index 8cf433c8..f221a2fd 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"indexing":"full","lang":["en","de","fr"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"index.html","text":"What is BSB-LAN? BSB-LAN is a software /hardware solution for accessing the \u201cBoiler-System-Bus\u201d (BSB) , the \u201cLocal-Process-Bus (LPB)\u201d and the \u201cPunkt-zu-Punkt-Schnittstelle\u201d (PPS) . The BSB-LAN hardware is available for various ESP32 -based microcontrollers (ESP32 NodeMCU, Olimex EVB, Olimex POE-ISO) as well as for an Arduino Due with Ethernet shield. It allows accessing the heating systems from Atlantic, Br\u00f6tje, Elco and many other manufacturers via LAN/WLAN, provided that they use one of the Siemens controllers listed below. BSB-LAN makes it possible to monitor and control the heating and log any given values. This project supports almost all parameters available on the heating systems and can be a more comprehensive and cost-effective alternative to the OZW 672, OCI 700 or Remocon Net B. Optional integration into existing smart home systems such as Home Assistant , ioBroker , openHAB , Node-RED , Homebridge , Jeedom , SmartHomeNG , Volksz\u00e4hler , FHEM , HomeMatic , Loxone, IP-Symcon or EDOMI is possible via MQTT , JSON or HTTP access . The adapter can also be used as a standalone logger without LAN or Internet connection when using a microSD card. Temperature and humidity sensors can also be connected and their data can also be logged and analyzed. The option of integrating your own code into the BSB-LAN software also offers a wide range of expansion options. Where and how do I begin? You are an experienced user? Head on to the quickstart instructions . Otherwise (or if you run into problems), please read on! Is my heating system supported by BSB-LAN? Please go to the list of supported heating systems . If you already know that your system is supported, find out more about the BSB-LAN adapter and where to get it. If you already have the adapter, you may want to know how to install the adapter . If you have installed the adapter, you will need to configure BSB-LAN . Once you have everything up and running, find out about how to use BSB-LAN or learn more about the ways to ingetrate BSB-LAN into home automation systems . Our wiki pages are continuously growing and provide background knowledge as well as more specialized topics on BSB-LAN and heating systems in general. If you run into troubles, have a look at the troubleshooting page . And before you ask anyone else any questions, have a look at our Frequently Asked Questions (FAQ) first!","title":"Overview"},{"location":"index.html#what-is-bsb-lan","text":"BSB-LAN is a software /hardware solution for accessing the \u201cBoiler-System-Bus\u201d (BSB) , the \u201cLocal-Process-Bus (LPB)\u201d and the \u201cPunkt-zu-Punkt-Schnittstelle\u201d (PPS) . The BSB-LAN hardware is available for various ESP32 -based microcontrollers (ESP32 NodeMCU, Olimex EVB, Olimex POE-ISO) as well as for an Arduino Due with Ethernet shield. It allows accessing the heating systems from Atlantic, Br\u00f6tje, Elco and many other manufacturers via LAN/WLAN, provided that they use one of the Siemens controllers listed below. BSB-LAN makes it possible to monitor and control the heating and log any given values. This project supports almost all parameters available on the heating systems and can be a more comprehensive and cost-effective alternative to the OZW 672, OCI 700 or Remocon Net B. Optional integration into existing smart home systems such as Home Assistant , ioBroker , openHAB , Node-RED , Homebridge , Jeedom , SmartHomeNG , Volksz\u00e4hler , FHEM , HomeMatic , Loxone, IP-Symcon or EDOMI is possible via MQTT , JSON or HTTP access . The adapter can also be used as a standalone logger without LAN or Internet connection when using a microSD card. Temperature and humidity sensors can also be connected and their data can also be logged and analyzed. The option of integrating your own code into the BSB-LAN software also offers a wide range of expansion options.","title":"What is BSB-LAN?"},{"location":"index.html#where-and-how-do-i-begin","text":"You are an experienced user? Head on to the quickstart instructions . Otherwise (or if you run into problems), please read on! Is my heating system supported by BSB-LAN? Please go to the list of supported heating systems . If you already know that your system is supported, find out more about the BSB-LAN adapter and where to get it. If you already have the adapter, you may want to know how to install the adapter . If you have installed the adapter, you will need to configure BSB-LAN . Once you have everything up and running, find out about how to use BSB-LAN or learn more about the ways to ingetrate BSB-LAN into home automation systems . Our wiki pages are continuously growing and provide background knowledge as well as more specialized topics on BSB-LAN and heating systems in general. If you run into troubles, have a look at the troubleshooting page . And before you ask anyone else any questions, have a look at our Frequently Asked Questions (FAQ) first!","title":"Where and how do I begin?"},{"location":"bsb-lan_adapter.html","text":"The BSB-LAN adapter Adapter boards available - contact Frederik at bsb(\u00e4t)code-it.de (German or English) for more details. In order to connect to your heating system with a microcontroller, you need to have an adapter board that does the necessary logic-level conversion: The adapter is then plugged right onto the microcontroller, either underneath the pins of the ESP32-NodeMCU or onto the UEXT connector of the Olimex: The two different types of ESP32 adapters (Olimex and ESP32-NoceMCU) only vary in the location of their connectors, the other parts of the board are identical. The Arduino Due board contains an EEPROM chip because the Due does not come with on-board EEPROM. Therefore, you can re-use the Arduino Due board on an ESP32 microcontroller (if you connect the correct pins with wires), but you cannot use an adapter for the ESP32 on an Arduino Due. Suitable microcontrollers BSB-LAN can be installed on three different types of microcontrollers: ESP32-Olimex ESP32-NodeMCU (30 pin version only!) and Arduino Due. Olimex produces several kinds of boards: We recommend either the Olimex ESP32-EVB or the Olimex ESP32-POE-ISO . The simple POE version (without the \"ISO\") is not recommended because it does not allow to be connected to PoE Ethernet and USB at the same time. The Arduino Due requires an Ethernet Shield in order to access the local network. Each of the different controllers have their advantages and disadvantages: Functionality ESP32-Olimex ESP32-POE-ISO ESP32-NodeMCU Arduino Due Ethernet/LAN X X - X WiFi/WLAN X X X - Over-the-air updateable X X X - Built-in micro-SD card X X - - Accessible GPIOs 2 (GPIO13/16) some some many","title":"The BSB-LAN Adapter"},{"location":"bsb-lan_adapter.html#the-bsb-lan-adapter","text":"","title":"The BSB-LAN adapter"},{"location":"bsb-lan_adapter.html#adapter-boards-available-contact-frederik-at-bsbatcode-itde-german-or-english-for-more-details","text":"In order to connect to your heating system with a microcontroller, you need to have an adapter board that does the necessary logic-level conversion: The adapter is then plugged right onto the microcontroller, either underneath the pins of the ESP32-NodeMCU or onto the UEXT connector of the Olimex: The two different types of ESP32 adapters (Olimex and ESP32-NoceMCU) only vary in the location of their connectors, the other parts of the board are identical. The Arduino Due board contains an EEPROM chip because the Due does not come with on-board EEPROM. Therefore, you can re-use the Arduino Due board on an ESP32 microcontroller (if you connect the correct pins with wires), but you cannot use an adapter for the ESP32 on an Arduino Due.","title":"Adapter boards available - contact Frederik at bsb(\u00e4t)code-it.de (German or English) for more details."},{"location":"bsb-lan_adapter.html#suitable-microcontrollers","text":"BSB-LAN can be installed on three different types of microcontrollers: ESP32-Olimex ESP32-NodeMCU (30 pin version only!) and Arduino Due. Olimex produces several kinds of boards: We recommend either the Olimex ESP32-EVB or the Olimex ESP32-POE-ISO . The simple POE version (without the \"ISO\") is not recommended because it does not allow to be connected to PoE Ethernet and USB at the same time. The Arduino Due requires an Ethernet Shield in order to access the local network. Each of the different controllers have their advantages and disadvantages: Functionality ESP32-Olimex ESP32-POE-ISO ESP32-NodeMCU Arduino Due Ethernet/LAN X X - X WiFi/WLAN X X X - Over-the-air updateable X X X - Built-in micro-SD card X X - - Accessible GPIOs 2 (GPIO13/16) some some many","title":"Suitable microcontrollers"},{"location":"bus_systems.html","text":"The BSB/LPB/PPS Bus Developed at the end of the last millenium based on the BatiBUS (more information can be found here and here ), many Siemens heating system controllers still use the same kind of physical bus to \"talk\" to room units as well as other heating devices. While a bus speed of a mere 4800 bits per second might sound anachronistic these days, it still provides for a stable and robust transmission protocol that is even today perfectly sufficient when it comes to transmitting short messages of a few dozen bytes over lines sometimes as long as one kilometer. The bus topology also allows you to connect BSB-LAN at any point: At the room unit, at the heating system or anywhere where the bus lines are available. You can even add the two wires for BSB-LAN in an already \"occupied\" slot, and it won't harm the other device (proper installation assumed). On top of the same physical layer, three bus systems, BSB, LPB and PPS, cater for different tasks, and while BSB and LPB should always be preferred if available, PPS nevertheless provides a set of parameters that is usually quite enough for the average user. BSB-LAN runs on any of these busses and swapping between them is just changing a few settings away. The Boiler System Bus (BSB) BSB is the most common bus system in Siemens controllers for the last 10-15 years. It is the successor of the PPS system with which it shares the same physical parameters, but is much more versatile: Instead of just a few dozen parameters, it can access hundreds of parameters and group them into various categories for easier navigation. It is a transaction-based protocol where most messages are being sent from one device to another and the recipient returning some kind of feedback, for example whether the task could be completed or whether it contained invalid data. While BSB is capable of addressing multiple devices on the bus, it is not used in systems with more than one heating device. The heating device always has the ID 0 , the display unit on the heating system has the ID 10 (or 0x0A in hexadecimal) and the standard room unit has the ID 6 . BSB-LAN has the ID 66 or 0x42 in hexadecimal. Room units that \"speak\" BSB are, for example, the QAA55 and the QAA75. The Local Process Bus (LPB) LPB was introduced more or less around the same time as PPS which it complemented in terms of communication with other heating devices: While PPS was used to communicate with the room unit, LPB was used to send commands from one main heating device to one or more auxilliary heating devices, for example in a cascade setup. At that time, most of the information transmitted via LPB was related to the internals of the heating system (such as sensor data or internal setpoint temperatures), whereas the parameters relevant for the user (such as comfort temperature setpoint etc.) were only available via PPS. Nowadays, heating devices that offer both LPB and BSB have the same kind of parameter data available on both bus systems. LPB uses a specific addressing scheme with segments and devices. Each segment from 0 to 15 can contain up to 15 devices (from 1 to 15). When writing these addresses, segment and device are separated by a colon: 00:01 or 04:03 . To convert the segment-based address into the destination ID required for BSB-LAN, the formula is as this: SEGMENT multiplied by 16 plus DEVICE minus one. Example: Device 3 in segment 4 equals to 4 * 16 + 3 - 1 = 66. The main heating unit is by definition 00:01 , so this equals to a destination ID 0. To learn more about the LPB system and how it should be deployed, you may refer to these two documents from the end of the 1990s, one covers the basic system data that covers the conceptualization of an LPB network, and the other one deals with the basic engineering data and provides details about cable lengths and diameters etc. Except for some Weishaut heaters, room units are not connected to the heating system via LPB. Newer models use BSB for this task while older models use either PPS or in some cases also OpenTherm. The Point-to-Point Interface (PPS) The Point-to-Point Interface (PPS deriving from the German term \"Punkt-zu-Punkt Schnittstelle\") is compatible to the other systems on a physical layer, but not in the way message telegrams are being exchanged. While BSB and LPB talk to each other by sending telegrams and acknowledging their receipt respectively, PPS is dominated by the heating unit. The heating unit constantly sends its data to the room unit and tells the room unit when and what kind of information it should send. It is a very timing sensitive protocol, therefore long other tasks that BSB-LAN is told to do will lead to a temporary interruption and possible error message on the heating system. However, after a short while, this should be clearing by itself when the two components \"talk\" to each other again. Other than BSB and LPB, changes made in BSB-LAN do not take immediate effect. Changing values, for example like the room temperature comfort setpoint, will be stored internally in BSB-LAN first to be sent out to the heating system once it tells the room unit (i.e. BSB-LAN) to do so. This may take up to a minute or so, so one should not be confused that settings do not show up on the heater immediately, as is the case with BSB and LPB. With PPS, BSB-LAN can run in two modes: passive and as a room unit. In passive mode, BSB-LAN can just listen to the data exchanged between the room unit and the heating device. It is not possible to send one's own data, for the simple fact that it would be overwritten in no time by the same type of data coming from the room unit. In order to send parameter data to the heating system, BSB-LAN mus run in \"room unit\" mode, and this means that any room unit will have to be removed from the heating system. In this case, it is especially important to regularly send a room temperature value to BSB-LAN which in turn will send this value to the heating device. Only if the heater runs solely on outside temperature then this value can be ignored. BSB-LAN stores some values in its non-volatile EEPROM, but some values need to be set anew after a reboot, such as the room temperature setpoint. This is to prevent to store a parameter value that has become invalid but is still sent as it is stored in the EEPROM. Room units commonly used with heating systems that support PPS are the QAA50 and the QAA70.","title":"The BSB/LPB/PPS Bus"},{"location":"bus_systems.html#the-bsblpbpps-bus","text":"Developed at the end of the last millenium based on the BatiBUS (more information can be found here and here ), many Siemens heating system controllers still use the same kind of physical bus to \"talk\" to room units as well as other heating devices. While a bus speed of a mere 4800 bits per second might sound anachronistic these days, it still provides for a stable and robust transmission protocol that is even today perfectly sufficient when it comes to transmitting short messages of a few dozen bytes over lines sometimes as long as one kilometer. The bus topology also allows you to connect BSB-LAN at any point: At the room unit, at the heating system or anywhere where the bus lines are available. You can even add the two wires for BSB-LAN in an already \"occupied\" slot, and it won't harm the other device (proper installation assumed). On top of the same physical layer, three bus systems, BSB, LPB and PPS, cater for different tasks, and while BSB and LPB should always be preferred if available, PPS nevertheless provides a set of parameters that is usually quite enough for the average user. BSB-LAN runs on any of these busses and swapping between them is just changing a few settings away.","title":"The BSB/LPB/PPS Bus"},{"location":"bus_systems.html#the-boiler-system-bus-bsb","text":"BSB is the most common bus system in Siemens controllers for the last 10-15 years. It is the successor of the PPS system with which it shares the same physical parameters, but is much more versatile: Instead of just a few dozen parameters, it can access hundreds of parameters and group them into various categories for easier navigation. It is a transaction-based protocol where most messages are being sent from one device to another and the recipient returning some kind of feedback, for example whether the task could be completed or whether it contained invalid data. While BSB is capable of addressing multiple devices on the bus, it is not used in systems with more than one heating device. The heating device always has the ID 0 , the display unit on the heating system has the ID 10 (or 0x0A in hexadecimal) and the standard room unit has the ID 6 . BSB-LAN has the ID 66 or 0x42 in hexadecimal. Room units that \"speak\" BSB are, for example, the QAA55 and the QAA75.","title":"The Boiler System Bus (BSB)"},{"location":"bus_systems.html#the-local-process-bus-lpb","text":"LPB was introduced more or less around the same time as PPS which it complemented in terms of communication with other heating devices: While PPS was used to communicate with the room unit, LPB was used to send commands from one main heating device to one or more auxilliary heating devices, for example in a cascade setup. At that time, most of the information transmitted via LPB was related to the internals of the heating system (such as sensor data or internal setpoint temperatures), whereas the parameters relevant for the user (such as comfort temperature setpoint etc.) were only available via PPS. Nowadays, heating devices that offer both LPB and BSB have the same kind of parameter data available on both bus systems. LPB uses a specific addressing scheme with segments and devices. Each segment from 0 to 15 can contain up to 15 devices (from 1 to 15). When writing these addresses, segment and device are separated by a colon: 00:01 or 04:03 . To convert the segment-based address into the destination ID required for BSB-LAN, the formula is as this: SEGMENT multiplied by 16 plus DEVICE minus one. Example: Device 3 in segment 4 equals to 4 * 16 + 3 - 1 = 66. The main heating unit is by definition 00:01 , so this equals to a destination ID 0. To learn more about the LPB system and how it should be deployed, you may refer to these two documents from the end of the 1990s, one covers the basic system data that covers the conceptualization of an LPB network, and the other one deals with the basic engineering data and provides details about cable lengths and diameters etc. Except for some Weishaut heaters, room units are not connected to the heating system via LPB. Newer models use BSB for this task while older models use either PPS or in some cases also OpenTherm.","title":"The Local Process Bus (LPB)"},{"location":"bus_systems.html#the-point-to-point-interface-pps","text":"The Point-to-Point Interface (PPS deriving from the German term \"Punkt-zu-Punkt Schnittstelle\") is compatible to the other systems on a physical layer, but not in the way message telegrams are being exchanged. While BSB and LPB talk to each other by sending telegrams and acknowledging their receipt respectively, PPS is dominated by the heating unit. The heating unit constantly sends its data to the room unit and tells the room unit when and what kind of information it should send. It is a very timing sensitive protocol, therefore long other tasks that BSB-LAN is told to do will lead to a temporary interruption and possible error message on the heating system. However, after a short while, this should be clearing by itself when the two components \"talk\" to each other again. Other than BSB and LPB, changes made in BSB-LAN do not take immediate effect. Changing values, for example like the room temperature comfort setpoint, will be stored internally in BSB-LAN first to be sent out to the heating system once it tells the room unit (i.e. BSB-LAN) to do so. This may take up to a minute or so, so one should not be confused that settings do not show up on the heater immediately, as is the case with BSB and LPB. With PPS, BSB-LAN can run in two modes: passive and as a room unit. In passive mode, BSB-LAN can just listen to the data exchanged between the room unit and the heating device. It is not possible to send one's own data, for the simple fact that it would be overwritten in no time by the same type of data coming from the room unit. In order to send parameter data to the heating system, BSB-LAN mus run in \"room unit\" mode, and this means that any room unit will have to be removed from the heating system. In this case, it is especially important to regularly send a room temperature value to BSB-LAN which in turn will send this value to the heating device. Only if the heater runs solely on outside temperature then this value can be ignored. BSB-LAN stores some values in its non-volatile EEPROM, but some values need to be set anew after a reboot, such as the room temperature setpoint. This is to prevent to store a parameter value that has become invalid but is still sent as it is stored in the EEPROM. Room units commonly used with heating systems that support PPS are the QAA50 and the QAA70.","title":"The Point-to-Point Interface (PPS)"},{"location":"configure.html","text":"Configuration There are two ways to configure BSB-LAN: Through the configuration file BSB_LAN_config.h Through the web-interface by calling http://bsb-lan.local/C (or the corresponding IP address) For the initial configuration, some settings have to be configured in the configuration file (such as language and network settings). Any further changes can be done also in the web-interface. It may, however, be useful to do the configuration (also) in the configuration file in case one needs to change the microcontroller. Almost all settings exist also in the web-interface and vice versa. On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. So even without any further configuration, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and proceed with the configuration via this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Configuration through `BSB_LAN_config.h`` The configuration file consists of variables that are used in other parts of BSB-LAN. It is therefore important to only change the contents of the variables (i.e. the settings) and not the type of the variables. So if there is for example the setting byte ip_addr[4] = {192,168,178,88}; you must not alter the byte ip_addr[4] = part, only the contents, in this case the comma-separated IP address. Configuration through the web-interface Configuring BSB-LAN through the web-interface is pretty straightforward, as you don't have to deal with variable names but clear descriptions. Initially, only a selected number of configuration options are displayed in the webinterface. To have access to all of them, you have to set the \"extended configuration\" option to \"on\". Overview of configuration options table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 20%; } table th:nth-of-type(3) { width: 40%; } table th:nth-of-type(4) { width: 20%; } General Settings Web-Interface Configuration File Functionality Possible settings - #define LANG Set language DE , EN , FR and other ISO country codes Display extended configuration - Show all configuration options On Off Read config from EEPROM UseEEPROM Read configuration from EEPROM or file On ( 1 ) Off ( 0 ) Write access (level) - If DEFAULT_FLAG is set to FL_SW_CTL_RONLY , you can set the level of write access here. Off (read-only) On (Standard) On (Complete) Check for updates enable_version_check Query BSB-LAN server for new available version On ( true ) OTA Update enable_ota_update Enable over-the-air (OTA) update On ( true ) Energy saving esp32_save_energy Reduces speed, saves energy. Do not enable when using WiFi. On ( true ) Off ( false ) Webserver file system webserver Enables serving files from SD card On ( true ) Off ( false ) - #define DEFAULT_FLAG Set read/write access to heating system. FL_RONLY sets all parameters to read-only. FL_SW_CTL_RONLY allows setting read/write access via web-interface configuration setting. 0 makes all parameters that could be written writeable. Do not use this option unless instructed otherwise! FL_RONLY FL_SW_CTL_RONLY 0 Bus settings Web-Interface Configuration File Functionality Possible settings Bus type bus_type Bus type (BSB/LPB/PPS) BSB ( 0 ) LPB ( 1 ) PPS ( 2 ) PPS: mode pps_write BSB-LAN can act as a PPS room unit (only if no real room unit is connected) or just listen passively. passive ( 0 ) as room unit ( 1 ) PPS: QAA model QAA_TYPE Room unit that should be simulated for PPS bus QAA70 ( 0x53 ), QAA50 ( 0x52 ), QAA95 ( 0x37 ), QAW10 ( 0x4D ), QAW20 ( 0x4E ), MCBA/REA70/DC225 ( 0x58 ), QAA10 ( 0x5A ), QAA20 ( 0x5B ), QAA12/13 ( 0x5D ), BMU ( 0x66 ), RVD130 ( 0x43 ) Own address own_address Own bus address (default 66 should not be changed) 66 ( 66 ) Destination address dest_address Destination bus address. For BSB always 0 . For LPB 0 if destination device is in segment 1, device address 0. To convert from LPB segment and device address notation to destination address, multiply segment by 16, add the device address and subtract one. For example, to address a device in segment 4 with device address 3, the destination address is (4 * 16) + 3 - 1 = 66 . For PPS not relevant. 0 ( 0 ) Device family fixed_device_family Set the device family that BSB-LAN should emulate. Leave at 0 for auto-detection. 0 ( 0 ) Device variant fixed_device_variant Set the device variant that BSB-LAN should emulate. Leave at 0 for auto-detection 0 ( 0 ) RX pin number TX pin number bus_pins Define the RX/TX pins to communicate with the BSB-LAN adapter. Leave at 0 for auto-detection. 0 and 0 ( 0, 0 ) Network settings Web-Interface Configuration File Functionality Possible settings Network device network_type Choose between WLAN and LAN to connect BSB-LAN to the network. LAN ( 0 ) WLAN ( 1 ) WLAN SSID wifi_ssid Set the WLAN network name when using WLAN. Your_WLAN_name ( Your_WLAN_name ) WLAN password wifi_pass Set the WLAN password when using WLAN. YourWLANpassword ( YourWLANpassword ) DHCP usage use_dhcp Set whether or not to use DHCP to get an IP address from the router. On ( true ) Off ( false ) IP address (fixed) ip_addr When not using DHCP, you can set a fixed IP address here. Otherwise leave at 0.0.0.0 . In the web-interface, you may use dot notation. In the configuration file, you have to use comma as a separator. 192.168.178.88 ( 192,168,178,88 ) Subnet subnet_addr Subnet when using fixed IP address. Same notation as with IP address. 255.255.255.0 ( 255,255,255,0 ) Gateway gateway_addr Gateway address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) DNS Server dns_addr DNS server address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) TCP Port HTTPPort HTTP port number to access the web-interface. Defaults to 80 . 80 ( 80 ) MAC address mac Set a fixed MAC address. Only relevant on Arduino. 00:80:41:19:69:90 ( 0x00, 0x80, 0x41, 0x19, 0x69, 0x90 ) mDNS Hostname mDNS_hostname Hostname for mDNS discovery BSB-LAN ( BSB-LAN ) HTTP authentification USER_PASS If not empty, this setting contains the username and password for HTTP authentification, separated by a colon. Username:Password ( Username:Password ) URL Passkey PASSKEY Passkey adds a user-defined sequence that needs to be added to the URL after the hostname. For example, a passkey of 1234 requires every URL to be written as http://bsb-lan.local/1234/ instead of just http://bsb-lan.local/1234/ . Leave empty for no passkey. 1234 ( 1234 ) Trusted IP address trusted_ip_addr Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.89 ( 192,168,178,89 ) Trusted IP address trusted_ip_addr2 Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.90 ( 192,168,178,90 ) - bssid Enter a specific BSSID address here to ensure connecting to a specific access point. Set to all zeros under normal circumstances. ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ) - ntp_server Set an NTP server here to acquire exact time for BSB-LAN. Set to empty string if you don't want to use NTP. ESP32-based microcontrollers only. ( pool.ntp.org ) - local_timezone Timezone to use for NTP. See here for a complete list. ( CET-1CEST,M3.5.0,M10.5.0/3 ) Logging Web-Interface Configuration File Functionality Possible settings Storage device LogDestination Select the destination for logging activities. SD card is highly recommended, as using the internal flash will wear out the internal flash eventually. SD card ( SDCARD ) Internal Flash Storage ( FLASH ) Logging mode LoggingMode Set the logging destinations/activities. Multiple selections are possible, for the configuration file, the values have to be added, for example, to send to MQTT broker and to UDP, set the value to 4 + 8 = 12 Write to SD card ( 1 ) Calculate 24h averages ( 2 ) Send to MQTT broker ( 4 ) Send to UDP ( 8 ) Logging Interval log_interval Interval for logging activities (in seconds) 60 ( 60 ) Log Parameters log_parameters List of logging parameters. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) Log bus telegrams logTelegram Log raw bus telegrams, such as broadcast messages or unknown telegrams Off ( LOGTELEGRAM_OFF ) Log all bus telegrams ( LOGTELEGRAM_ON ) Log unknown bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY ) Log broadcast bus telegrams only ( LOGTELEGRAM_BROADCAST_ONLY ) Log unknown broadcast bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY + LOGTELEGRAM_BROADCAST_ONLY ) 24h averages parameters avg_parameters List of parameters for generating 24 hour averages. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) - #define DEFAULT_DAYS_TO_PLOT Define default number of days to plot logging data ( 3 ) MQTT Web-Interface Configuration File Functionality Possible settings MQTT Broker server mqtt_broker_addr Hostname/IP of the MQTT broker my-mqtt-broker.local ( my-mqtt-broker.local ) MQTT Username MQTTUsername Optional username for MQTT broker MyMQTTusername ( MyMQTTusername ) MQTT Password MQTTPassword Optional password for MQTT broker MyMQTTpassword ( MyMQTTpassword ) MQTT Device ID MQTTDeviceID Device identifier for MQTT BSB-LAN ( BSB-LAN ) MQTT Topic prefix MQTTTopicPrefix Topic prefix for MQTT BSB-LAN ( BSB-LAN ) MQTT Usage mqtt_mode Set the format for MQTT messages Plain text ( 1 ) - Send parameter number and value in plain text format JSON ( 2 ) - Send messages in JSON format (parameter number and value only) Rich JSON ( 3 ) - Send parameter number/name/value/unit/error in JSON format. Sensors and external devices Web-Interface Configuration File Functionality Possible settings OneWire Pins One_Wire_Pin Set the OneWire pin (use -1 in configuration file to disable) 10 ( 10 ) DHT Pins DHT_Pins Set the DHT22 sensor pins (use -1 in configuration file to disable) 11, 12, 13 ( 11, 12, 13, -1, -1, -1, -1, -1, -1, -1 ) BME280 sensors BME_Sensors Set number of BME280 sensors on the I2C bus. You need to have access to I2C pins. Fixed addresses 0x76 and 0x77 will be used. Use 0 to disable. 1 ( 1 ) MAX! Usage enable_max_cul Enable or disable connection to CUNO/CUNX/modified MAX!Cube On ( true ) Off ( false ) IP address cube max_cul_ip_addr IP address of the CUNO/CUNX/MAX!Cube 192.168.178.21 ( 192,168,178,21 ) MAX! Devices max_device_list IDs of MAX! devices to be polled KEQ0502326, KEQ0505080, KHA0002948 ( \"KEQ0502326\", \"KEQ0505080\", \"KHA0002948\" ) IPWE Usage enable_ipwe Enable IPWE extension ( /ipwe.cgi ) On ( true ) Off ( false ) IPWE Parameters ipwe_parameters List of parameters for display in IPWE extension. See addressing instructions below. 8700, 8743!2, 8314!2 ({8700, -1}, {8743, 2}, {8314, 2}) - #define CUSTOM_COMMANDS Enable custom functions Debugging Web-Interface Configuration File Functionality Possible settings Debugging Usage debug_mode Select debug output Off ( 0 ) Serial ( 1 ) Telnet ( 2 ) Verbosity mode verbose Enable or disable verbose debug messages (do not turn off unless advised) On ( 1 ) Off ( 0 ) Monitor mode monitor Enable or disable monitor mode (do not turn on unless advised) On ( 1 ) Off ( 0 ) Display unknown parameters show_unknown Try and display also parameters not supported by destination device On ( true ) Off ( false ) Adressing different heating controllers In order to address parameters from devices other than the default destination device in the web-interface, you need to add an exclamation mark followed by the device address (see above for converting segment/device notation to device address). For example, parameter 8700 from device address 1 would be written as 8700!1 instead of just 8700 . For the configuration file, parameters are listed in the form {parameter number, destination address} . Parameter 8700 from device address 1 would thus be written as {8700, 1} . To address the default destination, you can do so by using -1 .","title":"Configuration"},{"location":"configure.html#configuration","text":"There are two ways to configure BSB-LAN: Through the configuration file BSB_LAN_config.h Through the web-interface by calling http://bsb-lan.local/C (or the corresponding IP address) For the initial configuration, some settings have to be configured in the configuration file (such as language and network settings). Any further changes can be done also in the web-interface. It may, however, be useful to do the configuration (also) in the configuration file in case one needs to change the microcontroller. Almost all settings exist also in the web-interface and vice versa. On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. So even without any further configuration, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and proceed with the configuration via this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h .","title":"Configuration"},{"location":"configure.html#configuration-through-bsb_lan_configh","text":"The configuration file consists of variables that are used in other parts of BSB-LAN. It is therefore important to only change the contents of the variables (i.e. the settings) and not the type of the variables. So if there is for example the setting byte ip_addr[4] = {192,168,178,88}; you must not alter the byte ip_addr[4] = part, only the contents, in this case the comma-separated IP address.","title":"Configuration through `BSB_LAN_config.h``"},{"location":"configure.html#configuration-through-the-web-interface","text":"Configuring BSB-LAN through the web-interface is pretty straightforward, as you don't have to deal with variable names but clear descriptions. Initially, only a selected number of configuration options are displayed in the webinterface. To have access to all of them, you have to set the \"extended configuration\" option to \"on\".","title":"Configuration through the web-interface"},{"location":"configure.html#overview-of-configuration-options","text":"table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 20%; } table th:nth-of-type(3) { width: 40%; } table th:nth-of-type(4) { width: 20%; }","title":"Overview of configuration options"},{"location":"configure.html#general-settings","text":"Web-Interface Configuration File Functionality Possible settings - #define LANG Set language DE , EN , FR and other ISO country codes Display extended configuration - Show all configuration options On Off Read config from EEPROM UseEEPROM Read configuration from EEPROM or file On ( 1 ) Off ( 0 ) Write access (level) - If DEFAULT_FLAG is set to FL_SW_CTL_RONLY , you can set the level of write access here. Off (read-only) On (Standard) On (Complete) Check for updates enable_version_check Query BSB-LAN server for new available version On ( true ) OTA Update enable_ota_update Enable over-the-air (OTA) update On ( true ) Energy saving esp32_save_energy Reduces speed, saves energy. Do not enable when using WiFi. On ( true ) Off ( false ) Webserver file system webserver Enables serving files from SD card On ( true ) Off ( false ) - #define DEFAULT_FLAG Set read/write access to heating system. FL_RONLY sets all parameters to read-only. FL_SW_CTL_RONLY allows setting read/write access via web-interface configuration setting. 0 makes all parameters that could be written writeable. Do not use this option unless instructed otherwise! FL_RONLY FL_SW_CTL_RONLY 0","title":"General Settings"},{"location":"configure.html#bus-settings","text":"Web-Interface Configuration File Functionality Possible settings Bus type bus_type Bus type (BSB/LPB/PPS) BSB ( 0 ) LPB ( 1 ) PPS ( 2 ) PPS: mode pps_write BSB-LAN can act as a PPS room unit (only if no real room unit is connected) or just listen passively. passive ( 0 ) as room unit ( 1 ) PPS: QAA model QAA_TYPE Room unit that should be simulated for PPS bus QAA70 ( 0x53 ), QAA50 ( 0x52 ), QAA95 ( 0x37 ), QAW10 ( 0x4D ), QAW20 ( 0x4E ), MCBA/REA70/DC225 ( 0x58 ), QAA10 ( 0x5A ), QAA20 ( 0x5B ), QAA12/13 ( 0x5D ), BMU ( 0x66 ), RVD130 ( 0x43 ) Own address own_address Own bus address (default 66 should not be changed) 66 ( 66 ) Destination address dest_address Destination bus address. For BSB always 0 . For LPB 0 if destination device is in segment 1, device address 0. To convert from LPB segment and device address notation to destination address, multiply segment by 16, add the device address and subtract one. For example, to address a device in segment 4 with device address 3, the destination address is (4 * 16) + 3 - 1 = 66 . For PPS not relevant. 0 ( 0 ) Device family fixed_device_family Set the device family that BSB-LAN should emulate. Leave at 0 for auto-detection. 0 ( 0 ) Device variant fixed_device_variant Set the device variant that BSB-LAN should emulate. Leave at 0 for auto-detection 0 ( 0 ) RX pin number TX pin number bus_pins Define the RX/TX pins to communicate with the BSB-LAN adapter. Leave at 0 for auto-detection. 0 and 0 ( 0, 0 )","title":"Bus settings"},{"location":"configure.html#network-settings","text":"Web-Interface Configuration File Functionality Possible settings Network device network_type Choose between WLAN and LAN to connect BSB-LAN to the network. LAN ( 0 ) WLAN ( 1 ) WLAN SSID wifi_ssid Set the WLAN network name when using WLAN. Your_WLAN_name ( Your_WLAN_name ) WLAN password wifi_pass Set the WLAN password when using WLAN. YourWLANpassword ( YourWLANpassword ) DHCP usage use_dhcp Set whether or not to use DHCP to get an IP address from the router. On ( true ) Off ( false ) IP address (fixed) ip_addr When not using DHCP, you can set a fixed IP address here. Otherwise leave at 0.0.0.0 . In the web-interface, you may use dot notation. In the configuration file, you have to use comma as a separator. 192.168.178.88 ( 192,168,178,88 ) Subnet subnet_addr Subnet when using fixed IP address. Same notation as with IP address. 255.255.255.0 ( 255,255,255,0 ) Gateway gateway_addr Gateway address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) DNS Server dns_addr DNS server address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) TCP Port HTTPPort HTTP port number to access the web-interface. Defaults to 80 . 80 ( 80 ) MAC address mac Set a fixed MAC address. Only relevant on Arduino. 00:80:41:19:69:90 ( 0x00, 0x80, 0x41, 0x19, 0x69, 0x90 ) mDNS Hostname mDNS_hostname Hostname for mDNS discovery BSB-LAN ( BSB-LAN ) HTTP authentification USER_PASS If not empty, this setting contains the username and password for HTTP authentification, separated by a colon. Username:Password ( Username:Password ) URL Passkey PASSKEY Passkey adds a user-defined sequence that needs to be added to the URL after the hostname. For example, a passkey of 1234 requires every URL to be written as http://bsb-lan.local/1234/ instead of just http://bsb-lan.local/1234/ . Leave empty for no passkey. 1234 ( 1234 ) Trusted IP address trusted_ip_addr Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.89 ( 192,168,178,89 ) Trusted IP address trusted_ip_addr2 Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.90 ( 192,168,178,90 ) - bssid Enter a specific BSSID address here to ensure connecting to a specific access point. Set to all zeros under normal circumstances. ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ) - ntp_server Set an NTP server here to acquire exact time for BSB-LAN. Set to empty string if you don't want to use NTP. ESP32-based microcontrollers only. ( pool.ntp.org ) - local_timezone Timezone to use for NTP. See here for a complete list. ( CET-1CEST,M3.5.0,M10.5.0/3 )","title":"Network settings"},{"location":"configure.html#logging","text":"Web-Interface Configuration File Functionality Possible settings Storage device LogDestination Select the destination for logging activities. SD card is highly recommended, as using the internal flash will wear out the internal flash eventually. SD card ( SDCARD ) Internal Flash Storage ( FLASH ) Logging mode LoggingMode Set the logging destinations/activities. Multiple selections are possible, for the configuration file, the values have to be added, for example, to send to MQTT broker and to UDP, set the value to 4 + 8 = 12 Write to SD card ( 1 ) Calculate 24h averages ( 2 ) Send to MQTT broker ( 4 ) Send to UDP ( 8 ) Logging Interval log_interval Interval for logging activities (in seconds) 60 ( 60 ) Log Parameters log_parameters List of logging parameters. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) Log bus telegrams logTelegram Log raw bus telegrams, such as broadcast messages or unknown telegrams Off ( LOGTELEGRAM_OFF ) Log all bus telegrams ( LOGTELEGRAM_ON ) Log unknown bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY ) Log broadcast bus telegrams only ( LOGTELEGRAM_BROADCAST_ONLY ) Log unknown broadcast bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY + LOGTELEGRAM_BROADCAST_ONLY ) 24h averages parameters avg_parameters List of parameters for generating 24 hour averages. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) - #define DEFAULT_DAYS_TO_PLOT Define default number of days to plot logging data ( 3 )","title":"Logging"},{"location":"configure.html#mqtt","text":"Web-Interface Configuration File Functionality Possible settings MQTT Broker server mqtt_broker_addr Hostname/IP of the MQTT broker my-mqtt-broker.local ( my-mqtt-broker.local ) MQTT Username MQTTUsername Optional username for MQTT broker MyMQTTusername ( MyMQTTusername ) MQTT Password MQTTPassword Optional password for MQTT broker MyMQTTpassword ( MyMQTTpassword ) MQTT Device ID MQTTDeviceID Device identifier for MQTT BSB-LAN ( BSB-LAN ) MQTT Topic prefix MQTTTopicPrefix Topic prefix for MQTT BSB-LAN ( BSB-LAN ) MQTT Usage mqtt_mode Set the format for MQTT messages Plain text ( 1 ) - Send parameter number and value in plain text format JSON ( 2 ) - Send messages in JSON format (parameter number and value only) Rich JSON ( 3 ) - Send parameter number/name/value/unit/error in JSON format.","title":"MQTT"},{"location":"configure.html#sensors-and-external-devices","text":"Web-Interface Configuration File Functionality Possible settings OneWire Pins One_Wire_Pin Set the OneWire pin (use -1 in configuration file to disable) 10 ( 10 ) DHT Pins DHT_Pins Set the DHT22 sensor pins (use -1 in configuration file to disable) 11, 12, 13 ( 11, 12, 13, -1, -1, -1, -1, -1, -1, -1 ) BME280 sensors BME_Sensors Set number of BME280 sensors on the I2C bus. You need to have access to I2C pins. Fixed addresses 0x76 and 0x77 will be used. Use 0 to disable. 1 ( 1 ) MAX! Usage enable_max_cul Enable or disable connection to CUNO/CUNX/modified MAX!Cube On ( true ) Off ( false ) IP address cube max_cul_ip_addr IP address of the CUNO/CUNX/MAX!Cube 192.168.178.21 ( 192,168,178,21 ) MAX! Devices max_device_list IDs of MAX! devices to be polled KEQ0502326, KEQ0505080, KHA0002948 ( \"KEQ0502326\", \"KEQ0505080\", \"KHA0002948\" ) IPWE Usage enable_ipwe Enable IPWE extension ( /ipwe.cgi ) On ( true ) Off ( false ) IPWE Parameters ipwe_parameters List of parameters for display in IPWE extension. See addressing instructions below. 8700, 8743!2, 8314!2 ({8700, -1}, {8743, 2}, {8314, 2}) - #define CUSTOM_COMMANDS Enable custom functions","title":"Sensors and external devices"},{"location":"configure.html#debugging","text":"Web-Interface Configuration File Functionality Possible settings Debugging Usage debug_mode Select debug output Off ( 0 ) Serial ( 1 ) Telnet ( 2 ) Verbosity mode verbose Enable or disable verbose debug messages (do not turn off unless advised) On ( 1 ) Off ( 0 ) Monitor mode monitor Enable or disable monitor mode (do not turn on unless advised) On ( 1 ) Off ( 0 ) Display unknown parameters show_unknown Try and display also parameters not supported by destination device On ( true ) Off ( false )","title":"Debugging"},{"location":"configure.html#adressing-different-heating-controllers","text":"In order to address parameters from devices other than the default destination device in the web-interface, you need to add an exclamation mark followed by the device address (see above for converting segment/device notation to device address). For example, parameter 8700 from device address 1 would be written as 8700!1 instead of just 8700 . For the configuration file, parameters are listed in the form {parameter number, destination address} . Parameter 8700 from device address 1 would thus be written as {8700, 1} . To address the default destination, you can do so by using -1 .","title":"Adressing different heating controllers"},{"location":"faq.html","text":"Frequently Asked Questions (FAQ) My heater has a OpenTherm/eBus/L-Bus/R-Bus connector, can I use BSB-LAN? No, these controllers are not compatible with BSB-LAN. Do not try and connect the adapter to your heating system! I'm missing function XYZ BSB-LAN offers the possibility to create own functions using the files BSB_LAN_custom_global.h , BSB_LAN_custom_setup.h and BSB_LAN_custom.h . Please see the folder custom_functions in the repository for more details and examples. Feel free to contribute your solutions to the public!","title":"FAQ"},{"location":"faq.html#frequently-asked-questions-faq","text":"","title":"Frequently Asked Questions (FAQ)"},{"location":"faq.html#my-heater-has-a-openthermebusl-busr-bus-connector-can-i-use-bsb-lan","text":"No, these controllers are not compatible with BSB-LAN. Do not try and connect the adapter to your heating system!","title":"My heater has a OpenTherm/eBus/L-Bus/R-Bus connector, can I use BSB-LAN?"},{"location":"faq.html#im-missing-function-xyz","text":"BSB-LAN offers the possibility to create own functions using the files BSB_LAN_custom_global.h , BSB_LAN_custom_setup.h and BSB_LAN_custom.h . Please see the folder custom_functions in the repository for more details and examples. Feel free to contribute your solutions to the public!","title":"I'm missing function XYZ"},{"location":"homeautomation.html","text":"Connecting BSB-LAN to home automation systems BSB-LAN provides four ways to connect to home automation systems: Exchanging data via MQTT (recommended) Exchanging data via JSON Using supported modules for specific home automation systems Exchanging data via URL commands and screen scraping Exchanging data via MQTT This is the recommended way to connect BSB-LAN to home automation systems because it allows seamless exchange of data. As a prerequisite, a MQTT broker (such as mosquitto is needed, either running locally or via making use of a public service. Some home automation systems such as Home Assistant offer the installation of mosquitto as part of their software. In BSB-LAN, you need to make or enable at least the following configurations: Set Logging mode (additionally) to Send to MQTT Broker . Set Log Interval to the time (in seconds) you want the log parameters to be published. Select up to 20 Log Parameters you want to be sent to your home automation system. Set MQTT Usage to plain text Set MQTT Broker Server to the hostname of your MQTT broker (such as the mosquitto server) If your home automation system supports MQTT auto-discovery (as is the case with Home Assistant), you can call URL command /M1 and BSB-LAN will send auto-discovery messages for all available parameters to the MQTT broker and thus to the home automation system. You may have to clean up afterwards or send a removal message for all these parameters using URL command /M0 . Every time a query is made in BSB-LAN or a parameter changes its value through the room unit, the new value will be sent to the MQTT broker, so even changes made outside of BSB-LAN should be updated into the home automation system, which is why the MQTT approach is the recommended way to connect to a home automation system. Examples for querying or setting parameters via MQTT would look like this (using mosquitto): Query the outside temperature (parameter 8700): mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"8700\" -t BSB-LAN -d Set the comfort temperature setpoint (parameter 710) to 20 degrees: mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"S700=20\" -t BSB-LAN -d Exchanging data via JSON BSB-LAN allows to query and set parameters via JSON structures and also provides numerous information about the parameters and category structures this way. The JSON API is accessd via URL commands and the openapi.yaml file provided in this repository can be used with Swagger to explore its possibilities and functionalitites. Using supported modules for specific home automation systems For some systems, specific modules exist that can be used to access BSB-LAN seamlessly: Home Assistant While the official plugin no longer works, the MQTT approach above works well with Home Assistant. For the details of the implementation, you may also refer to these tutorials: GitHub user @ryann72 wrote detailed instructions for BSB-LAN and HomeAssistant/Mosquitto . It is also available in French . YouTuber @StoneTime has created two videos (in German) where he shows the installation of BSB-LAN as well as setting it up in Home Assistant . Dankesch\u00f6n! YouTuber @ArminasTV has created two videos (in French) where he shows the installation of BSB-LAN as well as how to set it up with Home Assistant and MQTT . Merci beacoup! Homebridge BSB-LAN user Michael has written a plugin for Homebridge . Thank you! ioBroker GitHub user @hacki11 has developed an adapter for ioBroker . Thank you! Jeedom GitHub user @bernard-dandrea has written a plugin for Jeedom (with a French description). Thank you! Node-RED GitHub user @konne wrote a module for Node-RED . Thank you! FHEM FHEM forum user Luposoft has written a compact explanation of the configuration for using FHEM via MQTT. Thank you! openHAB Since version 2.5.4, there exists a binding that is officially part of OpenHAB. Homematic FHEM forum user PaulM has written a few scripts to showcase the integration of BSB-LAN into Homematic. Thank you! SmartHomeNG GitHub user @thensty wrote a plugin for SmartHomeNG . Thank you! Volkszaehler GitHub user @lapixo has contributed a script for the Volkszaehler project . Thank you! Bash script GitHub user @khfm has written Bash scripts to query data and display it using gnuplot. Thank you! Exchanging data via URL commands and screen scraping For simpler solutions, using the URL commands to query and set parameters can be used to control BSB-LAN from other systems. Screen scraping is possible since the project tries not to break certain ways of displaying data, so that parsing with regular expressions remains feasible. Nevertheless, for most scenarios one of the other options will probably be preferrable.","title":"Connect to your Smart Home"},{"location":"homeautomation.html#connecting-bsb-lan-to-home-automation-systems","text":"BSB-LAN provides four ways to connect to home automation systems: Exchanging data via MQTT (recommended) Exchanging data via JSON Using supported modules for specific home automation systems Exchanging data via URL commands and screen scraping","title":"Connecting BSB-LAN to home automation systems"},{"location":"homeautomation.html#exchanging-data-via-mqtt","text":"This is the recommended way to connect BSB-LAN to home automation systems because it allows seamless exchange of data. As a prerequisite, a MQTT broker (such as mosquitto is needed, either running locally or via making use of a public service. Some home automation systems such as Home Assistant offer the installation of mosquitto as part of their software. In BSB-LAN, you need to make or enable at least the following configurations: Set Logging mode (additionally) to Send to MQTT Broker . Set Log Interval to the time (in seconds) you want the log parameters to be published. Select up to 20 Log Parameters you want to be sent to your home automation system. Set MQTT Usage to plain text Set MQTT Broker Server to the hostname of your MQTT broker (such as the mosquitto server) If your home automation system supports MQTT auto-discovery (as is the case with Home Assistant), you can call URL command /M1 and BSB-LAN will send auto-discovery messages for all available parameters to the MQTT broker and thus to the home automation system. You may have to clean up afterwards or send a removal message for all these parameters using URL command /M0 . Every time a query is made in BSB-LAN or a parameter changes its value through the room unit, the new value will be sent to the MQTT broker, so even changes made outside of BSB-LAN should be updated into the home automation system, which is why the MQTT approach is the recommended way to connect to a home automation system. Examples for querying or setting parameters via MQTT would look like this (using mosquitto): Query the outside temperature (parameter 8700): mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"8700\" -t BSB-LAN -d Set the comfort temperature setpoint (parameter 710) to 20 degrees: mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"S700=20\" -t BSB-LAN -d","title":"Exchanging data via MQTT"},{"location":"homeautomation.html#exchanging-data-via-json","text":"BSB-LAN allows to query and set parameters via JSON structures and also provides numerous information about the parameters and category structures this way. The JSON API is accessd via URL commands and the openapi.yaml file provided in this repository can be used with Swagger to explore its possibilities and functionalitites.","title":"Exchanging data via JSON"},{"location":"homeautomation.html#using-supported-modules-for-specific-home-automation-systems","text":"For some systems, specific modules exist that can be used to access BSB-LAN seamlessly:","title":"Using supported modules for specific home automation systems"},{"location":"homeautomation.html#home-assistant","text":"While the official plugin no longer works, the MQTT approach above works well with Home Assistant. For the details of the implementation, you may also refer to these tutorials: GitHub user @ryann72 wrote detailed instructions for BSB-LAN and HomeAssistant/Mosquitto . It is also available in French . YouTuber @StoneTime has created two videos (in German) where he shows the installation of BSB-LAN as well as setting it up in Home Assistant . Dankesch\u00f6n! YouTuber @ArminasTV has created two videos (in French) where he shows the installation of BSB-LAN as well as how to set it up with Home Assistant and MQTT . Merci beacoup!","title":"Home Assistant"},{"location":"homeautomation.html#homebridge","text":"BSB-LAN user Michael has written a plugin for Homebridge . Thank you!","title":"Homebridge"},{"location":"homeautomation.html#iobroker","text":"GitHub user @hacki11 has developed an adapter for ioBroker . Thank you!","title":"ioBroker"},{"location":"homeautomation.html#jeedom","text":"GitHub user @bernard-dandrea has written a plugin for Jeedom (with a French description). Thank you!","title":"Jeedom"},{"location":"homeautomation.html#node-red","text":"GitHub user @konne wrote a module for Node-RED . Thank you!","title":"Node-RED"},{"location":"homeautomation.html#fhem","text":"FHEM forum user Luposoft has written a compact explanation of the configuration for using FHEM via MQTT. Thank you!","title":"FHEM"},{"location":"homeautomation.html#openhab","text":"Since version 2.5.4, there exists a binding that is officially part of OpenHAB.","title":"openHAB"},{"location":"homeautomation.html#homematic","text":"FHEM forum user PaulM has written a few scripts to showcase the integration of BSB-LAN into Homematic. Thank you!","title":"Homematic"},{"location":"homeautomation.html#smarthomeng","text":"GitHub user @thensty wrote a plugin for SmartHomeNG . Thank you!","title":"SmartHomeNG"},{"location":"homeautomation.html#volkszaehler","text":"GitHub user @lapixo has contributed a script for the Volkszaehler project . Thank you!","title":"Volkszaehler"},{"location":"homeautomation.html#bash-script","text":"GitHub user @khfm has written Bash scripts to query data and display it using gnuplot. Thank you!","title":"Bash script"},{"location":"homeautomation.html#exchanging-data-via-url-commands-and-screen-scraping","text":"For simpler solutions, using the URL commands to query and set parameters can be used to control BSB-LAN from other systems. Screen scraping is possible since the project tries not to break certain ways of displaying data, so that parsing with regular expressions remains feasible. Nevertheless, for most scenarios one of the other options will probably be preferrable.","title":"Exchanging data via URL commands and screen scraping"},{"location":"install.html","text":"Installation Installing BSB-LAN requires three steps: Installing the Arduino IDE in order to flash the BSB-LAN software onto the microcontroller Assembling the hardware parts Connecting BSB-LAN to the heating system Installing the Arduino IDE and flashing BSB-LAN Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. You may now proceed to configure BSB-LAN. When you are done configuring, go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Subsequent updates on ESP32-based microcontrollers \"over the air\" (OTA) If you are running BSB-LAN on an ESP32-based microcontroller and have enabled Over-the-Air Updates in the settings , you can perform future updates of BSB-LAN using your browser. To do that, instead of using Sketch/Upload , you need to select Sketch/Export Compiled Binary . This will create a build folder in your BSB-LAN folder in which you will find among others the file BSB_LAN.ino.bin . Now open http://bsb-lan.local:8080 and select and upload that file. Do not interrupt the upload process. You may try to access BSB-LAN from a different browser window to see if the process is completed. Please take note that this only applies to ESP32-based microcontrollers. Arduinos do not support this functionality. Assembling the BSB-LAN adapter You can either get a fully assembled adapter from Frederik (bsb(\u00e4t)code-it.de) or build one on your own (see the folder schematics for the schematics). Once you have the BSB-LAN adapter ready, you just need to plug it into the microcontroller. If you are using an Olimex microcontroller, double-check that the adapter really sits in the center of the connector, because it still fits even if it is moved by one pin row to the left or right. Connecting BSB-LAN to the heating system Once the microcontroller and the BSB-LAN adapter are ready, perform the following steps to connect BSB-LAN to the heating system: Unplug the microcontroller from your computer and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Have a look at the list of supported heating systems to get an idea where the pins are located. Do all this at your own risk! Especially take care to prevent electrostatic discharge (ESD) which can destroy both BSB-LAN and the heating controller! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. If there is no empty connector, there is no problem adding the wires for BSB-LAN to an already \"used\" connector, provided the wires are inserted carefully. Now you need to power on the microcontroller. Take note that the heating system does not power the microcontroller, even if the BSB-LAN adapter's LED turns on when you connect it to the heating system. You need to supply power to the microcontroller via its USB port (or via PoE on the Olimex POE-ISO). Make sure to use a stable power supply with at least 2 amperes. Once the microcontroller is powered on, turn on the heating system. The red LED of the BSB-LAN adapter should alight. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . Otherwise, you can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor and set the serial monitor speed to 115200. Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Generating the device-specific parameter list Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters. Once you have received the parameter list (or taken the one from version 2.2.x), you have to replace the existing BSB_LAN_custom_defs.h file with the one sent to you, compile it and flash it again. Now you are ready to access all parameters.","title":"Installation"},{"location":"install.html#installation","text":"Installing BSB-LAN requires three steps: Installing the Arduino IDE in order to flash the BSB-LAN software onto the microcontroller Assembling the hardware parts Connecting BSB-LAN to the heating system","title":"Installation"},{"location":"install.html#installing-the-arduino-ide-and-flashing-bsb-lan","text":"Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. You may now proceed to configure BSB-LAN. When you are done configuring, go to Sketch/Upload and upload the BSB-LAN software to the microcontroller.","title":"Installing the Arduino IDE and flashing BSB-LAN"},{"location":"install.html#subsequent-updates-on-esp32-based-microcontrollers-over-the-air-ota","text":"If you are running BSB-LAN on an ESP32-based microcontroller and have enabled Over-the-Air Updates in the settings , you can perform future updates of BSB-LAN using your browser. To do that, instead of using Sketch/Upload , you need to select Sketch/Export Compiled Binary . This will create a build folder in your BSB-LAN folder in which you will find among others the file BSB_LAN.ino.bin . Now open http://bsb-lan.local:8080 and select and upload that file. Do not interrupt the upload process. You may try to access BSB-LAN from a different browser window to see if the process is completed. Please take note that this only applies to ESP32-based microcontrollers. Arduinos do not support this functionality.","title":"Subsequent updates on ESP32-based microcontrollers \"over the air\" (OTA)"},{"location":"install.html#assembling-the-bsb-lan-adapter","text":"You can either get a fully assembled adapter from Frederik (bsb(\u00e4t)code-it.de) or build one on your own (see the folder schematics for the schematics). Once you have the BSB-LAN adapter ready, you just need to plug it into the microcontroller. If you are using an Olimex microcontroller, double-check that the adapter really sits in the center of the connector, because it still fits even if it is moved by one pin row to the left or right.","title":"Assembling the BSB-LAN adapter"},{"location":"install.html#connecting-bsb-lan-to-the-heating-system","text":"Once the microcontroller and the BSB-LAN adapter are ready, perform the following steps to connect BSB-LAN to the heating system: Unplug the microcontroller from your computer and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Have a look at the list of supported heating systems to get an idea where the pins are located. Do all this at your own risk! Especially take care to prevent electrostatic discharge (ESD) which can destroy both BSB-LAN and the heating controller! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. If there is no empty connector, there is no problem adding the wires for BSB-LAN to an already \"used\" connector, provided the wires are inserted carefully. Now you need to power on the microcontroller. Take note that the heating system does not power the microcontroller, even if the BSB-LAN adapter's LED turns on when you connect it to the heating system. You need to supply power to the microcontroller via its USB port (or via PoE on the Olimex POE-ISO). Make sure to use a stable power supply with at least 2 amperes. Once the microcontroller is powered on, turn on the heating system. The red LED of the BSB-LAN adapter should alight. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . Otherwise, you can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor and set the serial monitor speed to 115200. Restart the microcontroller, and the IP address will be displayed upon connecting to the network.","title":"Connecting BSB-LAN to the heating system"},{"location":"install.html#generating-the-device-specific-parameter-list","text":"Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters. Once you have received the parameter list (or taken the one from version 2.2.x), you have to replace the existing BSB_LAN_custom_defs.h file with the one sent to you, compile it and flash it again. Now you are ready to access all parameters.","title":"Generating the device-specific parameter list"},{"location":"list_of_controllers.html","text":"AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"List of controllers"},{"location":"quickstart.html","text":"Quickstart instructions These quickstart instructions are for users who are familiar with installing and configuring software on their computer. If you need more detailed instructions, please head to the install instructions ! Make sure that your heating system is compatible with BSB-LAN! Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. Click on the tab with the filename BSB_LAN_config.h and configure at least the following: Search for #define LANG DE : Change DE to EN for English, FR for French etc. Search for uint8_t network_type : Set this to LAN if you are using Ethernet/LAN connection. Set this to WLAN if you are using WiFi/WLAN. If you are not using DHCP, configure the following options according to your network (make sure to use a comma, not a dot for IP addresses!): byte ip_addr[4] = {192,168,178,88}; byte gateway_addr[4] = {192,168,178,1}; byte dns_addr[4] = {192,168,178,1}; byte subnet_addr[4] = {255,255,255,0}; char wifi_ssid[32] = \"Your_Wifi_network_name\"; char wifi_pass[32] = \"Your_WiFi_network_password\"; Now go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Unplug the microcontroller and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Do all this at your own risk! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. Power on the microcontroller via the USB port or via PoE (Olimex POE-ISO only). Then power on the heating system. The red LED of the BSB-LAN adapter should turn on. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . You can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor . Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Done :-) It's not working! Please make sure you check every entry in the Troubleshooting-Section first before getting in touch with us! Why do I only see so few parameters? Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters.","title":"Quickstart"},{"location":"quickstart.html#quickstart-instructions","text":"These quickstart instructions are for users who are familiar with installing and configuring software on their computer. If you need more detailed instructions, please head to the install instructions ! Make sure that your heating system is compatible with BSB-LAN! Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. Click on the tab with the filename BSB_LAN_config.h and configure at least the following: Search for #define LANG DE : Change DE to EN for English, FR for French etc. Search for uint8_t network_type : Set this to LAN if you are using Ethernet/LAN connection. Set this to WLAN if you are using WiFi/WLAN. If you are not using DHCP, configure the following options according to your network (make sure to use a comma, not a dot for IP addresses!): byte ip_addr[4] = {192,168,178,88}; byte gateway_addr[4] = {192,168,178,1}; byte dns_addr[4] = {192,168,178,1}; byte subnet_addr[4] = {255,255,255,0}; char wifi_ssid[32] = \"Your_Wifi_network_name\"; char wifi_pass[32] = \"Your_WiFi_network_password\"; Now go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Unplug the microcontroller and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Do all this at your own risk! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. Power on the microcontroller via the USB port or via PoE (Olimex POE-ISO only). Then power on the heating system. The red LED of the BSB-LAN adapter should turn on. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . You can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor . Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Done :-)","title":"Quickstart instructions"},{"location":"quickstart.html#its-not-working","text":"Please make sure you check every entry in the Troubleshooting-Section first before getting in touch with us!","title":"It's not working!"},{"location":"quickstart.html#why-do-i-only-see-so-few-parameters","text":"Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters.","title":"Why do I only see so few parameters?"},{"location":"supported_heating_systems.html","text":"Supported heating systems BSB-LAN supports heating systems that communicate using either the BSB (Boiler System Bus) , the LPB (Local Process Bus) or the PPS (Punkt-zu-Punkt-Schnittstelle) . These controllers are usually manufactured by Siemens, older controllers might still bear the company name \"Landis & Stafea\" or \"Landis & Gyr\". We have compiled a list of working models from various heating system manufacturers who have been confirmed working with BSB-LAN, although there is no 100% guarantee that the manufacturers keep the model name but change the controller to a different system. So always make sure to double-check that the right connectors are available. Here are a few examples from heating controllers and the connectors that are used to connect to BSB-LAN. Some connectors have three pins, some have two pins. If there are three pins, make sure you choose the correct two (CL+ and CL-) as the third von (G+) is to provide background lighting for the room unit. It won't harm BSB-LAN, but it might be misleading because BSB-LAN's LED will be on even though it's not connected to the right pin. Controller Image Remarks LMS14 LMS15 BSB connection: + = Left - = Center LMS14 LMS15 BSB connection: CL+/CL- LMU54 LMU64 LPB connection: via additional OCI420 plugin LMU74 LMU75 BSB connection: + = Top - = Center LPB connection: via additional OCI420 plugin RVA53 PPS connection: A6/MD RVA63 LPB connection: MB/DB PPS connection: A6/MD RVP54 PPS connection: A6/M RVS21 BSB connection via connector X86 + = rightmost pin - = second pin from right RVS21 with AVS55 AVS55 extension module, sitting on top of RVS21. BSB connection via connector X86: + = rightmost pin - = second pin from right RVS41 BSB connection: CL+/CL- LPB connection: MB/DB RVS43 LOGON B BSB connection: CL+/CL- LPB connection: MB/DB RVS46 ISR-ZR1 BSB connection: CL+/CL- LPB connection: MB/DB RVS46 BSB connection: CL+/CL- LPB connection: MB/DB RVS51 BSB connection: CL+/CL- LPB connection: MB/DB RVS61 BSB connection: CL+/CL- LPB connection: MB/DB RVS63 BSB connection: CL+/CL- LPB connection: MB/DB List of working controller models There are a many more controllers that are likely to work with BSB-LAN. Look out for these Siemens controller models in your heating system: AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"Supported Heating Systems"},{"location":"supported_heating_systems.html#supported-heating-systems","text":"BSB-LAN supports heating systems that communicate using either the BSB (Boiler System Bus) , the LPB (Local Process Bus) or the PPS (Punkt-zu-Punkt-Schnittstelle) . These controllers are usually manufactured by Siemens, older controllers might still bear the company name \"Landis & Stafea\" or \"Landis & Gyr\". We have compiled a list of working models from various heating system manufacturers who have been confirmed working with BSB-LAN, although there is no 100% guarantee that the manufacturers keep the model name but change the controller to a different system. So always make sure to double-check that the right connectors are available. Here are a few examples from heating controllers and the connectors that are used to connect to BSB-LAN. Some connectors have three pins, some have two pins. If there are three pins, make sure you choose the correct two (CL+ and CL-) as the third von (G+) is to provide background lighting for the room unit. It won't harm BSB-LAN, but it might be misleading because BSB-LAN's LED will be on even though it's not connected to the right pin. Controller Image Remarks LMS14 LMS15 BSB connection: + = Left - = Center LMS14 LMS15 BSB connection: CL+/CL- LMU54 LMU64 LPB connection: via additional OCI420 plugin LMU74 LMU75 BSB connection: + = Top - = Center LPB connection: via additional OCI420 plugin RVA53 PPS connection: A6/MD RVA63 LPB connection: MB/DB PPS connection: A6/MD RVP54 PPS connection: A6/M RVS21 BSB connection via connector X86 + = rightmost pin - = second pin from right RVS21 with AVS55 AVS55 extension module, sitting on top of RVS21. BSB connection via connector X86: + = rightmost pin - = second pin from right RVS41 BSB connection: CL+/CL- LPB connection: MB/DB RVS43 LOGON B BSB connection: CL+/CL- LPB connection: MB/DB RVS46 ISR-ZR1 BSB connection: CL+/CL- LPB connection: MB/DB RVS46 BSB connection: CL+/CL- LPB connection: MB/DB RVS51 BSB connection: CL+/CL- LPB connection: MB/DB RVS61 BSB connection: CL+/CL- LPB connection: MB/DB RVS63 BSB connection: CL+/CL- LPB connection: MB/DB","title":"Supported heating systems"},{"location":"supported_heating_systems.html#list-of-working-controller-models","text":"There are a many more controllers that are likely to work with BSB-LAN. Look out for these Siemens controller models in your heating system: AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"List of working controller models"},{"location":"supported_models.html","text":"Supported models from various manufacturers This is a list of models from various manufacturers that have in the past been tested with BSB-LAN. Please take note that manufacturers may at any time change the technical specifications, including the controller, without changing the model name (or just a very minor part of it). Where we get to know about such a change, we will list it here, but obviously this list is not complete, in both ways. So in any case, please do a final check yourself if your heating system has the necessary connectors to use BSB-LAN. Br\u00f6tje: BBK, BBS, BGB, BLW ( see exceptions below! ), BMK, BMR, BOB, BSK, BSW, Eurocontrol, ISR, LogoBloc, SGB, SOB, SPK, WBC, WBS, WGB ( see exceptions below! ), WMC, WMS, WOB Not working Br\u00f6tje models: BOK, BLW Neo, BLW Split-P, BLW Split C, BLW Split-K C, WGB-K, WGB 14.1/22.1/28.1/38.1, WHC, WHS, WLC, WLS B\u00f6sch: heat pumps with RVS controller type Elco: Aerotop, Aquatop, Rendamax, Straton, Thision ( not Thision Mini! ), Thision S, Thision S Plus, Trigon S Plus ATAG: QR Atlantic: Alf\u00e9a, Axeo, Excellia, Extensa, Hynea hybrid duo gaz, Navistem, Perfinox, Varmax Austria Email: LWP, LWPK Baxi: Luna Platinum, Luna Duo, Block Kondens Boesch: SLS Chapp\u00e9e: Luna, Klista CTA: Optiheat CTC: 380 IC Deville: 9942, 9981 Eco: AiWA, AW, BW, DW, heatLite, Star, TBW, WW, WWi, TWW Ecostar: Ecodense WT-S 45 EVI Heat: Combi-7 Fernw\u00e4rme: RVD230 Froeling: Rendagas Plus Fujitsu Waterstage: Comfort, Duo, WOHA, WSHA, WSYA, WSYK, WSYP Geminox: Thrs General: (aka Fujitsu Waterstage) WC13F / WOC13RIYF / WGHA 100DG Gruenenwald: Greenheat GS: UnoTec Hansa: SND Herz: Commotherm 5 DeLuxe Interdomo: Domostar GBK 25H/SH MAN/MHG: Ecostar 200 MHG: ecoWP Xe, Procon E Oilon: SH, SHx Olymp: SHS, WHS Palazzetti: Choro Sistema Calore Sieger: TG11 \u0160ildymo Technologij\u0173 Centras (\u0160TC): STC9 Sixmadun: TG11BE SSP: Proburner Sunex: Nexus Termomax: Termo \u00d6V Thermics: Energie Thermital: TBox Clima TOP Tifell: Biofell Viessmann: Vitotwin 300-W Wamak: AiWa, DB Weishaupt: WTU","title":"Supported models from various manufacturers"},{"location":"supported_models.html#supported-models-from-various-manufacturers","text":"This is a list of models from various manufacturers that have in the past been tested with BSB-LAN. Please take note that manufacturers may at any time change the technical specifications, including the controller, without changing the model name (or just a very minor part of it). Where we get to know about such a change, we will list it here, but obviously this list is not complete, in both ways. So in any case, please do a final check yourself if your heating system has the necessary connectors to use BSB-LAN. Br\u00f6tje: BBK, BBS, BGB, BLW ( see exceptions below! ), BMK, BMR, BOB, BSK, BSW, Eurocontrol, ISR, LogoBloc, SGB, SOB, SPK, WBC, WBS, WGB ( see exceptions below! ), WMC, WMS, WOB Not working Br\u00f6tje models: BOK, BLW Neo, BLW Split-P, BLW Split C, BLW Split-K C, WGB-K, WGB 14.1/22.1/28.1/38.1, WHC, WHS, WLC, WLS B\u00f6sch: heat pumps with RVS controller type Elco: Aerotop, Aquatop, Rendamax, Straton, Thision ( not Thision Mini! ), Thision S, Thision S Plus, Trigon S Plus ATAG: QR Atlantic: Alf\u00e9a, Axeo, Excellia, Extensa, Hynea hybrid duo gaz, Navistem, Perfinox, Varmax Austria Email: LWP, LWPK Baxi: Luna Platinum, Luna Duo, Block Kondens Boesch: SLS Chapp\u00e9e: Luna, Klista CTA: Optiheat CTC: 380 IC Deville: 9942, 9981 Eco: AiWA, AW, BW, DW, heatLite, Star, TBW, WW, WWi, TWW Ecostar: Ecodense WT-S 45 EVI Heat: Combi-7 Fernw\u00e4rme: RVD230 Froeling: Rendagas Plus Fujitsu Waterstage: Comfort, Duo, WOHA, WSHA, WSYA, WSYK, WSYP Geminox: Thrs General: (aka Fujitsu Waterstage) WC13F / WOC13RIYF / WGHA 100DG Gruenenwald: Greenheat GS: UnoTec Hansa: SND Herz: Commotherm 5 DeLuxe Interdomo: Domostar GBK 25H/SH MAN/MHG: Ecostar 200 MHG: ecoWP Xe, Procon E Oilon: SH, SHx Olymp: SHS, WHS Palazzetti: Choro Sistema Calore Sieger: TG11 \u0160ildymo Technologij\u0173 Centras (\u0160TC): STC9 Sixmadun: TG11BE SSP: Proburner Sunex: Nexus Termomax: Termo \u00d6V Thermics: Energie Thermital: TBox Clima TOP Tifell: Biofell Viessmann: Vitotwin 300-W Wamak: AiWa, DB Weishaupt: WTU","title":"Supported models from various manufacturers"},{"location":"troubleshooting.html","text":"Troubleshooting BSB-LAN tries to make accessing your heating system as easy as possible, but there are always things that can go wrong. If you still have a problem after reading this document as well as the FAQ , please open up a bug report on the project's GitHub page and make sure that you provide us with all the necessary log files and further required details, especially from the Serial Monitor (or SerMo in short). Using the Serial Monitor Access the Serial Monitor by going to Tools/Serial Monitor in the Arduino IDE. Set the transmission speed to 115200 at the top right corner of the serial monitor window. Make sure you copy the messages right from the moment your microcontroller boots (indicated by the READY message) until the moment you encounter the problem. Please do not send screenshots, only plain text files. The Serial Monitor in the Arduino IDE currently has a bug that allows you to only copy those parts of the Serial Monitor messages that you can see on the screen. Although this means that copying larger portions of log messages is tedious, you still have to provide the complete log in order to get support. Increasing the size of the Serial Monitor window helps a little. Compiling fails: \"Sketch too big\" Select the \"Minimal SPIFFS (Large APPS with OTA)\" partition scheme in the Arduino IDE under Tools/Partition Scheme . If you are using over-the-air updates, you have to flash the software once via USB after changing the partition scheme before OTA updates will work again. No access to web-interface anymore If you have changed the settings in such a way that you cannot access the web-interface anymore, there are two ways to restore the system: If you can flash the device: Configure BSB_LAN_config.h with correct, working settings. Set UseEEPROM to 0 . Flash BSB-LAN onto the microcontroller. You can now access BSB-LAN. Go to \"Settings\" and save the settings. This will store the working settings to the EEPROM. Now edit BSB_LAN_config.h again (!) and set UseEEPROM to 1 and flash BSB-LAN again to the microcontroller. Only now will BSB-LAN read and use the settings from the EEPROM, so you can make further changes in the web-interface. If you cannot flash the device: If you cannot flash the device on site, you can reset BSB-LAN to the last BSB_LAN_config.h setting by connecting two pins before and during booting the microcontroller : ESP32-Olimex: Connect pins 34 and 3V3. ESP32-NodeMCU: Connect pins 21 and 3V3. Arduino Due: Connect pins 31 and 33. If the pins were successfully connected, the built-in LED of the microcontroller will flash slowly for four seconds. Afterwards open the configuration in the web-interface, check all settings in the configuration and save them. This will store the working settings to the EEPROM. Temporary access point on an ESP32-based microcontroller On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. In this casee, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and see if you can fix the configuration this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Category list suddenly so small BSB-LAN needs to detect the heating system's controller to determine the categories to display. If BSB-LAN is not connected to the controller or the detection otherwise fails, only a few universal categories are displayed. Cannot read any parameters / device family is 0 Wrong bus type (BSB instead of LPB or vice versa). If the red LED of the adapter is not on (and ideally slightly flickering), there is a problem with the wiring between the adapter and the heating system. The red LED will come one once the adapter is connected correctly, even if the BSB-LAN adapter isn't even connected to the microcontroller! No data even though the adapter's red LED is on Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line. With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work. Make sure the RX/TX pins are set/detected correctly. No or unreliable network connection Try powering the microcontroller via USB from a laptop. We have had many cases where power supplies were unreliable despite having sufficient ratings. Look at the Serial Monitor log to check if the microcontroller could acquire an IP address. If not, then your network settings or physical connection may be faulty. No connection to hidden WiFi network possible Yes, that is a known restriction. The only way to do that is to set the BSSID specifically in BSB_LAN_config.h . Room temperature (or any other parameter) cannot be set Check BSB-LAN's settings and make sure that write access is enabled and set to standard or complete . Web-interface freezes when making new connection BSB-LAN is not a multi-tasking system. This means it can attend to one task at a time. So even if a URL command is aborted (by closing the browser window), BSB-LAN might not detect this and only start serving new requests once the previous one is finished. The Serial Monitor is not showing readable data Make sure the speed is set correctly to 115200 bps. Make sure the correct port is selected.","title":"Troubleshooting"},{"location":"troubleshooting.html#troubleshooting","text":"BSB-LAN tries to make accessing your heating system as easy as possible, but there are always things that can go wrong. If you still have a problem after reading this document as well as the FAQ , please open up a bug report on the project's GitHub page and make sure that you provide us with all the necessary log files and further required details, especially from the Serial Monitor (or SerMo in short).","title":"Troubleshooting"},{"location":"troubleshooting.html#using-the-serial-monitor","text":"Access the Serial Monitor by going to Tools/Serial Monitor in the Arduino IDE. Set the transmission speed to 115200 at the top right corner of the serial monitor window. Make sure you copy the messages right from the moment your microcontroller boots (indicated by the READY message) until the moment you encounter the problem. Please do not send screenshots, only plain text files. The Serial Monitor in the Arduino IDE currently has a bug that allows you to only copy those parts of the Serial Monitor messages that you can see on the screen. Although this means that copying larger portions of log messages is tedious, you still have to provide the complete log in order to get support. Increasing the size of the Serial Monitor window helps a little.","title":"Using the Serial Monitor"},{"location":"troubleshooting.html#compiling-fails-sketch-too-big","text":"Select the \"Minimal SPIFFS (Large APPS with OTA)\" partition scheme in the Arduino IDE under Tools/Partition Scheme . If you are using over-the-air updates, you have to flash the software once via USB after changing the partition scheme before OTA updates will work again.","title":"Compiling fails: \"Sketch too big\""},{"location":"troubleshooting.html#no-access-to-web-interface-anymore","text":"If you have changed the settings in such a way that you cannot access the web-interface anymore, there are two ways to restore the system: If you can flash the device: Configure BSB_LAN_config.h with correct, working settings. Set UseEEPROM to 0 . Flash BSB-LAN onto the microcontroller. You can now access BSB-LAN. Go to \"Settings\" and save the settings. This will store the working settings to the EEPROM. Now edit BSB_LAN_config.h again (!) and set UseEEPROM to 1 and flash BSB-LAN again to the microcontroller. Only now will BSB-LAN read and use the settings from the EEPROM, so you can make further changes in the web-interface. If you cannot flash the device: If you cannot flash the device on site, you can reset BSB-LAN to the last BSB_LAN_config.h setting by connecting two pins before and during booting the microcontroller : ESP32-Olimex: Connect pins 34 and 3V3. ESP32-NodeMCU: Connect pins 21 and 3V3. Arduino Due: Connect pins 31 and 33. If the pins were successfully connected, the built-in LED of the microcontroller will flash slowly for four seconds. Afterwards open the configuration in the web-interface, check all settings in the configuration and save them. This will store the working settings to the EEPROM. Temporary access point on an ESP32-based microcontroller On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. In this casee, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and see if you can fix the configuration this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h .","title":"No access to web-interface anymore"},{"location":"troubleshooting.html#category-list-suddenly-so-small","text":"BSB-LAN needs to detect the heating system's controller to determine the categories to display. If BSB-LAN is not connected to the controller or the detection otherwise fails, only a few universal categories are displayed.","title":"Category list suddenly so small"},{"location":"troubleshooting.html#cannot-read-any-parameters-device-family-is-0","text":"Wrong bus type (BSB instead of LPB or vice versa). If the red LED of the adapter is not on (and ideally slightly flickering), there is a problem with the wiring between the adapter and the heating system. The red LED will come one once the adapter is connected correctly, even if the BSB-LAN adapter isn't even connected to the microcontroller!","title":"Cannot read any parameters / device family is 0"},{"location":"troubleshooting.html#no-data-even-though-the-adapters-red-led-is-on","text":"Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line. With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work. Make sure the RX/TX pins are set/detected correctly.","title":"No data even though the adapter's red LED is on"},{"location":"troubleshooting.html#no-or-unreliable-network-connection","text":"Try powering the microcontroller via USB from a laptop. We have had many cases where power supplies were unreliable despite having sufficient ratings. Look at the Serial Monitor log to check if the microcontroller could acquire an IP address. If not, then your network settings or physical connection may be faulty.","title":"No or unreliable network connection"},{"location":"troubleshooting.html#no-connection-to-hidden-wifi-network-possible","text":"Yes, that is a known restriction. The only way to do that is to set the BSSID specifically in BSB_LAN_config.h .","title":"No connection to hidden WiFi network possible"},{"location":"troubleshooting.html#room-temperature-or-any-other-parameter-cannot-be-set","text":"Check BSB-LAN's settings and make sure that write access is enabled and set to standard or complete .","title":"Room temperature (or any other parameter) cannot be set"},{"location":"troubleshooting.html#web-interface-freezes-when-making-new-connection","text":"BSB-LAN is not a multi-tasking system. This means it can attend to one task at a time. So even if a URL command is aborted (by closing the browser window), BSB-LAN might not detect this and only start serving new requests once the previous one is finished.","title":"Web-interface freezes when making new connection"},{"location":"troubleshooting.html#the-serial-monitor-is-not-showing-readable-data","text":"Make sure the speed is set correctly to 115200 bps. Make sure the correct port is selected.","title":"The Serial Monitor is not showing readable data"},{"location":"using.html","text":"Using BSB-LAN Controlling the heating system via the web-interface As a first step \u2013 or if you just want to turn your heating system on or off \u2013 you can simply open the BSB-LAN web-interface and go to the Settings menu. This will display a list of categories from your heating controller. You can click on each category and will get a list of corresponding parameters. If you see a Set button, it means the parameter can be changed, and clicking on the button will send the new value to the heater. If there is no Set button, the parameter is read-only and there is no way to change the parameter. Using BSB-LAN's URL commands Most of BSB-LAN's functionality can be controlled using URL commands. These are useful or even necessary when connecting BSB-LAN to a home automation system , but also provide access to functions not directly accessible via the web-interface. URL commands are called right after BSB-LAN's hostname and an (optional) passkey. So to get a list of categories, one would have to open the URL http://bsb-lan.local/K (or http://bsb-lan.local/1234/K if the passkey 1234 is in use). Querying and setting parameters table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 80%; } URL command Functionality / Query setting of parameter /! Query setting of parameter from controller at destination address /// Query settings of parameters , and . Parameters can include ! to address different controllers. /- Query settings of parameters to /!- Query settings of parameters to from controller at destination address /K List all parameter categories from controller at default destination address /K! List all parameter categories from controller at destination address /K Query all parameters of category from controller at default destination address /K! Query all parameters of category from controller at destination address /S= Set parameter from controller at default destination address to value . To set a parameter to --- (off/deactivated), just send an empty value: S= /S!= Set parameter from controller at destination address to value . /I= Send value y as INF telegram to parameter . So far only required with setting room temperature (parameters 10000 ff.). Configuration URL command Functionality /C Configuration /CO Dump BSB-LAN's configuration /P,, Temporarily set bus type to , own address to and target address to . /V Enable ( 1 ) or disable ( 0 ) verbose output mode. Should remain enabled unless specifically instructed. Logging URL command Functionality /DG Graphical display (graph plot) of an active log file /D or /DD Dumps log file datalog.txt from storage. Contains the logged parameters and values when logging to SD card is active. /D Dumps the most recent calender days of the log file /D, Dumps data from log file between and . and have to be set in the format yyyy-mm-dd (e.g. /D2024-04-01,2024-04-30 ) /D0 Reset both log files datalog.txt and journal.txt and create new headers. Should be executed before first logging. /DK Purges data older than days from the log file /LN Forces logging irrespective of current interval and restarts the configured interval at this point of time /L=,, Set logging interval to seconds and (optionally) reset logging parameters to , etc. until reboot /L=0,0 Deactivate logging to storage until reboot /LB= Log only broadcast telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /LU= Log only unknown bus telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /A=0 Disable 24h average calculation until reboot /A=,, Change 24h average value calculation to parameters , and until reboot /B0 Reset stats for accumulated burner-runtime and -cycles /DD0 Remove log file datalog.txt only /DJ Dumps log file journal.txt from storage /DJ0 Remove log file journal.txt only /LD Disable logging of telegrams to journal.txt until reboot /LE Enable logging of telegrams to journal.txt Parameter information URL command Functionality /E Displays parameter options of parameter . Only available for option-type parameters such as data types VT_ENUM , VT_CUSTOM_ENUM , VT_BITS and VT_CUSTOM_BITS . /R Query default setting of parameter GPIO control URL command Functionality /G Displays the actual state of GPIO pin /G= Set GPIO pin to HIGH ( = 1 ) or LOW ( = 0 ) JSON interface URL command Functionality /JQ=,, Query parameters , and and return a JSON structure /JQ Query parameters based on a received JSON structure via HTTP POST /JK= Query all parameters of category /JS Set parameters based on a received JSON structure via HTTP /JR Query default value of parameter and return a JSON structure /JK=ALL Dump ranges for all available categories as JSON structure /JC=,, Dump possible values for parameters , and for option-type parameters. Same JSON structure as /JK= . /JB Backup of all writeable parameters in a JSON structure that can be used to write back using /JS /JL Creates a JSON structure of BSB-LAN's configuration settings` /JW Writes configuration settings based on a JSON structure created by /JL /JI Dump runtime information of BSB-LAN as JSON structure` /JV Return the version of BSB-LAN's JSON-API as a JSON structure Misceallaneous URL command Functionality /M Send ( 1 ) or revoke ( 0 ) MQTT auto-discovery messages for all parameters from controller at default destination address. /N Reset and reboot microcontroller (takes approx. 15 seconds) /NE Erase EEPROM and reboot the microcontroller. All configuration settings will subsequently be read from configuration file until set and saved again in the web-interface to be written to EEPROM. /QD Dump parameter structure from heating system /W With a preceding /W the URL commands C , S and Q return data without HTML header and footer (e.g.: /WC or /WS= ). Using the graphical plot functionality If logged data on storage (either SD card or internal flash) is available, the Display log file becomes clickable. By default, it will display the logged data in the browser. To access the logged data itself (in the file datalog.txt ), use the /D URL command mentioned above. By default, \"Display log file\" displays the log data of the most recent n calendar days ( n=DEFAULT_DAYS_TO_PLOT , configurable in BSB_LAN_config.h ). Subsequently, controls on the web page can be used to select a different range, depending on the data contained in the log file Mouseover, click and mouse wheel actions within the graphical display provide various control options: - Better legibility for value numbers with plot lines close to each other (mouseover on plot) - Users can interactively highlight plot lines for improved overview (mouseover on legend entries) - Users can interactively disable plot lines for improved overview and vertical scaling (click on legend entries) - Zoom (mousewheel/pinch on plot) and pan capability (drag zoomed-in plot)","title":"BSB-LAN's functions"},{"location":"using.html#using-bsb-lan","text":"","title":"Using BSB-LAN"},{"location":"using.html#controlling-the-heating-system-via-the-web-interface","text":"As a first step \u2013 or if you just want to turn your heating system on or off \u2013 you can simply open the BSB-LAN web-interface and go to the Settings menu. This will display a list of categories from your heating controller. You can click on each category and will get a list of corresponding parameters. If you see a Set button, it means the parameter can be changed, and clicking on the button will send the new value to the heater. If there is no Set button, the parameter is read-only and there is no way to change the parameter.","title":"Controlling the heating system via the web-interface"},{"location":"using.html#using-bsb-lans-url-commands","text":"Most of BSB-LAN's functionality can be controlled using URL commands. These are useful or even necessary when connecting BSB-LAN to a home automation system , but also provide access to functions not directly accessible via the web-interface. URL commands are called right after BSB-LAN's hostname and an (optional) passkey. So to get a list of categories, one would have to open the URL http://bsb-lan.local/K (or http://bsb-lan.local/1234/K if the passkey 1234 is in use).","title":"Using BSB-LAN's URL commands"},{"location":"using.html#querying-and-setting-parameters","text":"table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 80%; } URL command Functionality / Query setting of parameter /! Query setting of parameter from controller at destination address /// Query settings of parameters , and . Parameters can include ! to address different controllers. /- Query settings of parameters to /!- Query settings of parameters to from controller at destination address /K List all parameter categories from controller at default destination address /K! List all parameter categories from controller at destination address /K Query all parameters of category from controller at default destination address /K! Query all parameters of category from controller at destination address /S= Set parameter from controller at default destination address to value . To set a parameter to --- (off/deactivated), just send an empty value: S= /S!= Set parameter from controller at destination address to value . /I= Send value y as INF telegram to parameter . So far only required with setting room temperature (parameters 10000 ff.).","title":"Querying and setting parameters"},{"location":"using.html#configuration","text":"URL command Functionality /C Configuration /CO Dump BSB-LAN's configuration /P,, Temporarily set bus type to , own address to and target address to . /V Enable ( 1 ) or disable ( 0 ) verbose output mode. Should remain enabled unless specifically instructed.","title":"Configuration"},{"location":"using.html#logging","text":"URL command Functionality /DG Graphical display (graph plot) of an active log file /D or /DD Dumps log file datalog.txt from storage. Contains the logged parameters and values when logging to SD card is active. /D Dumps the most recent calender days of the log file /D, Dumps data from log file between and . and have to be set in the format yyyy-mm-dd (e.g. /D2024-04-01,2024-04-30 ) /D0 Reset both log files datalog.txt and journal.txt and create new headers. Should be executed before first logging. /DK Purges data older than days from the log file /LN Forces logging irrespective of current interval and restarts the configured interval at this point of time /L=,, Set logging interval to seconds and (optionally) reset logging parameters to , etc. until reboot /L=0,0 Deactivate logging to storage until reboot /LB= Log only broadcast telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /LU= Log only unknown bus telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /A=0 Disable 24h average calculation until reboot /A=,, Change 24h average value calculation to parameters , and until reboot /B0 Reset stats for accumulated burner-runtime and -cycles /DD0 Remove log file datalog.txt only /DJ Dumps log file journal.txt from storage /DJ0 Remove log file journal.txt only /LD Disable logging of telegrams to journal.txt until reboot /LE Enable logging of telegrams to journal.txt","title":"Logging"},{"location":"using.html#parameter-information","text":"URL command Functionality /E Displays parameter options of parameter . Only available for option-type parameters such as data types VT_ENUM , VT_CUSTOM_ENUM , VT_BITS and VT_CUSTOM_BITS . /R Query default setting of parameter ","title":"Parameter information"},{"location":"using.html#gpio-control","text":"URL command Functionality /G Displays the actual state of GPIO pin /G= Set GPIO pin to HIGH ( = 1 ) or LOW ( = 0 )","title":"GPIO control"},{"location":"using.html#json-interface","text":"URL command Functionality /JQ=,, Query parameters , and and return a JSON structure /JQ Query parameters based on a received JSON structure via HTTP POST /JK= Query all parameters of category /JS Set parameters based on a received JSON structure via HTTP /JR Query default value of parameter and return a JSON structure /JK=ALL Dump ranges for all available categories as JSON structure /JC=,, Dump possible values for parameters , and for option-type parameters. Same JSON structure as /JK= . /JB Backup of all writeable parameters in a JSON structure that can be used to write back using /JS /JL Creates a JSON structure of BSB-LAN's configuration settings` /JW Writes configuration settings based on a JSON structure created by /JL /JI Dump runtime information of BSB-LAN as JSON structure` /JV Return the version of BSB-LAN's JSON-API as a JSON structure","title":"JSON interface"},{"location":"using.html#misceallaneous","text":"URL command Functionality /M Send ( 1 ) or revoke ( 0 ) MQTT auto-discovery messages for all parameters from controller at default destination address. /N Reset and reboot microcontroller (takes approx. 15 seconds) /NE Erase EEPROM and reboot the microcontroller. All configuration settings will subsequently be read from configuration file until set and saved again in the web-interface to be written to EEPROM. /QD Dump parameter structure from heating system /W With a preceding /W the URL commands C , S and Q return data without HTML header and footer (e.g.: /WC or /WS= ).","title":"Misceallaneous"},{"location":"using.html#using-the-graphical-plot-functionality","text":"If logged data on storage (either SD card or internal flash) is available, the Display log file becomes clickable. By default, it will display the logged data in the browser. To access the logged data itself (in the file datalog.txt ), use the /D URL command mentioned above. By default, \"Display log file\" displays the log data of the most recent n calendar days ( n=DEFAULT_DAYS_TO_PLOT , configurable in BSB_LAN_config.h ). Subsequently, controls on the web page can be used to select a different range, depending on the data contained in the log file Mouseover, click and mouse wheel actions within the graphical display provide various control options: - Better legibility for value numbers with plot lines close to each other (mouseover on plot) - Users can interactively highlight plot lines for improved overview (mouseover on legend entries) - Users can interactively disable plot lines for improved overview and vertical scaling (click on legend entries) - Zoom (mousewheel/pinch on plot) and pan capability (drag zoomed-in plot)","title":"Using the graphical plot functionality"},{"location":"de/faq.html","text":"H\u00e4ufig gestellte Fragen (FAQ) Meine Heizung hat einen OpenTherm/eBus/L-Bus/R-Bus Anschluss, kann ich damit BSB-LAN benutzen? Nein, diese Regler sind nicht mit BSB-LAN kompatibel. Bitte auf keinen Fall versuchen, den Adapter mit diesen Systemen zu verbinden! Ich vermisse die Funktion XYZ BSB-LAN erm\u00f6glicht es, eigene Funktionen hinzuzuf\u00fcgen, daf\u00fcr gibt es die Dateien BSB_LAN_custom_global.h , BSB_LAN_custom_setup.h und BSB_LAN_custom.h . Bitte schau' Dir das Verzeichnis custom_functions im Repository an, um weitere Details und Beispiele zu bekommen. Wir freuen uns \u00fcber weitere Beitr\u00e4ge!","title":"FAQ"},{"location":"de/faq.html#haufig-gestellte-fragen-faq","text":"","title":"H\u00e4ufig gestellte Fragen (FAQ)"},{"location":"de/faq.html#meine-heizung-hat-einen-openthermebusl-busr-bus-anschluss-kann-ich-damit-bsb-lan-benutzen","text":"Nein, diese Regler sind nicht mit BSB-LAN kompatibel. Bitte auf keinen Fall versuchen, den Adapter mit diesen Systemen zu verbinden!","title":"Meine Heizung hat einen OpenTherm/eBus/L-Bus/R-Bus Anschluss, kann ich damit BSB-LAN benutzen?"},{"location":"de/faq.html#ich-vermisse-die-funktion-xyz","text":"BSB-LAN erm\u00f6glicht es, eigene Funktionen hinzuzuf\u00fcgen, daf\u00fcr gibt es die Dateien BSB_LAN_custom_global.h , BSB_LAN_custom_setup.h und BSB_LAN_custom.h . Bitte schau' Dir das Verzeichnis custom_functions im Repository an, um weitere Details und Beispiele zu bekommen. Wir freuen uns \u00fcber weitere Beitr\u00e4ge!","title":"Ich vermisse die Funktion XYZ"},{"location":"de/index.html","text":"What is BSB-LAN? BSB-LAN is a software /hardware solution for accessing the \u201cBoiler-System-Bus\u201d (BSB) , the \u201cLocal-Process-Bus (LPB)\u201d and the \u201cPunkt-zu-Punkt-Schnittstelle\u201d (PPS) . The BSB-LAN hardware is available for various ESP32 -based microcontrollers (ESP32 NodeMCU, Olimex EVB, Olimex POE-ISO) as well as for an Arduino Due with Ethernet shield. It allows accessing the heating systems from Atlantic, Br\u00f6tje, Elco and many other manufacturers via LAN/WLAN, provided that they use one of the Siemens controllers listed below. BSB-LAN makes it possible to monitor and control the heating and log any given values. This project supports almost all parameters available on the heating systems and can be a more comprehensive and cost-effective alternative to the OZW 672, OCI 700 or Remocon Net B. Optional integration into existing smart home systems such as Home Assistant , ioBroker , openHAB , Node-RED , Homebridge , Jeedom , SmartHomeNG , Volksz\u00e4hler , FHEM , HomeMatic , Loxone, IP-Symcon or EDOMI is possible via MQTT , JSON or HTTP access . The adapter can also be used as a standalone logger without LAN or Internet connection when using a microSD card. Temperature and humidity sensors can also be connected and their data can also be logged and analyzed. The option of integrating your own code into the BSB-LAN software also offers a wide range of expansion options. Where and how do I begin? You are an experienced user? Head on to the quickstart instructions . Otherwise (or if you run into problems), please read on! Is my heating system supported by BSB-LAN? Please go to the list of supported heating systems . If you already know that your system is supported, find out more about the BSB-LAN adapter and where to get it. If you already have the adapter, you may want to know how to install the adapter . If you have installed the adapter, you will need to configure BSB-LAN . Once you have everything up and running, find out about how to use BSB-LAN or learn more about the ways to ingetrate BSB-LAN into home automation systems . Our wiki pages are continuously growing and provide background knowledge as well as more specialized topics on BSB-LAN and heating systems in general. If you run into troubles, have a look at the troubleshooting page . And before you ask anyone else any questions, have a look at our Frequently Asked Questions (FAQ) first!","title":"\u00dcberblick"},{"location":"de/bsb-lan_adapter.html","text":"The BSB-LAN adapter Adapter boards available - contact Frederik at bsb(\u00e4t)code-it.de (German or English) for more details. In order to connect to your heating system with a microcontroller, you need to have an adapter board that does the necessary logic-level conversion: The adapter is then plugged right onto the microcontroller, either underneath the pins of the ESP32-NodeMCU or onto the UEXT connector of the Olimex: The two different types of ESP32 adapters (Olimex and ESP32-NoceMCU) only vary in the location of their connectors, the other parts of the board are identical. The Arduino Due board contains an EEPROM chip because the Due does not come with on-board EEPROM. Therefore, you can re-use the Arduino Due board on an ESP32 microcontroller (if you connect the correct pins with wires), but you cannot use an adapter for the ESP32 on an Arduino Due. Suitable microcontrollers BSB-LAN can be installed on three different types of microcontrollers: ESP32-Olimex ESP32-NodeMCU (30 pin version only!) and Arduino Due. Olimex produces several kinds of boards: We recommend either the Olimex ESP32-EVB or the Olimex ESP32-POE-ISO . The simple POE version (without the \"ISO\") is not recommended because it does not allow to be connected to PoE Ethernet and USB at the same time. The Arduino Due requires an Ethernet Shield in order to access the local network. Each of the different controllers have their advantages and disadvantages: Functionality ESP32-Olimex ESP32-POE-ISO ESP32-NodeMCU Arduino Due Ethernet/LAN X X - X WiFi/WLAN X X X - Over-the-air updateable X X X - Built-in micro-SD card X X - - Accessible GPIOs 2 (GPIO13/16) some some many","title":"Der BSB-LAN Adapter"},{"location":"de/bus_systems.html","text":"The BSB/LPB/PPS Bus Developed at the end of the last millenium based on the BatiBUS (more information can be found here and here ), many Siemens heating system controllers still use the same kind of physical bus to \"talk\" to room units as well as other heating devices. While a bus speed of a mere 4800 bits per second might sound anachronistic these days, it still provides for a stable and robust transmission protocol that is even today perfectly sufficient when it comes to transmitting short messages of a few dozen bytes over lines sometimes as long as one kilometer. The bus topology also allows you to connect BSB-LAN at any point: At the room unit, at the heating system or anywhere where the bus lines are available. You can even add the two wires for BSB-LAN in an already \"occupied\" slot, and it won't harm the other device (proper installation assumed). On top of the same physical layer, three bus systems, BSB, LPB and PPS, cater for different tasks, and while BSB and LPB should always be preferred if available, PPS nevertheless provides a set of parameters that is usually quite enough for the average user. BSB-LAN runs on any of these busses and swapping between them is just changing a few settings away. The Boiler System Bus (BSB) BSB is the most common bus system in Siemens controllers for the last 10-15 years. It is the successor of the PPS system with which it shares the same physical parameters, but is much more versatile: Instead of just a few dozen parameters, it can access hundreds of parameters and group them into various categories for easier navigation. It is a transaction-based protocol where most messages are being sent from one device to another and the recipient returning some kind of feedback, for example whether the task could be completed or whether it contained invalid data. While BSB is capable of addressing multiple devices on the bus, it is not used in systems with more than one heating device. The heating device always has the ID 0 , the display unit on the heating system has the ID 10 (or 0x0A in hexadecimal) and the standard room unit has the ID 6 . BSB-LAN has the ID 66 or 0x42 in hexadecimal. Room units that \"speak\" BSB are, for example, the QAA55 and the QAA75. The Local Process Bus (LPB) LPB was introduced more or less around the same time as PPS which it complemented in terms of communication with other heating devices: While PPS was used to communicate with the room unit, LPB was used to send commands from one main heating device to one or more auxilliary heating devices, for example in a cascade setup. At that time, most of the information transmitted via LPB was related to the internals of the heating system (such as sensor data or internal setpoint temperatures), whereas the parameters relevant for the user (such as comfort temperature setpoint etc.) were only available via PPS. Nowadays, heating devices that offer both LPB and BSB have the same kind of parameter data available on both bus systems. LPB uses a specific addressing scheme with segments and devices. Each segment from 0 to 15 can contain up to 15 devices (from 1 to 15). When writing these addresses, segment and device are separated by a colon: 00:01 or 04:03 . To convert the segment-based address into the destination ID required for BSB-LAN, the formula is as this: SEGMENT multiplied by 16 plus DEVICE minus one. Example: Device 3 in segment 4 equals to 4 * 16 + 3 - 1 = 66. The main heating unit is by definition 00:01 , so this equals to a destination ID 0. To learn more about the LPB system and how it should be deployed, you may refer to these two documents from the end of the 1990s, one covers the basic system data that covers the conceptualization of an LPB network, and the other one deals with the basic engineering data and provides details about cable lengths and diameters etc. Except for some Weishaut heaters, room units are not connected to the heating system via LPB. Newer models use BSB for this task while older models use either PPS or in some cases also OpenTherm. The Point-to-Point Interface (PPS) The Point-to-Point Interface (PPS deriving from the German term \"Punkt-zu-Punkt Schnittstelle\") is compatible to the other systems on a physical layer, but not in the way message telegrams are being exchanged. While BSB and LPB talk to each other by sending telegrams and acknowledging their receipt respectively, PPS is dominated by the heating unit. The heating unit constantly sends its data to the room unit and tells the room unit when and what kind of information it should send. It is a very timing sensitive protocol, therefore long other tasks that BSB-LAN is told to do will lead to a temporary interruption and possible error message on the heating system. However, after a short while, this should be clearing by itself when the two components \"talk\" to each other again. Other than BSB and LPB, changes made in BSB-LAN do not take immediate effect. Changing values, for example like the room temperature comfort setpoint, will be stored internally in BSB-LAN first to be sent out to the heating system once it tells the room unit (i.e. BSB-LAN) to do so. This may take up to a minute or so, so one should not be confused that settings do not show up on the heater immediately, as is the case with BSB and LPB. With PPS, BSB-LAN can run in two modes: passive and as a room unit. In passive mode, BSB-LAN can just listen to the data exchanged between the room unit and the heating device. It is not possible to send one's own data, for the simple fact that it would be overwritten in no time by the same type of data coming from the room unit. In order to send parameter data to the heating system, BSB-LAN mus run in \"room unit\" mode, and this means that any room unit will have to be removed from the heating system. In this case, it is especially important to regularly send a room temperature value to BSB-LAN which in turn will send this value to the heating device. Only if the heater runs solely on outside temperature then this value can be ignored. BSB-LAN stores some values in its non-volatile EEPROM, but some values need to be set anew after a reboot, such as the room temperature setpoint. This is to prevent to store a parameter value that has become invalid but is still sent as it is stored in the EEPROM. Room units commonly used with heating systems that support PPS are the QAA50 and the QAA70.","title":"Der BSB/LPB/PPS Bus"},{"location":"de/configure.html","text":"Configuration There are two ways to configure BSB-LAN: Through the configuration file BSB_LAN_config.h Through the web-interface by calling http://bsb-lan.local/C (or the corresponding IP address) For the initial configuration, some settings have to be configured in the configuration file (such as language and network settings). Any further changes can be done also in the web-interface. It may, however, be useful to do the configuration (also) in the configuration file in case one needs to change the microcontroller. Almost all settings exist also in the web-interface and vice versa. On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. So even without any further configuration, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and proceed with the configuration via this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Configuration through `BSB_LAN_config.h`` The configuration file consists of variables that are used in other parts of BSB-LAN. It is therefore important to only change the contents of the variables (i.e. the settings) and not the type of the variables. So if there is for example the setting byte ip_addr[4] = {192,168,178,88}; you must not alter the byte ip_addr[4] = part, only the contents, in this case the comma-separated IP address. Configuration through the web-interface Configuring BSB-LAN through the web-interface is pretty straightforward, as you don't have to deal with variable names but clear descriptions. Initially, only a selected number of configuration options are displayed in the webinterface. To have access to all of them, you have to set the \"extended configuration\" option to \"on\". Overview of configuration options table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 20%; } table th:nth-of-type(3) { width: 40%; } table th:nth-of-type(4) { width: 20%; } General Settings Web-Interface Configuration File Functionality Possible settings - #define LANG Set language DE , EN , FR and other ISO country codes Display extended configuration - Show all configuration options On Off Read config from EEPROM UseEEPROM Read configuration from EEPROM or file On ( 1 ) Off ( 0 ) Write access (level) - If DEFAULT_FLAG is set to FL_SW_CTL_RONLY , you can set the level of write access here. Off (read-only) On (Standard) On (Complete) Check for updates enable_version_check Query BSB-LAN server for new available version On ( true ) OTA Update enable_ota_update Enable over-the-air (OTA) update On ( true ) Energy saving esp32_save_energy Reduces speed, saves energy. Do not enable when using WiFi. On ( true ) Off ( false ) Webserver file system webserver Enables serving files from SD card On ( true ) Off ( false ) - #define DEFAULT_FLAG Set read/write access to heating system. FL_RONLY sets all parameters to read-only. FL_SW_CTL_RONLY allows setting read/write access via web-interface configuration setting. 0 makes all parameters that could be written writeable. Do not use this option unless instructed otherwise! FL_RONLY FL_SW_CTL_RONLY 0 Bus settings Web-Interface Configuration File Functionality Possible settings Bus type bus_type Bus type (BSB/LPB/PPS) BSB ( 0 ) LPB ( 1 ) PPS ( 2 ) PPS: mode pps_write BSB-LAN can act as a PPS room unit (only if no real room unit is connected) or just listen passively. passive ( 0 ) as room unit ( 1 ) PPS: QAA model QAA_TYPE Room unit that should be simulated for PPS bus QAA70 ( 0x53 ), QAA50 ( 0x52 ), QAA95 ( 0x37 ), QAW10 ( 0x4D ), QAW20 ( 0x4E ), MCBA/REA70/DC225 ( 0x58 ), QAA10 ( 0x5A ), QAA20 ( 0x5B ), QAA12/13 ( 0x5D ), BMU ( 0x66 ), RVD130 ( 0x43 ) Own address own_address Own bus address (default 66 should not be changed) 66 ( 66 ) Destination address dest_address Destination bus address. For BSB always 0 . For LPB 0 if destination device is in segment 1, device address 0. To convert from LPB segment and device address notation to destination address, multiply segment by 16, add the device address and subtract one. For example, to address a device in segment 4 with device address 3, the destination address is (4 * 16) + 3 - 1 = 66 . For PPS not relevant. 0 ( 0 ) Device family fixed_device_family Set the device family that BSB-LAN should emulate. Leave at 0 for auto-detection. 0 ( 0 ) Device variant fixed_device_variant Set the device variant that BSB-LAN should emulate. Leave at 0 for auto-detection 0 ( 0 ) RX pin number TX pin number bus_pins Define the RX/TX pins to communicate with the BSB-LAN adapter. Leave at 0 for auto-detection. 0 and 0 ( 0, 0 ) Network settings Web-Interface Configuration File Functionality Possible settings Network device network_type Choose between WLAN and LAN to connect BSB-LAN to the network. LAN ( 0 ) WLAN ( 1 ) WLAN SSID wifi_ssid Set the WLAN network name when using WLAN. Your_WLAN_name ( Your_WLAN_name ) WLAN password wifi_pass Set the WLAN password when using WLAN. YourWLANpassword ( YourWLANpassword ) DHCP usage use_dhcp Set whether or not to use DHCP to get an IP address from the router. On ( true ) Off ( false ) IP address (fixed) ip_addr When not using DHCP, you can set a fixed IP address here. Otherwise leave at 0.0.0.0 . In the web-interface, you may use dot notation. In the configuration file, you have to use comma as a separator. 192.168.178.88 ( 192,168,178,88 ) Subnet subnet_addr Subnet when using fixed IP address. Same notation as with IP address. 255.255.255.0 ( 255,255,255,0 ) Gateway gateway_addr Gateway address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) DNS Server dns_addr DNS server address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) TCP Port HTTPPort HTTP port number to access the web-interface. Defaults to 80 . 80 ( 80 ) MAC address mac Set a fixed MAC address. Only relevant on Arduino. 00:80:41:19:69:90 ( 0x00, 0x80, 0x41, 0x19, 0x69, 0x90 ) mDNS Hostname mDNS_hostname Hostname for mDNS discovery BSB-LAN ( BSB-LAN ) HTTP authentification USER_PASS If not empty, this setting contains the username and password for HTTP authentification, separated by a colon. Username:Password ( Username:Password ) URL Passkey PASSKEY Passkey adds a user-defined sequence that needs to be added to the URL after the hostname. For example, a passkey of 1234 requires every URL to be written as http://bsb-lan.local/1234/ instead of just http://bsb-lan.local/1234/ . Leave empty for no passkey. 1234 ( 1234 ) Trusted IP address trusted_ip_addr Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.89 ( 192,168,178,89 ) Trusted IP address trusted_ip_addr2 Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.90 ( 192,168,178,90 ) - bssid Enter a specific BSSID address here to ensure connecting to a specific access point. Set to all zeros under normal circumstances. ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ) - ntp_server Set an NTP server here to acquire exact time for BSB-LAN. Set to empty string if you don't want to use NTP. ESP32-based microcontrollers only. ( pool.ntp.org ) - local_timezone Timezone to use for NTP. See here for a complete list. ( CET-1CEST,M3.5.0,M10.5.0/3 ) Logging Web-Interface Configuration File Functionality Possible settings Storage device LogDestination Select the destination for logging activities. SD card is highly recommended, as using the internal flash will wear out the internal flash eventually. SD card ( SDCARD ) Internal Flash Storage ( FLASH ) Logging mode LoggingMode Set the logging destinations/activities. Multiple selections are possible, for the configuration file, the values have to be added, for example, to send to MQTT broker and to UDP, set the value to 4 + 8 = 12 Write to SD card ( 1 ) Calculate 24h averages ( 2 ) Send to MQTT broker ( 4 ) Send to UDP ( 8 ) Logging Interval log_interval Interval for logging activities (in seconds) 60 ( 60 ) Log Parameters log_parameters List of logging parameters. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) Log bus telegrams logTelegram Log raw bus telegrams, such as broadcast messages or unknown telegrams Off ( LOGTELEGRAM_OFF ) Log all bus telegrams ( LOGTELEGRAM_ON ) Log unknown bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY ) Log broadcast bus telegrams only ( LOGTELEGRAM_BROADCAST_ONLY ) Log unknown broadcast bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY + LOGTELEGRAM_BROADCAST_ONLY ) 24h averages parameters avg_parameters List of parameters for generating 24 hour averages. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) - #define DEFAULT_DAYS_TO_PLOT Define default number of days to plot logging data ( 3 ) MQTT Web-Interface Configuration File Functionality Possible settings MQTT Broker server mqtt_broker_addr Hostname/IP of the MQTT broker my-mqtt-broker.local ( my-mqtt-broker.local ) MQTT Username MQTTUsername Optional username for MQTT broker MyMQTTusername ( MyMQTTusername ) MQTT Password MQTTPassword Optional password for MQTT broker MyMQTTpassword ( MyMQTTpassword ) MQTT Device ID MQTTDeviceID Device identifier for MQTT BSB-LAN ( BSB-LAN ) MQTT Topic prefix MQTTTopicPrefix Topic prefix for MQTT BSB-LAN ( BSB-LAN ) MQTT Usage mqtt_mode Set the format for MQTT messages Plain text ( 1 ) - Send parameter number and value in plain text format JSON ( 2 ) - Send messages in JSON format (parameter number and value only) Rich JSON ( 3 ) - Send parameter number/name/value/unit/error in JSON format. Sensors and external devices Web-Interface Configuration File Functionality Possible settings OneWire Pins One_Wire_Pin Set the OneWire pin (use -1 in configuration file to disable) 10 ( 10 ) DHT Pins DHT_Pins Set the DHT22 sensor pins (use -1 in configuration file to disable) 11, 12, 13 ( 11, 12, 13, -1, -1, -1, -1, -1, -1, -1 ) BME280 sensors BME_Sensors Set number of BME280 sensors on the I2C bus. You need to have access to I2C pins. Fixed addresses 0x76 and 0x77 will be used. Use 0 to disable. 1 ( 1 ) MAX! Usage enable_max_cul Enable or disable connection to CUNO/CUNX/modified MAX!Cube On ( true ) Off ( false ) IP address cube max_cul_ip_addr IP address of the CUNO/CUNX/MAX!Cube 192.168.178.21 ( 192,168,178,21 ) MAX! Devices max_device_list IDs of MAX! devices to be polled KEQ0502326, KEQ0505080, KHA0002948 ( \"KEQ0502326\", \"KEQ0505080\", \"KHA0002948\" ) IPWE Usage enable_ipwe Enable IPWE extension ( /ipwe.cgi ) On ( true ) Off ( false ) IPWE Parameters ipwe_parameters List of parameters for display in IPWE extension. See addressing instructions below. 8700, 8743!2, 8314!2 ({8700, -1}, {8743, 2}, {8314, 2}) - #define CUSTOM_COMMANDS Enable custom functions Debugging Web-Interface Configuration File Functionality Possible settings Debugging Usage debug_mode Select debug output Off ( 0 ) Serial ( 1 ) Telnet ( 2 ) Verbosity mode verbose Enable or disable verbose debug messages (do not turn off unless advised) On ( 1 ) Off ( 0 ) Monitor mode monitor Enable or disable monitor mode (do not turn on unless advised) On ( 1 ) Off ( 0 ) Display unknown parameters show_unknown Try and display also parameters not supported by destination device On ( true ) Off ( false ) Adressing different heating controllers In order to address parameters from devices other than the default destination device in the web-interface, you need to add an exclamation mark followed by the device address (see above for converting segment/device notation to device address). For example, parameter 8700 from device address 1 would be written as 8700!1 instead of just 8700 . For the configuration file, parameters are listed in the form {parameter number, destination address} . Parameter 8700 from device address 1 would thus be written as {8700, 1} . To address the default destination, you can do so by using -1 .","title":"Konfiguration"},{"location":"de/homeautomation.html","text":"Connecting BSB-LAN to home automation systems BSB-LAN provides four ways to connect to home automation systems: Exchanging data via MQTT (recommended) Exchanging data via JSON Using supported modules for specific home automation systems Exchanging data via URL commands and screen scraping Exchanging data via MQTT This is the recommended way to connect BSB-LAN to home automation systems because it allows seamless exchange of data. As a prerequisite, a MQTT broker (such as mosquitto is needed, either running locally or via making use of a public service. Some home automation systems such as Home Assistant offer the installation of mosquitto as part of their software. In BSB-LAN, you need to make or enable at least the following configurations: Set Logging mode (additionally) to Send to MQTT Broker . Set Log Interval to the time (in seconds) you want the log parameters to be published. Select up to 20 Log Parameters you want to be sent to your home automation system. Set MQTT Usage to plain text Set MQTT Broker Server to the hostname of your MQTT broker (such as the mosquitto server) If your home automation system supports MQTT auto-discovery (as is the case with Home Assistant), you can call URL command /M1 and BSB-LAN will send auto-discovery messages for all available parameters to the MQTT broker and thus to the home automation system. You may have to clean up afterwards or send a removal message for all these parameters using URL command /M0 . Every time a query is made in BSB-LAN or a parameter changes its value through the room unit, the new value will be sent to the MQTT broker, so even changes made outside of BSB-LAN should be updated into the home automation system, which is why the MQTT approach is the recommended way to connect to a home automation system. Examples for querying or setting parameters via MQTT would look like this (using mosquitto): Query the outside temperature (parameter 8700): mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"8700\" -t BSB-LAN -d Set the comfort temperature setpoint (parameter 710) to 20 degrees: mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"S700=20\" -t BSB-LAN -d Exchanging data via JSON BSB-LAN allows to query and set parameters via JSON structures and also provides numerous information about the parameters and category structures this way. The JSON API is accessd via URL commands and the openapi.yaml file provided in this repository can be used with Swagger to explore its possibilities and functionalitites. Using supported modules for specific home automation systems For some systems, specific modules exist that can be used to access BSB-LAN seamlessly: Home Assistant While the official plugin no longer works, the MQTT approach above works well with Home Assistant. For the details of the implementation, you may also refer to these tutorials: GitHub user @ryann72 wrote detailed instructions for BSB-LAN and HomeAssistant/Mosquitto . It is also available in French . YouTuber @StoneTime has created two videos (in German) where he shows the installation of BSB-LAN as well as setting it up in Home Assistant . Dankesch\u00f6n! YouTuber @ArminasTV has created two videos (in French) where he shows the installation of BSB-LAN as well as how to set it up with Home Assistant and MQTT . Merci beacoup! Homebridge BSB-LAN user Michael has written a plugin for Homebridge . Thank you! ioBroker GitHub user @hacki11 has developed an adapter for ioBroker . Thank you! Jeedom GitHub user @bernard-dandrea has written a plugin for Jeedom (with a French description). Thank you! Node-RED GitHub user @konne wrote a module for Node-RED . Thank you! FHEM FHEM forum user Luposoft has written a compact explanation of the configuration for using FHEM via MQTT. Thank you! openHAB Since version 2.5.4, there exists a binding that is officially part of OpenHAB. Homematic FHEM forum user PaulM has written a few scripts to showcase the integration of BSB-LAN into Homematic. Thank you! SmartHomeNG GitHub user @thensty wrote a plugin for SmartHomeNG . Thank you! Volkszaehler GitHub user @lapixo has contributed a script for the Volkszaehler project . Thank you! Bash script GitHub user @khfm has written Bash scripts to query data and display it using gnuplot. Thank you! Exchanging data via URL commands and screen scraping For simpler solutions, using the URL commands to query and set parameters can be used to control BSB-LAN from other systems. Screen scraping is possible since the project tries not to break certain ways of displaying data, so that parsing with regular expressions remains feasible. Nevertheless, for most scenarios one of the other options will probably be preferrable.","title":"Mit dem Smart Home verbinden"},{"location":"de/install.html","text":"Installation Installing BSB-LAN requires three steps: Installing the Arduino IDE in order to flash the BSB-LAN software onto the microcontroller Assembling the hardware parts Connecting BSB-LAN to the heating system Installing the Arduino IDE and flashing BSB-LAN Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. You may now proceed to configure BSB-LAN. When you are done configuring, go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Subsequent updates on ESP32-based microcontrollers \"over the air\" (OTA) If you are running BSB-LAN on an ESP32-based microcontroller and have enabled Over-the-Air Updates in the settings , you can perform future updates of BSB-LAN using your browser. To do that, instead of using Sketch/Upload , you need to select Sketch/Export Compiled Binary . This will create a build folder in your BSB-LAN folder in which you will find among others the file BSB_LAN.ino.bin . Now open http://bsb-lan.local:8080 and select and upload that file. Do not interrupt the upload process. You may try to access BSB-LAN from a different browser window to see if the process is completed. Please take note that this only applies to ESP32-based microcontrollers. Arduinos do not support this functionality. Assembling the BSB-LAN adapter You can either get a fully assembled adapter from Frederik (bsb(\u00e4t)code-it.de) or build one on your own (see the folder schematics for the schematics). Once you have the BSB-LAN adapter ready, you just need to plug it into the microcontroller. If you are using an Olimex microcontroller, double-check that the adapter really sits in the center of the connector, because it still fits even if it is moved by one pin row to the left or right. Connecting BSB-LAN to the heating system Once the microcontroller and the BSB-LAN adapter are ready, perform the following steps to connect BSB-LAN to the heating system: Unplug the microcontroller from your computer and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Have a look at the list of supported heating systems to get an idea where the pins are located. Do all this at your own risk! Especially take care to prevent electrostatic discharge (ESD) which can destroy both BSB-LAN and the heating controller! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. If there is no empty connector, there is no problem adding the wires for BSB-LAN to an already \"used\" connector, provided the wires are inserted carefully. Now you need to power on the microcontroller. Take note that the heating system does not power the microcontroller, even if the BSB-LAN adapter's LED turns on when you connect it to the heating system. You need to supply power to the microcontroller via its USB port (or via PoE on the Olimex POE-ISO). Make sure to use a stable power supply with at least 2 amperes. Once the microcontroller is powered on, turn on the heating system. The red LED of the BSB-LAN adapter should alight. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . Otherwise, you can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor and set the serial monitor speed to 115200. Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Generating the device-specific parameter list Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters. Once you have received the parameter list (or taken the one from version 2.2.x), you have to replace the existing BSB_LAN_custom_defs.h file with the one sent to you, compile it and flash it again. Now you are ready to access all parameters.","title":"Zusammenbauen"},{"location":"de/quickstart.html","text":"Quickstart instructions These quickstart instructions are for users who are familiar with installing and configuring software on their computer. If you need more detailed instructions, please head to the install instructions ! Make sure that your heating system is compatible with BSB-LAN! Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. Click on the tab with the filename BSB_LAN_config.h and configure at least the following: Search for #define LANG DE : Change DE to EN for English, FR for French etc. Search for uint8_t network_type : Set this to LAN if you are using Ethernet/LAN connection. Set this to WLAN if you are using WiFi/WLAN. If you are not using DHCP, configure the following options according to your network (make sure to use a comma, not a dot for IP addresses!): byte ip_addr[4] = {192,168,178,88}; byte gateway_addr[4] = {192,168,178,1}; byte dns_addr[4] = {192,168,178,1}; byte subnet_addr[4] = {255,255,255,0}; char wifi_ssid[32] = \"Your_Wifi_network_name\"; char wifi_pass[32] = \"Your_WiFi_network_password\"; Now go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Unplug the microcontroller and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Do all this at your own risk! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. Power on the microcontroller via the USB port or via PoE (Olimex POE-ISO only). Then power on the heating system. The red LED of the BSB-LAN adapter should turn on. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . You can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor . Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Done :-) It's not working! Please make sure you check every entry in the Troubleshooting-Section first before getting in touch with us! Why do I only see so few parameters? Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters.","title":"Schnellstart"},{"location":"de/supported_heating_systems.html","text":"Supported heating systems BSB-LAN supports heating systems that communicate using either the BSB (Boiler System Bus) , the LPB (Local Process Bus) or the PPS (Punkt-zu-Punkt-Schnittstelle) . These controllers are usually manufactured by Siemens, older controllers might still bear the company name \"Landis & Stafea\" or \"Landis & Gyr\". We have compiled a list of working models from various heating system manufacturers who have been confirmed working with BSB-LAN, although there is no 100% guarantee that the manufacturers keep the model name but change the controller to a different system. So always make sure to double-check that the right connectors are available. Here are a few examples from heating controllers and the connectors that are used to connect to BSB-LAN. Some connectors have three pins, some have two pins. If there are three pins, make sure you choose the correct two (CL+ and CL-) as the third von (G+) is to provide background lighting for the room unit. It won't harm BSB-LAN, but it might be misleading because BSB-LAN's LED will be on even though it's not connected to the right pin. Controller Image Remarks LMS14 LMS15 BSB connection: + = Left - = Center LMS14 LMS15 BSB connection: CL+/CL- LMU54 LMU64 LPB connection: via additional OCI420 plugin LMU74 LMU75 BSB connection: + = Top - = Center LPB connection: via additional OCI420 plugin RVA53 PPS connection: A6/MD RVA63 LPB connection: MB/DB PPS connection: A6/MD RVP54 PPS connection: A6/M RVS21 BSB connection via connector X86 + = rightmost pin - = second pin from right RVS21 with AVS55 AVS55 extension module, sitting on top of RVS21. BSB connection via connector X86: + = rightmost pin - = second pin from right RVS41 BSB connection: CL+/CL- LPB connection: MB/DB RVS43 LOGON B BSB connection: CL+/CL- LPB connection: MB/DB RVS46 ISR-ZR1 BSB connection: CL+/CL- LPB connection: MB/DB RVS46 BSB connection: CL+/CL- LPB connection: MB/DB RVS51 BSB connection: CL+/CL- LPB connection: MB/DB RVS61 BSB connection: CL+/CL- LPB connection: MB/DB RVS63 BSB connection: CL+/CL- LPB connection: MB/DB List of working controller models There are a many more controllers that are likely to work with BSB-LAN. Look out for these Siemens controller models in your heating system: AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"Unterst\u00fctzte Heizungssysteme"},{"location":"de/troubleshooting.html","text":"Troubleshooting BSB-LAN tries to make accessing your heating system as easy as possible, but there are always things that can go wrong. If you still have a problem after reading this document as well as the FAQ , please open up a bug report on the project's GitHub page and make sure that you provide us with all the necessary log files and further required details, especially from the Serial Monitor (or SerMo in short). Using the Serial Monitor Access the Serial Monitor by going to Tools/Serial Monitor in the Arduino IDE. Set the transmission speed to 115200 at the top right corner of the serial monitor window. Make sure you copy the messages right from the moment your microcontroller boots (indicated by the READY message) until the moment you encounter the problem. Please do not send screenshots, only plain text files. The Serial Monitor in the Arduino IDE currently has a bug that allows you to only copy those parts of the Serial Monitor messages that you can see on the screen. Although this means that copying larger portions of log messages is tedious, you still have to provide the complete log in order to get support. Increasing the size of the Serial Monitor window helps a little. Compiling fails: \"Sketch too big\" Select the \"Minimal SPIFFS (Large APPS with OTA)\" partition scheme in the Arduino IDE under Tools/Partition Scheme . If you are using over-the-air updates, you have to flash the software once via USB after changing the partition scheme before OTA updates will work again. No access to web-interface anymore If you have changed the settings in such a way that you cannot access the web-interface anymore, there are two ways to restore the system: If you can flash the device: Configure BSB_LAN_config.h with correct, working settings. Set UseEEPROM to 0 . Flash BSB-LAN onto the microcontroller. You can now access BSB-LAN. Go to \"Settings\" and save the settings. This will store the working settings to the EEPROM. Now edit BSB_LAN_config.h again (!) and set UseEEPROM to 1 and flash BSB-LAN again to the microcontroller. Only now will BSB-LAN read and use the settings from the EEPROM, so you can make further changes in the web-interface. If you cannot flash the device: If you cannot flash the device on site, you can reset BSB-LAN to the last BSB_LAN_config.h setting by connecting two pins before and during booting the microcontroller : ESP32-Olimex: Connect pins 34 and 3V3. ESP32-NodeMCU: Connect pins 21 and 3V3. Arduino Due: Connect pins 31 and 33. If the pins were successfully connected, the built-in LED of the microcontroller will flash slowly for four seconds. Afterwards open the configuration in the web-interface, check all settings in the configuration and save them. This will store the working settings to the EEPROM. Temporary access point on an ESP32-based microcontroller On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. In this casee, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and see if you can fix the configuration this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Category list suddenly so small BSB-LAN needs to detect the heating system's controller to determine the categories to display. If BSB-LAN is not connected to the controller or the detection otherwise fails, only a few universal categories are displayed. Cannot read any parameters / device family is 0 Wrong bus type (BSB instead of LPB or vice versa). If the red LED of the adapter is not on (and ideally slightly flickering), there is a problem with the wiring between the adapter and the heating system. The red LED will come one once the adapter is connected correctly, even if the BSB-LAN adapter isn't even connected to the microcontroller! No data even though the adapter's red LED is on Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line. With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work. Make sure the RX/TX pins are set/detected correctly. No or unreliable network connection Try powering the microcontroller via USB from a laptop. We have had many cases where power supplies were unreliable despite having sufficient ratings. Look at the Serial Monitor log to check if the microcontroller could acquire an IP address. If not, then your network settings or physical connection may be faulty. No connection to hidden WiFi network possible Yes, that is a known restriction. The only way to do that is to set the BSSID specifically in BSB_LAN_config.h . Room temperature (or any other parameter) cannot be set Check BSB-LAN's settings and make sure that write access is enabled and set to standard or complete . Web-interface freezes when making new connection BSB-LAN is not a multi-tasking system. This means it can attend to one task at a time. So even if a URL command is aborted (by closing the browser window), BSB-LAN might not detect this and only start serving new requests once the previous one is finished. The Serial Monitor is not showing readable data Make sure the speed is set correctly to 115200 bps. Make sure the correct port is selected.","title":"Fehlersuche"},{"location":"de/using.html","text":"Using BSB-LAN Controlling the heating system via the web-interface As a first step \u2013 or if you just want to turn your heating system on or off \u2013 you can simply open the BSB-LAN web-interface and go to the Settings menu. This will display a list of categories from your heating controller. You can click on each category and will get a list of corresponding parameters. If you see a Set button, it means the parameter can be changed, and clicking on the button will send the new value to the heater. If there is no Set button, the parameter is read-only and there is no way to change the parameter. Using BSB-LAN's URL commands Most of BSB-LAN's functionality can be controlled using URL commands. These are useful or even necessary when connecting BSB-LAN to a home automation system , but also provide access to functions not directly accessible via the web-interface. URL commands are called right after BSB-LAN's hostname and an (optional) passkey. So to get a list of categories, one would have to open the URL http://bsb-lan.local/K (or http://bsb-lan.local/1234/K if the passkey 1234 is in use). Querying and setting parameters table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 80%; } URL command Functionality / Query setting of parameter /! Query setting of parameter from controller at destination address /// Query settings of parameters , and . Parameters can include ! to address different controllers. /- Query settings of parameters to /!- Query settings of parameters to from controller at destination address /K List all parameter categories from controller at default destination address /K! List all parameter categories from controller at destination address /K Query all parameters of category from controller at default destination address /K! Query all parameters of category from controller at destination address /S= Set parameter from controller at default destination address to value . To set a parameter to --- (off/deactivated), just send an empty value: S= /S!= Set parameter from controller at destination address to value . /I= Send value y as INF telegram to parameter . So far only required with setting room temperature (parameters 10000 ff.). Configuration URL command Functionality /C Configuration /CO Dump BSB-LAN's configuration /P,, Temporarily set bus type to , own address to and target address to . /V Enable ( 1 ) or disable ( 0 ) verbose output mode. Should remain enabled unless specifically instructed. Logging URL command Functionality /DG Graphical display (graph plot) of an active log file /D or /DD Dumps log file datalog.txt from storage. Contains the logged parameters and values when logging to SD card is active. /D Dumps the most recent calender days of the log file /D, Dumps data from log file between and . and have to be set in the format yyyy-mm-dd (e.g. /D2024-04-01,2024-04-30 ) /D0 Reset both log files datalog.txt and journal.txt and create new headers. Should be executed before first logging. /DK Purges data older than days from the log file /LN Forces logging irrespective of current interval and restarts the configured interval at this point of time /L=,, Set logging interval to seconds and (optionally) reset logging parameters to , etc. until reboot /L=0,0 Deactivate logging to storage until reboot /LB= Log only broadcast telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /LU= Log only unknown bus telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /A=0 Disable 24h average calculation until reboot /A=,, Change 24h average value calculation to parameters , and until reboot /B0 Reset stats for accumulated burner-runtime and -cycles /DD0 Remove log file datalog.txt only /DJ Dumps log file journal.txt from storage /DJ0 Remove log file journal.txt only /LD Disable logging of telegrams to journal.txt until reboot /LE Enable logging of telegrams to journal.txt Parameter information URL command Functionality /E Displays parameter options of parameter . Only available for option-type parameters such as data types VT_ENUM , VT_CUSTOM_ENUM , VT_BITS and VT_CUSTOM_BITS . /R Query default setting of parameter GPIO control URL command Functionality /G Displays the actual state of GPIO pin /G= Set GPIO pin to HIGH ( = 1 ) or LOW ( = 0 ) JSON interface URL command Functionality /JQ=,, Query parameters , and and return a JSON structure /JQ Query parameters based on a received JSON structure via HTTP POST /JK= Query all parameters of category /JS Set parameters based on a received JSON structure via HTTP /JR Query default value of parameter and return a JSON structure /JK=ALL Dump ranges for all available categories as JSON structure /JC=,, Dump possible values for parameters , and for option-type parameters. Same JSON structure as /JK= . /JB Backup of all writeable parameters in a JSON structure that can be used to write back using /JS /JL Creates a JSON structure of BSB-LAN's configuration settings` /JW Writes configuration settings based on a JSON structure created by /JL /JI Dump runtime information of BSB-LAN as JSON structure` /JV Return the version of BSB-LAN's JSON-API as a JSON structure Misceallaneous URL command Functionality /M Send ( 1 ) or revoke ( 0 ) MQTT auto-discovery messages for all parameters from controller at default destination address. /N Reset and reboot microcontroller (takes approx. 15 seconds) /NE Erase EEPROM and reboot the microcontroller. All configuration settings will subsequently be read from configuration file until set and saved again in the web-interface to be written to EEPROM. /QD Dump parameter structure from heating system /W With a preceding /W the URL commands C , S and Q return data without HTML header and footer (e.g.: /WC or /WS= ). Using the graphical plot functionality If logged data on storage (either SD card or internal flash) is available, the Display log file becomes clickable. By default, it will display the logged data in the browser. To access the logged data itself (in the file datalog.txt ), use the /D URL command mentioned above. By default, \"Display log file\" displays the log data of the most recent n calendar days ( n=DEFAULT_DAYS_TO_PLOT , configurable in BSB_LAN_config.h ). Subsequently, controls on the web page can be used to select a different range, depending on the data contained in the log file Mouseover, click and mouse wheel actions within the graphical display provide various control options: - Better legibility for value numbers with plot lines close to each other (mouseover on plot) - Users can interactively highlight plot lines for improved overview (mouseover on legend entries) - Users can interactively disable plot lines for improved overview and vertical scaling (click on legend entries) - Zoom (mousewheel/pinch on plot) and pan capability (drag zoomed-in plot)","title":"BSB-LAN Funktionen"},{"location":"fr/index.html","text":"What is BSB-LAN? BSB-LAN is a software /hardware solution for accessing the \u201cBoiler-System-Bus\u201d (BSB) , the \u201cLocal-Process-Bus (LPB)\u201d and the \u201cPunkt-zu-Punkt-Schnittstelle\u201d (PPS) . The BSB-LAN hardware is available for various ESP32 -based microcontrollers (ESP32 NodeMCU, Olimex EVB, Olimex POE-ISO) as well as for an Arduino Due with Ethernet shield. It allows accessing the heating systems from Atlantic, Br\u00f6tje, Elco and many other manufacturers via LAN/WLAN, provided that they use one of the Siemens controllers listed below. BSB-LAN makes it possible to monitor and control the heating and log any given values. This project supports almost all parameters available on the heating systems and can be a more comprehensive and cost-effective alternative to the OZW 672, OCI 700 or Remocon Net B. Optional integration into existing smart home systems such as Home Assistant , ioBroker , openHAB , Node-RED , Homebridge , Jeedom , SmartHomeNG , Volksz\u00e4hler , FHEM , HomeMatic , Loxone, IP-Symcon or EDOMI is possible via MQTT , JSON or HTTP access . The adapter can also be used as a standalone logger without LAN or Internet connection when using a microSD card. Temperature and humidity sensors can also be connected and their data can also be logged and analyzed. The option of integrating your own code into the BSB-LAN software also offers a wide range of expansion options. Where and how do I begin? You are an experienced user? Head on to the quickstart instructions . Otherwise (or if you run into problems), please read on! Is my heating system supported by BSB-LAN? Please go to the list of supported heating systems . If you already know that your system is supported, find out more about the BSB-LAN adapter and where to get it. If you already have the adapter, you may want to know how to install the adapter . If you have installed the adapter, you will need to configure BSB-LAN . Once you have everything up and running, find out about how to use BSB-LAN or learn more about the ways to ingetrate BSB-LAN into home automation systems . Our wiki pages are continuously growing and provide background knowledge as well as more specialized topics on BSB-LAN and heating systems in general. If you run into troubles, have a look at the troubleshooting page . And before you ask anyone else any questions, have a look at our Frequently Asked Questions (FAQ) first!","title":"Aper\u00e7u"},{"location":"fr/bsb-lan_adapter.html","text":"The BSB-LAN adapter Adapter boards available - contact Frederik at bsb(\u00e4t)code-it.de (German or English) for more details. In order to connect to your heating system with a microcontroller, you need to have an adapter board that does the necessary logic-level conversion: The adapter is then plugged right onto the microcontroller, either underneath the pins of the ESP32-NodeMCU or onto the UEXT connector of the Olimex: The two different types of ESP32 adapters (Olimex and ESP32-NoceMCU) only vary in the location of their connectors, the other parts of the board are identical. The Arduino Due board contains an EEPROM chip because the Due does not come with on-board EEPROM. Therefore, you can re-use the Arduino Due board on an ESP32 microcontroller (if you connect the correct pins with wires), but you cannot use an adapter for the ESP32 on an Arduino Due. Suitable microcontrollers BSB-LAN can be installed on three different types of microcontrollers: ESP32-Olimex ESP32-NodeMCU (30 pin version only!) and Arduino Due. Olimex produces several kinds of boards: We recommend either the Olimex ESP32-EVB or the Olimex ESP32-POE-ISO . The simple POE version (without the \"ISO\") is not recommended because it does not allow to be connected to PoE Ethernet and USB at the same time. The Arduino Due requires an Ethernet Shield in order to access the local network. Each of the different controllers have their advantages and disadvantages: Functionality ESP32-Olimex ESP32-POE-ISO ESP32-NodeMCU Arduino Due Ethernet/LAN X X - X WiFi/WLAN X X X - Over-the-air updateable X X X - Built-in micro-SD card X X - - Accessible GPIOs 2 (GPIO13/16) some some many","title":"L'adaptateur BSB-LAN"},{"location":"fr/bus_systems.html","text":"The BSB/LPB/PPS Bus Developed at the end of the last millenium based on the BatiBUS (more information can be found here and here ), many Siemens heating system controllers still use the same kind of physical bus to \"talk\" to room units as well as other heating devices. While a bus speed of a mere 4800 bits per second might sound anachronistic these days, it still provides for a stable and robust transmission protocol that is even today perfectly sufficient when it comes to transmitting short messages of a few dozen bytes over lines sometimes as long as one kilometer. The bus topology also allows you to connect BSB-LAN at any point: At the room unit, at the heating system or anywhere where the bus lines are available. You can even add the two wires for BSB-LAN in an already \"occupied\" slot, and it won't harm the other device (proper installation assumed). On top of the same physical layer, three bus systems, BSB, LPB and PPS, cater for different tasks, and while BSB and LPB should always be preferred if available, PPS nevertheless provides a set of parameters that is usually quite enough for the average user. BSB-LAN runs on any of these busses and swapping between them is just changing a few settings away. The Boiler System Bus (BSB) BSB is the most common bus system in Siemens controllers for the last 10-15 years. It is the successor of the PPS system with which it shares the same physical parameters, but is much more versatile: Instead of just a few dozen parameters, it can access hundreds of parameters and group them into various categories for easier navigation. It is a transaction-based protocol where most messages are being sent from one device to another and the recipient returning some kind of feedback, for example whether the task could be completed or whether it contained invalid data. While BSB is capable of addressing multiple devices on the bus, it is not used in systems with more than one heating device. The heating device always has the ID 0 , the display unit on the heating system has the ID 10 (or 0x0A in hexadecimal) and the standard room unit has the ID 6 . BSB-LAN has the ID 66 or 0x42 in hexadecimal. Room units that \"speak\" BSB are, for example, the QAA55 and the QAA75. The Local Process Bus (LPB) LPB was introduced more or less around the same time as PPS which it complemented in terms of communication with other heating devices: While PPS was used to communicate with the room unit, LPB was used to send commands from one main heating device to one or more auxilliary heating devices, for example in a cascade setup. At that time, most of the information transmitted via LPB was related to the internals of the heating system (such as sensor data or internal setpoint temperatures), whereas the parameters relevant for the user (such as comfort temperature setpoint etc.) were only available via PPS. Nowadays, heating devices that offer both LPB and BSB have the same kind of parameter data available on both bus systems. LPB uses a specific addressing scheme with segments and devices. Each segment from 0 to 15 can contain up to 15 devices (from 1 to 15). When writing these addresses, segment and device are separated by a colon: 00:01 or 04:03 . To convert the segment-based address into the destination ID required for BSB-LAN, the formula is as this: SEGMENT multiplied by 16 plus DEVICE minus one. Example: Device 3 in segment 4 equals to 4 * 16 + 3 - 1 = 66. The main heating unit is by definition 00:01 , so this equals to a destination ID 0. To learn more about the LPB system and how it should be deployed, you may refer to these two documents from the end of the 1990s, one covers the basic system data that covers the conceptualization of an LPB network, and the other one deals with the basic engineering data and provides details about cable lengths and diameters etc. Except for some Weishaut heaters, room units are not connected to the heating system via LPB. Newer models use BSB for this task while older models use either PPS or in some cases also OpenTherm. The Point-to-Point Interface (PPS) The Point-to-Point Interface (PPS deriving from the German term \"Punkt-zu-Punkt Schnittstelle\") is compatible to the other systems on a physical layer, but not in the way message telegrams are being exchanged. While BSB and LPB talk to each other by sending telegrams and acknowledging their receipt respectively, PPS is dominated by the heating unit. The heating unit constantly sends its data to the room unit and tells the room unit when and what kind of information it should send. It is a very timing sensitive protocol, therefore long other tasks that BSB-LAN is told to do will lead to a temporary interruption and possible error message on the heating system. However, after a short while, this should be clearing by itself when the two components \"talk\" to each other again. Other than BSB and LPB, changes made in BSB-LAN do not take immediate effect. Changing values, for example like the room temperature comfort setpoint, will be stored internally in BSB-LAN first to be sent out to the heating system once it tells the room unit (i.e. BSB-LAN) to do so. This may take up to a minute or so, so one should not be confused that settings do not show up on the heater immediately, as is the case with BSB and LPB. With PPS, BSB-LAN can run in two modes: passive and as a room unit. In passive mode, BSB-LAN can just listen to the data exchanged between the room unit and the heating device. It is not possible to send one's own data, for the simple fact that it would be overwritten in no time by the same type of data coming from the room unit. In order to send parameter data to the heating system, BSB-LAN mus run in \"room unit\" mode, and this means that any room unit will have to be removed from the heating system. In this case, it is especially important to regularly send a room temperature value to BSB-LAN which in turn will send this value to the heating device. Only if the heater runs solely on outside temperature then this value can be ignored. BSB-LAN stores some values in its non-volatile EEPROM, but some values need to be set anew after a reboot, such as the room temperature setpoint. This is to prevent to store a parameter value that has become invalid but is still sent as it is stored in the EEPROM. Room units commonly used with heating systems that support PPS are the QAA50 and the QAA70.","title":"Les BSB/LPB/PS bus"},{"location":"fr/homeautomation.html","text":"Connecting BSB-LAN to home automation systems BSB-LAN provides four ways to connect to home automation systems: Exchanging data via MQTT (recommended) Exchanging data via JSON Using supported modules for specific home automation systems Exchanging data via URL commands and screen scraping Exchanging data via MQTT This is the recommended way to connect BSB-LAN to home automation systems because it allows seamless exchange of data. As a prerequisite, a MQTT broker (such as mosquitto is needed, either running locally or via making use of a public service. Some home automation systems such as Home Assistant offer the installation of mosquitto as part of their software. In BSB-LAN, you need to make or enable at least the following configurations: Set Logging mode (additionally) to Send to MQTT Broker . Set Log Interval to the time (in seconds) you want the log parameters to be published. Select up to 20 Log Parameters you want to be sent to your home automation system. Set MQTT Usage to plain text Set MQTT Broker Server to the hostname of your MQTT broker (such as the mosquitto server) If your home automation system supports MQTT auto-discovery (as is the case with Home Assistant), you can call URL command /M1 and BSB-LAN will send auto-discovery messages for all available parameters to the MQTT broker and thus to the home automation system. You may have to clean up afterwards or send a removal message for all these parameters using URL command /M0 . Every time a query is made in BSB-LAN or a parameter changes its value through the room unit, the new value will be sent to the MQTT broker, so even changes made outside of BSB-LAN should be updated into the home automation system, which is why the MQTT approach is the recommended way to connect to a home automation system. Examples for querying or setting parameters via MQTT would look like this (using mosquitto): Query the outside temperature (parameter 8700): mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"8700\" -t BSB-LAN -d Set the comfort temperature setpoint (parameter 710) to 20 degrees: mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"S700=20\" -t BSB-LAN -d Exchanging data via JSON BSB-LAN allows to query and set parameters via JSON structures and also provides numerous information about the parameters and category structures this way. The JSON API is accessd via URL commands and the openapi.yaml file provided in this repository can be used with Swagger to explore its possibilities and functionalitites. Using supported modules for specific home automation systems For some systems, specific modules exist that can be used to access BSB-LAN seamlessly: Home Assistant While the official plugin no longer works, the MQTT approach above works well with Home Assistant. For the details of the implementation, you may also refer to these tutorials: GitHub user @ryann72 wrote detailed instructions for BSB-LAN and HomeAssistant/Mosquitto . It is also available in French . YouTuber @StoneTime has created two videos (in German) where he shows the installation of BSB-LAN as well as setting it up in Home Assistant . Dankesch\u00f6n! YouTuber @ArminasTV has created two videos (in French) where he shows the installation of BSB-LAN as well as how to set it up with Home Assistant and MQTT . Merci beacoup! Homebridge BSB-LAN user Michael has written a plugin for Homebridge . Thank you! ioBroker GitHub user @hacki11 has developed an adapter for ioBroker . Thank you! Jeedom GitHub user @bernard-dandrea has written a plugin for Jeedom (with a French description). Thank you! Node-RED GitHub user @konne wrote a module for Node-RED . Thank you! FHEM FHEM forum user Luposoft has written a compact explanation of the configuration for using FHEM via MQTT. Thank you! openHAB Since version 2.5.4, there exists a binding that is officially part of OpenHAB. Homematic FHEM forum user PaulM has written a few scripts to showcase the integration of BSB-LAN into Homematic. Thank you! SmartHomeNG GitHub user @thensty wrote a plugin for SmartHomeNG . Thank you! Volkszaehler GitHub user @lapixo has contributed a script for the Volkszaehler project . Thank you! Bash script GitHub user @khfm has written Bash scripts to query data and display it using gnuplot. Thank you! Exchanging data via URL commands and screen scraping For simpler solutions, using the URL commands to query and set parameters can be used to control BSB-LAN from other systems. Screen scraping is possible since the project tries not to break certain ways of displaying data, so that parsing with regular expressions remains feasible. Nevertheless, for most scenarios one of the other options will probably be preferrable.","title":"Connecter \u00e0 la Smart Home"},{"location":"fr/install.html","text":"Installation Installing BSB-LAN requires three steps: Installing the Arduino IDE in order to flash the BSB-LAN software onto the microcontroller Assembling the hardware parts Connecting BSB-LAN to the heating system Installing the Arduino IDE and flashing BSB-LAN Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. You may now proceed to configure BSB-LAN. When you are done configuring, go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Subsequent updates on ESP32-based microcontrollers \"over the air\" (OTA) If you are running BSB-LAN on an ESP32-based microcontroller and have enabled Over-the-Air Updates in the settings , you can perform future updates of BSB-LAN using your browser. To do that, instead of using Sketch/Upload , you need to select Sketch/Export Compiled Binary . This will create a build folder in your BSB-LAN folder in which you will find among others the file BSB_LAN.ino.bin . Now open http://bsb-lan.local:8080 and select and upload that file. Do not interrupt the upload process. You may try to access BSB-LAN from a different browser window to see if the process is completed. Please take note that this only applies to ESP32-based microcontrollers. Arduinos do not support this functionality. Assembling the BSB-LAN adapter You can either get a fully assembled adapter from Frederik (bsb(\u00e4t)code-it.de) or build one on your own (see the folder schematics for the schematics). Once you have the BSB-LAN adapter ready, you just need to plug it into the microcontroller. If you are using an Olimex microcontroller, double-check that the adapter really sits in the center of the connector, because it still fits even if it is moved by one pin row to the left or right. Connecting BSB-LAN to the heating system Once the microcontroller and the BSB-LAN adapter are ready, perform the following steps to connect BSB-LAN to the heating system: Unplug the microcontroller from your computer and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Have a look at the list of supported heating systems to get an idea where the pins are located. Do all this at your own risk! Especially take care to prevent electrostatic discharge (ESD) which can destroy both BSB-LAN and the heating controller! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. If there is no empty connector, there is no problem adding the wires for BSB-LAN to an already \"used\" connector, provided the wires are inserted carefully. Now you need to power on the microcontroller. Take note that the heating system does not power the microcontroller, even if the BSB-LAN adapter's LED turns on when you connect it to the heating system. You need to supply power to the microcontroller via its USB port (or via PoE on the Olimex POE-ISO). Make sure to use a stable power supply with at least 2 amperes. Once the microcontroller is powered on, turn on the heating system. The red LED of the BSB-LAN adapter should alight. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . Otherwise, you can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor and set the serial monitor speed to 115200. Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Generating the device-specific parameter list Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters. Once you have received the parameter list (or taken the one from version 2.2.x), you have to replace the existing BSB_LAN_custom_defs.h file with the one sent to you, compile it and flash it again. Now you are ready to access all parameters.","title":"Assemblage"},{"location":"fr/quickstart.html","text":"Quickstart instructions These quickstart instructions are for users who are familiar with installing and configuring software on their computer. If you need more detailed instructions, please head to the install instructions ! Make sure that your heating system is compatible with BSB-LAN! Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. Click on the tab with the filename BSB_LAN_config.h and configure at least the following: Search for #define LANG DE : Change DE to EN for English, FR for French etc. Search for uint8_t network_type : Set this to LAN if you are using Ethernet/LAN connection. Set this to WLAN if you are using WiFi/WLAN. If you are not using DHCP, configure the following options according to your network (make sure to use a comma, not a dot for IP addresses!): byte ip_addr[4] = {192,168,178,88}; byte gateway_addr[4] = {192,168,178,1}; byte dns_addr[4] = {192,168,178,1}; byte subnet_addr[4] = {255,255,255,0}; char wifi_ssid[32] = \"Your_Wifi_network_name\"; char wifi_pass[32] = \"Your_WiFi_network_password\"; Now go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Unplug the microcontroller and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Do all this at your own risk! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. Power on the microcontroller via the USB port or via PoE (Olimex POE-ISO only). Then power on the heating system. The red LED of the BSB-LAN adapter should turn on. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . You can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor . Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Done :-) It's not working! Please make sure you check every entry in the Troubleshooting-Section first before getting in touch with us! Why do I only see so few parameters? Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters.","title":"D\u00e9marrage rapide"},{"location":"fr/supported_heating_systems.html","text":"Supported heating systems BSB-LAN supports heating systems that communicate using either the BSB (Boiler System Bus) , the LPB (Local Process Bus) or the PPS (Punkt-zu-Punkt-Schnittstelle) . These controllers are usually manufactured by Siemens, older controllers might still bear the company name \"Landis & Stafea\" or \"Landis & Gyr\". We have compiled a list of working models from various heating system manufacturers who have been confirmed working with BSB-LAN, although there is no 100% guarantee that the manufacturers keep the model name but change the controller to a different system. So always make sure to double-check that the right connectors are available. Here are a few examples from heating controllers and the connectors that are used to connect to BSB-LAN. Some connectors have three pins, some have two pins. If there are three pins, make sure you choose the correct two (CL+ and CL-) as the third von (G+) is to provide background lighting for the room unit. It won't harm BSB-LAN, but it might be misleading because BSB-LAN's LED will be on even though it's not connected to the right pin. Controller Image Remarks LMS14 LMS15 BSB connection: + = Left - = Center LMS14 LMS15 BSB connection: CL+/CL- LMU54 LMU64 LPB connection: via additional OCI420 plugin LMU74 LMU75 BSB connection: + = Top - = Center LPB connection: via additional OCI420 plugin RVA53 PPS connection: A6/MD RVA63 LPB connection: MB/DB PPS connection: A6/MD RVP54 PPS connection: A6/M RVS21 BSB connection via connector X86 + = rightmost pin - = second pin from right RVS21 with AVS55 AVS55 extension module, sitting on top of RVS21. BSB connection via connector X86: + = rightmost pin - = second pin from right RVS41 BSB connection: CL+/CL- LPB connection: MB/DB RVS43 LOGON B BSB connection: CL+/CL- LPB connection: MB/DB RVS46 ISR-ZR1 BSB connection: CL+/CL- LPB connection: MB/DB RVS46 BSB connection: CL+/CL- LPB connection: MB/DB RVS51 BSB connection: CL+/CL- LPB connection: MB/DB RVS61 BSB connection: CL+/CL- LPB connection: MB/DB RVS63 BSB connection: CL+/CL- LPB connection: MB/DB List of working controller models There are a many more controllers that are likely to work with BSB-LAN. Look out for these Siemens controller models in your heating system: AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"Syst\u00e8mes de chauffage pris en charge"},{"location":"fr/troubleshooting.html","text":"Troubleshooting BSB-LAN tries to make accessing your heating system as easy as possible, but there are always things that can go wrong. If you still have a problem after reading this document as well as the FAQ , please open up a bug report on the project's GitHub page and make sure that you provide us with all the necessary log files and further required details, especially from the Serial Monitor (or SerMo in short). Using the Serial Monitor Access the Serial Monitor by going to Tools/Serial Monitor in the Arduino IDE. Set the transmission speed to 115200 at the top right corner of the serial monitor window. Make sure you copy the messages right from the moment your microcontroller boots (indicated by the READY message) until the moment you encounter the problem. Please do not send screenshots, only plain text files. The Serial Monitor in the Arduino IDE currently has a bug that allows you to only copy those parts of the Serial Monitor messages that you can see on the screen. Although this means that copying larger portions of log messages is tedious, you still have to provide the complete log in order to get support. Increasing the size of the Serial Monitor window helps a little. Compiling fails: \"Sketch too big\" Select the \"Minimal SPIFFS (Large APPS with OTA)\" partition scheme in the Arduino IDE under Tools/Partition Scheme . If you are using over-the-air updates, you have to flash the software once via USB after changing the partition scheme before OTA updates will work again. No access to web-interface anymore If you have changed the settings in such a way that you cannot access the web-interface anymore, there are two ways to restore the system: If you can flash the device: Configure BSB_LAN_config.h with correct, working settings. Set UseEEPROM to 0 . Flash BSB-LAN onto the microcontroller. You can now access BSB-LAN. Go to \"Settings\" and save the settings. This will store the working settings to the EEPROM. Now edit BSB_LAN_config.h again (!) and set UseEEPROM to 1 and flash BSB-LAN again to the microcontroller. Only now will BSB-LAN read and use the settings from the EEPROM, so you can make further changes in the web-interface. If you cannot flash the device: If you cannot flash the device on site, you can reset BSB-LAN to the last BSB_LAN_config.h setting by connecting two pins before and during booting the microcontroller : ESP32-Olimex: Connect pins 34 and 3V3. ESP32-NodeMCU: Connect pins 21 and 3V3. Arduino Due: Connect pins 31 and 33. If the pins were successfully connected, the built-in LED of the microcontroller will flash slowly for four seconds. Afterwards open the configuration in the web-interface, check all settings in the configuration and save them. This will store the working settings to the EEPROM. Temporary access point on an ESP32-based microcontroller On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. In this casee, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and see if you can fix the configuration this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Category list suddenly so small BSB-LAN needs to detect the heating system's controller to determine the categories to display. If BSB-LAN is not connected to the controller or the detection otherwise fails, only a few universal categories are displayed. Cannot read any parameters / device family is 0 Wrong bus type (BSB instead of LPB or vice versa). If the red LED of the adapter is not on (and ideally slightly flickering), there is a problem with the wiring between the adapter and the heating system. The red LED will come one once the adapter is connected correctly, even if the BSB-LAN adapter isn't even connected to the microcontroller! No data even though the adapter's red LED is on Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line. With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work. Make sure the RX/TX pins are set/detected correctly. No or unreliable network connection Try powering the microcontroller via USB from a laptop. We have had many cases where power supplies were unreliable despite having sufficient ratings. Look at the Serial Monitor log to check if the microcontroller could acquire an IP address. If not, then your network settings or physical connection may be faulty. No connection to hidden WiFi network possible Yes, that is a known restriction. The only way to do that is to set the BSSID specifically in BSB_LAN_config.h . Room temperature (or any other parameter) cannot be set Check BSB-LAN's settings and make sure that write access is enabled and set to standard or complete . Web-interface freezes when making new connection BSB-LAN is not a multi-tasking system. This means it can attend to one task at a time. So even if a URL command is aborted (by closing the browser window), BSB-LAN might not detect this and only start serving new requests once the previous one is finished. The Serial Monitor is not showing readable data Make sure the speed is set correctly to 115200 bps. Make sure the correct port is selected.","title":"D\u00e9pannage"},{"location":"fr/using.html","text":"Using BSB-LAN Controlling the heating system via the web-interface As a first step \u2013 or if you just want to turn your heating system on or off \u2013 you can simply open the BSB-LAN web-interface and go to the Settings menu. This will display a list of categories from your heating controller. You can click on each category and will get a list of corresponding parameters. If you see a Set button, it means the parameter can be changed, and clicking on the button will send the new value to the heater. If there is no Set button, the parameter is read-only and there is no way to change the parameter. Using BSB-LAN's URL commands Most of BSB-LAN's functionality can be controlled using URL commands. These are useful or even necessary when connecting BSB-LAN to a home automation system , but also provide access to functions not directly accessible via the web-interface. URL commands are called right after BSB-LAN's hostname and an (optional) passkey. So to get a list of categories, one would have to open the URL http://bsb-lan.local/K (or http://bsb-lan.local/1234/K if the passkey 1234 is in use). Querying and setting parameters table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 80%; } URL command Functionality / Query setting of parameter /! Query setting of parameter from controller at destination address /// Query settings of parameters , and . Parameters can include ! to address different controllers. /- Query settings of parameters to /!- Query settings of parameters to from controller at destination address /K List all parameter categories from controller at default destination address /K! List all parameter categories from controller at destination address /K Query all parameters of category from controller at default destination address /K! Query all parameters of category from controller at destination address /S= Set parameter from controller at default destination address to value . To set a parameter to --- (off/deactivated), just send an empty value: S= /S!= Set parameter from controller at destination address to value . /I= Send value y as INF telegram to parameter . So far only required with setting room temperature (parameters 10000 ff.). Configuration URL command Functionality /C Configuration /CO Dump BSB-LAN's configuration /P,, Temporarily set bus type to , own address to and target address to . /V Enable ( 1 ) or disable ( 0 ) verbose output mode. Should remain enabled unless specifically instructed. Logging URL command Functionality /DG Graphical display (graph plot) of an active log file /D or /DD Dumps log file datalog.txt from storage. Contains the logged parameters and values when logging to SD card is active. /D Dumps the most recent calender days of the log file /D, Dumps data from log file between and . and have to be set in the format yyyy-mm-dd (e.g. /D2024-04-01,2024-04-30 ) /D0 Reset both log files datalog.txt and journal.txt and create new headers. Should be executed before first logging. /DK Purges data older than days from the log file /LN Forces logging irrespective of current interval and restarts the configured interval at this point of time /L=,, Set logging interval to seconds and (optionally) reset logging parameters to , etc. until reboot /L=0,0 Deactivate logging to storage until reboot /LB= Log only broadcast telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /LU= Log only unknown bus telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /A=0 Disable 24h average calculation until reboot /A=,, Change 24h average value calculation to parameters , and until reboot /B0 Reset stats for accumulated burner-runtime and -cycles /DD0 Remove log file datalog.txt only /DJ Dumps log file journal.txt from storage /DJ0 Remove log file journal.txt only /LD Disable logging of telegrams to journal.txt until reboot /LE Enable logging of telegrams to journal.txt Parameter information URL command Functionality /E Displays parameter options of parameter . Only available for option-type parameters such as data types VT_ENUM , VT_CUSTOM_ENUM , VT_BITS and VT_CUSTOM_BITS . /R Query default setting of parameter GPIO control URL command Functionality /G Displays the actual state of GPIO pin /G= Set GPIO pin to HIGH ( = 1 ) or LOW ( = 0 ) JSON interface URL command Functionality /JQ=,, Query parameters , and and return a JSON structure /JQ Query parameters based on a received JSON structure via HTTP POST /JK= Query all parameters of category /JS Set parameters based on a received JSON structure via HTTP /JR Query default value of parameter and return a JSON structure /JK=ALL Dump ranges for all available categories as JSON structure /JC=,, Dump possible values for parameters , and for option-type parameters. Same JSON structure as /JK= . /JB Backup of all writeable parameters in a JSON structure that can be used to write back using /JS /JL Creates a JSON structure of BSB-LAN's configuration settings` /JW Writes configuration settings based on a JSON structure created by /JL /JI Dump runtime information of BSB-LAN as JSON structure` /JV Return the version of BSB-LAN's JSON-API as a JSON structure Misceallaneous URL command Functionality /M Send ( 1 ) or revoke ( 0 ) MQTT auto-discovery messages for all parameters from controller at default destination address. /N Reset and reboot microcontroller (takes approx. 15 seconds) /NE Erase EEPROM and reboot the microcontroller. All configuration settings will subsequently be read from configuration file until set and saved again in the web-interface to be written to EEPROM. /QD Dump parameter structure from heating system /W With a preceding /W the URL commands C , S and Q return data without HTML header and footer (e.g.: /WC or /WS= ). Using the graphical plot functionality If logged data on storage (either SD card or internal flash) is available, the Display log file becomes clickable. By default, it will display the logged data in the browser. To access the logged data itself (in the file datalog.txt ), use the /D URL command mentioned above. By default, \"Display log file\" displays the log data of the most recent n calendar days ( n=DEFAULT_DAYS_TO_PLOT , configurable in BSB_LAN_config.h ). Subsequently, controls on the web page can be used to select a different range, depending on the data contained in the log file Mouseover, click and mouse wheel actions within the graphical display provide various control options: - Better legibility for value numbers with plot lines close to each other (mouseover on plot) - Users can interactively highlight plot lines for improved overview (mouseover on legend entries) - Users can interactively disable plot lines for improved overview and vertical scaling (click on legend entries) - Zoom (mousewheel/pinch on plot) and pan capability (drag zoomed-in plot)","title":"Fonctionnes de BSB-LAN"}]} \ No newline at end of file +{"config":{"indexing":"full","lang":["en","de","fr"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"index.html","text":"What is BSB-LAN? BSB-LAN is a software /hardware solution for accessing the \u201cBoiler-System-Bus\u201d (BSB) , the \u201cLocal-Process-Bus (LPB)\u201d and the \u201cPunkt-zu-Punkt-Schnittstelle\u201d (PPS) . The BSB-LAN hardware is available for various ESP32 -based microcontrollers (ESP32 NodeMCU, Olimex EVB, Olimex POE-ISO) as well as for an Arduino Due with Ethernet shield. It allows accessing the heating systems from Atlantic, Br\u00f6tje, Elco and many other manufacturers via LAN/WLAN, provided that they use one of the Siemens controllers listed below. BSB-LAN makes it possible to monitor and control the heating and log any given values. This project supports almost all parameters available on the heating systems and can be a more comprehensive and cost-effective alternative to the OZW 672, OCI 700 or Remocon Net B. Optional integration into existing smart home systems such as Home Assistant , ioBroker , openHAB , Node-RED , Homebridge , Jeedom , SmartHomeNG , Volksz\u00e4hler , FHEM , HomeMatic , Loxone, IP-Symcon or EDOMI is possible via MQTT , JSON or HTTP access . The adapter can also be used as a standalone logger without LAN or Internet connection when using a microSD card. Temperature and humidity sensors can also be connected and their data can also be logged and analyzed. The option of integrating your own code into the BSB-LAN software also offers a wide range of expansion options. Where and how do I begin? You are an experienced user? Head on to the quickstart instructions . Otherwise (or if you run into problems), please read on! Is my heating system supported by BSB-LAN? Please go to the list of supported heating systems . If you already know that your system is supported, find out more about the BSB-LAN adapter and where to get it. If you already have the adapter, you may want to know how to install the adapter . If you have installed the adapter, you will need to configure BSB-LAN . Once you have everything up and running, find out about how to use BSB-LAN or learn more about the ways to ingetrate BSB-LAN into home automation systems . Our wiki pages are continuously growing and provide background knowledge as well as more specialized topics on BSB-LAN and heating systems in general. If you run into troubles, have a look at the troubleshooting page . And before you ask anyone else any questions, have a look at our Frequently Asked Questions (FAQ) first!","title":"Overview"},{"location":"index.html#what-is-bsb-lan","text":"BSB-LAN is a software /hardware solution for accessing the \u201cBoiler-System-Bus\u201d (BSB) , the \u201cLocal-Process-Bus (LPB)\u201d and the \u201cPunkt-zu-Punkt-Schnittstelle\u201d (PPS) . The BSB-LAN hardware is available for various ESP32 -based microcontrollers (ESP32 NodeMCU, Olimex EVB, Olimex POE-ISO) as well as for an Arduino Due with Ethernet shield. It allows accessing the heating systems from Atlantic, Br\u00f6tje, Elco and many other manufacturers via LAN/WLAN, provided that they use one of the Siemens controllers listed below. BSB-LAN makes it possible to monitor and control the heating and log any given values. This project supports almost all parameters available on the heating systems and can be a more comprehensive and cost-effective alternative to the OZW 672, OCI 700 or Remocon Net B. Optional integration into existing smart home systems such as Home Assistant , ioBroker , openHAB , Node-RED , Homebridge , Jeedom , SmartHomeNG , Volksz\u00e4hler , FHEM , HomeMatic , Loxone, IP-Symcon or EDOMI is possible via MQTT , JSON or HTTP access . The adapter can also be used as a standalone logger without LAN or Internet connection when using a microSD card. Temperature and humidity sensors can also be connected and their data can also be logged and analyzed. The option of integrating your own code into the BSB-LAN software also offers a wide range of expansion options.","title":"What is BSB-LAN?"},{"location":"index.html#where-and-how-do-i-begin","text":"You are an experienced user? Head on to the quickstart instructions . Otherwise (or if you run into problems), please read on! Is my heating system supported by BSB-LAN? Please go to the list of supported heating systems . If you already know that your system is supported, find out more about the BSB-LAN adapter and where to get it. If you already have the adapter, you may want to know how to install the adapter . If you have installed the adapter, you will need to configure BSB-LAN . Once you have everything up and running, find out about how to use BSB-LAN or learn more about the ways to ingetrate BSB-LAN into home automation systems . Our wiki pages are continuously growing and provide background knowledge as well as more specialized topics on BSB-LAN and heating systems in general. If you run into troubles, have a look at the troubleshooting page . And before you ask anyone else any questions, have a look at our Frequently Asked Questions (FAQ) first!","title":"Where and how do I begin?"},{"location":"bsb-lan_adapter.html","text":"The BSB-LAN adapter Adapter boards available - contact Frederik at bsb(\u00e4t)code-it.de (German or English) for more details. In order to connect to your heating system with a microcontroller, you need to have an adapter board that does the necessary logic-level conversion: The adapter is then plugged right onto the microcontroller, either underneath the pins of the ESP32-NodeMCU or onto the UEXT connector of the Olimex: The two different types of ESP32 adapters (Olimex and ESP32-NoceMCU) only vary in the location of their connectors, the other parts of the board are identical. The Arduino Due board contains an EEPROM chip because the Due does not come with on-board EEPROM. Therefore, you can re-use the Arduino Due board on an ESP32 microcontroller (if you connect the correct pins with wires), but you cannot use an adapter for the ESP32 on an Arduino Due. Suitable microcontrollers BSB-LAN can be installed on three different types of microcontrollers: ESP32-Olimex ESP32-NodeMCU (30 pin version only!) and Arduino Due. Olimex produces several kinds of boards: We recommend either the Olimex ESP32-EVB or the Olimex ESP32-POE-ISO . The simple POE version (without the \"ISO\") is not recommended because it does not allow to be connected to PoE Ethernet and USB at the same time. The Arduino Due requires an Ethernet Shield in order to access the local network. Each of the different controllers have their advantages and disadvantages: Functionality ESP32-Olimex ESP32-POE-ISO ESP32-NodeMCU Arduino Due Ethernet/LAN X X - X WiFi/WLAN X X X - Over-the-air updateable X X X - Built-in micro-SD card X X - - Accessible GPIOs 2 (GPIO13/16) some some many","title":"The BSB-LAN Adapter"},{"location":"bsb-lan_adapter.html#the-bsb-lan-adapter","text":"","title":"The BSB-LAN adapter"},{"location":"bsb-lan_adapter.html#adapter-boards-available-contact-frederik-at-bsbatcode-itde-german-or-english-for-more-details","text":"In order to connect to your heating system with a microcontroller, you need to have an adapter board that does the necessary logic-level conversion: The adapter is then plugged right onto the microcontroller, either underneath the pins of the ESP32-NodeMCU or onto the UEXT connector of the Olimex: The two different types of ESP32 adapters (Olimex and ESP32-NoceMCU) only vary in the location of their connectors, the other parts of the board are identical. The Arduino Due board contains an EEPROM chip because the Due does not come with on-board EEPROM. Therefore, you can re-use the Arduino Due board on an ESP32 microcontroller (if you connect the correct pins with wires), but you cannot use an adapter for the ESP32 on an Arduino Due.","title":"Adapter boards available - contact Frederik at bsb(\u00e4t)code-it.de (German or English) for more details."},{"location":"bsb-lan_adapter.html#suitable-microcontrollers","text":"BSB-LAN can be installed on three different types of microcontrollers: ESP32-Olimex ESP32-NodeMCU (30 pin version only!) and Arduino Due. Olimex produces several kinds of boards: We recommend either the Olimex ESP32-EVB or the Olimex ESP32-POE-ISO . The simple POE version (without the \"ISO\") is not recommended because it does not allow to be connected to PoE Ethernet and USB at the same time. The Arduino Due requires an Ethernet Shield in order to access the local network. Each of the different controllers have their advantages and disadvantages: Functionality ESP32-Olimex ESP32-POE-ISO ESP32-NodeMCU Arduino Due Ethernet/LAN X X - X WiFi/WLAN X X X - Over-the-air updateable X X X - Built-in micro-SD card X X - - Accessible GPIOs 2 (GPIO13/16) some some many","title":"Suitable microcontrollers"},{"location":"bus_systems.html","text":"The BSB/LPB/PPS Bus Developed at the end of the last millenium based on the BatiBUS (more information can be found here and here ), many Siemens heating system controllers still use the same kind of physical bus to \"talk\" to room units as well as other heating devices. While a bus speed of a mere 4800 bits per second might sound anachronistic these days, it still provides for a stable and robust transmission protocol that is even today perfectly sufficient when it comes to transmitting short messages of a few dozen bytes over lines sometimes as long as one kilometer. The bus topology also allows you to connect BSB-LAN at any point: At the room unit, at the heating system or anywhere where the bus lines are available. You can even add the two wires for BSB-LAN in an already \"occupied\" slot, and it won't harm the other device (proper installation assumed). On top of the same physical layer, three bus systems, BSB, LPB and PPS, cater for different tasks, and while BSB and LPB should always be preferred if available, PPS nevertheless provides a set of parameters that is usually quite enough for the average user. BSB-LAN runs on any of these busses and swapping between them is just changing a few settings away. The Boiler System Bus (BSB) BSB is the most common bus system in Siemens controllers for the last 10-15 years. It is the successor of the PPS system with which it shares the same physical parameters, but is much more versatile: Instead of just a few dozen parameters, it can access hundreds of parameters and group them into various categories for easier navigation. It is a transaction-based protocol where most messages are being sent from one device to another and the recipient returning some kind of feedback, for example whether the task could be completed or whether it contained invalid data. While BSB is capable of addressing multiple devices on the bus, it is not used in systems with more than one heating device. The heating device always has the ID 0 , the display unit on the heating system has the ID 10 (or 0x0A in hexadecimal) and the standard room unit has the ID 6 . BSB-LAN has the ID 66 or 0x42 in hexadecimal. Room units that \"speak\" BSB are, for example, the QAA55 and the QAA75. The Local Process Bus (LPB) LPB was introduced more or less around the same time as PPS which it complemented in terms of communication with other heating devices: While PPS was used to communicate with the room unit, LPB was used to send commands from one main heating device to one or more auxilliary heating devices, for example in a cascade setup. At that time, most of the information transmitted via LPB was related to the internals of the heating system (such as sensor data or internal setpoint temperatures), whereas the parameters relevant for the user (such as comfort temperature setpoint etc.) were only available via PPS. Nowadays, heating devices that offer both LPB and BSB have the same kind of parameter data available on both bus systems. LPB uses a specific addressing scheme with segments and devices. Each segment from 0 to 15 can contain up to 15 devices (from 1 to 15). When writing these addresses, segment and device are separated by a colon: 00:01 or 04:03 . To convert the segment-based address into the destination ID required for BSB-LAN, the formula is as this: SEGMENT multiplied by 16 plus DEVICE minus one. Example: Device 3 in segment 4 equals to 4 * 16 + 3 - 1 = 66. The main heating unit is by definition 00:01 , so this equals to a destination ID 0. To learn more about the LPB system and how it should be deployed, you may refer to these two documents from the end of the 1990s, one covers the basic system data that covers the conceptualization of an LPB network, and the other one deals with the basic engineering data and provides details about cable lengths and diameters etc. Except for some Weishaut heaters, room units are not connected to the heating system via LPB. Newer models use BSB for this task while older models use either PPS or in some cases also OpenTherm. The Point-to-Point Interface (PPS) The Point-to-Point Interface (PPS deriving from the German term \"Punkt-zu-Punkt Schnittstelle\") is compatible to the other systems on a physical layer, but not in the way message telegrams are being exchanged. While BSB and LPB talk to each other by sending telegrams and acknowledging their receipt respectively, PPS is dominated by the heating unit. The heating unit constantly sends its data to the room unit and tells the room unit when and what kind of information it should send. It is a very timing sensitive protocol, therefore long other tasks that BSB-LAN is told to do will lead to a temporary interruption and possible error message on the heating system. However, after a short while, this should be clearing by itself when the two components \"talk\" to each other again. Other than BSB and LPB, changes made in BSB-LAN do not take immediate effect. Changing values, for example like the room temperature comfort setpoint, will be stored internally in BSB-LAN first to be sent out to the heating system once it tells the room unit (i.e. BSB-LAN) to do so. This may take up to a minute or so, so one should not be confused that settings do not show up on the heater immediately, as is the case with BSB and LPB. With PPS, BSB-LAN can run in two modes: passive and as a room unit. In passive mode, BSB-LAN can just listen to the data exchanged between the room unit and the heating device. It is not possible to send one's own data, for the simple fact that it would be overwritten in no time by the same type of data coming from the room unit. In order to send parameter data to the heating system, BSB-LAN mus run in \"room unit\" mode, and this means that any room unit will have to be removed from the heating system. In this case, it is especially important to regularly send a room temperature value to BSB-LAN which in turn will send this value to the heating device. Only if the heater runs solely on outside temperature then this value can be ignored. BSB-LAN stores some values in its non-volatile EEPROM, but some values need to be set anew after a reboot, such as the room temperature setpoint. This is to prevent to store a parameter value that has become invalid but is still sent as it is stored in the EEPROM. Room units commonly used with heating systems that support PPS are the QAA50 and the QAA70.","title":"The BSB/LPB/PPS Bus"},{"location":"bus_systems.html#the-bsblpbpps-bus","text":"Developed at the end of the last millenium based on the BatiBUS (more information can be found here and here ), many Siemens heating system controllers still use the same kind of physical bus to \"talk\" to room units as well as other heating devices. While a bus speed of a mere 4800 bits per second might sound anachronistic these days, it still provides for a stable and robust transmission protocol that is even today perfectly sufficient when it comes to transmitting short messages of a few dozen bytes over lines sometimes as long as one kilometer. The bus topology also allows you to connect BSB-LAN at any point: At the room unit, at the heating system or anywhere where the bus lines are available. You can even add the two wires for BSB-LAN in an already \"occupied\" slot, and it won't harm the other device (proper installation assumed). On top of the same physical layer, three bus systems, BSB, LPB and PPS, cater for different tasks, and while BSB and LPB should always be preferred if available, PPS nevertheless provides a set of parameters that is usually quite enough for the average user. BSB-LAN runs on any of these busses and swapping between them is just changing a few settings away.","title":"The BSB/LPB/PPS Bus"},{"location":"bus_systems.html#the-boiler-system-bus-bsb","text":"BSB is the most common bus system in Siemens controllers for the last 10-15 years. It is the successor of the PPS system with which it shares the same physical parameters, but is much more versatile: Instead of just a few dozen parameters, it can access hundreds of parameters and group them into various categories for easier navigation. It is a transaction-based protocol where most messages are being sent from one device to another and the recipient returning some kind of feedback, for example whether the task could be completed or whether it contained invalid data. While BSB is capable of addressing multiple devices on the bus, it is not used in systems with more than one heating device. The heating device always has the ID 0 , the display unit on the heating system has the ID 10 (or 0x0A in hexadecimal) and the standard room unit has the ID 6 . BSB-LAN has the ID 66 or 0x42 in hexadecimal. Room units that \"speak\" BSB are, for example, the QAA55 and the QAA75.","title":"The Boiler System Bus (BSB)"},{"location":"bus_systems.html#the-local-process-bus-lpb","text":"LPB was introduced more or less around the same time as PPS which it complemented in terms of communication with other heating devices: While PPS was used to communicate with the room unit, LPB was used to send commands from one main heating device to one or more auxilliary heating devices, for example in a cascade setup. At that time, most of the information transmitted via LPB was related to the internals of the heating system (such as sensor data or internal setpoint temperatures), whereas the parameters relevant for the user (such as comfort temperature setpoint etc.) were only available via PPS. Nowadays, heating devices that offer both LPB and BSB have the same kind of parameter data available on both bus systems. LPB uses a specific addressing scheme with segments and devices. Each segment from 0 to 15 can contain up to 15 devices (from 1 to 15). When writing these addresses, segment and device are separated by a colon: 00:01 or 04:03 . To convert the segment-based address into the destination ID required for BSB-LAN, the formula is as this: SEGMENT multiplied by 16 plus DEVICE minus one. Example: Device 3 in segment 4 equals to 4 * 16 + 3 - 1 = 66. The main heating unit is by definition 00:01 , so this equals to a destination ID 0. To learn more about the LPB system and how it should be deployed, you may refer to these two documents from the end of the 1990s, one covers the basic system data that covers the conceptualization of an LPB network, and the other one deals with the basic engineering data and provides details about cable lengths and diameters etc. Except for some Weishaut heaters, room units are not connected to the heating system via LPB. Newer models use BSB for this task while older models use either PPS or in some cases also OpenTherm.","title":"The Local Process Bus (LPB)"},{"location":"bus_systems.html#the-point-to-point-interface-pps","text":"The Point-to-Point Interface (PPS deriving from the German term \"Punkt-zu-Punkt Schnittstelle\") is compatible to the other systems on a physical layer, but not in the way message telegrams are being exchanged. While BSB and LPB talk to each other by sending telegrams and acknowledging their receipt respectively, PPS is dominated by the heating unit. The heating unit constantly sends its data to the room unit and tells the room unit when and what kind of information it should send. It is a very timing sensitive protocol, therefore long other tasks that BSB-LAN is told to do will lead to a temporary interruption and possible error message on the heating system. However, after a short while, this should be clearing by itself when the two components \"talk\" to each other again. Other than BSB and LPB, changes made in BSB-LAN do not take immediate effect. Changing values, for example like the room temperature comfort setpoint, will be stored internally in BSB-LAN first to be sent out to the heating system once it tells the room unit (i.e. BSB-LAN) to do so. This may take up to a minute or so, so one should not be confused that settings do not show up on the heater immediately, as is the case with BSB and LPB. With PPS, BSB-LAN can run in two modes: passive and as a room unit. In passive mode, BSB-LAN can just listen to the data exchanged between the room unit and the heating device. It is not possible to send one's own data, for the simple fact that it would be overwritten in no time by the same type of data coming from the room unit. In order to send parameter data to the heating system, BSB-LAN mus run in \"room unit\" mode, and this means that any room unit will have to be removed from the heating system. In this case, it is especially important to regularly send a room temperature value to BSB-LAN which in turn will send this value to the heating device. Only if the heater runs solely on outside temperature then this value can be ignored. BSB-LAN stores some values in its non-volatile EEPROM, but some values need to be set anew after a reboot, such as the room temperature setpoint. This is to prevent to store a parameter value that has become invalid but is still sent as it is stored in the EEPROM. Room units commonly used with heating systems that support PPS are the QAA50 and the QAA70.","title":"The Point-to-Point Interface (PPS)"},{"location":"configure.html","text":"Configuration There are two ways to configure BSB-LAN: Through the configuration file BSB_LAN_config.h Through the web-interface by calling http://bsb-lan.local/C (or the corresponding IP address) For the initial configuration, some settings have to be configured in the configuration file (such as language and network settings). Any further changes can be done also in the web-interface. It may, however, be useful to do the configuration (also) in the configuration file in case one needs to change the microcontroller. Almost all settings exist also in the web-interface and vice versa. On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. So even without any further configuration, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and proceed with the configuration via this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Configuration through `BSB_LAN_config.h`` The configuration file consists of variables that are used in other parts of BSB-LAN. It is therefore important to only change the contents of the variables (i.e. the settings) and not the type of the variables. So if there is for example the setting byte ip_addr[4] = {192,168,178,88}; you must not alter the byte ip_addr[4] = part, only the contents, in this case the comma-separated IP address. Configuration through the web-interface Configuring BSB-LAN through the web-interface is pretty straightforward, as you don't have to deal with variable names but clear descriptions. Initially, only a selected number of configuration options are displayed in the webinterface. To have access to all of them, you have to set the \"extended configuration\" option to \"on\". Overview of configuration options table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 20%; } table th:nth-of-type(3) { width: 40%; } table th:nth-of-type(4) { width: 20%; } General Settings Web-Interface Configuration File Functionality Possible settings - #define LANG Set language DE , EN , FR and other ISO country codes Display extended configuration - Show all configuration options On Off Read config from EEPROM UseEEPROM Read configuration from EEPROM or file On ( 1 ) Off ( 0 ) Write access (level) - If DEFAULT_FLAG is set to FL_SW_CTL_RONLY , you can set the level of write access here. Off (read-only) On (Standard) On (Complete) Check for updates enable_version_check Query BSB-LAN server for new available version On ( true ) OTA Update enable_ota_update Enable over-the-air (OTA) update On ( true ) Energy saving esp32_save_energy Reduces speed, saves energy. Do not enable when using WiFi. On ( true ) Off ( false ) Webserver file system webserver Enables serving files from SD card On ( true ) Off ( false ) - #define DEFAULT_FLAG Set read/write access to heating system. FL_RONLY sets all parameters to read-only. FL_SW_CTL_RONLY allows setting read/write access via web-interface configuration setting. 0 makes all parameters that could be written writeable. Do not use this option unless instructed otherwise! FL_RONLY FL_SW_CTL_RONLY 0 Bus settings Web-Interface Configuration File Functionality Possible settings Bus type bus_type Bus type (BSB/LPB/PPS) BSB ( 0 ) LPB ( 1 ) PPS ( 2 ) PPS: mode pps_write BSB-LAN can act as a PPS room unit (only if no real room unit is connected) or just listen passively. passive ( 0 ) as room unit ( 1 ) PPS: QAA model QAA_TYPE Room unit that should be simulated for PPS bus QAA70 ( 0x53 ), QAA50 ( 0x52 ), QAA95 ( 0x37 ), QAW10 ( 0x4D ), QAW20 ( 0x4E ), MCBA/REA70/DC225 ( 0x58 ), QAA10 ( 0x5A ), QAA20 ( 0x5B ), QAA12/13 ( 0x5D ), BMU ( 0x66 ), RVD130 ( 0x43 ) Own address own_address Own bus address (default 66 should not be changed) 66 ( 66 ) Destination address dest_address Destination bus address. For BSB always 0 . For LPB 0 if destination device is in segment 1, device address 0. To convert from LPB segment and device address notation to destination address, multiply segment by 16, add the device address and subtract one. For example, to address a device in segment 4 with device address 3, the destination address is (4 * 16) + 3 - 1 = 66 . For PPS not relevant. 0 ( 0 ) Device family fixed_device_family Set the device family that BSB-LAN should emulate. Leave at 0 for auto-detection. 0 ( 0 ) Device variant fixed_device_variant Set the device variant that BSB-LAN should emulate. Leave at 0 for auto-detection 0 ( 0 ) RX pin number TX pin number bus_pins Define the RX/TX pins to communicate with the BSB-LAN adapter. Leave at 0 for auto-detection. 0 and 0 ( 0, 0 ) Network settings Web-Interface Configuration File Functionality Possible settings Network device network_type Choose between WLAN and LAN to connect BSB-LAN to the network. LAN ( 0 ) WLAN ( 1 ) WLAN SSID wifi_ssid Set the WLAN network name when using WLAN. Your_WLAN_name ( Your_WLAN_name ) WLAN password wifi_pass Set the WLAN password when using WLAN. YourWLANpassword ( YourWLANpassword ) DHCP usage use_dhcp Set whether or not to use DHCP to get an IP address from the router. On ( true ) Off ( false ) IP address (fixed) ip_addr When not using DHCP, you can set a fixed IP address here. Otherwise leave at 0.0.0.0 . In the web-interface, you may use dot notation. In the configuration file, you have to use comma as a separator. 192.168.178.88 ( 192,168,178,88 ) Subnet subnet_addr Subnet when using fixed IP address. Same notation as with IP address. 255.255.255.0 ( 255,255,255,0 ) Gateway gateway_addr Gateway address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) DNS Server dns_addr DNS server address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) TCP Port HTTPPort HTTP port number to access the web-interface. Defaults to 80 . 80 ( 80 ) MAC address mac Set a fixed MAC address. Only relevant on Arduino. 00:80:41:19:69:90 ( 0x00, 0x80, 0x41, 0x19, 0x69, 0x90 ) mDNS Hostname mDNS_hostname Hostname for mDNS discovery BSB-LAN ( BSB-LAN ) HTTP authentification USER_PASS If not empty, this setting contains the username and password for HTTP authentification, separated by a colon. Username:Password ( Username:Password ) URL Passkey PASSKEY Passkey adds a user-defined sequence that needs to be added to the URL after the hostname. For example, a passkey of 1234 requires every URL to be written as http://bsb-lan.local/1234/ instead of just http://bsb-lan.local/1234/ . Leave empty for no passkey. 1234 ( 1234 ) Trusted IP address trusted_ip_addr Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.89 ( 192,168,178,89 ) Trusted IP address trusted_ip_addr2 Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.90 ( 192,168,178,90 ) - bssid Enter a specific BSSID address here to ensure connecting to a specific access point. Set to all zeros under normal circumstances. ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ) - ntp_server Set an NTP server here to acquire exact time for BSB-LAN. Set to empty string if you don't want to use NTP. ESP32-based microcontrollers only. ( pool.ntp.org ) - local_timezone Timezone to use for NTP. See here for a complete list. ( CET-1CEST,M3.5.0,M10.5.0/3 ) Logging Web-Interface Configuration File Functionality Possible settings Storage device LogDestination Select the destination for logging activities. SD card is highly recommended, as using the internal flash will wear out the internal flash eventually. SD card ( SDCARD ) Internal Flash Storage ( FLASH ) Logging mode LoggingMode Set the logging destinations/activities. Multiple selections are possible, for the configuration file, the values have to be added, for example, to send to MQTT broker and to UDP, set the value to 4 + 8 = 12 Write to SD card ( 1 ) Calculate 24h averages ( 2 ) Send to MQTT broker ( 4 ) Send to UDP ( 8 ) Logging Interval log_interval Interval for logging activities (in seconds) 60 ( 60 ) Log Parameters log_parameters List of logging parameters. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) Log bus telegrams logTelegram Log raw bus telegrams, such as broadcast messages or unknown telegrams Off ( LOGTELEGRAM_OFF ) Log all bus telegrams ( LOGTELEGRAM_ON ) Log unknown bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY ) Log broadcast bus telegrams only ( LOGTELEGRAM_BROADCAST_ONLY ) Log unknown broadcast bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY + LOGTELEGRAM_BROADCAST_ONLY ) 24h averages parameters avg_parameters List of parameters for generating 24 hour averages. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) - #define DEFAULT_DAYS_TO_PLOT Define default number of days to plot logging data ( 3 ) MQTT Web-Interface Configuration File Functionality Possible settings MQTT Broker server mqtt_broker_addr Hostname/IP of the MQTT broker my-mqtt-broker.local ( my-mqtt-broker.local ) MQTT Username MQTTUsername Optional username for MQTT broker MyMQTTusername ( MyMQTTusername ) MQTT Password MQTTPassword Optional password for MQTT broker MyMQTTpassword ( MyMQTTpassword ) MQTT Device ID MQTTDeviceID Device identifier for MQTT BSB-LAN ( BSB-LAN ) MQTT Topic prefix MQTTTopicPrefix Topic prefix for MQTT BSB-LAN ( BSB-LAN ) MQTT Usage mqtt_mode Set the format for MQTT messages Plain text ( 1 ) - Send parameter number and value in plain text format JSON ( 2 ) - Send messages in JSON format (parameter number and value only) Rich JSON ( 3 ) - Send parameter number/name/value/unit/error in JSON format. Sensors and external devices Web-Interface Configuration File Functionality Possible settings OneWire Pins One_Wire_Pin Set the OneWire pin (use -1 in configuration file to disable) 10 ( 10 ) DHT Pins DHT_Pins Set the DHT22 sensor pins (use -1 in configuration file to disable) 11, 12, 13 ( 11, 12, 13, -1, -1, -1, -1, -1, -1, -1 ) BME280 sensors BME_Sensors Set number of BME280 sensors on the I2C bus. You need to have access to I2C pins. Fixed addresses 0x76 and 0x77 will be used. Use 0 to disable. 1 ( 1 ) MAX! Usage enable_max_cul Enable or disable connection to CUNO/CUNX/modified MAX!Cube On ( true ) Off ( false ) IP address cube max_cul_ip_addr IP address of the CUNO/CUNX/MAX!Cube 192.168.178.21 ( 192,168,178,21 ) MAX! Devices max_device_list IDs of MAX! devices to be polled KEQ0502326, KEQ0505080, KHA0002948 ( \"KEQ0502326\", \"KEQ0505080\", \"KHA0002948\" ) IPWE Usage enable_ipwe Enable IPWE extension ( /ipwe.cgi ) On ( true ) Off ( false ) IPWE Parameters ipwe_parameters List of parameters for display in IPWE extension. See addressing instructions below. 8700, 8743!2, 8314!2 ({8700, -1}, {8743, 2}, {8314, 2}) - #define CUSTOM_COMMANDS Enable custom functions Debugging Web-Interface Configuration File Functionality Possible settings Debugging Usage debug_mode Select debug output Off ( 0 ) Serial ( 1 ) Telnet ( 2 ) Verbosity mode verbose Enable or disable verbose debug messages (do not turn off unless advised) On ( 1 ) Off ( 0 ) Monitor mode monitor Enable or disable monitor mode (do not turn on unless advised) On ( 1 ) Off ( 0 ) Display unknown parameters show_unknown Try and display also parameters not supported by destination device On ( true ) Off ( false ) Adressing different heating controllers In order to address parameters from devices other than the default destination device in the web-interface, you need to add an exclamation mark followed by the device address (see above for converting segment/device notation to device address). For example, parameter 8700 from device address 1 would be written as 8700!1 instead of just 8700 . For the configuration file, parameters are listed in the form {parameter number, destination address} . Parameter 8700 from device address 1 would thus be written as {8700, 1} . To address the default destination, you can do so by using -1 .","title":"Configuration"},{"location":"configure.html#configuration","text":"There are two ways to configure BSB-LAN: Through the configuration file BSB_LAN_config.h Through the web-interface by calling http://bsb-lan.local/C (or the corresponding IP address) For the initial configuration, some settings have to be configured in the configuration file (such as language and network settings). Any further changes can be done also in the web-interface. It may, however, be useful to do the configuration (also) in the configuration file in case one needs to change the microcontroller. Almost all settings exist also in the web-interface and vice versa. On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. So even without any further configuration, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and proceed with the configuration via this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h .","title":"Configuration"},{"location":"configure.html#configuration-through-bsb_lan_configh","text":"The configuration file consists of variables that are used in other parts of BSB-LAN. It is therefore important to only change the contents of the variables (i.e. the settings) and not the type of the variables. So if there is for example the setting byte ip_addr[4] = {192,168,178,88}; you must not alter the byte ip_addr[4] = part, only the contents, in this case the comma-separated IP address.","title":"Configuration through `BSB_LAN_config.h``"},{"location":"configure.html#configuration-through-the-web-interface","text":"Configuring BSB-LAN through the web-interface is pretty straightforward, as you don't have to deal with variable names but clear descriptions. Initially, only a selected number of configuration options are displayed in the webinterface. To have access to all of them, you have to set the \"extended configuration\" option to \"on\".","title":"Configuration through the web-interface"},{"location":"configure.html#overview-of-configuration-options","text":"table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 20%; } table th:nth-of-type(3) { width: 40%; } table th:nth-of-type(4) { width: 20%; }","title":"Overview of configuration options"},{"location":"configure.html#general-settings","text":"Web-Interface Configuration File Functionality Possible settings - #define LANG Set language DE , EN , FR and other ISO country codes Display extended configuration - Show all configuration options On Off Read config from EEPROM UseEEPROM Read configuration from EEPROM or file On ( 1 ) Off ( 0 ) Write access (level) - If DEFAULT_FLAG is set to FL_SW_CTL_RONLY , you can set the level of write access here. Off (read-only) On (Standard) On (Complete) Check for updates enable_version_check Query BSB-LAN server for new available version On ( true ) OTA Update enable_ota_update Enable over-the-air (OTA) update On ( true ) Energy saving esp32_save_energy Reduces speed, saves energy. Do not enable when using WiFi. On ( true ) Off ( false ) Webserver file system webserver Enables serving files from SD card On ( true ) Off ( false ) - #define DEFAULT_FLAG Set read/write access to heating system. FL_RONLY sets all parameters to read-only. FL_SW_CTL_RONLY allows setting read/write access via web-interface configuration setting. 0 makes all parameters that could be written writeable. Do not use this option unless instructed otherwise! FL_RONLY FL_SW_CTL_RONLY 0","title":"General Settings"},{"location":"configure.html#bus-settings","text":"Web-Interface Configuration File Functionality Possible settings Bus type bus_type Bus type (BSB/LPB/PPS) BSB ( 0 ) LPB ( 1 ) PPS ( 2 ) PPS: mode pps_write BSB-LAN can act as a PPS room unit (only if no real room unit is connected) or just listen passively. passive ( 0 ) as room unit ( 1 ) PPS: QAA model QAA_TYPE Room unit that should be simulated for PPS bus QAA70 ( 0x53 ), QAA50 ( 0x52 ), QAA95 ( 0x37 ), QAW10 ( 0x4D ), QAW20 ( 0x4E ), MCBA/REA70/DC225 ( 0x58 ), QAA10 ( 0x5A ), QAA20 ( 0x5B ), QAA12/13 ( 0x5D ), BMU ( 0x66 ), RVD130 ( 0x43 ) Own address own_address Own bus address (default 66 should not be changed) 66 ( 66 ) Destination address dest_address Destination bus address. For BSB always 0 . For LPB 0 if destination device is in segment 1, device address 0. To convert from LPB segment and device address notation to destination address, multiply segment by 16, add the device address and subtract one. For example, to address a device in segment 4 with device address 3, the destination address is (4 * 16) + 3 - 1 = 66 . For PPS not relevant. 0 ( 0 ) Device family fixed_device_family Set the device family that BSB-LAN should emulate. Leave at 0 for auto-detection. 0 ( 0 ) Device variant fixed_device_variant Set the device variant that BSB-LAN should emulate. Leave at 0 for auto-detection 0 ( 0 ) RX pin number TX pin number bus_pins Define the RX/TX pins to communicate with the BSB-LAN adapter. Leave at 0 for auto-detection. 0 and 0 ( 0, 0 )","title":"Bus settings"},{"location":"configure.html#network-settings","text":"Web-Interface Configuration File Functionality Possible settings Network device network_type Choose between WLAN and LAN to connect BSB-LAN to the network. LAN ( 0 ) WLAN ( 1 ) WLAN SSID wifi_ssid Set the WLAN network name when using WLAN. Your_WLAN_name ( Your_WLAN_name ) WLAN password wifi_pass Set the WLAN password when using WLAN. YourWLANpassword ( YourWLANpassword ) DHCP usage use_dhcp Set whether or not to use DHCP to get an IP address from the router. On ( true ) Off ( false ) IP address (fixed) ip_addr When not using DHCP, you can set a fixed IP address here. Otherwise leave at 0.0.0.0 . In the web-interface, you may use dot notation. In the configuration file, you have to use comma as a separator. 192.168.178.88 ( 192,168,178,88 ) Subnet subnet_addr Subnet when using fixed IP address. Same notation as with IP address. 255.255.255.0 ( 255,255,255,0 ) Gateway gateway_addr Gateway address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) DNS Server dns_addr DNS server address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) TCP Port HTTPPort HTTP port number to access the web-interface. Defaults to 80 . 80 ( 80 ) MAC address mac Set a fixed MAC address. Only relevant on Arduino. 00:80:41:19:69:90 ( 0x00, 0x80, 0x41, 0x19, 0x69, 0x90 ) mDNS Hostname mDNS_hostname Hostname for mDNS discovery BSB-LAN ( BSB-LAN ) HTTP authentification USER_PASS If not empty, this setting contains the username and password for HTTP authentification, separated by a colon. Username:Password ( Username:Password ) URL Passkey PASSKEY Passkey adds a user-defined sequence that needs to be added to the URL after the hostname. For example, a passkey of 1234 requires every URL to be written as http://bsb-lan.local/1234/ instead of just http://bsb-lan.local/1234/ . Leave empty for no passkey. 1234 ( 1234 ) Trusted IP address trusted_ip_addr Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.89 ( 192,168,178,89 ) Trusted IP address trusted_ip_addr2 Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.90 ( 192,168,178,90 ) - bssid Enter a specific BSSID address here to ensure connecting to a specific access point. Set to all zeros under normal circumstances. ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ) - ntp_server Set an NTP server here to acquire exact time for BSB-LAN. Set to empty string if you don't want to use NTP. ESP32-based microcontrollers only. ( pool.ntp.org ) - local_timezone Timezone to use for NTP. See here for a complete list. ( CET-1CEST,M3.5.0,M10.5.0/3 )","title":"Network settings"},{"location":"configure.html#logging","text":"Web-Interface Configuration File Functionality Possible settings Storage device LogDestination Select the destination for logging activities. SD card is highly recommended, as using the internal flash will wear out the internal flash eventually. SD card ( SDCARD ) Internal Flash Storage ( FLASH ) Logging mode LoggingMode Set the logging destinations/activities. Multiple selections are possible, for the configuration file, the values have to be added, for example, to send to MQTT broker and to UDP, set the value to 4 + 8 = 12 Write to SD card ( 1 ) Calculate 24h averages ( 2 ) Send to MQTT broker ( 4 ) Send to UDP ( 8 ) Logging Interval log_interval Interval for logging activities (in seconds) 60 ( 60 ) Log Parameters log_parameters List of logging parameters. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) Log bus telegrams logTelegram Log raw bus telegrams, such as broadcast messages or unknown telegrams Off ( LOGTELEGRAM_OFF ) Log all bus telegrams ( LOGTELEGRAM_ON ) Log unknown bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY ) Log broadcast bus telegrams only ( LOGTELEGRAM_BROADCAST_ONLY ) Log unknown broadcast bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY + LOGTELEGRAM_BROADCAST_ONLY ) 24h averages parameters avg_parameters List of parameters for generating 24 hour averages. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) - #define DEFAULT_DAYS_TO_PLOT Define default number of days to plot logging data ( 3 )","title":"Logging"},{"location":"configure.html#mqtt","text":"Web-Interface Configuration File Functionality Possible settings MQTT Broker server mqtt_broker_addr Hostname/IP of the MQTT broker my-mqtt-broker.local ( my-mqtt-broker.local ) MQTT Username MQTTUsername Optional username for MQTT broker MyMQTTusername ( MyMQTTusername ) MQTT Password MQTTPassword Optional password for MQTT broker MyMQTTpassword ( MyMQTTpassword ) MQTT Device ID MQTTDeviceID Device identifier for MQTT BSB-LAN ( BSB-LAN ) MQTT Topic prefix MQTTTopicPrefix Topic prefix for MQTT BSB-LAN ( BSB-LAN ) MQTT Usage mqtt_mode Set the format for MQTT messages Plain text ( 1 ) - Send parameter number and value in plain text format JSON ( 2 ) - Send messages in JSON format (parameter number and value only) Rich JSON ( 3 ) - Send parameter number/name/value/unit/error in JSON format.","title":"MQTT"},{"location":"configure.html#sensors-and-external-devices","text":"Web-Interface Configuration File Functionality Possible settings OneWire Pins One_Wire_Pin Set the OneWire pin (use -1 in configuration file to disable) 10 ( 10 ) DHT Pins DHT_Pins Set the DHT22 sensor pins (use -1 in configuration file to disable) 11, 12, 13 ( 11, 12, 13, -1, -1, -1, -1, -1, -1, -1 ) BME280 sensors BME_Sensors Set number of BME280 sensors on the I2C bus. You need to have access to I2C pins. Fixed addresses 0x76 and 0x77 will be used. Use 0 to disable. 1 ( 1 ) MAX! Usage enable_max_cul Enable or disable connection to CUNO/CUNX/modified MAX!Cube On ( true ) Off ( false ) IP address cube max_cul_ip_addr IP address of the CUNO/CUNX/MAX!Cube 192.168.178.21 ( 192,168,178,21 ) MAX! Devices max_device_list IDs of MAX! devices to be polled KEQ0502326, KEQ0505080, KHA0002948 ( \"KEQ0502326\", \"KEQ0505080\", \"KHA0002948\" ) IPWE Usage enable_ipwe Enable IPWE extension ( /ipwe.cgi ) On ( true ) Off ( false ) IPWE Parameters ipwe_parameters List of parameters for display in IPWE extension. See addressing instructions below. 8700, 8743!2, 8314!2 ({8700, -1}, {8743, 2}, {8314, 2}) - #define CUSTOM_COMMANDS Enable custom functions","title":"Sensors and external devices"},{"location":"configure.html#debugging","text":"Web-Interface Configuration File Functionality Possible settings Debugging Usage debug_mode Select debug output Off ( 0 ) Serial ( 1 ) Telnet ( 2 ) Verbosity mode verbose Enable or disable verbose debug messages (do not turn off unless advised) On ( 1 ) Off ( 0 ) Monitor mode monitor Enable or disable monitor mode (do not turn on unless advised) On ( 1 ) Off ( 0 ) Display unknown parameters show_unknown Try and display also parameters not supported by destination device On ( true ) Off ( false )","title":"Debugging"},{"location":"configure.html#adressing-different-heating-controllers","text":"In order to address parameters from devices other than the default destination device in the web-interface, you need to add an exclamation mark followed by the device address (see above for converting segment/device notation to device address). For example, parameter 8700 from device address 1 would be written as 8700!1 instead of just 8700 . For the configuration file, parameters are listed in the form {parameter number, destination address} . Parameter 8700 from device address 1 would thus be written as {8700, 1} . To address the default destination, you can do so by using -1 .","title":"Adressing different heating controllers"},{"location":"faq.html","text":"Frequently Asked Questions (FAQ) My heater has a OpenTherm/eBus/L-Bus/R-Bus connector, can I use BSB-LAN? No, these controllers are not compatible with BSB-LAN. Do not try and connect the adapter to your heating system! I'm missing function XYZ BSB-LAN offers the possibility to create own functions using the files BSB_LAN_custom_global.h , BSB_LAN_custom_setup.h and BSB_LAN_custom.h . Please see the folder custom_functions in the repository for more details and examples. Feel free to contribute your solutions to the public!","title":"FAQ"},{"location":"faq.html#frequently-asked-questions-faq","text":"","title":"Frequently Asked Questions (FAQ)"},{"location":"faq.html#my-heater-has-a-openthermebusl-busr-bus-connector-can-i-use-bsb-lan","text":"No, these controllers are not compatible with BSB-LAN. Do not try and connect the adapter to your heating system!","title":"My heater has a OpenTherm/eBus/L-Bus/R-Bus connector, can I use BSB-LAN?"},{"location":"faq.html#im-missing-function-xyz","text":"BSB-LAN offers the possibility to create own functions using the files BSB_LAN_custom_global.h , BSB_LAN_custom_setup.h and BSB_LAN_custom.h . Please see the folder custom_functions in the repository for more details and examples. Feel free to contribute your solutions to the public!","title":"I'm missing function XYZ"},{"location":"homeautomation.html","text":"Connecting BSB-LAN to home automation systems BSB-LAN provides four ways to connect to home automation systems: Exchanging data via MQTT (recommended) Exchanging data via JSON Using supported modules for specific home automation systems Exchanging data via URL commands and screen scraping Exchanging data via MQTT This is the recommended way to connect BSB-LAN to home automation systems because it allows seamless exchange of data. As a prerequisite, a MQTT broker (such as mosquitto is needed, either running locally or via making use of a public service. Some home automation systems such as Home Assistant offer the installation of mosquitto as part of their software. In BSB-LAN, you need to make or enable at least the following configurations: Set Logging mode (additionally) to Send to MQTT Broker . Set Log Interval to the time (in seconds) you want the log parameters to be published. Select up to 20 Log Parameters you want to be sent to your home automation system. Set MQTT Usage to plain text Set MQTT Broker Server to the hostname of your MQTT broker (such as the mosquitto server) If your home automation system supports MQTT auto-discovery (as is the case with Home Assistant), you can call URL command /M1 and BSB-LAN will send auto-discovery messages for all available parameters to the MQTT broker and thus to the home automation system. You may have to clean up afterwards or send a removal message for all these parameters using URL command /M0 . Every time a query is made in BSB-LAN or a parameter changes its value through the room unit, the new value will be sent to the MQTT broker, so even changes made outside of BSB-LAN should be updated into the home automation system, which is why the MQTT approach is the recommended way to connect to a home automation system. Examples for querying or setting parameters via MQTT would look like this (using mosquitto): Query the outside temperature (parameter 8700): mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"8700\" -t BSB-LAN -d Set the comfort temperature setpoint (parameter 710) to 20 degrees: mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"S700=20\" -t BSB-LAN -d Exchanging data via JSON BSB-LAN allows to query and set parameters via JSON structures and also provides numerous information about the parameters and category structures this way. The JSON API is accessd via URL commands and the openapi.yaml file provided in this repository can be used with Swagger to explore its possibilities and functionalitites. Using supported modules for specific home automation systems For some systems, specific modules exist that can be used to access BSB-LAN seamlessly: Home Assistant While the official plugin no longer works, the MQTT approach above works well with Home Assistant. For the details of the implementation, you may also refer to these tutorials: GitHub user @ryann72 wrote detailed instructions for BSB-LAN and HomeAssistant/Mosquitto . It is also available in French . YouTuber @StoneTime has created two videos (in German) where he shows the installation of BSB-LAN as well as setting it up in Home Assistant . Dankesch\u00f6n! YouTuber @ArminasTV has created two videos (in French) where he shows the installation of BSB-LAN as well as how to set it up with Home Assistant and MQTT . Merci beacoup! Homebridge BSB-LAN user Michael has written a plugin for Homebridge . Thank you! ioBroker GitHub user @hacki11 has developed an adapter for ioBroker . Thank you! Jeedom GitHub user @bernard-dandrea has written a plugin for Jeedom (with a French description). Thank you! Node-RED GitHub user @konne wrote a module for Node-RED . Thank you! FHEM FHEM forum user Luposoft has written a compact explanation of the configuration for using FHEM via MQTT. Thank you! openHAB Since version 2.5.4, there exists a binding that is officially part of OpenHAB. Homematic FHEM forum user PaulM has written a few scripts to showcase the integration of BSB-LAN into Homematic. Thank you! SmartHomeNG GitHub user @thensty wrote a plugin for SmartHomeNG . Thank you! Volkszaehler GitHub user @lapixo has contributed a script for the Volkszaehler project . Thank you! Bash script GitHub user @khfm has written Bash scripts to query data and display it using gnuplot. Thank you! Exchanging data via URL commands and screen scraping For simpler solutions, using the URL commands to query and set parameters can be used to control BSB-LAN from other systems. Screen scraping is possible since the project tries not to break certain ways of displaying data, so that parsing with regular expressions remains feasible. Nevertheless, for most scenarios one of the other options will probably be preferrable.","title":"Connect to your Smart Home"},{"location":"homeautomation.html#connecting-bsb-lan-to-home-automation-systems","text":"BSB-LAN provides four ways to connect to home automation systems: Exchanging data via MQTT (recommended) Exchanging data via JSON Using supported modules for specific home automation systems Exchanging data via URL commands and screen scraping","title":"Connecting BSB-LAN to home automation systems"},{"location":"homeautomation.html#exchanging-data-via-mqtt","text":"This is the recommended way to connect BSB-LAN to home automation systems because it allows seamless exchange of data. As a prerequisite, a MQTT broker (such as mosquitto is needed, either running locally or via making use of a public service. Some home automation systems such as Home Assistant offer the installation of mosquitto as part of their software. In BSB-LAN, you need to make or enable at least the following configurations: Set Logging mode (additionally) to Send to MQTT Broker . Set Log Interval to the time (in seconds) you want the log parameters to be published. Select up to 20 Log Parameters you want to be sent to your home automation system. Set MQTT Usage to plain text Set MQTT Broker Server to the hostname of your MQTT broker (such as the mosquitto server) If your home automation system supports MQTT auto-discovery (as is the case with Home Assistant), you can call URL command /M1 and BSB-LAN will send auto-discovery messages for all available parameters to the MQTT broker and thus to the home automation system. You may have to clean up afterwards or send a removal message for all these parameters using URL command /M0 . Every time a query is made in BSB-LAN or a parameter changes its value through the room unit, the new value will be sent to the MQTT broker, so even changes made outside of BSB-LAN should be updated into the home automation system, which is why the MQTT approach is the recommended way to connect to a home automation system. Examples for querying or setting parameters via MQTT would look like this (using mosquitto): Query the outside temperature (parameter 8700): mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"8700\" -t BSB-LAN -d Set the comfort temperature setpoint (parameter 710) to 20 degrees: mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"S700=20\" -t BSB-LAN -d","title":"Exchanging data via MQTT"},{"location":"homeautomation.html#exchanging-data-via-json","text":"BSB-LAN allows to query and set parameters via JSON structures and also provides numerous information about the parameters and category structures this way. The JSON API is accessd via URL commands and the openapi.yaml file provided in this repository can be used with Swagger to explore its possibilities and functionalitites.","title":"Exchanging data via JSON"},{"location":"homeautomation.html#using-supported-modules-for-specific-home-automation-systems","text":"For some systems, specific modules exist that can be used to access BSB-LAN seamlessly:","title":"Using supported modules for specific home automation systems"},{"location":"homeautomation.html#home-assistant","text":"While the official plugin no longer works, the MQTT approach above works well with Home Assistant. For the details of the implementation, you may also refer to these tutorials: GitHub user @ryann72 wrote detailed instructions for BSB-LAN and HomeAssistant/Mosquitto . It is also available in French . YouTuber @StoneTime has created two videos (in German) where he shows the installation of BSB-LAN as well as setting it up in Home Assistant . Dankesch\u00f6n! YouTuber @ArminasTV has created two videos (in French) where he shows the installation of BSB-LAN as well as how to set it up with Home Assistant and MQTT . Merci beacoup!","title":"Home Assistant"},{"location":"homeautomation.html#homebridge","text":"BSB-LAN user Michael has written a plugin for Homebridge . Thank you!","title":"Homebridge"},{"location":"homeautomation.html#iobroker","text":"GitHub user @hacki11 has developed an adapter for ioBroker . Thank you!","title":"ioBroker"},{"location":"homeautomation.html#jeedom","text":"GitHub user @bernard-dandrea has written a plugin for Jeedom (with a French description). Thank you!","title":"Jeedom"},{"location":"homeautomation.html#node-red","text":"GitHub user @konne wrote a module for Node-RED . Thank you!","title":"Node-RED"},{"location":"homeautomation.html#fhem","text":"FHEM forum user Luposoft has written a compact explanation of the configuration for using FHEM via MQTT. Thank you!","title":"FHEM"},{"location":"homeautomation.html#openhab","text":"Since version 2.5.4, there exists a binding that is officially part of OpenHAB.","title":"openHAB"},{"location":"homeautomation.html#homematic","text":"FHEM forum user PaulM has written a few scripts to showcase the integration of BSB-LAN into Homematic. Thank you!","title":"Homematic"},{"location":"homeautomation.html#smarthomeng","text":"GitHub user @thensty wrote a plugin for SmartHomeNG . Thank you!","title":"SmartHomeNG"},{"location":"homeautomation.html#volkszaehler","text":"GitHub user @lapixo has contributed a script for the Volkszaehler project . Thank you!","title":"Volkszaehler"},{"location":"homeautomation.html#bash-script","text":"GitHub user @khfm has written Bash scripts to query data and display it using gnuplot. Thank you!","title":"Bash script"},{"location":"homeautomation.html#exchanging-data-via-url-commands-and-screen-scraping","text":"For simpler solutions, using the URL commands to query and set parameters can be used to control BSB-LAN from other systems. Screen scraping is possible since the project tries not to break certain ways of displaying data, so that parsing with regular expressions remains feasible. Nevertheless, for most scenarios one of the other options will probably be preferrable.","title":"Exchanging data via URL commands and screen scraping"},{"location":"install.html","text":"Installation Installing BSB-LAN requires three steps: Installing the Arduino IDE in order to flash the BSB-LAN software onto the microcontroller Assembling the hardware parts Connecting BSB-LAN to the heating system Installing the Arduino IDE and flashing BSB-LAN Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. You may now proceed to configure BSB-LAN. When you are done configuring, go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Subsequent updates on ESP32-based microcontrollers \"over the air\" (OTA) If you are running BSB-LAN on an ESP32-based microcontroller and have enabled Over-the-Air Updates in the settings , you can perform future updates of BSB-LAN using your browser. To do that, instead of using Sketch/Upload , you need to select Sketch/Export Compiled Binary . This will create a build folder in your BSB-LAN folder in which you will find among others the file BSB_LAN.ino.bin . Now open http://bsb-lan.local:8080 and select and upload that file. Do not interrupt the upload process. You may try to access BSB-LAN from a different browser window to see if the process is completed. Please take note that this only applies to ESP32-based microcontrollers. Arduinos do not support this functionality. Assembling the BSB-LAN adapter You can either get a fully assembled adapter from Frederik (bsb(\u00e4t)code-it.de) or build one on your own (see the folder schematics for the schematics). Once you have the BSB-LAN adapter ready, you just need to plug it into the microcontroller. If you are using an Olimex microcontroller, double-check that the adapter really sits in the center of the connector, because it still fits even if it is moved by one pin row to the left or right. Connecting BSB-LAN to the heating system Once the microcontroller and the BSB-LAN adapter are ready, perform the following steps to connect BSB-LAN to the heating system: Unplug the microcontroller from your computer and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Have a look at the list of supported heating systems to get an idea where the pins are located. Do all this at your own risk! Especially take care to prevent electrostatic discharge (ESD) which can destroy both BSB-LAN and the heating controller! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. If there is no empty connector, there is no problem adding the wires for BSB-LAN to an already \"used\" connector, provided the wires are inserted carefully. Now you need to power on the microcontroller. Take note that the heating system does not power the microcontroller, even if the BSB-LAN adapter's LED turns on when you connect it to the heating system. You need to supply power to the microcontroller via its USB port (or via PoE on the Olimex POE-ISO). Make sure to use a stable power supply with at least 2 amperes. Once the microcontroller is powered on, turn on the heating system. The red LED of the BSB-LAN adapter should alight. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . Otherwise, you can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor and set the serial monitor speed to 115200. Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Generating the device-specific parameter list Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters. Once you have received the parameter list (or taken the one from version 2.2.x), you have to replace the existing BSB_LAN_custom_defs.h file with the one sent to you, compile it and flash it again. Now you are ready to access all parameters.","title":"Installation"},{"location":"install.html#installation","text":"Installing BSB-LAN requires three steps: Installing the Arduino IDE in order to flash the BSB-LAN software onto the microcontroller Assembling the hardware parts Connecting BSB-LAN to the heating system","title":"Installation"},{"location":"install.html#installing-the-arduino-ide-and-flashing-bsb-lan","text":"Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. You may now proceed to configure BSB-LAN. When you are done configuring, go to Sketch/Upload and upload the BSB-LAN software to the microcontroller.","title":"Installing the Arduino IDE and flashing BSB-LAN"},{"location":"install.html#subsequent-updates-on-esp32-based-microcontrollers-over-the-air-ota","text":"If you are running BSB-LAN on an ESP32-based microcontroller and have enabled Over-the-Air Updates in the settings , you can perform future updates of BSB-LAN using your browser. To do that, instead of using Sketch/Upload , you need to select Sketch/Export Compiled Binary . This will create a build folder in your BSB-LAN folder in which you will find among others the file BSB_LAN.ino.bin . Now open http://bsb-lan.local:8080 and select and upload that file. Do not interrupt the upload process. You may try to access BSB-LAN from a different browser window to see if the process is completed. Please take note that this only applies to ESP32-based microcontrollers. Arduinos do not support this functionality.","title":"Subsequent updates on ESP32-based microcontrollers \"over the air\" (OTA)"},{"location":"install.html#assembling-the-bsb-lan-adapter","text":"You can either get a fully assembled adapter from Frederik (bsb(\u00e4t)code-it.de) or build one on your own (see the folder schematics for the schematics). Once you have the BSB-LAN adapter ready, you just need to plug it into the microcontroller. If you are using an Olimex microcontroller, double-check that the adapter really sits in the center of the connector, because it still fits even if it is moved by one pin row to the left or right.","title":"Assembling the BSB-LAN adapter"},{"location":"install.html#connecting-bsb-lan-to-the-heating-system","text":"Once the microcontroller and the BSB-LAN adapter are ready, perform the following steps to connect BSB-LAN to the heating system: Unplug the microcontroller from your computer and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Have a look at the list of supported heating systems to get an idea where the pins are located. Do all this at your own risk! Especially take care to prevent electrostatic discharge (ESD) which can destroy both BSB-LAN and the heating controller! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. If there is no empty connector, there is no problem adding the wires for BSB-LAN to an already \"used\" connector, provided the wires are inserted carefully. Now you need to power on the microcontroller. Take note that the heating system does not power the microcontroller, even if the BSB-LAN adapter's LED turns on when you connect it to the heating system. You need to supply power to the microcontroller via its USB port (or via PoE on the Olimex POE-ISO). Make sure to use a stable power supply with at least 2 amperes. Once the microcontroller is powered on, turn on the heating system. The red LED of the BSB-LAN adapter should alight. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . Otherwise, you can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor and set the serial monitor speed to 115200. Restart the microcontroller, and the IP address will be displayed upon connecting to the network.","title":"Connecting BSB-LAN to the heating system"},{"location":"install.html#generating-the-device-specific-parameter-list","text":"Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters. Once you have received the parameter list (or taken the one from version 2.2.x), you have to replace the existing BSB_LAN_custom_defs.h file with the one sent to you, compile it and flash it again. Now you are ready to access all parameters.","title":"Generating the device-specific parameter list"},{"location":"list_of_controllers.html","text":"AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"List of controllers"},{"location":"quickstart.html","text":"Quickstart instructions These quickstart instructions are for users who are familiar with installing and configuring software on their computer. If you need more detailed instructions, please head to the install instructions ! Make sure that your heating system is compatible with BSB-LAN! Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. Click on the tab with the filename BSB_LAN_config.h and configure at least the following: Search for #define LANG DE : Change DE to EN for English, FR for French etc. Search for uint8_t network_type : Set this to LAN if you are using Ethernet/LAN connection. Set this to WLAN if you are using WiFi/WLAN. If you are not using DHCP, configure the following options according to your network (make sure to use a comma, not a dot for IP addresses!): byte ip_addr[4] = {192,168,178,88}; byte gateway_addr[4] = {192,168,178,1}; byte dns_addr[4] = {192,168,178,1}; byte subnet_addr[4] = {255,255,255,0}; char wifi_ssid[32] = \"Your_Wifi_network_name\"; char wifi_pass[32] = \"Your_WiFi_network_password\"; Now go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Unplug the microcontroller and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Do all this at your own risk! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. Power on the microcontroller via the USB port or via PoE (Olimex POE-ISO only). Then power on the heating system. The red LED of the BSB-LAN adapter should turn on. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . You can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor . Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Done :-) It's not working! Please make sure you check every entry in the Troubleshooting-Section first before getting in touch with us! Why do I only see so few parameters? Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters.","title":"Quickstart"},{"location":"quickstart.html#quickstart-instructions","text":"These quickstart instructions are for users who are familiar with installing and configuring software on their computer. If you need more detailed instructions, please head to the install instructions ! Make sure that your heating system is compatible with BSB-LAN! Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. Click on the tab with the filename BSB_LAN_config.h and configure at least the following: Search for #define LANG DE : Change DE to EN for English, FR for French etc. Search for uint8_t network_type : Set this to LAN if you are using Ethernet/LAN connection. Set this to WLAN if you are using WiFi/WLAN. If you are not using DHCP, configure the following options according to your network (make sure to use a comma, not a dot for IP addresses!): byte ip_addr[4] = {192,168,178,88}; byte gateway_addr[4] = {192,168,178,1}; byte dns_addr[4] = {192,168,178,1}; byte subnet_addr[4] = {255,255,255,0}; char wifi_ssid[32] = \"Your_Wifi_network_name\"; char wifi_pass[32] = \"Your_WiFi_network_password\"; Now go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Unplug the microcontroller and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Do all this at your own risk! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. Power on the microcontroller via the USB port or via PoE (Olimex POE-ISO only). Then power on the heating system. The red LED of the BSB-LAN adapter should turn on. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . You can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor . Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Done :-)","title":"Quickstart instructions"},{"location":"quickstart.html#its-not-working","text":"Please make sure you check every entry in the Troubleshooting-Section first before getting in touch with us!","title":"It's not working!"},{"location":"quickstart.html#why-do-i-only-see-so-few-parameters","text":"Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters.","title":"Why do I only see so few parameters?"},{"location":"supported_heating_systems.html","text":"Supported heating systems BSB-LAN supports heating systems that communicate using either the BSB (Boiler System Bus) , the LPB (Local Process Bus) or the PPS (Punkt-zu-Punkt-Schnittstelle) . These controllers are usually manufactured by Siemens, older controllers might still bear the company name \"Landis & Stafea\" or \"Landis & Gyr\". We have compiled a list of working models from various heating system manufacturers who have been confirmed working with BSB-LAN, although there is no 100% guarantee that the manufacturers keep the model name but change the controller to a different system. So always make sure to double-check that the right connectors are available. Here are a few examples from heating controllers and the connectors that are used to connect to BSB-LAN. Some connectors have three pins, some have two pins. If there are three pins, make sure you choose the correct two (CL+ and CL-) as the third von (G+) is to provide background lighting for the room unit. It won't harm BSB-LAN, but it might be misleading because BSB-LAN's LED will be on even though it's not connected to the right pin. Controller Image Remarks LMS14 LMS15 BSB connection: + = Left - = Center LMS14 LMS15 BSB connection: CL+/CL- LMU54 LMU64 LPB connection: via additional OCI420 plugin LMU74 LMU75 BSB connection: + = Top - = Center LPB connection: via additional OCI420 plugin RVA53 PPS connection: A6/MD RVA63 LPB connection: MB/DB PPS connection: A6/MD RVP54 PPS connection: A6/M RVS21 BSB connection via connector X86 + = rightmost pin - = second pin from right RVS21 with AVS55 AVS55 extension module, sitting on top of RVS21. BSB connection via connector X86: + = rightmost pin - = second pin from right RVS41 BSB connection: CL+/CL- LPB connection: MB/DB RVS43 LOGON B BSB connection: CL+/CL- LPB connection: MB/DB RVS46 ISR-ZR1 BSB connection: CL+/CL- LPB connection: MB/DB RVS46 BSB connection: CL+/CL- LPB connection: MB/DB RVS51 BSB connection: CL+/CL- LPB connection: MB/DB RVS61 BSB connection: CL+/CL- LPB connection: MB/DB RVS63 BSB connection: CL+/CL- LPB connection: MB/DB List of working controller models There are a many more controllers that are likely to work with BSB-LAN. Look out for these Siemens controller models in your heating system: AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"Supported Heating Systems"},{"location":"supported_heating_systems.html#supported-heating-systems","text":"BSB-LAN supports heating systems that communicate using either the BSB (Boiler System Bus) , the LPB (Local Process Bus) or the PPS (Punkt-zu-Punkt-Schnittstelle) . These controllers are usually manufactured by Siemens, older controllers might still bear the company name \"Landis & Stafea\" or \"Landis & Gyr\". We have compiled a list of working models from various heating system manufacturers who have been confirmed working with BSB-LAN, although there is no 100% guarantee that the manufacturers keep the model name but change the controller to a different system. So always make sure to double-check that the right connectors are available. Here are a few examples from heating controllers and the connectors that are used to connect to BSB-LAN. Some connectors have three pins, some have two pins. If there are three pins, make sure you choose the correct two (CL+ and CL-) as the third von (G+) is to provide background lighting for the room unit. It won't harm BSB-LAN, but it might be misleading because BSB-LAN's LED will be on even though it's not connected to the right pin. Controller Image Remarks LMS14 LMS15 BSB connection: + = Left - = Center LMS14 LMS15 BSB connection: CL+/CL- LMU54 LMU64 LPB connection: via additional OCI420 plugin LMU74 LMU75 BSB connection: + = Top - = Center LPB connection: via additional OCI420 plugin RVA53 PPS connection: A6/MD RVA63 LPB connection: MB/DB PPS connection: A6/MD RVP54 PPS connection: A6/M RVS21 BSB connection via connector X86 + = rightmost pin - = second pin from right RVS21 with AVS55 AVS55 extension module, sitting on top of RVS21. BSB connection via connector X86: + = rightmost pin - = second pin from right RVS41 BSB connection: CL+/CL- LPB connection: MB/DB RVS43 LOGON B BSB connection: CL+/CL- LPB connection: MB/DB RVS46 ISR-ZR1 BSB connection: CL+/CL- LPB connection: MB/DB RVS46 BSB connection: CL+/CL- LPB connection: MB/DB RVS51 BSB connection: CL+/CL- LPB connection: MB/DB RVS61 BSB connection: CL+/CL- LPB connection: MB/DB RVS63 BSB connection: CL+/CL- LPB connection: MB/DB","title":"Supported heating systems"},{"location":"supported_heating_systems.html#list-of-working-controller-models","text":"There are a many more controllers that are likely to work with BSB-LAN. Look out for these Siemens controller models in your heating system: AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"List of working controller models"},{"location":"supported_models.html","text":"Supported models from various manufacturers This is a list of models from various manufacturers that have in the past been tested with BSB-LAN. Please take note that manufacturers may at any time change the technical specifications, including the controller, without changing the model name (or just a very minor part of it). Where we get to know about such a change, we will list it here, but obviously this list is not complete, in both ways. So in any case, please do a final check yourself if your heating system has the necessary connectors to use BSB-LAN. Br\u00f6tje: BBK, BBS, BGB, BLW ( see exceptions below! ), BMK, BMR, BOB, BSK, BSW, Eurocontrol, ISR, LogoBloc, SGB, SOB, SPK, WBC, WBS, WGB ( see exceptions below! ), WMC, WMS, WOB Not working Br\u00f6tje models: BOK, BLW Neo, BLW Split-P, BLW Split C, BLW Split-K C, WGB-K, WGB 14.1/22.1/28.1/38.1, WHC, WHS, WLC, WLS B\u00f6sch: heat pumps with RVS controller type Elco: Aerotop, Aquatop, Rendamax, Straton, Thision ( not Thision Mini! ), Thision S, Thision S Plus, Trigon S Plus ATAG: QR Atlantic: Alf\u00e9a, Axeo, Excellia, Extensa, Hynea hybrid duo gaz, Navistem, Perfinox, Varmax Austria Email: LWP, LWPK Baxi: Luna Platinum, Luna Duo, Block Kondens Boesch: SLS Chapp\u00e9e: Luna, Klista CTA: Optiheat CTC: 380 IC Deville: 9942, 9981 Eco: AiWA, AW, BW, DW, heatLite, Star, TBW, WW, WWi, TWW Ecostar: Ecodense WT-S 45 EVI Heat: Combi-7 Fernw\u00e4rme: RVD230 Froeling: Rendagas Plus Fujitsu Waterstage: Comfort, Duo, WOHA, WSHA, WSYA, WSYK, WSYP Geminox: Thrs General: (aka Fujitsu Waterstage) WC13F / WOC13RIYF / WGHA 100DG Gruenenwald: Greenheat GS: UnoTec Hansa: SND Herz: Commotherm 5 DeLuxe Interdomo: Domostar GBK 25H/SH MAN/MHG: Ecostar 200 MHG: ecoWP Xe, Procon E Oilon: SH, SHx Olymp: SHS, WHS Palazzetti: Choro Sistema Calore Sieger: TG11 \u0160ildymo Technologij\u0173 Centras (\u0160TC): STC9 Sixmadun: TG11BE SSP: Proburner Sunex: Nexus Termomax: Termo \u00d6V Thermics: Energie Thermital: TBox Clima TOP Tifell: Biofell Viessmann: Vitotwin 300-W Wamak: AiWa, DB Weishaupt: WTU","title":"Supported models from various manufacturers"},{"location":"supported_models.html#supported-models-from-various-manufacturers","text":"This is a list of models from various manufacturers that have in the past been tested with BSB-LAN. Please take note that manufacturers may at any time change the technical specifications, including the controller, without changing the model name (or just a very minor part of it). Where we get to know about such a change, we will list it here, but obviously this list is not complete, in both ways. So in any case, please do a final check yourself if your heating system has the necessary connectors to use BSB-LAN. Br\u00f6tje: BBK, BBS, BGB, BLW ( see exceptions below! ), BMK, BMR, BOB, BSK, BSW, Eurocontrol, ISR, LogoBloc, SGB, SOB, SPK, WBC, WBS, WGB ( see exceptions below! ), WMC, WMS, WOB Not working Br\u00f6tje models: BOK, BLW Neo, BLW Split-P, BLW Split C, BLW Split-K C, WGB-K, WGB 14.1/22.1/28.1/38.1, WHC, WHS, WLC, WLS B\u00f6sch: heat pumps with RVS controller type Elco: Aerotop, Aquatop, Rendamax, Straton, Thision ( not Thision Mini! ), Thision S, Thision S Plus, Trigon S Plus ATAG: QR Atlantic: Alf\u00e9a, Axeo, Excellia, Extensa, Hynea hybrid duo gaz, Navistem, Perfinox, Varmax Austria Email: LWP, LWPK Baxi: Luna Platinum, Luna Duo, Block Kondens Boesch: SLS Chapp\u00e9e: Luna, Klista CTA: Optiheat CTC: 380 IC Deville: 9942, 9981 Eco: AiWA, AW, BW, DW, heatLite, Star, TBW, WW, WWi, TWW Ecostar: Ecodense WT-S 45 EVI Heat: Combi-7 Fernw\u00e4rme: RVD230 Froeling: Rendagas Plus Fujitsu Waterstage: Comfort, Duo, WOHA, WSHA, WSYA, WSYK, WSYP Geminox: Thrs General: (aka Fujitsu Waterstage) WC13F / WOC13RIYF / WGHA 100DG Gruenenwald: Greenheat GS: UnoTec Hansa: SND Herz: Commotherm 5 DeLuxe Interdomo: Domostar GBK 25H/SH MAN/MHG: Ecostar 200 MHG: ecoWP Xe, Procon E Oilon: SH, SHx Olymp: SHS, WHS Palazzetti: Choro Sistema Calore Sieger: TG11 \u0160ildymo Technologij\u0173 Centras (\u0160TC): STC9 Sixmadun: TG11BE SSP: Proburner Sunex: Nexus Termomax: Termo \u00d6V Thermics: Energie Thermital: TBox Clima TOP Tifell: Biofell Viessmann: Vitotwin 300-W Wamak: AiWa, DB Weishaupt: WTU","title":"Supported models from various manufacturers"},{"location":"troubleshooting.html","text":"Troubleshooting BSB-LAN tries to make accessing your heating system as easy as possible, but there are always things that can go wrong. If you still have a problem after reading this document as well as the FAQ , please open up a bug report on the project's GitHub page and make sure that you provide us with all the necessary log files and further required details, especially from the Serial Monitor (or SerMo in short). Using the Serial Monitor Access the Serial Monitor by going to Tools/Serial Monitor in the Arduino IDE. Set the transmission speed to 115200 at the top right corner of the serial monitor window. Make sure you copy the messages right from the moment your microcontroller boots (indicated by the READY message) until the moment you encounter the problem. Please do not send screenshots, only plain text files. The Serial Monitor in the Arduino IDE currently has a bug that allows you to only copy those parts of the Serial Monitor messages that you can see on the screen. Although this means that copying larger portions of log messages is tedious, you still have to provide the complete log in order to get support. Increasing the size of the Serial Monitor window helps a little. Compiling fails: \"Sketch too big\" Select the \"Minimal SPIFFS (Large APPS with OTA)\" partition scheme in the Arduino IDE under Tools/Partition Scheme . If you are using over-the-air updates, you have to flash the software once via USB after changing the partition scheme before OTA updates will work again. No access to web-interface anymore If you have changed the settings in such a way that you cannot access the web-interface anymore, there are two ways to restore the system: If you can flash the device: Configure BSB_LAN_config.h with correct, working settings. Set UseEEPROM to 0 . Flash BSB-LAN onto the microcontroller. You can now access BSB-LAN. Go to \"Settings\" and save the settings. This will store the working settings to the EEPROM. Now edit BSB_LAN_config.h again (!) and set UseEEPROM to 1 and flash BSB-LAN again to the microcontroller. Only now will BSB-LAN read and use the settings from the EEPROM, so you can make further changes in the web-interface. If you cannot flash the device: If you cannot flash the device on site, you can reset BSB-LAN to the last BSB_LAN_config.h setting by connecting two pins before and during booting the microcontroller : ESP32-Olimex: Connect pins 34 and 3V3. ESP32-NodeMCU: Connect pins 21 and 3V3. Arduino Due: Connect pins 31 and 33. If the pins were successfully connected, the built-in LED of the microcontroller will flash slowly for four seconds. Afterwards open the configuration in the web-interface, check all settings in the configuration and save them. This will store the working settings to the EEPROM. Temporary access point on an ESP32-based microcontroller On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. In this casee, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and see if you can fix the configuration this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Category list suddenly so small BSB-LAN needs to detect the heating system's controller to determine the categories to display. If BSB-LAN is not connected to the controller or the detection otherwise fails, only a few universal categories are displayed. Cannot read any parameters / device family is 0 Wrong bus type (BSB instead of LPB or vice versa). If the red LED of the adapter is not on (and ideally slightly flickering), there is a problem with the wiring between the adapter and the heating system. The red LED will come one once the adapter is connected correctly, even if the BSB-LAN adapter isn't even connected to the microcontroller! No data even though the adapter's red LED is on Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line. Make sure you have powered on the microcontroller. You may think that the heating system powers the microcontroller because the LED on the BSB-LAN adapter is on, but it doesn't. You need to power it separately. With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work. Make sure the RX/TX pins are set/detected correctly. No or unreliable network connection Try powering the microcontroller via USB from a laptop. We have had many cases where power supplies were unreliable despite having sufficient ratings. Look at the Serial Monitor log to check if the microcontroller could acquire an IP address. If not, then your network settings or physical connection may be faulty. No connection to hidden WiFi network possible Yes, that is a known restriction. The only way to do that is to set the BSSID specifically in BSB_LAN_config.h . Room temperature (or any other parameter) cannot be set Check BSB-LAN's settings and make sure that write access is enabled and set to standard or complete . Web-interface freezes when making new connection BSB-LAN is not a multi-tasking system. This means it can attend to one task at a time. So even if a URL command is aborted (by closing the browser window), BSB-LAN might not detect this and only start serving new requests once the previous one is finished. The Serial Monitor is not showing readable data Make sure the speed is set correctly to 115200 bps. Make sure the correct port is selected.","title":"Troubleshooting"},{"location":"troubleshooting.html#troubleshooting","text":"BSB-LAN tries to make accessing your heating system as easy as possible, but there are always things that can go wrong. If you still have a problem after reading this document as well as the FAQ , please open up a bug report on the project's GitHub page and make sure that you provide us with all the necessary log files and further required details, especially from the Serial Monitor (or SerMo in short).","title":"Troubleshooting"},{"location":"troubleshooting.html#using-the-serial-monitor","text":"Access the Serial Monitor by going to Tools/Serial Monitor in the Arduino IDE. Set the transmission speed to 115200 at the top right corner of the serial monitor window. Make sure you copy the messages right from the moment your microcontroller boots (indicated by the READY message) until the moment you encounter the problem. Please do not send screenshots, only plain text files. The Serial Monitor in the Arduino IDE currently has a bug that allows you to only copy those parts of the Serial Monitor messages that you can see on the screen. Although this means that copying larger portions of log messages is tedious, you still have to provide the complete log in order to get support. Increasing the size of the Serial Monitor window helps a little.","title":"Using the Serial Monitor"},{"location":"troubleshooting.html#compiling-fails-sketch-too-big","text":"Select the \"Minimal SPIFFS (Large APPS with OTA)\" partition scheme in the Arduino IDE under Tools/Partition Scheme . If you are using over-the-air updates, you have to flash the software once via USB after changing the partition scheme before OTA updates will work again.","title":"Compiling fails: \"Sketch too big\""},{"location":"troubleshooting.html#no-access-to-web-interface-anymore","text":"If you have changed the settings in such a way that you cannot access the web-interface anymore, there are two ways to restore the system: If you can flash the device: Configure BSB_LAN_config.h with correct, working settings. Set UseEEPROM to 0 . Flash BSB-LAN onto the microcontroller. You can now access BSB-LAN. Go to \"Settings\" and save the settings. This will store the working settings to the EEPROM. Now edit BSB_LAN_config.h again (!) and set UseEEPROM to 1 and flash BSB-LAN again to the microcontroller. Only now will BSB-LAN read and use the settings from the EEPROM, so you can make further changes in the web-interface. If you cannot flash the device: If you cannot flash the device on site, you can reset BSB-LAN to the last BSB_LAN_config.h setting by connecting two pins before and during booting the microcontroller : ESP32-Olimex: Connect pins 34 and 3V3. ESP32-NodeMCU: Connect pins 21 and 3V3. Arduino Due: Connect pins 31 and 33. If the pins were successfully connected, the built-in LED of the microcontroller will flash slowly for four seconds. Afterwards open the configuration in the web-interface, check all settings in the configuration and save them. This will store the working settings to the EEPROM. Temporary access point on an ESP32-based microcontroller On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. In this casee, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and see if you can fix the configuration this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h .","title":"No access to web-interface anymore"},{"location":"troubleshooting.html#category-list-suddenly-so-small","text":"BSB-LAN needs to detect the heating system's controller to determine the categories to display. If BSB-LAN is not connected to the controller or the detection otherwise fails, only a few universal categories are displayed.","title":"Category list suddenly so small"},{"location":"troubleshooting.html#cannot-read-any-parameters-device-family-is-0","text":"Wrong bus type (BSB instead of LPB or vice versa). If the red LED of the adapter is not on (and ideally slightly flickering), there is a problem with the wiring between the adapter and the heating system. The red LED will come one once the adapter is connected correctly, even if the BSB-LAN adapter isn't even connected to the microcontroller!","title":"Cannot read any parameters / device family is 0"},{"location":"troubleshooting.html#no-data-even-though-the-adapters-red-led-is-on","text":"Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line. Make sure you have powered on the microcontroller. You may think that the heating system powers the microcontroller because the LED on the BSB-LAN adapter is on, but it doesn't. You need to power it separately. With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work. Make sure the RX/TX pins are set/detected correctly.","title":"No data even though the adapter's red LED is on"},{"location":"troubleshooting.html#no-or-unreliable-network-connection","text":"Try powering the microcontroller via USB from a laptop. We have had many cases where power supplies were unreliable despite having sufficient ratings. Look at the Serial Monitor log to check if the microcontroller could acquire an IP address. If not, then your network settings or physical connection may be faulty.","title":"No or unreliable network connection"},{"location":"troubleshooting.html#no-connection-to-hidden-wifi-network-possible","text":"Yes, that is a known restriction. The only way to do that is to set the BSSID specifically in BSB_LAN_config.h .","title":"No connection to hidden WiFi network possible"},{"location":"troubleshooting.html#room-temperature-or-any-other-parameter-cannot-be-set","text":"Check BSB-LAN's settings and make sure that write access is enabled and set to standard or complete .","title":"Room temperature (or any other parameter) cannot be set"},{"location":"troubleshooting.html#web-interface-freezes-when-making-new-connection","text":"BSB-LAN is not a multi-tasking system. This means it can attend to one task at a time. So even if a URL command is aborted (by closing the browser window), BSB-LAN might not detect this and only start serving new requests once the previous one is finished.","title":"Web-interface freezes when making new connection"},{"location":"troubleshooting.html#the-serial-monitor-is-not-showing-readable-data","text":"Make sure the speed is set correctly to 115200 bps. Make sure the correct port is selected.","title":"The Serial Monitor is not showing readable data"},{"location":"using.html","text":"Using BSB-LAN Controlling the heating system via the web-interface As a first step \u2013 or if you just want to turn your heating system on or off \u2013 you can simply open the BSB-LAN web-interface and go to the Settings menu. This will display a list of categories from your heating controller. You can click on each category and will get a list of corresponding parameters. If you see a Set button, it means the parameter can be changed, and clicking on the button will send the new value to the heater. If there is no Set button, the parameter is read-only and there is no way to change the parameter. Using BSB-LAN's URL commands Most of BSB-LAN's functionality can be controlled using URL commands. These are useful or even necessary when connecting BSB-LAN to a home automation system , but also provide access to functions not directly accessible via the web-interface. URL commands are called right after BSB-LAN's hostname and an (optional) passkey. So to get a list of categories, one would have to open the URL http://bsb-lan.local/K (or http://bsb-lan.local/1234/K if the passkey 1234 is in use). Querying and setting parameters table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 80%; } URL command Functionality / Query setting of parameter /! Query setting of parameter from controller at destination address /// Query settings of parameters , and . Parameters can include ! to address different controllers. /- Query settings of parameters to /!- Query settings of parameters to from controller at destination address /K List all parameter categories from controller at default destination address /K! List all parameter categories from controller at destination address /K Query all parameters of category from controller at default destination address /K! Query all parameters of category from controller at destination address /S= Set parameter from controller at default destination address to value . To set a parameter to --- (off/deactivated), just send an empty value: S= /S!= Set parameter from controller at destination address to value . /I= Send value y as INF telegram to parameter . So far only required with setting room temperature (parameters 10000 ff.). Configuration URL command Functionality /C Configuration /CO Dump BSB-LAN's configuration /P,, Temporarily set bus type to , own address to and target address to . /V Enable ( 1 ) or disable ( 0 ) verbose output mode. Should remain enabled unless specifically instructed. Logging URL command Functionality /DG Graphical display (graph plot) of an active log file /D or /DD Dumps log file datalog.txt from storage. Contains the logged parameters and values when logging to SD card is active. /D Dumps the most recent calender days of the log file /D, Dumps data from log file between and . and have to be set in the format yyyy-mm-dd (e.g. /D2024-04-01,2024-04-30 ) /D0 Reset both log files datalog.txt and journal.txt and create new headers. Should be executed before first logging. /DK Purges data older than days from the log file /LN Forces logging irrespective of current interval and restarts the configured interval at this point of time /L=,, Set logging interval to seconds and (optionally) reset logging parameters to , etc. until reboot /L=0,0 Deactivate logging to storage until reboot /LB= Log only broadcast telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /LU= Log only unknown bus telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /A=0 Disable 24h average calculation until reboot /A=,, Change 24h average value calculation to parameters , and until reboot /B0 Reset stats for accumulated burner-runtime and -cycles /DD0 Remove log file datalog.txt only /DJ Dumps log file journal.txt from storage /DJ0 Remove log file journal.txt only /LD Disable logging of telegrams to journal.txt until reboot /LE Enable logging of telegrams to journal.txt Parameter information URL command Functionality /E Displays parameter options of parameter . Only available for option-type parameters such as data types VT_ENUM , VT_CUSTOM_ENUM , VT_BITS and VT_CUSTOM_BITS . /R Query default setting of parameter GPIO control URL command Functionality /G Displays the actual state of GPIO pin /G= Set GPIO pin to HIGH ( = 1 ) or LOW ( = 0 ) JSON interface URL command Functionality /JQ=,, Query parameters , and and return a JSON structure /JQ Query parameters based on a received JSON structure via HTTP POST /JK= Query all parameters of category /JS Set parameters based on a received JSON structure via HTTP /JR Query default value of parameter and return a JSON structure /JK=ALL Dump ranges for all available categories as JSON structure /JC=,, Dump possible values for parameters , and for option-type parameters. Same JSON structure as /JK= . /JB Backup of all writeable parameters in a JSON structure that can be used to write back using /JS /JL Creates a JSON structure of BSB-LAN's configuration settings` /JW Writes configuration settings based on a JSON structure created by /JL /JI Dump runtime information of BSB-LAN as JSON structure` /JV Return the version of BSB-LAN's JSON-API as a JSON structure Misceallaneous URL command Functionality /M Send ( 1 ) or revoke ( 0 ) MQTT auto-discovery messages for all parameters from controller at default destination address. /N Reset and reboot microcontroller (takes approx. 15 seconds) /NE Erase EEPROM and reboot the microcontroller. All configuration settings will subsequently be read from configuration file until set and saved again in the web-interface to be written to EEPROM. /QD Dump parameter structure from heating system /W With a preceding /W the URL commands C , S and Q return data without HTML header and footer (e.g.: /WC or /WS= ). Using the graphical plot functionality If logged data on storage (either SD card or internal flash) is available, the Display log file becomes clickable. By default, it will display the logged data in the browser. To access the logged data itself (in the file datalog.txt ), use the /D URL command mentioned above. By default, \"Display log file\" displays the log data of the most recent n calendar days ( n=DEFAULT_DAYS_TO_PLOT , configurable in BSB_LAN_config.h ). Subsequently, controls on the web page can be used to select a different range, depending on the data contained in the log file Mouseover, click and mouse wheel actions within the graphical display provide various control options: - Better legibility for value numbers with plot lines close to each other (mouseover on plot) - Users can interactively highlight plot lines for improved overview (mouseover on legend entries) - Users can interactively disable plot lines for improved overview and vertical scaling (click on legend entries) - Zoom (mousewheel/pinch on plot) and pan capability (drag zoomed-in plot)","title":"BSB-LAN's functions"},{"location":"using.html#using-bsb-lan","text":"","title":"Using BSB-LAN"},{"location":"using.html#controlling-the-heating-system-via-the-web-interface","text":"As a first step \u2013 or if you just want to turn your heating system on or off \u2013 you can simply open the BSB-LAN web-interface and go to the Settings menu. This will display a list of categories from your heating controller. You can click on each category and will get a list of corresponding parameters. If you see a Set button, it means the parameter can be changed, and clicking on the button will send the new value to the heater. If there is no Set button, the parameter is read-only and there is no way to change the parameter.","title":"Controlling the heating system via the web-interface"},{"location":"using.html#using-bsb-lans-url-commands","text":"Most of BSB-LAN's functionality can be controlled using URL commands. These are useful or even necessary when connecting BSB-LAN to a home automation system , but also provide access to functions not directly accessible via the web-interface. URL commands are called right after BSB-LAN's hostname and an (optional) passkey. So to get a list of categories, one would have to open the URL http://bsb-lan.local/K (or http://bsb-lan.local/1234/K if the passkey 1234 is in use).","title":"Using BSB-LAN's URL commands"},{"location":"using.html#querying-and-setting-parameters","text":"table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 80%; } URL command Functionality / Query setting of parameter /! Query setting of parameter from controller at destination address /// Query settings of parameters , and . Parameters can include ! to address different controllers. /- Query settings of parameters to /!- Query settings of parameters to from controller at destination address /K List all parameter categories from controller at default destination address /K! List all parameter categories from controller at destination address /K Query all parameters of category from controller at default destination address /K! Query all parameters of category from controller at destination address /S= Set parameter from controller at default destination address to value . To set a parameter to --- (off/deactivated), just send an empty value: S= /S!= Set parameter from controller at destination address to value . /I= Send value y as INF telegram to parameter . So far only required with setting room temperature (parameters 10000 ff.).","title":"Querying and setting parameters"},{"location":"using.html#configuration","text":"URL command Functionality /C Configuration /CO Dump BSB-LAN's configuration /P,, Temporarily set bus type to , own address to and target address to . /V Enable ( 1 ) or disable ( 0 ) verbose output mode. Should remain enabled unless specifically instructed.","title":"Configuration"},{"location":"using.html#logging","text":"URL command Functionality /DG Graphical display (graph plot) of an active log file /D or /DD Dumps log file datalog.txt from storage. Contains the logged parameters and values when logging to SD card is active. /D Dumps the most recent calender days of the log file /D, Dumps data from log file between and . and have to be set in the format yyyy-mm-dd (e.g. /D2024-04-01,2024-04-30 ) /D0 Reset both log files datalog.txt and journal.txt and create new headers. Should be executed before first logging. /DK Purges data older than days from the log file /LN Forces logging irrespective of current interval and restarts the configured interval at this point of time /L=,, Set logging interval to seconds and (optionally) reset logging parameters to , etc. until reboot /L=0,0 Deactivate logging to storage until reboot /LB= Log only broadcast telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /LU= Log only unknown bus telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /A=0 Disable 24h average calculation until reboot /A=,, Change 24h average value calculation to parameters , and until reboot /B0 Reset stats for accumulated burner-runtime and -cycles /DD0 Remove log file datalog.txt only /DJ Dumps log file journal.txt from storage /DJ0 Remove log file journal.txt only /LD Disable logging of telegrams to journal.txt until reboot /LE Enable logging of telegrams to journal.txt","title":"Logging"},{"location":"using.html#parameter-information","text":"URL command Functionality /E Displays parameter options of parameter . Only available for option-type parameters such as data types VT_ENUM , VT_CUSTOM_ENUM , VT_BITS and VT_CUSTOM_BITS . /R Query default setting of parameter ","title":"Parameter information"},{"location":"using.html#gpio-control","text":"URL command Functionality /G Displays the actual state of GPIO pin /G= Set GPIO pin to HIGH ( = 1 ) or LOW ( = 0 )","title":"GPIO control"},{"location":"using.html#json-interface","text":"URL command Functionality /JQ=,, Query parameters , and and return a JSON structure /JQ Query parameters based on a received JSON structure via HTTP POST /JK= Query all parameters of category /JS Set parameters based on a received JSON structure via HTTP /JR Query default value of parameter and return a JSON structure /JK=ALL Dump ranges for all available categories as JSON structure /JC=,, Dump possible values for parameters , and for option-type parameters. Same JSON structure as /JK= . /JB Backup of all writeable parameters in a JSON structure that can be used to write back using /JS /JL Creates a JSON structure of BSB-LAN's configuration settings` /JW Writes configuration settings based on a JSON structure created by /JL /JI Dump runtime information of BSB-LAN as JSON structure` /JV Return the version of BSB-LAN's JSON-API as a JSON structure","title":"JSON interface"},{"location":"using.html#misceallaneous","text":"URL command Functionality /M Send ( 1 ) or revoke ( 0 ) MQTT auto-discovery messages for all parameters from controller at default destination address. /N Reset and reboot microcontroller (takes approx. 15 seconds) /NE Erase EEPROM and reboot the microcontroller. All configuration settings will subsequently be read from configuration file until set and saved again in the web-interface to be written to EEPROM. /QD Dump parameter structure from heating system /W With a preceding /W the URL commands C , S and Q return data without HTML header and footer (e.g.: /WC or /WS= ).","title":"Misceallaneous"},{"location":"using.html#using-the-graphical-plot-functionality","text":"If logged data on storage (either SD card or internal flash) is available, the Display log file becomes clickable. By default, it will display the logged data in the browser. To access the logged data itself (in the file datalog.txt ), use the /D URL command mentioned above. By default, \"Display log file\" displays the log data of the most recent n calendar days ( n=DEFAULT_DAYS_TO_PLOT , configurable in BSB_LAN_config.h ). Subsequently, controls on the web page can be used to select a different range, depending on the data contained in the log file Mouseover, click and mouse wheel actions within the graphical display provide various control options: - Better legibility for value numbers with plot lines close to each other (mouseover on plot) - Users can interactively highlight plot lines for improved overview (mouseover on legend entries) - Users can interactively disable plot lines for improved overview and vertical scaling (click on legend entries) - Zoom (mousewheel/pinch on plot) and pan capability (drag zoomed-in plot)","title":"Using the graphical plot functionality"},{"location":"de/faq.html","text":"H\u00e4ufig gestellte Fragen (FAQ) Meine Heizung hat einen OpenTherm/eBus/L-Bus/R-Bus Anschluss, kann ich damit BSB-LAN benutzen? Nein, diese Regler sind nicht mit BSB-LAN kompatibel. Bitte auf keinen Fall versuchen, den Adapter mit diesen Systemen zu verbinden! Ich vermisse die Funktion XYZ BSB-LAN erm\u00f6glicht es, eigene Funktionen hinzuzuf\u00fcgen, daf\u00fcr gibt es die Dateien BSB_LAN_custom_global.h , BSB_LAN_custom_setup.h und BSB_LAN_custom.h . Bitte schau' Dir das Verzeichnis custom_functions im Repository an, um weitere Details und Beispiele zu bekommen. Wir freuen uns \u00fcber weitere Beitr\u00e4ge!","title":"FAQ"},{"location":"de/faq.html#haufig-gestellte-fragen-faq","text":"","title":"H\u00e4ufig gestellte Fragen (FAQ)"},{"location":"de/faq.html#meine-heizung-hat-einen-openthermebusl-busr-bus-anschluss-kann-ich-damit-bsb-lan-benutzen","text":"Nein, diese Regler sind nicht mit BSB-LAN kompatibel. Bitte auf keinen Fall versuchen, den Adapter mit diesen Systemen zu verbinden!","title":"Meine Heizung hat einen OpenTherm/eBus/L-Bus/R-Bus Anschluss, kann ich damit BSB-LAN benutzen?"},{"location":"de/faq.html#ich-vermisse-die-funktion-xyz","text":"BSB-LAN erm\u00f6glicht es, eigene Funktionen hinzuzuf\u00fcgen, daf\u00fcr gibt es die Dateien BSB_LAN_custom_global.h , BSB_LAN_custom_setup.h und BSB_LAN_custom.h . Bitte schau' Dir das Verzeichnis custom_functions im Repository an, um weitere Details und Beispiele zu bekommen. Wir freuen uns \u00fcber weitere Beitr\u00e4ge!","title":"Ich vermisse die Funktion XYZ"},{"location":"de/index.html","text":"What is BSB-LAN? BSB-LAN is a software /hardware solution for accessing the \u201cBoiler-System-Bus\u201d (BSB) , the \u201cLocal-Process-Bus (LPB)\u201d and the \u201cPunkt-zu-Punkt-Schnittstelle\u201d (PPS) . The BSB-LAN hardware is available for various ESP32 -based microcontrollers (ESP32 NodeMCU, Olimex EVB, Olimex POE-ISO) as well as for an Arduino Due with Ethernet shield. It allows accessing the heating systems from Atlantic, Br\u00f6tje, Elco and many other manufacturers via LAN/WLAN, provided that they use one of the Siemens controllers listed below. BSB-LAN makes it possible to monitor and control the heating and log any given values. This project supports almost all parameters available on the heating systems and can be a more comprehensive and cost-effective alternative to the OZW 672, OCI 700 or Remocon Net B. Optional integration into existing smart home systems such as Home Assistant , ioBroker , openHAB , Node-RED , Homebridge , Jeedom , SmartHomeNG , Volksz\u00e4hler , FHEM , HomeMatic , Loxone, IP-Symcon or EDOMI is possible via MQTT , JSON or HTTP access . The adapter can also be used as a standalone logger without LAN or Internet connection when using a microSD card. Temperature and humidity sensors can also be connected and their data can also be logged and analyzed. The option of integrating your own code into the BSB-LAN software also offers a wide range of expansion options. Where and how do I begin? You are an experienced user? Head on to the quickstart instructions . Otherwise (or if you run into problems), please read on! Is my heating system supported by BSB-LAN? Please go to the list of supported heating systems . If you already know that your system is supported, find out more about the BSB-LAN adapter and where to get it. If you already have the adapter, you may want to know how to install the adapter . If you have installed the adapter, you will need to configure BSB-LAN . Once you have everything up and running, find out about how to use BSB-LAN or learn more about the ways to ingetrate BSB-LAN into home automation systems . Our wiki pages are continuously growing and provide background knowledge as well as more specialized topics on BSB-LAN and heating systems in general. If you run into troubles, have a look at the troubleshooting page . And before you ask anyone else any questions, have a look at our Frequently Asked Questions (FAQ) first!","title":"\u00dcberblick"},{"location":"de/bsb-lan_adapter.html","text":"The BSB-LAN adapter Adapter boards available - contact Frederik at bsb(\u00e4t)code-it.de (German or English) for more details. In order to connect to your heating system with a microcontroller, you need to have an adapter board that does the necessary logic-level conversion: The adapter is then plugged right onto the microcontroller, either underneath the pins of the ESP32-NodeMCU or onto the UEXT connector of the Olimex: The two different types of ESP32 adapters (Olimex and ESP32-NoceMCU) only vary in the location of their connectors, the other parts of the board are identical. The Arduino Due board contains an EEPROM chip because the Due does not come with on-board EEPROM. Therefore, you can re-use the Arduino Due board on an ESP32 microcontroller (if you connect the correct pins with wires), but you cannot use an adapter for the ESP32 on an Arduino Due. Suitable microcontrollers BSB-LAN can be installed on three different types of microcontrollers: ESP32-Olimex ESP32-NodeMCU (30 pin version only!) and Arduino Due. Olimex produces several kinds of boards: We recommend either the Olimex ESP32-EVB or the Olimex ESP32-POE-ISO . The simple POE version (without the \"ISO\") is not recommended because it does not allow to be connected to PoE Ethernet and USB at the same time. The Arduino Due requires an Ethernet Shield in order to access the local network. Each of the different controllers have their advantages and disadvantages: Functionality ESP32-Olimex ESP32-POE-ISO ESP32-NodeMCU Arduino Due Ethernet/LAN X X - X WiFi/WLAN X X X - Over-the-air updateable X X X - Built-in micro-SD card X X - - Accessible GPIOs 2 (GPIO13/16) some some many","title":"Der BSB-LAN Adapter"},{"location":"de/bus_systems.html","text":"The BSB/LPB/PPS Bus Developed at the end of the last millenium based on the BatiBUS (more information can be found here and here ), many Siemens heating system controllers still use the same kind of physical bus to \"talk\" to room units as well as other heating devices. While a bus speed of a mere 4800 bits per second might sound anachronistic these days, it still provides for a stable and robust transmission protocol that is even today perfectly sufficient when it comes to transmitting short messages of a few dozen bytes over lines sometimes as long as one kilometer. The bus topology also allows you to connect BSB-LAN at any point: At the room unit, at the heating system or anywhere where the bus lines are available. You can even add the two wires for BSB-LAN in an already \"occupied\" slot, and it won't harm the other device (proper installation assumed). On top of the same physical layer, three bus systems, BSB, LPB and PPS, cater for different tasks, and while BSB and LPB should always be preferred if available, PPS nevertheless provides a set of parameters that is usually quite enough for the average user. BSB-LAN runs on any of these busses and swapping between them is just changing a few settings away. The Boiler System Bus (BSB) BSB is the most common bus system in Siemens controllers for the last 10-15 years. It is the successor of the PPS system with which it shares the same physical parameters, but is much more versatile: Instead of just a few dozen parameters, it can access hundreds of parameters and group them into various categories for easier navigation. It is a transaction-based protocol where most messages are being sent from one device to another and the recipient returning some kind of feedback, for example whether the task could be completed or whether it contained invalid data. While BSB is capable of addressing multiple devices on the bus, it is not used in systems with more than one heating device. The heating device always has the ID 0 , the display unit on the heating system has the ID 10 (or 0x0A in hexadecimal) and the standard room unit has the ID 6 . BSB-LAN has the ID 66 or 0x42 in hexadecimal. Room units that \"speak\" BSB are, for example, the QAA55 and the QAA75. The Local Process Bus (LPB) LPB was introduced more or less around the same time as PPS which it complemented in terms of communication with other heating devices: While PPS was used to communicate with the room unit, LPB was used to send commands from one main heating device to one or more auxilliary heating devices, for example in a cascade setup. At that time, most of the information transmitted via LPB was related to the internals of the heating system (such as sensor data or internal setpoint temperatures), whereas the parameters relevant for the user (such as comfort temperature setpoint etc.) were only available via PPS. Nowadays, heating devices that offer both LPB and BSB have the same kind of parameter data available on both bus systems. LPB uses a specific addressing scheme with segments and devices. Each segment from 0 to 15 can contain up to 15 devices (from 1 to 15). When writing these addresses, segment and device are separated by a colon: 00:01 or 04:03 . To convert the segment-based address into the destination ID required for BSB-LAN, the formula is as this: SEGMENT multiplied by 16 plus DEVICE minus one. Example: Device 3 in segment 4 equals to 4 * 16 + 3 - 1 = 66. The main heating unit is by definition 00:01 , so this equals to a destination ID 0. To learn more about the LPB system and how it should be deployed, you may refer to these two documents from the end of the 1990s, one covers the basic system data that covers the conceptualization of an LPB network, and the other one deals with the basic engineering data and provides details about cable lengths and diameters etc. Except for some Weishaut heaters, room units are not connected to the heating system via LPB. Newer models use BSB for this task while older models use either PPS or in some cases also OpenTherm. The Point-to-Point Interface (PPS) The Point-to-Point Interface (PPS deriving from the German term \"Punkt-zu-Punkt Schnittstelle\") is compatible to the other systems on a physical layer, but not in the way message telegrams are being exchanged. While BSB and LPB talk to each other by sending telegrams and acknowledging their receipt respectively, PPS is dominated by the heating unit. The heating unit constantly sends its data to the room unit and tells the room unit when and what kind of information it should send. It is a very timing sensitive protocol, therefore long other tasks that BSB-LAN is told to do will lead to a temporary interruption and possible error message on the heating system. However, after a short while, this should be clearing by itself when the two components \"talk\" to each other again. Other than BSB and LPB, changes made in BSB-LAN do not take immediate effect. Changing values, for example like the room temperature comfort setpoint, will be stored internally in BSB-LAN first to be sent out to the heating system once it tells the room unit (i.e. BSB-LAN) to do so. This may take up to a minute or so, so one should not be confused that settings do not show up on the heater immediately, as is the case with BSB and LPB. With PPS, BSB-LAN can run in two modes: passive and as a room unit. In passive mode, BSB-LAN can just listen to the data exchanged between the room unit and the heating device. It is not possible to send one's own data, for the simple fact that it would be overwritten in no time by the same type of data coming from the room unit. In order to send parameter data to the heating system, BSB-LAN mus run in \"room unit\" mode, and this means that any room unit will have to be removed from the heating system. In this case, it is especially important to regularly send a room temperature value to BSB-LAN which in turn will send this value to the heating device. Only if the heater runs solely on outside temperature then this value can be ignored. BSB-LAN stores some values in its non-volatile EEPROM, but some values need to be set anew after a reboot, such as the room temperature setpoint. This is to prevent to store a parameter value that has become invalid but is still sent as it is stored in the EEPROM. Room units commonly used with heating systems that support PPS are the QAA50 and the QAA70.","title":"Der BSB/LPB/PPS Bus"},{"location":"de/configure.html","text":"Configuration There are two ways to configure BSB-LAN: Through the configuration file BSB_LAN_config.h Through the web-interface by calling http://bsb-lan.local/C (or the corresponding IP address) For the initial configuration, some settings have to be configured in the configuration file (such as language and network settings). Any further changes can be done also in the web-interface. It may, however, be useful to do the configuration (also) in the configuration file in case one needs to change the microcontroller. Almost all settings exist also in the web-interface and vice versa. On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. So even without any further configuration, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and proceed with the configuration via this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Configuration through `BSB_LAN_config.h`` The configuration file consists of variables that are used in other parts of BSB-LAN. It is therefore important to only change the contents of the variables (i.e. the settings) and not the type of the variables. So if there is for example the setting byte ip_addr[4] = {192,168,178,88}; you must not alter the byte ip_addr[4] = part, only the contents, in this case the comma-separated IP address. Configuration through the web-interface Configuring BSB-LAN through the web-interface is pretty straightforward, as you don't have to deal with variable names but clear descriptions. Initially, only a selected number of configuration options are displayed in the webinterface. To have access to all of them, you have to set the \"extended configuration\" option to \"on\". Overview of configuration options table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 20%; } table th:nth-of-type(3) { width: 40%; } table th:nth-of-type(4) { width: 20%; } General Settings Web-Interface Configuration File Functionality Possible settings - #define LANG Set language DE , EN , FR and other ISO country codes Display extended configuration - Show all configuration options On Off Read config from EEPROM UseEEPROM Read configuration from EEPROM or file On ( 1 ) Off ( 0 ) Write access (level) - If DEFAULT_FLAG is set to FL_SW_CTL_RONLY , you can set the level of write access here. Off (read-only) On (Standard) On (Complete) Check for updates enable_version_check Query BSB-LAN server for new available version On ( true ) OTA Update enable_ota_update Enable over-the-air (OTA) update On ( true ) Energy saving esp32_save_energy Reduces speed, saves energy. Do not enable when using WiFi. On ( true ) Off ( false ) Webserver file system webserver Enables serving files from SD card On ( true ) Off ( false ) - #define DEFAULT_FLAG Set read/write access to heating system. FL_RONLY sets all parameters to read-only. FL_SW_CTL_RONLY allows setting read/write access via web-interface configuration setting. 0 makes all parameters that could be written writeable. Do not use this option unless instructed otherwise! FL_RONLY FL_SW_CTL_RONLY 0 Bus settings Web-Interface Configuration File Functionality Possible settings Bus type bus_type Bus type (BSB/LPB/PPS) BSB ( 0 ) LPB ( 1 ) PPS ( 2 ) PPS: mode pps_write BSB-LAN can act as a PPS room unit (only if no real room unit is connected) or just listen passively. passive ( 0 ) as room unit ( 1 ) PPS: QAA model QAA_TYPE Room unit that should be simulated for PPS bus QAA70 ( 0x53 ), QAA50 ( 0x52 ), QAA95 ( 0x37 ), QAW10 ( 0x4D ), QAW20 ( 0x4E ), MCBA/REA70/DC225 ( 0x58 ), QAA10 ( 0x5A ), QAA20 ( 0x5B ), QAA12/13 ( 0x5D ), BMU ( 0x66 ), RVD130 ( 0x43 ) Own address own_address Own bus address (default 66 should not be changed) 66 ( 66 ) Destination address dest_address Destination bus address. For BSB always 0 . For LPB 0 if destination device is in segment 1, device address 0. To convert from LPB segment and device address notation to destination address, multiply segment by 16, add the device address and subtract one. For example, to address a device in segment 4 with device address 3, the destination address is (4 * 16) + 3 - 1 = 66 . For PPS not relevant. 0 ( 0 ) Device family fixed_device_family Set the device family that BSB-LAN should emulate. Leave at 0 for auto-detection. 0 ( 0 ) Device variant fixed_device_variant Set the device variant that BSB-LAN should emulate. Leave at 0 for auto-detection 0 ( 0 ) RX pin number TX pin number bus_pins Define the RX/TX pins to communicate with the BSB-LAN adapter. Leave at 0 for auto-detection. 0 and 0 ( 0, 0 ) Network settings Web-Interface Configuration File Functionality Possible settings Network device network_type Choose between WLAN and LAN to connect BSB-LAN to the network. LAN ( 0 ) WLAN ( 1 ) WLAN SSID wifi_ssid Set the WLAN network name when using WLAN. Your_WLAN_name ( Your_WLAN_name ) WLAN password wifi_pass Set the WLAN password when using WLAN. YourWLANpassword ( YourWLANpassword ) DHCP usage use_dhcp Set whether or not to use DHCP to get an IP address from the router. On ( true ) Off ( false ) IP address (fixed) ip_addr When not using DHCP, you can set a fixed IP address here. Otherwise leave at 0.0.0.0 . In the web-interface, you may use dot notation. In the configuration file, you have to use comma as a separator. 192.168.178.88 ( 192,168,178,88 ) Subnet subnet_addr Subnet when using fixed IP address. Same notation as with IP address. 255.255.255.0 ( 255,255,255,0 ) Gateway gateway_addr Gateway address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) DNS Server dns_addr DNS server address when using fixed IP address. Same notation as with IP address. 192.168.178.1 ( 192,168,178,1 ) TCP Port HTTPPort HTTP port number to access the web-interface. Defaults to 80 . 80 ( 80 ) MAC address mac Set a fixed MAC address. Only relevant on Arduino. 00:80:41:19:69:90 ( 0x00, 0x80, 0x41, 0x19, 0x69, 0x90 ) mDNS Hostname mDNS_hostname Hostname for mDNS discovery BSB-LAN ( BSB-LAN ) HTTP authentification USER_PASS If not empty, this setting contains the username and password for HTTP authentification, separated by a colon. Username:Password ( Username:Password ) URL Passkey PASSKEY Passkey adds a user-defined sequence that needs to be added to the URL after the hostname. For example, a passkey of 1234 requires every URL to be written as http://bsb-lan.local/1234/ instead of just http://bsb-lan.local/1234/ . Leave empty for no passkey. 1234 ( 1234 ) Trusted IP address trusted_ip_addr Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.89 ( 192,168,178,89 ) Trusted IP address trusted_ip_addr2 Access to BSB-LAN is only possible from this IP address. Same notation as with IP address. 192.168.178.90 ( 192,168,178,90 ) - bssid Enter a specific BSSID address here to ensure connecting to a specific access point. Set to all zeros under normal circumstances. ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ) - ntp_server Set an NTP server here to acquire exact time for BSB-LAN. Set to empty string if you don't want to use NTP. ESP32-based microcontrollers only. ( pool.ntp.org ) - local_timezone Timezone to use for NTP. See here for a complete list. ( CET-1CEST,M3.5.0,M10.5.0/3 ) Logging Web-Interface Configuration File Functionality Possible settings Storage device LogDestination Select the destination for logging activities. SD card is highly recommended, as using the internal flash will wear out the internal flash eventually. SD card ( SDCARD ) Internal Flash Storage ( FLASH ) Logging mode LoggingMode Set the logging destinations/activities. Multiple selections are possible, for the configuration file, the values have to be added, for example, to send to MQTT broker and to UDP, set the value to 4 + 8 = 12 Write to SD card ( 1 ) Calculate 24h averages ( 2 ) Send to MQTT broker ( 4 ) Send to UDP ( 8 ) Logging Interval log_interval Interval for logging activities (in seconds) 60 ( 60 ) Log Parameters log_parameters List of logging parameters. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) Log bus telegrams logTelegram Log raw bus telegrams, such as broadcast messages or unknown telegrams Off ( LOGTELEGRAM_OFF ) Log all bus telegrams ( LOGTELEGRAM_ON ) Log unknown bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY ) Log broadcast bus telegrams only ( LOGTELEGRAM_BROADCAST_ONLY ) Log unknown broadcast bus telegrams only ( LOGTELEGRAM_UNKNOWN_ONLY + LOGTELEGRAM_BROADCAST_ONLY ) 24h averages parameters avg_parameters List of parameters for generating 24 hour averages. See addressing instructions below. 8700, 8743!2, 8314!2 ( {8700, -1}, {8743, 2}, {8314, 2} ) - #define DEFAULT_DAYS_TO_PLOT Define default number of days to plot logging data ( 3 ) MQTT Web-Interface Configuration File Functionality Possible settings MQTT Broker server mqtt_broker_addr Hostname/IP of the MQTT broker my-mqtt-broker.local ( my-mqtt-broker.local ) MQTT Username MQTTUsername Optional username for MQTT broker MyMQTTusername ( MyMQTTusername ) MQTT Password MQTTPassword Optional password for MQTT broker MyMQTTpassword ( MyMQTTpassword ) MQTT Device ID MQTTDeviceID Device identifier for MQTT BSB-LAN ( BSB-LAN ) MQTT Topic prefix MQTTTopicPrefix Topic prefix for MQTT BSB-LAN ( BSB-LAN ) MQTT Usage mqtt_mode Set the format for MQTT messages Plain text ( 1 ) - Send parameter number and value in plain text format JSON ( 2 ) - Send messages in JSON format (parameter number and value only) Rich JSON ( 3 ) - Send parameter number/name/value/unit/error in JSON format. Sensors and external devices Web-Interface Configuration File Functionality Possible settings OneWire Pins One_Wire_Pin Set the OneWire pin (use -1 in configuration file to disable) 10 ( 10 ) DHT Pins DHT_Pins Set the DHT22 sensor pins (use -1 in configuration file to disable) 11, 12, 13 ( 11, 12, 13, -1, -1, -1, -1, -1, -1, -1 ) BME280 sensors BME_Sensors Set number of BME280 sensors on the I2C bus. You need to have access to I2C pins. Fixed addresses 0x76 and 0x77 will be used. Use 0 to disable. 1 ( 1 ) MAX! Usage enable_max_cul Enable or disable connection to CUNO/CUNX/modified MAX!Cube On ( true ) Off ( false ) IP address cube max_cul_ip_addr IP address of the CUNO/CUNX/MAX!Cube 192.168.178.21 ( 192,168,178,21 ) MAX! Devices max_device_list IDs of MAX! devices to be polled KEQ0502326, KEQ0505080, KHA0002948 ( \"KEQ0502326\", \"KEQ0505080\", \"KHA0002948\" ) IPWE Usage enable_ipwe Enable IPWE extension ( /ipwe.cgi ) On ( true ) Off ( false ) IPWE Parameters ipwe_parameters List of parameters for display in IPWE extension. See addressing instructions below. 8700, 8743!2, 8314!2 ({8700, -1}, {8743, 2}, {8314, 2}) - #define CUSTOM_COMMANDS Enable custom functions Debugging Web-Interface Configuration File Functionality Possible settings Debugging Usage debug_mode Select debug output Off ( 0 ) Serial ( 1 ) Telnet ( 2 ) Verbosity mode verbose Enable or disable verbose debug messages (do not turn off unless advised) On ( 1 ) Off ( 0 ) Monitor mode monitor Enable or disable monitor mode (do not turn on unless advised) On ( 1 ) Off ( 0 ) Display unknown parameters show_unknown Try and display also parameters not supported by destination device On ( true ) Off ( false ) Adressing different heating controllers In order to address parameters from devices other than the default destination device in the web-interface, you need to add an exclamation mark followed by the device address (see above for converting segment/device notation to device address). For example, parameter 8700 from device address 1 would be written as 8700!1 instead of just 8700 . For the configuration file, parameters are listed in the form {parameter number, destination address} . Parameter 8700 from device address 1 would thus be written as {8700, 1} . To address the default destination, you can do so by using -1 .","title":"Konfiguration"},{"location":"de/homeautomation.html","text":"Connecting BSB-LAN to home automation systems BSB-LAN provides four ways to connect to home automation systems: Exchanging data via MQTT (recommended) Exchanging data via JSON Using supported modules for specific home automation systems Exchanging data via URL commands and screen scraping Exchanging data via MQTT This is the recommended way to connect BSB-LAN to home automation systems because it allows seamless exchange of data. As a prerequisite, a MQTT broker (such as mosquitto is needed, either running locally or via making use of a public service. Some home automation systems such as Home Assistant offer the installation of mosquitto as part of their software. In BSB-LAN, you need to make or enable at least the following configurations: Set Logging mode (additionally) to Send to MQTT Broker . Set Log Interval to the time (in seconds) you want the log parameters to be published. Select up to 20 Log Parameters you want to be sent to your home automation system. Set MQTT Usage to plain text Set MQTT Broker Server to the hostname of your MQTT broker (such as the mosquitto server) If your home automation system supports MQTT auto-discovery (as is the case with Home Assistant), you can call URL command /M1 and BSB-LAN will send auto-discovery messages for all available parameters to the MQTT broker and thus to the home automation system. You may have to clean up afterwards or send a removal message for all these parameters using URL command /M0 . Every time a query is made in BSB-LAN or a parameter changes its value through the room unit, the new value will be sent to the MQTT broker, so even changes made outside of BSB-LAN should be updated into the home automation system, which is why the MQTT approach is the recommended way to connect to a home automation system. Examples for querying or setting parameters via MQTT would look like this (using mosquitto): Query the outside temperature (parameter 8700): mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"8700\" -t BSB-LAN -d Set the comfort temperature setpoint (parameter 710) to 20 degrees: mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"S700=20\" -t BSB-LAN -d Exchanging data via JSON BSB-LAN allows to query and set parameters via JSON structures and also provides numerous information about the parameters and category structures this way. The JSON API is accessd via URL commands and the openapi.yaml file provided in this repository can be used with Swagger to explore its possibilities and functionalitites. Using supported modules for specific home automation systems For some systems, specific modules exist that can be used to access BSB-LAN seamlessly: Home Assistant While the official plugin no longer works, the MQTT approach above works well with Home Assistant. For the details of the implementation, you may also refer to these tutorials: GitHub user @ryann72 wrote detailed instructions for BSB-LAN and HomeAssistant/Mosquitto . It is also available in French . YouTuber @StoneTime has created two videos (in German) where he shows the installation of BSB-LAN as well as setting it up in Home Assistant . Dankesch\u00f6n! YouTuber @ArminasTV has created two videos (in French) where he shows the installation of BSB-LAN as well as how to set it up with Home Assistant and MQTT . Merci beacoup! Homebridge BSB-LAN user Michael has written a plugin for Homebridge . Thank you! ioBroker GitHub user @hacki11 has developed an adapter for ioBroker . Thank you! Jeedom GitHub user @bernard-dandrea has written a plugin for Jeedom (with a French description). Thank you! Node-RED GitHub user @konne wrote a module for Node-RED . Thank you! FHEM FHEM forum user Luposoft has written a compact explanation of the configuration for using FHEM via MQTT. Thank you! openHAB Since version 2.5.4, there exists a binding that is officially part of OpenHAB. Homematic FHEM forum user PaulM has written a few scripts to showcase the integration of BSB-LAN into Homematic. Thank you! SmartHomeNG GitHub user @thensty wrote a plugin for SmartHomeNG . Thank you! Volkszaehler GitHub user @lapixo has contributed a script for the Volkszaehler project . Thank you! Bash script GitHub user @khfm has written Bash scripts to query data and display it using gnuplot. Thank you! Exchanging data via URL commands and screen scraping For simpler solutions, using the URL commands to query and set parameters can be used to control BSB-LAN from other systems. Screen scraping is possible since the project tries not to break certain ways of displaying data, so that parsing with regular expressions remains feasible. Nevertheless, for most scenarios one of the other options will probably be preferrable.","title":"Mit dem Smart Home verbinden"},{"location":"de/install.html","text":"Installation Installing BSB-LAN requires three steps: Installing the Arduino IDE in order to flash the BSB-LAN software onto the microcontroller Assembling the hardware parts Connecting BSB-LAN to the heating system Installing the Arduino IDE and flashing BSB-LAN Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. You may now proceed to configure BSB-LAN. When you are done configuring, go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Subsequent updates on ESP32-based microcontrollers \"over the air\" (OTA) If you are running BSB-LAN on an ESP32-based microcontroller and have enabled Over-the-Air Updates in the settings , you can perform future updates of BSB-LAN using your browser. To do that, instead of using Sketch/Upload , you need to select Sketch/Export Compiled Binary . This will create a build folder in your BSB-LAN folder in which you will find among others the file BSB_LAN.ino.bin . Now open http://bsb-lan.local:8080 and select and upload that file. Do not interrupt the upload process. You may try to access BSB-LAN from a different browser window to see if the process is completed. Please take note that this only applies to ESP32-based microcontrollers. Arduinos do not support this functionality. Assembling the BSB-LAN adapter You can either get a fully assembled adapter from Frederik (bsb(\u00e4t)code-it.de) or build one on your own (see the folder schematics for the schematics). Once you have the BSB-LAN adapter ready, you just need to plug it into the microcontroller. If you are using an Olimex microcontroller, double-check that the adapter really sits in the center of the connector, because it still fits even if it is moved by one pin row to the left or right. Connecting BSB-LAN to the heating system Once the microcontroller and the BSB-LAN adapter are ready, perform the following steps to connect BSB-LAN to the heating system: Unplug the microcontroller from your computer and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Have a look at the list of supported heating systems to get an idea where the pins are located. Do all this at your own risk! Especially take care to prevent electrostatic discharge (ESD) which can destroy both BSB-LAN and the heating controller! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. If there is no empty connector, there is no problem adding the wires for BSB-LAN to an already \"used\" connector, provided the wires are inserted carefully. Now you need to power on the microcontroller. Take note that the heating system does not power the microcontroller, even if the BSB-LAN adapter's LED turns on when you connect it to the heating system. You need to supply power to the microcontroller via its USB port (or via PoE on the Olimex POE-ISO). Make sure to use a stable power supply with at least 2 amperes. Once the microcontroller is powered on, turn on the heating system. The red LED of the BSB-LAN adapter should alight. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . Otherwise, you can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor and set the serial monitor speed to 115200. Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Generating the device-specific parameter list Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters. Once you have received the parameter list (or taken the one from version 2.2.x), you have to replace the existing BSB_LAN_custom_defs.h file with the one sent to you, compile it and flash it again. Now you are ready to access all parameters.","title":"Zusammenbauen"},{"location":"de/quickstart.html","text":"Quickstart instructions These quickstart instructions are for users who are familiar with installing and configuring software on their computer. If you need more detailed instructions, please head to the install instructions ! Make sure that your heating system is compatible with BSB-LAN! Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. Click on the tab with the filename BSB_LAN_config.h and configure at least the following: Search for #define LANG DE : Change DE to EN for English, FR for French etc. Search for uint8_t network_type : Set this to LAN if you are using Ethernet/LAN connection. Set this to WLAN if you are using WiFi/WLAN. If you are not using DHCP, configure the following options according to your network (make sure to use a comma, not a dot for IP addresses!): byte ip_addr[4] = {192,168,178,88}; byte gateway_addr[4] = {192,168,178,1}; byte dns_addr[4] = {192,168,178,1}; byte subnet_addr[4] = {255,255,255,0}; char wifi_ssid[32] = \"Your_Wifi_network_name\"; char wifi_pass[32] = \"Your_WiFi_network_password\"; Now go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Unplug the microcontroller and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Do all this at your own risk! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. Power on the microcontroller via the USB port or via PoE (Olimex POE-ISO only). Then power on the heating system. The red LED of the BSB-LAN adapter should turn on. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . You can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor . Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Done :-) It's not working! Please make sure you check every entry in the Troubleshooting-Section first before getting in touch with us! Why do I only see so few parameters? Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters.","title":"Schnellstart"},{"location":"de/supported_heating_systems.html","text":"Supported heating systems BSB-LAN supports heating systems that communicate using either the BSB (Boiler System Bus) , the LPB (Local Process Bus) or the PPS (Punkt-zu-Punkt-Schnittstelle) . These controllers are usually manufactured by Siemens, older controllers might still bear the company name \"Landis & Stafea\" or \"Landis & Gyr\". We have compiled a list of working models from various heating system manufacturers who have been confirmed working with BSB-LAN, although there is no 100% guarantee that the manufacturers keep the model name but change the controller to a different system. So always make sure to double-check that the right connectors are available. Here are a few examples from heating controllers and the connectors that are used to connect to BSB-LAN. Some connectors have three pins, some have two pins. If there are three pins, make sure you choose the correct two (CL+ and CL-) as the third von (G+) is to provide background lighting for the room unit. It won't harm BSB-LAN, but it might be misleading because BSB-LAN's LED will be on even though it's not connected to the right pin. Controller Image Remarks LMS14 LMS15 BSB connection: + = Left - = Center LMS14 LMS15 BSB connection: CL+/CL- LMU54 LMU64 LPB connection: via additional OCI420 plugin LMU74 LMU75 BSB connection: + = Top - = Center LPB connection: via additional OCI420 plugin RVA53 PPS connection: A6/MD RVA63 LPB connection: MB/DB PPS connection: A6/MD RVP54 PPS connection: A6/M RVS21 BSB connection via connector X86 + = rightmost pin - = second pin from right RVS21 with AVS55 AVS55 extension module, sitting on top of RVS21. BSB connection via connector X86: + = rightmost pin - = second pin from right RVS41 BSB connection: CL+/CL- LPB connection: MB/DB RVS43 LOGON B BSB connection: CL+/CL- LPB connection: MB/DB RVS46 ISR-ZR1 BSB connection: CL+/CL- LPB connection: MB/DB RVS46 BSB connection: CL+/CL- LPB connection: MB/DB RVS51 BSB connection: CL+/CL- LPB connection: MB/DB RVS61 BSB connection: CL+/CL- LPB connection: MB/DB RVS63 BSB connection: CL+/CL- LPB connection: MB/DB List of working controller models There are a many more controllers that are likely to work with BSB-LAN. Look out for these Siemens controller models in your heating system: AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"Unterst\u00fctzte Heizungssysteme"},{"location":"de/troubleshooting.html","text":"Troubleshooting BSB-LAN tries to make accessing your heating system as easy as possible, but there are always things that can go wrong. If you still have a problem after reading this document as well as the FAQ , please open up a bug report on the project's GitHub page and make sure that you provide us with all the necessary log files and further required details, especially from the Serial Monitor (or SerMo in short). Using the Serial Monitor Access the Serial Monitor by going to Tools/Serial Monitor in the Arduino IDE. Set the transmission speed to 115200 at the top right corner of the serial monitor window. Make sure you copy the messages right from the moment your microcontroller boots (indicated by the READY message) until the moment you encounter the problem. Please do not send screenshots, only plain text files. The Serial Monitor in the Arduino IDE currently has a bug that allows you to only copy those parts of the Serial Monitor messages that you can see on the screen. Although this means that copying larger portions of log messages is tedious, you still have to provide the complete log in order to get support. Increasing the size of the Serial Monitor window helps a little. Compiling fails: \"Sketch too big\" Select the \"Minimal SPIFFS (Large APPS with OTA)\" partition scheme in the Arduino IDE under Tools/Partition Scheme . If you are using over-the-air updates, you have to flash the software once via USB after changing the partition scheme before OTA updates will work again. No access to web-interface anymore If you have changed the settings in such a way that you cannot access the web-interface anymore, there are two ways to restore the system: If you can flash the device: Configure BSB_LAN_config.h with correct, working settings. Set UseEEPROM to 0 . Flash BSB-LAN onto the microcontroller. You can now access BSB-LAN. Go to \"Settings\" and save the settings. This will store the working settings to the EEPROM. Now edit BSB_LAN_config.h again (!) and set UseEEPROM to 1 and flash BSB-LAN again to the microcontroller. Only now will BSB-LAN read and use the settings from the EEPROM, so you can make further changes in the web-interface. If you cannot flash the device: If you cannot flash the device on site, you can reset BSB-LAN to the last BSB_LAN_config.h setting by connecting two pins before and during booting the microcontroller : ESP32-Olimex: Connect pins 34 and 3V3. ESP32-NodeMCU: Connect pins 21 and 3V3. Arduino Due: Connect pins 31 and 33. If the pins were successfully connected, the built-in LED of the microcontroller will flash slowly for four seconds. Afterwards open the configuration in the web-interface, check all settings in the configuration and save them. This will store the working settings to the EEPROM. Temporary access point on an ESP32-based microcontroller On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. In this casee, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and see if you can fix the configuration this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Category list suddenly so small BSB-LAN needs to detect the heating system's controller to determine the categories to display. If BSB-LAN is not connected to the controller or the detection otherwise fails, only a few universal categories are displayed. Cannot read any parameters / device family is 0 Wrong bus type (BSB instead of LPB or vice versa). If the red LED of the adapter is not on (and ideally slightly flickering), there is a problem with the wiring between the adapter and the heating system. The red LED will come one once the adapter is connected correctly, even if the BSB-LAN adapter isn't even connected to the microcontroller! No data even though the adapter's red LED is on Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line. Make sure you have powered on the microcontroller. You may think that the heating system powers the microcontroller because the LED on the BSB-LAN adapter is on, but it doesn't. You need to power it separately. With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work. Make sure the RX/TX pins are set/detected correctly. No or unreliable network connection Try powering the microcontroller via USB from a laptop. We have had many cases where power supplies were unreliable despite having sufficient ratings. Look at the Serial Monitor log to check if the microcontroller could acquire an IP address. If not, then your network settings or physical connection may be faulty. No connection to hidden WiFi network possible Yes, that is a known restriction. The only way to do that is to set the BSSID specifically in BSB_LAN_config.h . Room temperature (or any other parameter) cannot be set Check BSB-LAN's settings and make sure that write access is enabled and set to standard or complete . Web-interface freezes when making new connection BSB-LAN is not a multi-tasking system. This means it can attend to one task at a time. So even if a URL command is aborted (by closing the browser window), BSB-LAN might not detect this and only start serving new requests once the previous one is finished. The Serial Monitor is not showing readable data Make sure the speed is set correctly to 115200 bps. Make sure the correct port is selected.","title":"Fehlersuche"},{"location":"de/using.html","text":"Using BSB-LAN Controlling the heating system via the web-interface As a first step \u2013 or if you just want to turn your heating system on or off \u2013 you can simply open the BSB-LAN web-interface and go to the Settings menu. This will display a list of categories from your heating controller. You can click on each category and will get a list of corresponding parameters. If you see a Set button, it means the parameter can be changed, and clicking on the button will send the new value to the heater. If there is no Set button, the parameter is read-only and there is no way to change the parameter. Using BSB-LAN's URL commands Most of BSB-LAN's functionality can be controlled using URL commands. These are useful or even necessary when connecting BSB-LAN to a home automation system , but also provide access to functions not directly accessible via the web-interface. URL commands are called right after BSB-LAN's hostname and an (optional) passkey. So to get a list of categories, one would have to open the URL http://bsb-lan.local/K (or http://bsb-lan.local/1234/K if the passkey 1234 is in use). Querying and setting parameters table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 80%; } URL command Functionality / Query setting of parameter /! Query setting of parameter from controller at destination address /// Query settings of parameters , and . Parameters can include ! to address different controllers. /- Query settings of parameters to /!- Query settings of parameters to from controller at destination address /K List all parameter categories from controller at default destination address /K! List all parameter categories from controller at destination address /K Query all parameters of category from controller at default destination address /K! Query all parameters of category from controller at destination address /S= Set parameter from controller at default destination address to value . To set a parameter to --- (off/deactivated), just send an empty value: S= /S!= Set parameter from controller at destination address to value . /I= Send value y as INF telegram to parameter . So far only required with setting room temperature (parameters 10000 ff.). Configuration URL command Functionality /C Configuration /CO Dump BSB-LAN's configuration /P,, Temporarily set bus type to , own address to and target address to . /V Enable ( 1 ) or disable ( 0 ) verbose output mode. Should remain enabled unless specifically instructed. Logging URL command Functionality /DG Graphical display (graph plot) of an active log file /D or /DD Dumps log file datalog.txt from storage. Contains the logged parameters and values when logging to SD card is active. /D Dumps the most recent calender days of the log file /D, Dumps data from log file between and . and have to be set in the format yyyy-mm-dd (e.g. /D2024-04-01,2024-04-30 ) /D0 Reset both log files datalog.txt and journal.txt and create new headers. Should be executed before first logging. /DK Purges data older than days from the log file /LN Forces logging irrespective of current interval and restarts the configured interval at this point of time /L=,, Set logging interval to seconds and (optionally) reset logging parameters to , etc. until reboot /L=0,0 Deactivate logging to storage until reboot /LB= Log only broadcast telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /LU= Log only unknown bus telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /A=0 Disable 24h average calculation until reboot /A=,, Change 24h average value calculation to parameters , and until reboot /B0 Reset stats for accumulated burner-runtime and -cycles /DD0 Remove log file datalog.txt only /DJ Dumps log file journal.txt from storage /DJ0 Remove log file journal.txt only /LD Disable logging of telegrams to journal.txt until reboot /LE Enable logging of telegrams to journal.txt Parameter information URL command Functionality /E Displays parameter options of parameter . Only available for option-type parameters such as data types VT_ENUM , VT_CUSTOM_ENUM , VT_BITS and VT_CUSTOM_BITS . /R Query default setting of parameter GPIO control URL command Functionality /G Displays the actual state of GPIO pin /G= Set GPIO pin to HIGH ( = 1 ) or LOW ( = 0 ) JSON interface URL command Functionality /JQ=,, Query parameters , and and return a JSON structure /JQ Query parameters based on a received JSON structure via HTTP POST /JK= Query all parameters of category /JS Set parameters based on a received JSON structure via HTTP /JR Query default value of parameter and return a JSON structure /JK=ALL Dump ranges for all available categories as JSON structure /JC=,, Dump possible values for parameters , and for option-type parameters. Same JSON structure as /JK= . /JB Backup of all writeable parameters in a JSON structure that can be used to write back using /JS /JL Creates a JSON structure of BSB-LAN's configuration settings` /JW Writes configuration settings based on a JSON structure created by /JL /JI Dump runtime information of BSB-LAN as JSON structure` /JV Return the version of BSB-LAN's JSON-API as a JSON structure Misceallaneous URL command Functionality /M Send ( 1 ) or revoke ( 0 ) MQTT auto-discovery messages for all parameters from controller at default destination address. /N Reset and reboot microcontroller (takes approx. 15 seconds) /NE Erase EEPROM and reboot the microcontroller. All configuration settings will subsequently be read from configuration file until set and saved again in the web-interface to be written to EEPROM. /QD Dump parameter structure from heating system /W With a preceding /W the URL commands C , S and Q return data without HTML header and footer (e.g.: /WC or /WS= ). Using the graphical plot functionality If logged data on storage (either SD card or internal flash) is available, the Display log file becomes clickable. By default, it will display the logged data in the browser. To access the logged data itself (in the file datalog.txt ), use the /D URL command mentioned above. By default, \"Display log file\" displays the log data of the most recent n calendar days ( n=DEFAULT_DAYS_TO_PLOT , configurable in BSB_LAN_config.h ). Subsequently, controls on the web page can be used to select a different range, depending on the data contained in the log file Mouseover, click and mouse wheel actions within the graphical display provide various control options: - Better legibility for value numbers with plot lines close to each other (mouseover on plot) - Users can interactively highlight plot lines for improved overview (mouseover on legend entries) - Users can interactively disable plot lines for improved overview and vertical scaling (click on legend entries) - Zoom (mousewheel/pinch on plot) and pan capability (drag zoomed-in plot)","title":"BSB-LAN Funktionen"},{"location":"fr/index.html","text":"What is BSB-LAN? BSB-LAN is a software /hardware solution for accessing the \u201cBoiler-System-Bus\u201d (BSB) , the \u201cLocal-Process-Bus (LPB)\u201d and the \u201cPunkt-zu-Punkt-Schnittstelle\u201d (PPS) . The BSB-LAN hardware is available for various ESP32 -based microcontrollers (ESP32 NodeMCU, Olimex EVB, Olimex POE-ISO) as well as for an Arduino Due with Ethernet shield. It allows accessing the heating systems from Atlantic, Br\u00f6tje, Elco and many other manufacturers via LAN/WLAN, provided that they use one of the Siemens controllers listed below. BSB-LAN makes it possible to monitor and control the heating and log any given values. This project supports almost all parameters available on the heating systems and can be a more comprehensive and cost-effective alternative to the OZW 672, OCI 700 or Remocon Net B. Optional integration into existing smart home systems such as Home Assistant , ioBroker , openHAB , Node-RED , Homebridge , Jeedom , SmartHomeNG , Volksz\u00e4hler , FHEM , HomeMatic , Loxone, IP-Symcon or EDOMI is possible via MQTT , JSON or HTTP access . The adapter can also be used as a standalone logger without LAN or Internet connection when using a microSD card. Temperature and humidity sensors can also be connected and their data can also be logged and analyzed. The option of integrating your own code into the BSB-LAN software also offers a wide range of expansion options. Where and how do I begin? You are an experienced user? Head on to the quickstart instructions . Otherwise (or if you run into problems), please read on! Is my heating system supported by BSB-LAN? Please go to the list of supported heating systems . If you already know that your system is supported, find out more about the BSB-LAN adapter and where to get it. If you already have the adapter, you may want to know how to install the adapter . If you have installed the adapter, you will need to configure BSB-LAN . Once you have everything up and running, find out about how to use BSB-LAN or learn more about the ways to ingetrate BSB-LAN into home automation systems . Our wiki pages are continuously growing and provide background knowledge as well as more specialized topics on BSB-LAN and heating systems in general. If you run into troubles, have a look at the troubleshooting page . And before you ask anyone else any questions, have a look at our Frequently Asked Questions (FAQ) first!","title":"Aper\u00e7u"},{"location":"fr/bsb-lan_adapter.html","text":"The BSB-LAN adapter Adapter boards available - contact Frederik at bsb(\u00e4t)code-it.de (German or English) for more details. In order to connect to your heating system with a microcontroller, you need to have an adapter board that does the necessary logic-level conversion: The adapter is then plugged right onto the microcontroller, either underneath the pins of the ESP32-NodeMCU or onto the UEXT connector of the Olimex: The two different types of ESP32 adapters (Olimex and ESP32-NoceMCU) only vary in the location of their connectors, the other parts of the board are identical. The Arduino Due board contains an EEPROM chip because the Due does not come with on-board EEPROM. Therefore, you can re-use the Arduino Due board on an ESP32 microcontroller (if you connect the correct pins with wires), but you cannot use an adapter for the ESP32 on an Arduino Due. Suitable microcontrollers BSB-LAN can be installed on three different types of microcontrollers: ESP32-Olimex ESP32-NodeMCU (30 pin version only!) and Arduino Due. Olimex produces several kinds of boards: We recommend either the Olimex ESP32-EVB or the Olimex ESP32-POE-ISO . The simple POE version (without the \"ISO\") is not recommended because it does not allow to be connected to PoE Ethernet and USB at the same time. The Arduino Due requires an Ethernet Shield in order to access the local network. Each of the different controllers have their advantages and disadvantages: Functionality ESP32-Olimex ESP32-POE-ISO ESP32-NodeMCU Arduino Due Ethernet/LAN X X - X WiFi/WLAN X X X - Over-the-air updateable X X X - Built-in micro-SD card X X - - Accessible GPIOs 2 (GPIO13/16) some some many","title":"L'adaptateur BSB-LAN"},{"location":"fr/bus_systems.html","text":"The BSB/LPB/PPS Bus Developed at the end of the last millenium based on the BatiBUS (more information can be found here and here ), many Siemens heating system controllers still use the same kind of physical bus to \"talk\" to room units as well as other heating devices. While a bus speed of a mere 4800 bits per second might sound anachronistic these days, it still provides for a stable and robust transmission protocol that is even today perfectly sufficient when it comes to transmitting short messages of a few dozen bytes over lines sometimes as long as one kilometer. The bus topology also allows you to connect BSB-LAN at any point: At the room unit, at the heating system or anywhere where the bus lines are available. You can even add the two wires for BSB-LAN in an already \"occupied\" slot, and it won't harm the other device (proper installation assumed). On top of the same physical layer, three bus systems, BSB, LPB and PPS, cater for different tasks, and while BSB and LPB should always be preferred if available, PPS nevertheless provides a set of parameters that is usually quite enough for the average user. BSB-LAN runs on any of these busses and swapping between them is just changing a few settings away. The Boiler System Bus (BSB) BSB is the most common bus system in Siemens controllers for the last 10-15 years. It is the successor of the PPS system with which it shares the same physical parameters, but is much more versatile: Instead of just a few dozen parameters, it can access hundreds of parameters and group them into various categories for easier navigation. It is a transaction-based protocol where most messages are being sent from one device to another and the recipient returning some kind of feedback, for example whether the task could be completed or whether it contained invalid data. While BSB is capable of addressing multiple devices on the bus, it is not used in systems with more than one heating device. The heating device always has the ID 0 , the display unit on the heating system has the ID 10 (or 0x0A in hexadecimal) and the standard room unit has the ID 6 . BSB-LAN has the ID 66 or 0x42 in hexadecimal. Room units that \"speak\" BSB are, for example, the QAA55 and the QAA75. The Local Process Bus (LPB) LPB was introduced more or less around the same time as PPS which it complemented in terms of communication with other heating devices: While PPS was used to communicate with the room unit, LPB was used to send commands from one main heating device to one or more auxilliary heating devices, for example in a cascade setup. At that time, most of the information transmitted via LPB was related to the internals of the heating system (such as sensor data or internal setpoint temperatures), whereas the parameters relevant for the user (such as comfort temperature setpoint etc.) were only available via PPS. Nowadays, heating devices that offer both LPB and BSB have the same kind of parameter data available on both bus systems. LPB uses a specific addressing scheme with segments and devices. Each segment from 0 to 15 can contain up to 15 devices (from 1 to 15). When writing these addresses, segment and device are separated by a colon: 00:01 or 04:03 . To convert the segment-based address into the destination ID required for BSB-LAN, the formula is as this: SEGMENT multiplied by 16 plus DEVICE minus one. Example: Device 3 in segment 4 equals to 4 * 16 + 3 - 1 = 66. The main heating unit is by definition 00:01 , so this equals to a destination ID 0. To learn more about the LPB system and how it should be deployed, you may refer to these two documents from the end of the 1990s, one covers the basic system data that covers the conceptualization of an LPB network, and the other one deals with the basic engineering data and provides details about cable lengths and diameters etc. Except for some Weishaut heaters, room units are not connected to the heating system via LPB. Newer models use BSB for this task while older models use either PPS or in some cases also OpenTherm. The Point-to-Point Interface (PPS) The Point-to-Point Interface (PPS deriving from the German term \"Punkt-zu-Punkt Schnittstelle\") is compatible to the other systems on a physical layer, but not in the way message telegrams are being exchanged. While BSB and LPB talk to each other by sending telegrams and acknowledging their receipt respectively, PPS is dominated by the heating unit. The heating unit constantly sends its data to the room unit and tells the room unit when and what kind of information it should send. It is a very timing sensitive protocol, therefore long other tasks that BSB-LAN is told to do will lead to a temporary interruption and possible error message on the heating system. However, after a short while, this should be clearing by itself when the two components \"talk\" to each other again. Other than BSB and LPB, changes made in BSB-LAN do not take immediate effect. Changing values, for example like the room temperature comfort setpoint, will be stored internally in BSB-LAN first to be sent out to the heating system once it tells the room unit (i.e. BSB-LAN) to do so. This may take up to a minute or so, so one should not be confused that settings do not show up on the heater immediately, as is the case with BSB and LPB. With PPS, BSB-LAN can run in two modes: passive and as a room unit. In passive mode, BSB-LAN can just listen to the data exchanged between the room unit and the heating device. It is not possible to send one's own data, for the simple fact that it would be overwritten in no time by the same type of data coming from the room unit. In order to send parameter data to the heating system, BSB-LAN mus run in \"room unit\" mode, and this means that any room unit will have to be removed from the heating system. In this case, it is especially important to regularly send a room temperature value to BSB-LAN which in turn will send this value to the heating device. Only if the heater runs solely on outside temperature then this value can be ignored. BSB-LAN stores some values in its non-volatile EEPROM, but some values need to be set anew after a reboot, such as the room temperature setpoint. This is to prevent to store a parameter value that has become invalid but is still sent as it is stored in the EEPROM. Room units commonly used with heating systems that support PPS are the QAA50 and the QAA70.","title":"Les BSB/LPB/PS bus"},{"location":"fr/homeautomation.html","text":"Connecting BSB-LAN to home automation systems BSB-LAN provides four ways to connect to home automation systems: Exchanging data via MQTT (recommended) Exchanging data via JSON Using supported modules for specific home automation systems Exchanging data via URL commands and screen scraping Exchanging data via MQTT This is the recommended way to connect BSB-LAN to home automation systems because it allows seamless exchange of data. As a prerequisite, a MQTT broker (such as mosquitto is needed, either running locally or via making use of a public service. Some home automation systems such as Home Assistant offer the installation of mosquitto as part of their software. In BSB-LAN, you need to make or enable at least the following configurations: Set Logging mode (additionally) to Send to MQTT Broker . Set Log Interval to the time (in seconds) you want the log parameters to be published. Select up to 20 Log Parameters you want to be sent to your home automation system. Set MQTT Usage to plain text Set MQTT Broker Server to the hostname of your MQTT broker (such as the mosquitto server) If your home automation system supports MQTT auto-discovery (as is the case with Home Assistant), you can call URL command /M1 and BSB-LAN will send auto-discovery messages for all available parameters to the MQTT broker and thus to the home automation system. You may have to clean up afterwards or send a removal message for all these parameters using URL command /M0 . Every time a query is made in BSB-LAN or a parameter changes its value through the room unit, the new value will be sent to the MQTT broker, so even changes made outside of BSB-LAN should be updated into the home automation system, which is why the MQTT approach is the recommended way to connect to a home automation system. Examples for querying or setting parameters via MQTT would look like this (using mosquitto): Query the outside temperature (parameter 8700): mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"8700\" -t BSB-LAN -d Set the comfort temperature setpoint (parameter 710) to 20 degrees: mosquitto_pub -h my.mosquitto-broker.local -u USER -P PASSWORD -m \"S700=20\" -t BSB-LAN -d Exchanging data via JSON BSB-LAN allows to query and set parameters via JSON structures and also provides numerous information about the parameters and category structures this way. The JSON API is accessd via URL commands and the openapi.yaml file provided in this repository can be used with Swagger to explore its possibilities and functionalitites. Using supported modules for specific home automation systems For some systems, specific modules exist that can be used to access BSB-LAN seamlessly: Home Assistant While the official plugin no longer works, the MQTT approach above works well with Home Assistant. For the details of the implementation, you may also refer to these tutorials: GitHub user @ryann72 wrote detailed instructions for BSB-LAN and HomeAssistant/Mosquitto . It is also available in French . YouTuber @StoneTime has created two videos (in German) where he shows the installation of BSB-LAN as well as setting it up in Home Assistant . Dankesch\u00f6n! YouTuber @ArminasTV has created two videos (in French) where he shows the installation of BSB-LAN as well as how to set it up with Home Assistant and MQTT . Merci beacoup! Homebridge BSB-LAN user Michael has written a plugin for Homebridge . Thank you! ioBroker GitHub user @hacki11 has developed an adapter for ioBroker . Thank you! Jeedom GitHub user @bernard-dandrea has written a plugin for Jeedom (with a French description). Thank you! Node-RED GitHub user @konne wrote a module for Node-RED . Thank you! FHEM FHEM forum user Luposoft has written a compact explanation of the configuration for using FHEM via MQTT. Thank you! openHAB Since version 2.5.4, there exists a binding that is officially part of OpenHAB. Homematic FHEM forum user PaulM has written a few scripts to showcase the integration of BSB-LAN into Homematic. Thank you! SmartHomeNG GitHub user @thensty wrote a plugin for SmartHomeNG . Thank you! Volkszaehler GitHub user @lapixo has contributed a script for the Volkszaehler project . Thank you! Bash script GitHub user @khfm has written Bash scripts to query data and display it using gnuplot. Thank you! Exchanging data via URL commands and screen scraping For simpler solutions, using the URL commands to query and set parameters can be used to control BSB-LAN from other systems. Screen scraping is possible since the project tries not to break certain ways of displaying data, so that parsing with regular expressions remains feasible. Nevertheless, for most scenarios one of the other options will probably be preferrable.","title":"Connecter \u00e0 la Smart Home"},{"location":"fr/install.html","text":"Installation Installing BSB-LAN requires three steps: Installing the Arduino IDE in order to flash the BSB-LAN software onto the microcontroller Assembling the hardware parts Connecting BSB-LAN to the heating system Installing the Arduino IDE and flashing BSB-LAN Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. You may now proceed to configure BSB-LAN. When you are done configuring, go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Subsequent updates on ESP32-based microcontrollers \"over the air\" (OTA) If you are running BSB-LAN on an ESP32-based microcontroller and have enabled Over-the-Air Updates in the settings , you can perform future updates of BSB-LAN using your browser. To do that, instead of using Sketch/Upload , you need to select Sketch/Export Compiled Binary . This will create a build folder in your BSB-LAN folder in which you will find among others the file BSB_LAN.ino.bin . Now open http://bsb-lan.local:8080 and select and upload that file. Do not interrupt the upload process. You may try to access BSB-LAN from a different browser window to see if the process is completed. Please take note that this only applies to ESP32-based microcontrollers. Arduinos do not support this functionality. Assembling the BSB-LAN adapter You can either get a fully assembled adapter from Frederik (bsb(\u00e4t)code-it.de) or build one on your own (see the folder schematics for the schematics). Once you have the BSB-LAN adapter ready, you just need to plug it into the microcontroller. If you are using an Olimex microcontroller, double-check that the adapter really sits in the center of the connector, because it still fits even if it is moved by one pin row to the left or right. Connecting BSB-LAN to the heating system Once the microcontroller and the BSB-LAN adapter are ready, perform the following steps to connect BSB-LAN to the heating system: Unplug the microcontroller from your computer and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Have a look at the list of supported heating systems to get an idea where the pins are located. Do all this at your own risk! Especially take care to prevent electrostatic discharge (ESD) which can destroy both BSB-LAN and the heating controller! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. If there is no empty connector, there is no problem adding the wires for BSB-LAN to an already \"used\" connector, provided the wires are inserted carefully. Now you need to power on the microcontroller. Take note that the heating system does not power the microcontroller, even if the BSB-LAN adapter's LED turns on when you connect it to the heating system. You need to supply power to the microcontroller via its USB port (or via PoE on the Olimex POE-ISO). Make sure to use a stable power supply with at least 2 amperes. Once the microcontroller is powered on, turn on the heating system. The red LED of the BSB-LAN adapter should alight. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . Otherwise, you can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor and set the serial monitor speed to 115200. Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Generating the device-specific parameter list Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters. Once you have received the parameter list (or taken the one from version 2.2.x), you have to replace the existing BSB_LAN_custom_defs.h file with the one sent to you, compile it and flash it again. Now you are ready to access all parameters.","title":"Assemblage"},{"location":"fr/quickstart.html","text":"Quickstart instructions These quickstart instructions are for users who are familiar with installing and configuring software on their computer. If you need more detailed instructions, please head to the install instructions ! Make sure that your heating system is compatible with BSB-LAN! Download and unpack the current BSB-LAN version from the master repository or use git to clone the repository. Navigate to the BSB_LAN folder and rename the following files: BSB_LAN_custom_defs.h.default to BSB_LAN_custom_defs.h BSB_LAN_config.h.default to BSB_LAN_config.h . Download and install the Arduino IDE for your system. Connect your microcontroller (ESP32 or Arduino Due) to your computer and start the Arduino IDE. Go to Tools/Board/Board Manager and make sure that the framework for your board is installed (\"esp32 by Espressif Systems\" for ESP32 microcontroller, \"Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino\" for Arduino Due microcontroller) Again, go to Tools/Board and select your microcontroller: ESP32 Dev Module for the Joy-It ESP32 NodeMCU. Olimex ESP32-EVB for the ESP32-based Olimex EVB . Olimex ESP32-POE-ISO for the ESP32-based Olimex POE ISO Arduino Due (Programming Port) for the Arduino Due. Do not use the Native USB Port here ! Again, go to Tools/Board and select the proper upload speed (460800 for ESP32, 115200 for Arduino Due). For ESP32-based microcontrollers, again, go to Tools/Board and select \"Minimal SPIFFS (Large APPS with OTA)\" for partition scheme ( do not confuse this with the similar \"Minimal\" partition scheme which is different and not working in our case). If you don't set the correct parition scheme, the firmware will not fit into the ESP32! Go to File/Open and navigate to the BSB_LAN folder and double-click on BSB_LAN.ino . The project will open. Click on the tab with the filename BSB_LAN_config.h and configure at least the following: Search for #define LANG DE : Change DE to EN for English, FR for French etc. Search for uint8_t network_type : Set this to LAN if you are using Ethernet/LAN connection. Set this to WLAN if you are using WiFi/WLAN. If you are not using DHCP, configure the following options according to your network (make sure to use a comma, not a dot for IP addresses!): byte ip_addr[4] = {192,168,178,88}; byte gateway_addr[4] = {192,168,178,1}; byte dns_addr[4] = {192,168,178,1}; byte subnet_addr[4] = {255,255,255,0}; char wifi_ssid[32] = \"Your_Wifi_network_name\"; char wifi_pass[32] = \"Your_WiFi_network_password\"; Now go to Sketch/Upload and upload the BSB-LAN software to the microcontroller. Unplug the microcontroller and turn off your heating system. Locate the BSB/LPB/PPS connectors. You may have to open your heating system for that. Do all this at your own risk! Now plug the BSB-LAN adapter onto the microcontroller and connect the + screw connector to the CL+ (BSB), DB (LPB) or A6 (PPS, different connector names are possible) connector, and the - screw connector to the CL- (BSB), MB (LPB) or M (PPS) connector. Power on the microcontroller via the USB port or via PoE (Olimex POE-ISO only). Then power on the heating system. The red LED of the BSB-LAN adapter should turn on. It should flicker occasionally. Now open your webbrowser and open the IP address of BSB-LAN. If MDNS is enabled, you can directly go to http://bsb-lan.local . You can find the IP address of BSB-LAN either in your router, or you connect the microcontroller to your PC and open the Arduino IDE and go to Tools/Serial Monitor . Restart the microcontroller, and the IP address will be displayed upon connecting to the network. Done :-) It's not working! Please make sure you check every entry in the Troubleshooting-Section first before getting in touch with us! Why do I only see so few parameters? Once you access BSB-LAN for the first time, you will see that only very few parameters are shown on the device\u2019s web interface. This is because each model of the Siemens controller built into your heating system supports a different set of parameters. Previously, I provided a list of parameters collected from all different kinds of heating systems, but it turned out that this list was ambiguous or even contained errors that we couldn\u2019t fix reliably. This list is still available in release version 2.2.x of BSB-LAN and can be copied from there if needed. However, it is not advisable to do so because the said ambiguities and errors pose too great a risk of misconfiguring the heating system. Instead, it is recommended to click on the \" Device-specific parameter list \" button in BSB-LAN's menu and send the generated list to Frederik (bsb(\u00e4t)code-it.de). From this file, a parameter list can be generated that fits exactly the controller of your heating system. Unfortunately, this process cannot be automated yet, but at least it has to be done just once. These raw data do not contain any settings or other kinds of personal data, just the parameter structure of the heating system. It\u2019s in my own interest to create and return these parameter lists without any delay, but I ask for your understanding if it takes a bit longer due to work or family matters.","title":"D\u00e9marrage rapide"},{"location":"fr/supported_heating_systems.html","text":"Supported heating systems BSB-LAN supports heating systems that communicate using either the BSB (Boiler System Bus) , the LPB (Local Process Bus) or the PPS (Punkt-zu-Punkt-Schnittstelle) . These controllers are usually manufactured by Siemens, older controllers might still bear the company name \"Landis & Stafea\" or \"Landis & Gyr\". We have compiled a list of working models from various heating system manufacturers who have been confirmed working with BSB-LAN, although there is no 100% guarantee that the manufacturers keep the model name but change the controller to a different system. So always make sure to double-check that the right connectors are available. Here are a few examples from heating controllers and the connectors that are used to connect to BSB-LAN. Some connectors have three pins, some have two pins. If there are three pins, make sure you choose the correct two (CL+ and CL-) as the third von (G+) is to provide background lighting for the room unit. It won't harm BSB-LAN, but it might be misleading because BSB-LAN's LED will be on even though it's not connected to the right pin. Controller Image Remarks LMS14 LMS15 BSB connection: + = Left - = Center LMS14 LMS15 BSB connection: CL+/CL- LMU54 LMU64 LPB connection: via additional OCI420 plugin LMU74 LMU75 BSB connection: + = Top - = Center LPB connection: via additional OCI420 plugin RVA53 PPS connection: A6/MD RVA63 LPB connection: MB/DB PPS connection: A6/MD RVP54 PPS connection: A6/M RVS21 BSB connection via connector X86 + = rightmost pin - = second pin from right RVS21 with AVS55 AVS55 extension module, sitting on top of RVS21. BSB connection via connector X86: + = rightmost pin - = second pin from right RVS41 BSB connection: CL+/CL- LPB connection: MB/DB RVS43 LOGON B BSB connection: CL+/CL- LPB connection: MB/DB RVS46 ISR-ZR1 BSB connection: CL+/CL- LPB connection: MB/DB RVS46 BSB connection: CL+/CL- LPB connection: MB/DB RVS51 BSB connection: CL+/CL- LPB connection: MB/DB RVS61 BSB connection: CL+/CL- LPB connection: MB/DB RVS63 BSB connection: CL+/CL- LPB connection: MB/DB List of working controller models There are a many more controllers that are likely to work with BSB-LAN. Look out for these Siemens controller models in your heating system: AVS37, AVS55 , AVS71, AVS74, AVS75, AVS77, AVS79, LMS14 , LMS15 , LMU54 , LMU64 , LMU74 , LMU75 , RVA33, RVA36, RVA43, RVA46, RVA47, RVA53 , RVA60, RVA61, RVA63 , RVA65, RVA66, RVC32, RVD110, RVD115, RVD120, RVD125, RVD130, RVD135, RVD139, RVD140, RVD144, RVD145, RVD230, RVD235, RVD240, RVD245, RVD250, RVD255, RVD260, RVD265, RVL469, RVL470, RVL471, RVL472, RVL479, RVL480, RVL481, RVL482, RVP340, RVP350, RVP351, RVP360, RVP361, RVP54 , RVP5xx, RVS13, RVS21 , RVS23, RVS26, RVS41 , RVS43 , RVS46 , RVS47, RVS51 , RVS53, RVS61 , RVS63 , RVS65, RVS68, RWI65, WRI80","title":"Syst\u00e8mes de chauffage pris en charge"},{"location":"fr/troubleshooting.html","text":"Troubleshooting BSB-LAN tries to make accessing your heating system as easy as possible, but there are always things that can go wrong. If you still have a problem after reading this document as well as the FAQ , please open up a bug report on the project's GitHub page and make sure that you provide us with all the necessary log files and further required details, especially from the Serial Monitor (or SerMo in short). Using the Serial Monitor Access the Serial Monitor by going to Tools/Serial Monitor in the Arduino IDE. Set the transmission speed to 115200 at the top right corner of the serial monitor window. Make sure you copy the messages right from the moment your microcontroller boots (indicated by the READY message) until the moment you encounter the problem. Please do not send screenshots, only plain text files. The Serial Monitor in the Arduino IDE currently has a bug that allows you to only copy those parts of the Serial Monitor messages that you can see on the screen. Although this means that copying larger portions of log messages is tedious, you still have to provide the complete log in order to get support. Increasing the size of the Serial Monitor window helps a little. Compiling fails: \"Sketch too big\" Select the \"Minimal SPIFFS (Large APPS with OTA)\" partition scheme in the Arduino IDE under Tools/Partition Scheme . If you are using over-the-air updates, you have to flash the software once via USB after changing the partition scheme before OTA updates will work again. No access to web-interface anymore If you have changed the settings in such a way that you cannot access the web-interface anymore, there are two ways to restore the system: If you can flash the device: Configure BSB_LAN_config.h with correct, working settings. Set UseEEPROM to 0 . Flash BSB-LAN onto the microcontroller. You can now access BSB-LAN. Go to \"Settings\" and save the settings. This will store the working settings to the EEPROM. Now edit BSB_LAN_config.h again (!) and set UseEEPROM to 1 and flash BSB-LAN again to the microcontroller. Only now will BSB-LAN read and use the settings from the EEPROM, so you can make further changes in the web-interface. If you cannot flash the device: If you cannot flash the device on site, you can reset BSB-LAN to the last BSB_LAN_config.h setting by connecting two pins before and during booting the microcontroller : ESP32-Olimex: Connect pins 34 and 3V3. ESP32-NodeMCU: Connect pins 21 and 3V3. Arduino Due: Connect pins 31 and 33. If the pins were successfully connected, the built-in LED of the microcontroller will flash slowly for four seconds. Afterwards open the configuration in the web-interface, check all settings in the configuration and save them. This will store the working settings to the EEPROM. Temporary access point on an ESP32-based microcontroller On an ESP32-based microcontroller, BSB-LAN will set up its own wireless access point named BSB-LAN if it cannot connect to any network. In this casee, you can connect to this access point with the password BSB-LPB-PPS-LAN and access BSB-LAN via the IP address http://192.168.4.1 and see if you can fix the configuration this way. Keep in mind that if you have set a passkey or HTTP username and password, these are still required if these details are stored in EEPROM or BSB_LAN_config.h . Category list suddenly so small BSB-LAN needs to detect the heating system's controller to determine the categories to display. If BSB-LAN is not connected to the controller or the detection otherwise fails, only a few universal categories are displayed. Cannot read any parameters / device family is 0 Wrong bus type (BSB instead of LPB or vice versa). If the red LED of the adapter is not on (and ideally slightly flickering), there is a problem with the wiring between the adapter and the heating system. The red LED will come one once the adapter is connected correctly, even if the BSB-LAN adapter isn't even connected to the microcontroller! No data even though the adapter's red LED is on Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line. Make sure you have powered on the microcontroller. You may think that the heating system powers the microcontroller because the LED on the BSB-LAN adapter is on, but it doesn't. You need to power it separately. With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work. Make sure the RX/TX pins are set/detected correctly. No or unreliable network connection Try powering the microcontroller via USB from a laptop. We have had many cases where power supplies were unreliable despite having sufficient ratings. Look at the Serial Monitor log to check if the microcontroller could acquire an IP address. If not, then your network settings or physical connection may be faulty. No connection to hidden WiFi network possible Yes, that is a known restriction. The only way to do that is to set the BSSID specifically in BSB_LAN_config.h . Room temperature (or any other parameter) cannot be set Check BSB-LAN's settings and make sure that write access is enabled and set to standard or complete . Web-interface freezes when making new connection BSB-LAN is not a multi-tasking system. This means it can attend to one task at a time. So even if a URL command is aborted (by closing the browser window), BSB-LAN might not detect this and only start serving new requests once the previous one is finished. The Serial Monitor is not showing readable data Make sure the speed is set correctly to 115200 bps. Make sure the correct port is selected.","title":"D\u00e9pannage"},{"location":"fr/using.html","text":"Using BSB-LAN Controlling the heating system via the web-interface As a first step \u2013 or if you just want to turn your heating system on or off \u2013 you can simply open the BSB-LAN web-interface and go to the Settings menu. This will display a list of categories from your heating controller. You can click on each category and will get a list of corresponding parameters. If you see a Set button, it means the parameter can be changed, and clicking on the button will send the new value to the heater. If there is no Set button, the parameter is read-only and there is no way to change the parameter. Using BSB-LAN's URL commands Most of BSB-LAN's functionality can be controlled using URL commands. These are useful or even necessary when connecting BSB-LAN to a home automation system , but also provide access to functions not directly accessible via the web-interface. URL commands are called right after BSB-LAN's hostname and an (optional) passkey. So to get a list of categories, one would have to open the URL http://bsb-lan.local/K (or http://bsb-lan.local/1234/K if the passkey 1234 is in use). Querying and setting parameters table th:first-of-type { width: 20%; } table th:nth-of-type(2) { width: 80%; } URL command Functionality / Query setting of parameter /! Query setting of parameter from controller at destination address /// Query settings of parameters , and . Parameters can include ! to address different controllers. /- Query settings of parameters to /!- Query settings of parameters to from controller at destination address /K List all parameter categories from controller at default destination address /K! List all parameter categories from controller at destination address /K Query all parameters of category from controller at default destination address /K! Query all parameters of category from controller at destination address /S= Set parameter from controller at default destination address to value . To set a parameter to --- (off/deactivated), just send an empty value: S= /S!= Set parameter from controller at destination address to value . /I= Send value y as INF telegram to parameter . So far only required with setting room temperature (parameters 10000 ff.). Configuration URL command Functionality /C Configuration /CO Dump BSB-LAN's configuration /P,, Temporarily set bus type to , own address to and target address to . /V Enable ( 1 ) or disable ( 0 ) verbose output mode. Should remain enabled unless specifically instructed. Logging URL command Functionality /DG Graphical display (graph plot) of an active log file /D or /DD Dumps log file datalog.txt from storage. Contains the logged parameters and values when logging to SD card is active. /D Dumps the most recent calender days of the log file /D, Dumps data from log file between and . and have to be set in the format yyyy-mm-dd (e.g. /D2024-04-01,2024-04-30 ) /D0 Reset both log files datalog.txt and journal.txt and create new headers. Should be executed before first logging. /DK Purges data older than days from the log file /LN Forces logging irrespective of current interval and restarts the configured interval at this point of time /L=,, Set logging interval to seconds and (optionally) reset logging parameters to , etc. until reboot /L=0,0 Deactivate logging to storage until reboot /LB= Log only broadcast telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /LU= Log only unknown bus telegrams ( 1 ) or all telegrams ( 0 ). Setting active until reboot. /A=0 Disable 24h average calculation until reboot /A=,, Change 24h average value calculation to parameters , and until reboot /B0 Reset stats for accumulated burner-runtime and -cycles /DD0 Remove log file datalog.txt only /DJ Dumps log file journal.txt from storage /DJ0 Remove log file journal.txt only /LD Disable logging of telegrams to journal.txt until reboot /LE Enable logging of telegrams to journal.txt Parameter information URL command Functionality /E Displays parameter options of parameter . Only available for option-type parameters such as data types VT_ENUM , VT_CUSTOM_ENUM , VT_BITS and VT_CUSTOM_BITS . /R Query default setting of parameter GPIO control URL command Functionality /G Displays the actual state of GPIO pin /G= Set GPIO pin to HIGH ( = 1 ) or LOW ( = 0 ) JSON interface URL command Functionality /JQ=,, Query parameters , and and return a JSON structure /JQ Query parameters based on a received JSON structure via HTTP POST /JK= Query all parameters of category /JS Set parameters based on a received JSON structure via HTTP /JR Query default value of parameter and return a JSON structure /JK=ALL Dump ranges for all available categories as JSON structure /JC=,, Dump possible values for parameters , and for option-type parameters. Same JSON structure as /JK= . /JB Backup of all writeable parameters in a JSON structure that can be used to write back using /JS /JL Creates a JSON structure of BSB-LAN's configuration settings` /JW Writes configuration settings based on a JSON structure created by /JL /JI Dump runtime information of BSB-LAN as JSON structure` /JV Return the version of BSB-LAN's JSON-API as a JSON structure Misceallaneous URL command Functionality /M Send ( 1 ) or revoke ( 0 ) MQTT auto-discovery messages for all parameters from controller at default destination address. /N Reset and reboot microcontroller (takes approx. 15 seconds) /NE Erase EEPROM and reboot the microcontroller. All configuration settings will subsequently be read from configuration file until set and saved again in the web-interface to be written to EEPROM. /QD Dump parameter structure from heating system /W With a preceding /W the URL commands C , S and Q return data without HTML header and footer (e.g.: /WC or /WS= ). Using the graphical plot functionality If logged data on storage (either SD card or internal flash) is available, the Display log file becomes clickable. By default, it will display the logged data in the browser. To access the logged data itself (in the file datalog.txt ), use the /D URL command mentioned above. By default, \"Display log file\" displays the log data of the most recent n calendar days ( n=DEFAULT_DAYS_TO_PLOT , configurable in BSB_LAN_config.h ). Subsequently, controls on the web page can be used to select a different range, depending on the data contained in the log file Mouseover, click and mouse wheel actions within the graphical display provide various control options: - Better legibility for value numbers with plot lines close to each other (mouseover on plot) - Users can interactively highlight plot lines for improved overview (mouseover on legend entries) - Users can interactively disable plot lines for improved overview and vertical scaling (click on legend entries) - Zoom (mousewheel/pinch on plot) and pan capability (drag zoomed-in plot)","title":"Fonctionnes de BSB-LAN"}]} \ No newline at end of file diff --git a/troubleshooting.html b/troubleshooting.html index a075e229..549e2003 100644 --- a/troubleshooting.html +++ b/troubleshooting.html @@ -258,6 +258,7 @@

Cannot read any parameter

No data even though the adapter's red LED is on

  • Make sure the adapter is connected to CL+/CL- and not to the third (G+) pin: G+ will drive the LED, but it's not a data line.
  • +
  • Make sure you have powered on the microcontroller. You may think that the heating system powers the microcontroller because the LED on the BSB-LAN adapter is on, but it doesn't. You need to power it separately.
  • With the adapter for the Olimex microcontrollers: Make sure that the BSB-LAN adapter board sits exactly in the center of the UEXT connector. It will still fit in, if it's shifted one pin left or right, but it won't work.
  • Make sure the RX/TX pins are set/detected correctly.