Zurück zum Inhaltsverzeichnis
Zurück zu Kapitel 1


2. BSB-LAN: Die Software

In den folgenden Kapiteln wird auf die Installation und die Konfiguration der BSB-LAN-Software eingegangen. Eine Beschreibung des Webinterface findest du hingegen in Kap. 4, eine Beschreibung der Abfrage- und Steuermöglichkeiten in Kap. 5 und eine Beschreibung der Spezialfunktionen in Kap. 6.


2.1 Installation

Die BSB-LAN-Software muss zur Installation auf den jeweils verwendeten Mikrocontroller (Arduino Due oder ESP32) geflasht werden. Dies kann bspw. mittels der “Arduino IDE” erfolgen, selbstverständlich können aber auch andere Programme wie bspw. “PlatformIO” oder “Visual Studio Code” genutzt werden.

Hinweis
In diesem Handbuch wird davon ausgegangen, dass die Arduino IDE genutzt wird. Sämtliche Beschreibungen und Bezeichnungen beziehen sich daher auf die Arduino IDE.
Solltest du Anfänger und mit der Arduino IDE noch nicht vertraut sein, so findest du eine Beschreibung zur Installation und Konfiguration der Arduino IDE in Kap. 12.

Je nach verwendeter Plattform (Arduino Due oder ESP32) unterscheiden sich die notwendigen Einstellungen der Arduino IDE. So müssen die entsprechenden Boardtypen installiert und ausgewählt sein, die Einstellungen plattformspezifisch angepasst werden etc. Auf diese Einstellungen wird im Folgenden eingegangen. Dabei wird davon ausgegangen, dass die nötigen Bibliotheken für die jeweilge Plattform bereits installiert sind. Sollte dies nicht der Fall sein, so findest du Informationen hierzu in Kap. 12.
Darüber hinaus gibt es bei der Installation auf dem ESP32 noch weitere Dinge zu beachten, die im entspr. Kapitel ebenfalls behandelt werden.


2.1.1 Installation auf dem Due

Im Folgenden wird die Installation der BSB-LAN-Software auf einem Arduino Due beschrieben. Die Beschreibung bezieht sich dabei auf die Verwendung der Arduino IDE. Mit den Voreinstellungen der BSB-LAN-Software wird für die IP-Adressvergabe DHCP genutzt. Solltest du dies nicht wünschen und eine feste IP vergeben wollen, so lies bitte Kap. 2.2.2 und passe die Datei BSB_LAN_config.h vor dem Flashen an!

Hinweis
Solltest du Windows benutzen, so ist evtl. noch eine zusätzliche Treiberinstallation nötig. Auf der Seite https://www.arduino.cc/en/Guide/ArduinoDue findest du weitere Informationen.

Führe die folgenden Schritte aus:

  1. Verbinde das Arduino-Setup mit einem USB-Kabel mit deinem Computer. Nutze dabei den ‘Programming Port’ des Due, das ist der ‘mittlere’ USB-Port, der neben der Netzteilbuchse platziert ist. Sowohl das LAN-Shield als auch der BSB-LAN-Adapter sollte zuvor bereits auf den Due gesteckt sein, dies ist jedoch nicht zwingend nötig.

    Das komplette Setup (Arduino Due + LAN-Shield + BSB-LPB-LAN-Adapter v3) inklusive der entsprechenden Kabel.

  2. Downloade die aktuelle BSB-LAN-Version und entpacke die heruntergeladene Datei BSB-LAN-master.zip.

  3. Wechsle in den Ordner “BSB-LAN-master”/”BSB_LAN” und benenne die Dateien BSB_LAN_custom_defs.h.default in BSB_LAN_custom_defs.h sowie BSB_LAN_config.h.default in BSB_LAN_config.h um!

  4. Öffne den BSB_LAN-Sketch mittels eines Doppelklicks auf die Datei BSB_LAN.ino im BSB_LAN-Ordner. Die dazugehörigen Dateien BSB_LAN_config.h, BSB_LAN_defs.h sowie BSB_LAN_custom_defs.h werden automatisch mit geladen.

  5. Wähle “Arduino Due (Programming Port)” unter Tools/Board bzw. Werkzeuge/Board.

    Hinweis
    Sollte das Board nicht aufgeführt sein, so muss der Atmel SAM Core hinzugefügt werden. Informationen hierzu findest du in Kap. 12.1.1.
  6. Wähle den korrekten Seriellen Port, an dem der Due am Rechner angeschlossen ist, unter Werkzeuge/Port aus.

    Einstellungen

    Die Einstellungen für den Due in der Arduino IDE.

  7. Solltest du BSB-LAN mittels Anpassung der Datei BSB_LAN_config.h konfigurieren wollen (s. Kap. 2.2.2), so tue dies bitte jetzt.

  8. Starte den Flashvorgang und lade den Sketch mittels Klick auf “Sketch/Upload” bzw. “Sketch/Hochladen” auf den Arduino Due.

  9. Nach Beenden des Flashvorgangs starte den Seriellen Monitor der Arduino IDE und beobachte die Ausgaben, die beim Start des Arduino Due erfolgen. Dort wird u.a. auch die IP ausgegeben, die dem Setup bei Verwendung von DHCP zugeteilt wird.

Herzlichen Glückwunsch - du hast BSB-LAN installiert!
Fahre nun mit der Konfiguration der BSB-LAN-Software und danach mit dem Anschluss und der Inbetriebnahme des Setups fort.

Wichtiger Hinweis
Um kompletten Zugriff auf alle Parameter deines Reglers zu erhalten, muss nach Abschluss aller hier genannten Schritte und dem erfolgreichen Flashen eine reglerspezifische Datei BSB_LAN_custom_defs.h erstellt und im Anschluss BSB-LAN mit dieser Datei neu installiert werden! Bitte beachte daher zwingend das Kap. 3.3 und führe die dort genannten Schritte aus!

2.1.2 Installation auf dem ESP32

Im Folgenden wird die Installation der BSB-LAN-Software auf einem ESP32 beschrieben. Die Beschreibung bezieht sich dabei auf die Verwendung der Arduino IDE. Mit den Voreinstellungen der BSB-LAN-Software wird für die IP-Adressvergabe DHCP genutzt. Solltest du dies nicht wünschen und eine feste IP vergeben wollen, so lies bitte Kap. 2.2.2 und passe die Datei BSB_LAN_config.h vor dem Flashen an!

Hinweis
Sollte das ESP32-Board nicht von deinem Betriebssystem erkannt werden, so ist evtl. noch eine zusätzliche Treiberinstallation für den vom Board verwendeten USB-Chip nötig.

Führe die folgenden Schritte aus:

  1. Verbinde dein ESP32-Board mit mit einem USB-Kabel mit deinem Computer. Den BSB-LAN-Adapter kannst du vorher bereits auf bzw. unter dein ESP32-Board gesteckt haben, dies ist jedoch nicht zwingend nötig.

  2. Downloade die aktuelle BSB-LAN-Version und entpacke die heruntergeladene Datei BSB-LAN-master.zip.

  3. Wechsle in den Ordner “BSB-LAN-master”/”BSB_LAN” und benenne die Dateien BSB_LAN_custom_defs.h.default in BSB_LAN_custom_defs.h sowie BSB_LAN_config.h.default in BSB_LAN_config.h um!

  4. Öffne den BSB_LAN-Sketch mittels eines Doppelklicks auf die Datei BSB_LAN.ino im BSB_LAN-Ordner. Die dazugehörigen Dateien BSB_LAN_config.h, BSB_LAN_defs.h sowie BSB_LAN_custom_defs.h werden automatisch mit geladen.

  5. Wähle den entspr. ESP32-Boardtyp unter Tools/Board bzw. Werkzeuge/Board aus:

    • Für den in diesem Handbuch empfohlenen Joy-It ESP32-NodeMCU (oder identische Clones mit einem “ESP32-WROOM”-Chip) lautet der passende Boardtyp “ESP32 Dev Module”.

    • Für das empfohlene Olimex ESP32-EVB & ESP32-PoE wähle bitte den gleichnamigen Eintrag aus der Liste aus.

    Achtung, wichtiger Hinweis
    Falls das ESP32-Framework bereits installiert ist und dir die verschiedenen ESP32-Boardvarianten angezeigt werden, überprüfe bitte im “Boardverwalter” unter “Werkzeuge/Boards”, dass die Version 2.0.2 (oder höher, falls verfügbar) installiert ist.
    Sollte das Board nicht aufgeführt sein, so muss die ESP32-Plattform in der Arduino IDE hinzugefügt werden. Informationen hierzu findest du in Kap. 12.1.2.
  6. Wähle den korrekten Seriellen Port, an dem das ESP32-Board am Rechner angeschlossen ist, unter Werkzeuge/Port aus.

  7. Stelle die Übertragungsgeschwindigkeit/Baudrate auf 115200 ein (Achtung: In der Arduino IDE ist bei ESP32-Boards i.d.R. 921600 voreingestellt!).

  8. “Partition Scheme”: Je nach gewähltem ESP32-Board sind hier entspr. Einstellungen vorzunehmen.

    • Für den empfohlenen ESP32-NodeMCU wähle bitte die Variante “Default 4MB with spiffs (1.2BM APP/1.5MB SPIFFS)” aus.
      Der folgende Screenshot zeigt die gesamten Einstellungen für den ESP32-NodeMCU.

      Einstellungen ESP32

      Die Einstellungen für den ESP32-NodeMCU in der Arduino IDE.

    • Für die empfohlenen Olimex-Boards wähle bitte die Variante “Minimal SPIFFS (Large APPS with OTA)” aus.

  9. Klicke nun auf den Reiter für die Datei BSB_LAN_config.h und passe zwingend die folgenden Einstellungen an:

    • Aktiviere das Definement #define WIFI in der Datei BSB_LAN_config.h, wenn du WiFi verwenden willst. Solltest du ein Olimex-Board verwenden und den LAN-Anschluss nutzen wollen, lasse das Definement bitte auskommentiert: //#define WIFI.

    • Trage bei der Verwendung von WLAN die Zugangsdaten für dein WLAN-Netzwerk bei den Einträgen
      char wifi_ssid[32] = "YourWiFiNetwork"; sowie
      char wifi_pass[64] = "YourWiFiPassword"; ein.

  10. Solltest du BSB-LAN mittels Anpassung der Datei BSB_LAN_config.h konfigurieren wollen (s. Kap. 2.2.2), so tue dies bitte jetzt.

  11. Starte den Flashvorgang mittels Klick auf “Sketch/Upload” bzw. “Sketch/Hochladen”.

  12. Nach Beenden des Flashvorgangs starte den Seriellen Monitor der Arduino IDE und beobachte die Ausgaben, die beim Start des ESP32 erfolgen. Dort wird u.a. auch die IP ausgegeben, die dem Setup bei Verwendung von DHCP zugeteilt wird.

Hinweise
Wenn der ESP32 sich nicht mit dem konfigurierten WLAN verbinden kann, richtet er seinen eigenen Accesspoint “BSB-LAN” mit dem Passwort “BSB-LPB-PPS-LAN” für 30 Minuten ein. Danach wird er neu starten und erneut versuchen, eine Verbindung zum eingerichteten WLAN-Netzwerk herzustellen.
Obwohl die Logging-Funktion auch mit dem ESP32 funktioniert, ist es nicht empfehlenswert, diese Funktion aufgrund des Verschleißes des Flash-Speichers übermäßig zu nutzen. Sollte ein Olimex-Board zum Einsatz kommen, so kann anstelle des SPIFF-Flashspeichers eine microSD-Karte genutzt werden. Die Verwendung ist in der Datei BSB_LAN_config.h zu aktivieren (Definement #define ESP32_USE_SD).

Herzlichen Glückwunsch - du hast BSB-LAN installiert!
Fahre nun mit der Konfiguration der BSB-LAN-Software und danach mit dem Anschluss und der Inbetriebnahme des Setups fort.

Wichtiger Hinweis
Um kompletten Zugriff auf alle Parameter deines Reglers zu erhalten, muss nach Abschluss aller hier genannten Schritte und dem erfolgreichen Flashen eine reglerspezifische Datei BSB_LAN_custom_defs.h erstellt und im Anschluss BSB-LAN mit dieser Datei neu installiert werden! Bitte beachte daher zwingend das Kap. 3.3 und führe die dort genannten Schritte aus!

2.1.3 Updates

Ein Updaten der BSB-LAN-Software erfolgt durch das gewohnte Flashen der neuen Version (Download als ZIP-File, per git o.ä.), wie es in den vorherigen Installationskapiteln beschrieben ist. Bitte beachte die folgenden Hinweise!

Für ESP32-basierte Boards (Olimex, NodeMCU) kann alternativ auch ein OTA-Update (“OverTheAir”-Update) erfolgen (diese Funktion ist NICHT mit dem Arduino DUE nutzbar!). Hierzu muss in der Webkonfig oder der Datei BSB_LAN_config.h die entspr. OTA-Funktion aktiviert werden. Die entspr. Firmware-Datei BSB_LAN_ino.bin kann man in der Arduino IDE unter “Sketch / Kompilierte Binärdatei exportieren…” erstellen lassen. Der Upload der Datei erfolgt dann per Browser auf Port 8080 der BSB-LAN-IP (http://<BSB-LAN-IP>:8080 bzw. http://bsb-lan:8080 bei aktiviertem MDNS).

Hinweise
Bei einem Update auf v3.x nutze bitte keinerlei bereits bestehenden Dateien - installiere BSB-LAN bitte komplett neu!
Beachte außerdem die notwendige Erstellung einer reglerspezifischen BSB_LAN_custom_defs.h - das Vorgehen ist in Kap. 3.3 beschrieben.
Solltest du in der Datei BSB_LAN_config.h bestimmte Änderungen bei der neu zu flashenden Version vorgenommen haben, wie bspw. die Zugangsdaten für dein WLAN oder eine fest vergebene IP, die dann nach dem Flashen offenbar nicht übernommen wurden, so liegt dies i.d.R. daran, dass die alten Einstellungen aus dem EEPROM gelesen wurden.
Um die neuen Einstellungen wirksam werden zu lassen, stelle in der Webkonfiguration die Einstellung “Konfiguration aus EEPROM lesen” einmal auf “Aus”, speichere die Änderung und flashe nochmal neu.
Danach sollten die neuen Einstellungen wirksam geworden sein, weil BSB-LAN diese nun aus der Datei BSB_LAN_config.h und nicht aus dem EEPROM eingelesen hat.
Nach erfolgreicher Überprüfung stelle “Konfiguration aus EEPROM lesen” wieder auf “Ein”.
Die bestehende und ggf. angepasste Datei BSB_LAN_config.h kann in der Regel bei einem Update auf eine neuere Version zwar übernommen werden, es jedoch ratsam, auch hier die jeweils aktuelle Datei BSB_LAN_config.h.default anstelle der bestehenden Datei BSB_LAN_config.h zu verwenden. Dazu muss die .default-Datei wie gehabt umbenannt und ggf. den vorherigen Einstellungen entspr. angepasst werden. So kann man sicher gehen, dass man ein komplettes Update der BSB-LAN-Software vorgenommen hat.
Wenn der Adapter an den Bus des Heizungsreglers angeschlossen ist, so kann er angeschlossen bleiben, wenn der Due/ESP32 erneut geflasht werden soll. Es besteht keine Notwendigkeit den Adapter vom Regler abzuklemmen, wenn man BSB-LAN updaten möchte.
Wenn in der Konfig die Funktion “üerprüfe auf Updates” aktiviert ist, so wird bei der Startseite von BSB-LAN eine etwaige neuere Version angezeigt. Dies beinhaltet jedoch auch Entwicklerversionen (also nicht nur ‘stable releases’) - möchtest du hingegen nur ‘stable releases’ einsetzen, so musst du manuell auf der Projektseite nachsehen, ob eine neuere Version verfügbar ist.

2.2 Konfiguration

Die BSB-LAN-Software kann den individuellen Ansprüchen entsprechend konfiguriert werden.
Die Konfiguration kann dabei auf zwei Arten erfolgen: Mittels Anpassen der Datei BSB_LAN_config.h sowie mittels Webinterface (aufrufbar mittels Klick auf “Einstellungen” auf der BSB-LAN-Seite oder per direktem URL-Befehl /C).
Im Folgenden werden die Konfigurationsmöglichkeiten eingehender erklärt. Die Beschreibungen in Kap. 2.2.2 sind i.d.R. ausführlicher, daher ist es sinnvoll, beide Kapitel eingehend zu studieren.

Eine Übersicht der BSB-LAN-Einstellungen kann mit dem URL-Befehl /CO aufgerufen werden.


2.2.1 Konfiguration mittels Webinterface

Die Seite der Webkonfiguration ist mittels Klick auf “Einstellungen” auf der BSB-LAN-Seite oder per direktem URL-Befehl /C aufrufbar. Die einzelnen Einstellungsmöglichkeiten sind zwar im Prinzip selbsterklärend, trotzdem seien die einzelnen Punkte hier nochmals mit einer kurzen Erklärung aufgeführt.
Für eine u.U. ausführlichere Erklärung zu den einzelnen Funktionen sieh bitte im Kap. 2.2.2 nach.

Eine reine Übersicht der Einstellungen kann mittels des URL-Befehls /CO angezeigt werden.

Die Übersicht der Webkonfiguration gliedert sich in drei Spalten:

Webconfig

Wichtig
Zum Übernehmen geänderter Einstellungen muss schließlich unten auf den Button “Parameter speichern” geklickt werden!

Im Folgenden nun die tabellarische Übersicht der Funktionen mit den (Vor-)Einstellungen und den entspr. Erklärungen (auf die Nennung der linken Spalte “Kategorie” muss an dieser Stelle aus Platz- und Darstellungsgründen leider verzichtet werden):

Funktion (Vor-)Einstellung Erklärung
Erweiterte Einstellungen anzeigen Aus Anzeige der erweiterten Einstellungen von BSB-LAN (Aus/Ein). Für Zugriff auf sämtliche Einstellungsmöglichkeiten von BSB-LAN muss “Ein” ausgewählt (und anschließend unten auf “Parameter speichern” geklickt) werden.
Konfiguration aus EEPROM lesen Ein Liest die gespeicherte Konfiguration aus dem EEPROM beim Start des Due aus (Aus/Ein).
Diese Einstellungen können von den Voreinstellungen abweichen, die in der Datei BSB_LAN_config.h hinterglegt wurden.
Sollen die im EEPROM gespeicherten Einstellungen bspw. bei einem Update überschrieben werden, so ist vor dem Flashen auf “Aus” zu stellen und die Einstellung zu speichern!
Wenn die Einstellung auf „Aus“ ist, werden Änderungen nur bis zum Neustart des Due aktiv bleiben.
Schreibzugriff (Ebene) Aus Schreibzugriff des Adapters auf den Heizungsregler (Aus/Standard/Komplett).
Soll Schreibzugriff auf den Heizungsregler gewährt werden, so ist es empfehlenswert, die Einstellung ‘Standard’ zu wählen, hierbei sind nahezu alle verfügbaren Parameter schreibbar. Im Unterschied zu ‘Komplett’ sind jedoch einige funktionskritische Parameter nicht veränderbar, die reglerintern nochmals geschützt vorliegen.
Die Einstellung ‘Komplett’ sollte daher nur in Ausnahmefällen und mit Bedacht sowie einem sehr guten Kenntnisstand über die Reglerfunktionalität gewählt werden!
Auf Updates überprüfen Aus Automatisches Überprüfen auf Updates von BSB-LAN (Aus/Ein)
OTA Update Aus OTA-Updatefunktion für ESP32-basierte Boards (OTA = Over The Air) deaktiviert (Aus) / aktiviert (Ein).
Zur weiteren Vorgehensweise für OTA-Updates lies bitte Kap. 2.1.3 Updates.
RX Pin Nummer 0 0 = Autoselect. Falls ein anderer Pin als der voreingestellte RX-Pin (s. Datei BSB_LAN_config.h) genutzt wird, ist dieser hier einzutragen.
TX Pin Nummer 0 0 = Autoselect. Falls ein anderer Pin als der voreingestellte TX-Pin (s. Datei BSB_LAN_config.h) genutzt wird, ist dieser hier einzutragen.
Typ BSB Verwendeter Bustyp (BSB/LPB/PPS)
Eigene Adresse 66 Eigene Adresse des Adapters
Zieladresse 0 Zieladresse für die Abfragen
PPS: PPS-Modus Passiv Nur PPS: Benutzer, die den Adapter an der PPS-Schnittstelle verwenden, müssen zwei Einstellungen vornehmen: Zum einen muss der Modus ausgewählt werden, in dem auf den Bus zugegriffen werden soll (Passiv/Als Raumgerät). Bei Verwendung eines QAA-Raumgerätes muss hier „passiv“ ausgewählt werden. Dann werden nur die Werte, die über den Bus gehen, in der Weboberfläche angezeigt, ein Schreiben von Werten ist dann nicht möglich.
Wenn hier „als Raumgerät“ ausgewählt wird, können über die Weboberfläche auch Werte an die Heizung gesendet werden. Zum anderen ist dann noch der Typ des zu emulierenden Raumgerätes auszuwählen (s.u.). Es sollte dann kein weiteres Raumgerät am Bus hängen, da sonst beide Sender ihre jeweils eigenen Werte an den Heizungsregler schicken, so dass kein konsistenter Betrieb möglich ist.
PPS: QAA Modell QAA70 Nur PPS: Modell des zu imitierenden Raumgerätes (QAA50/QAA70).
Gerätefamilie 0 0 = automatische Reglererkennung aktiv (empfohlene Einstellung). Bei einer fehlerhaften Erkennung kann die Gerätefamilie (Ausgabe von /6225) des angeschlossenen Reglers fest eingetragen werden.
Gerätevariante 0 0 = automatische Reglererkennung aktiv (empfohlene Einstellung). Bei einer fehlerhaften Erkennung kann die Gerätevariante (Ausgabe von /6226) des angeschlossenen Reglers fest eingetragen werden.
URL Passkey -keine Voreinstellung- Optionale Sicherheitsfunktion: “URL Passkey”
HTTP-Authentifizierung -keine Voreinstellung- Optionale Sicherheitsfunktion: “User-Pass” (Basic HTTP Auth)
DHCP verwenden Ein DHCP verwenden (= automatische IP-Adressvergabe durch Router) (Aus/Ein)
Statische IP-Adresse 192.168.178.88 Manuelle Netzwerkkonfiguration: Feste IP-Adresse
Subnetzmaske 255.255.255.0 Manuelle Netzwerkkonfiguration: Subnetz
Gateway 192.168.178.1 Manuelle Netzwerkkonfiguration: IP-Adresse des Gateways
DNS Server 192.168.178.1 Manuelle Netzwerkkonfiguration: IP-Adresse des DNS-Servers
TCP Port 80 TCP-Port des Setups
MAC-Adresse 00:80:41:19:69:90 (Voreingestellte) MAC-Adresse des LAN-Shields oder MAC-Adresse des ESP
Vertrauenswürdige IP-Adresse 0.0.0.0 Optionale Sicherheitsfunktion: “Trusted IP”, Zugriff nur von dieser IP möglich
Vertrauenswürdige IP-Adresse 0.0.0.0 Optionale Sicherheitsfunktion: “Trusted IP”, Zugriff nur von dieser IP möglich
WLAN SSID -keine Voreinstellung- SSID des WLAN
WLAN Passwort -keine Voreinstellung- Passwort des WLAN
mDNS Hostname BSB-LAN Einstellbarer Hostname
Log-Modus -keine Voreinstellung- Auswählbare Optionen für die Loggingfunktion (Mehrfachauswahl möglich): Auf SD-Karte schreiben / 24-Stunden-Durchschnittswerte berechnen / An MQTT-Broker senden / Als UDP-Nachrichten senden
Logintervall (Sekunden) 3600 Logintervall in Sekunden
Parameter 8700,8743,8314 Zu loggende Parameter
Bustelegramme Aus Loggen von Bustelegrammen aktivieren (Aus/-diverse Optionen-), die gewünschte Einstellung ist der jeweiligen Optionsbeschreibung entspr. vorzunehmen.
Parameter 8700,8326 Parameter für die 24h-Durchschnittswertberechnung
Verwenden Plain Text MQTT-Übertragung in Plain Text / JSON / Rich JSON
IP-Adresse Broker 192.168.178.20 IP-Adresse des MQTT-Brokers
Username User MQTT: Username bei Verwendung von Username/Passwort
Passwort Pass MQTT: Passwort bei Verwendung von Username/Passwort
Geräte ID BSB-LAN Gerätename (Header in JSON-Payload)
Topic prefix BSB-LAN Topic prefix der MQTT-Nachrichten
Berechnung Aus Berechnung von 24h-Durchschnittswerten ausgewählter Parameter (Aus/Ein)
Pins 0 Verwendete(r) Pin(s) für OneWire-Sensoren (DS18B20) (0 = deaktiviert)
Pins 0 Verwendete(r) Pin(s) für DHT22-Sensoren (0 = deaktiviert)
Sensoren 0 Anzahl der angeschlossenen BME280-Sensoren (0 = deaktiviert)
TWW-Push Taste: Pin 0 Raumgerät-Emulation: Verwendeter Pin für den TWW-Push Taster.
RGT1 Temperatursensor Parameter -keine Voreinstellung- Raumgerät 1 Emulation: Trage hier die spezifische(n) Parameternummer(n) für den (die) Raumtemperatur-Sensor(en) ein. Bis zu fünf Sensoren können verwendet werden, die Aufzählung der Parameternummern ist lediglich durch ein Komma zu separieren. Wenn mehr als ein Sensor verwendet werden, wird automatisch der Mittelwert gebildet.
RGT1 Präsenztaste: Pin 0 Raumgerät 1 Emulation: Verwendeter Pin für die HK1-Präsenztaste.
RGT2 Temperatursensor Parameter -keine Voreinstellung- Raumgerät 2 Emulation: Trage hier die spezifische(n) Parameternummer(n) für den (die) Raumtemperatur-Sensor(en) ein. Bis zu fünf Sensoren können verwendet werden, die Aufzählung der Parameternummern ist lediglich durch ein Komma zu separieren. Wenn mehr als ein Sensor verwendet werden, wird automatisch der Mittelwert gebildet.
RGT2 Präsenztaste: Pin 0 Raumgerät 2 Emulation: Verwendeter Pin für die HK2-Präsenztaste.
RGT3 Temperatursensor Parameter -keine Voreinstellung- Raumgerät 3 Emulation: Trage hier die spezifische(n) Parameternummer(n) für den (die) Raumtemperatur-Sensor(en) ein. Bis zu fünf Sensoren können verwendet werden, die Aufzählung der Parameternummern ist lediglich durch ein Komma zu separieren. Wenn mehr als ein Sensor verwendet werden, wird automatisch der Mittelwert gebildet.
RGT3 Präsenztaste: Pin 0 Raumgerät 3 Emulation: Verwendeter Pin für die HK3-Präsenztaste.
Verwenden Aus MAX!-Geräte verwenden (Aus/Ein)
IP-Adresse Cube 192.168.178.5 IP-Adresse des CUNO/CUNX/modifizierten MAX!Cube
Geräte KEQ0502326,KEQ0505080 Seriennummern der zu verwendenden MAX!-Geräte
Verwenden Aus IPWE-Erweiterung verwenden (URL/ipwe.cgi) (Aus/Ein)
Parameter 8700,8743,8314 Darzustellende Parameter in der IPWE-Erweiterung
Verwenden Serial Debugging-Funktion verwenden (Aus/Serial/Telnet)
Verbositätsmodus Ein Verbositätsmodus aktiviert (Aus/Ein)
Monitor Modus Aus Monitor Modus aktiviert (Aus/Ein)
Unbekannte Parameter anzeigen Ein Unbekannte bzw. nicht verfügbare Parameter (“error 7 - parameter not supportet”) anzeigen (Ein/Aus).

2.2.2 Konfiguration durch Anpassen der Datei BSB_LAN_config.h

Die Konfiguration der BSB-LAN-Software kann außerdem erfolgen, indem die Einstellungen in der Datei BSB_LAN_config.h angepasst werden. Hierzu werden nachfolgend sämtliche Einstellmöglichkeiten analog zu der Reihenfolge in der Datei BSB_LAN_config.h aufgeführt. Es ist daher ratsam, die Einstellungen Punkt für Punkt abzuarbeiten.

Hinweis
Wenn ein Definement deaktiviert ist oder werden soll, dann sind vor dem Hashtag zwei Slashes hinzuzufügen (“auskommentieren”):
//#define XYZ = Definement XYZ ist deaktiviert.
Wenn ein Definement aktiviert werden soll, dann sind die beiden Slashes vor dem Hashtag zu entfernen:
#define XYZ = Definement XYZ ist aktiv.



Netzwerkeinstellungen:






Sicherheitsfunktionen:


Einstellungen für optionale Sensoren:








Buseinstellungen (Pins und Typ):










#define JSONCONFIG



2.3 Manuelles Hinzufügen von Parametern aus v2.2

Im Vergleich zu früheren Versionen von BSB-LAN mag auffallen, dass einige Parameter nun in der gerätespezifischen Parameterliste nicht mehr auftauchen, auch wenn diese grundsätzlich funktioniert haben.
Es ist aber weiterhin möglich, ausgewählte Parameter aus der Parameterliste der Version 2.2 in die aktuelle Version aufzunehmen.

Hinweis
Wir empfehlen ausdrücklich, diese nicht offiziell vom Hersteller des Reglers unterstützten Parameter nur nach eingehender Prüfung hinzuzufügen, insbesondere, wenn diese Werte auch geschrieben werden sollen!
Als sicheren Nummernbereich, in dem Parameter wie im Folgenden beschrieben hinzugefügt werden können, empfehlen wir 10600 und aufwärts.

Im ersten Schritt lädt man sich dazu die Release-Version 2.2 unter https://github.com/fredlcore/BSB-LAN/releases herunter.
Nachdem man die Datei entpackt hat, findet man in dem Unterverzeichnis BSB_LAN die Datei BSB_LAN_custom_defs.h.default. Diese öffnet man mit einem Texteditor wie z.B. Notepad unter Windows oder TextEdit unter MacOS.
Parallel dazu öffnet man außerdem die Datei BSB_LAN_custom_defs.h aus der aktuellen BSB-LAN Version, die man benutzen möchte, in der Arduino IDE.
Wenn beide Dateien geöffnet sind, sucht man in der BSB_LAN_custom_defs.h.default der Version 2.2 nach der Parameternummer des Parameters, den man hinzufügen möchte.

Die weiteren Schritte werden anhand des Beispiels des früheren Parameters 701 – „Präsenztaste (temporäre Abwesenheit)“ erläutert. Dieser Parameter ist bei der gerätespezifisch erstellten Datei BSB_LAN_custom_defs.h mittlerweile per default enthalten, lediglich bei den ersten erstellten Dateien (in der damaligen Umstellphase auf die BSB-LAN-Version 3.x) fehlt dieser noch.

Die Suche nach „701“ ergibt zuerst diesen Eintrag:
const char STR701[] PROGMEM = STR701_TEXT;
Diese Zeile kopiert man in die Zwischenablage.
In der Datei BSB_LAN_custom.defs.h der aktuellen BSB-LAN Version sucht man nun nach dem Text const char S und findet dann eine Reihe solcher Einträge. Dort fügt man die oben ausgewählte Zeile an eine beliebige Stelle ein.

Findet sich für einen Parameter kein Eintrag, der mit const char beginnt, sondern ein Eintrag, der dem Muster #define STR<gesuchte Parameternummer> STR<referenzierte Parameternummer> entspricht, sind zwei Schritte nötig:
Man kopiert zuerst die Zeile #define STR… in die aktuelle BSB_LAN_custom_defs.h Datei und sucht dann in der BSB_LAN_custom_defs.h.default nach der referenzierten Parameternumer, bis man für diese Nummer die Zeile findet, die mit const char S beginnt.
Am Beispiel der Parameternummer 702 würde man daher diese Zeile zuerst finden: #define STR702 STR701.
Daraufhin sucht man dann erneut nach der referenzierten Parameternummer (in diesem Falle 701), so dass man bei einer erneuten Suche nach dieser Parameternummer dann die Zeile const char STR701[] PROGMEM = STR701_TEXT; finden würde, die man dann ebenfalls kopieren würde.
Wichtig ist, dass die #define-Zeile unter der const char S…-Zeile stehen muss!
Das Ergebnis sähe also für Parameter 702 so aus:

const char STR701[] PROGMEM = STR701_TEXT;
#define STR702 STR701

Alle weiteren Einträge, wo die Parameternummer ggf. in der Position des referenzierten Parameters in #define-Zeilen steht (wie z.B. #define STR1301 STR701) können ignoriert werden – es sei denn, man will in diesem Fall die Parameternummer 1301 ebenfalls hinzufügen.

Da es sich bei dem Parameter 701 um einen Parameter mit Auswahloptionen handelt, finden sich auch noch Zeilen, die mit #define ENUM701_... beginnen. Diese Zeilen sind ebenfalls in die aktuelle BSB_LAN_custom_defs.h zu kopieren.
In diesem Zusammenhang taucht dann noch ein Eintrag auf, der mit const char ENUM701[] beginnt. Diese und die nachfolgenden Zeilen sind bis zur schließenden geschweiften Klammer ebenfalls in die aktuelle BSB_LAN_custom_defs.h zu kopieren:

const char ENUM701[] PROGMEM_LATEST = {
"\x00 " ENUM701_00_TEXT "\0"
"\x01 " ENUM701_01_TEXT "\0"
"\x02 " ENUM701_02_TEXT
};

Bei rein numerischen Parametern, die kein Auswahlmenü haben, sondern z.B. nur einen Temperaturwert anzeigen, entfällt dieser Schritt, weil es dazu dann keinen const char ENUM…-Eintrag gibt.

Schlussendlich findet man den eigentlichen Tabelleneintrag für Parameter 701, der folgendermaßen aussieht:
{0x2D3D0572, VT_ENUM, 701, STR701, sizeof(ENUM701), ENUM701, DEFAULT_FLAG+FL_WONLY, DEV_ALL},
Die entsprechende Tabelle findet sich in der aktuellen BSB_LAN_custom_defs.h Datei am Ende der Datei. In der dritten Spalte sieht man dabei immer die Parameternummer. Nun geht man in dieser Datei soweit nach oben, dass der Parameter an der richtigen Stelle eingefügt wird. In unserem Beispiel wäre das nach der Zeile für Parameter 700.

Achtung
Es ist unbedingt wichtig, darauf zu achten, dass der Parameter in dieser Tabelle / cmdtbl-Struktur an der richtigen Stelle eingefügt wird (und nicht z.B. vor der Zeile für Parameter 700 oder irgendwo danach), weil sonst die Parameter in der Kategorienübersicht nicht mehr vollständig aufgelistet werden!

Bei einigen Reglern wird jedoch der Parameter 701 schon von einer anderen Funktion belegt sein. Neuere LMS-Regler haben dort z.B. die Funktion für „temporär wärmer/kälter“ abgelegt. Das Verlegen des neu hinzuzufügenden Parameters ist jedoch einfach: Man wählt eine freie Parameternummer (abgesehen von der hier erwähnten Funktion “Präsenztaste” empfehlen wir dafür die Parameternummern 10600 und aufwärts) und fügt die Zeile
{0x2D3D0572, VT_ENUM, 701, STR701, sizeof(ENUM701), ENUM701, DEFAULT_FLAG+FL_WONLY, DEV_ALL},
an der entsprechenden Stelle in der Datei ein. Dann braucht man lediglich die Parameternummer in der dritten Spalte zu ändern, in diesem Fall auf 10110. Die Parameternummern, die bei STR… oder ENUM… eingetragen sind, können jedoch so bleiben, da sie so gewählt wurden, dass sie nicht mit den neuen Parametern kollidieren.
Die neue, finale Zeile sähe dann so aus:
{0x2D3D0572, VT_ENUM, 10110, STR701, sizeof(ENUM701), ENUM701, DEFAULT_FLAG+FL_WONLY, DEV_ALL},

Zusammengefasst noch einmal die Zeilen, die für die Funktion „Präsenztaste“ kopiert werden müssten, um sie in die Datei BSB_LAN_custom_defs.h als Parameternummer 10110 einzufügen:

const char STR701[] PROGMEM = STR701_TEXT;
const char ENUM701[] PROGMEM_LATEST = {
"\x00 " ENUM701_00_TEXT "\0"
"\x01 " ENUM701_01_TEXT "\0"
"\x02 " ENUM701_02_TEXT
}; 

Außerdem an der entspr. korrekten Stelle in der cmdtbl-Struktur:
{0x2D3D0572, VT_ENUM, 10110, STR701, sizeof(ENUM701), ENUM701, DEFAULT_FLAG+FL_WONLY, DEV_ALL},

Danach kann BSB-LAN erneut auf den Microcontroller geflasht werden und der neue Befehl ist einsatzbereit.

Möchte man in dem Zuge gleich die in diesem Fall evtl. uneindeutige Parameterbezeichnung „Präsenztaste“ auf z.B. die zutreffendere Bezeichnung „Zeitprogramm (temporär)“ ändern, kann man dies in dem Schritt auch gleich machen. Dazu würde man einfach nur die Zeile
const char STR701[] PROGMEM = STR701_TEXT;
in
const char STR701[] PROGMEM = “Zeitprogramm (temporär)”;
ändern müssen und dann erneut flashen. Da alle diese Änderungen in der BSB_LAN_custom_defs.h erfolgen, bleiben Sie auch bei einem Update der BSB-LAN-Software erhalten.

Möchte man bei der Gelegenheit auch gleich noch die Präsenztastenfunktion für HK2 (Parameter 1001 in v2.2) als Parameter 10111 hinzufügen, würden die entspr. Zeilen so aussehen:
#define STR1001 STR701
sowie diese Zeile an der entspr. korrekten Stelle in der cmdtbl-Struktur:
{0x2E3E0572, VT_ENUM, 10111, STR1001, sizeof(ENUM701), ENUM701, DEFAULT_FLAG+FL_WONLY, DEV_ALL}, // [-] - Heizkreis 2 - Präsenztaste ***(virtuelle Zeile)***

Parameter, die von Interesse sein könnten und die dafür zu kopierenden Zeilen
1602 – Status Trinkwasserbereitung
const char STR1602[] PROGMEM = STR1602_TEXT;
const char ENUM1602[] PROGMEM_LATEST = {
"\x00\x02 " ENUM1602_00_02_TEXT "\0"
"\x02\x02 " ENUM1602_02_02_TEXT "\0"
"\x00\x04 " ENUM1602_00_04_TEXT "\0"
"\x04\x04 " ENUM1602_04_04_TEXT "\0"
"\x00\x08 " ENUM1602_00_08_TEXT "\0"
"\x08\x08 " ENUM1602_08_08_TEXT <br> };
Außerdem an der entspr. Stelle in der cmdtbl-Struktur:
{0x31000212, VT_BIT, 1602, STR1602, sizeof(ENUM1602), ENUM1602, DEFAULT_FLAG, DEV_ALL}, // Status Trinkwasserbereitung
10100 – Status Brenner
#define ENUM10100_01_TEXT ENUM_CAT_34_TEXT
const char ENUM10100[] PROGMEM_LATEST = {
"\x00" // index for payload byte
"\x01\x01 " ENUM10100_01_TEXT "\0"
"\x02\x02 " ENUM10100_02_TEXT "\0"
"\x04\x04 " ENUM10100_04_TEXT "\0"
"\x08\x08 " ENUM10100_08_TEXT "\0"
"\x10\x10 " ENUM10100_10_TEXT "\0"
"\x20\x20 " ENUM10100_20_TEXT "\0"
"\x40\x40 " ENUM10100_40_TEXT "\0"
"\x80\x80 " ENUM10100_80_TEXT
};
Außerdem an der entspr. Stelle in der cmdtbl-Struktur:
{0x053D0213, VT_CUSTOM_BIT, 10100, STR10100, sizeof(ENUM10100), ENUM10100, FL_RONLY, DEV_ALL}, // INFO Brenner
10102 – Info HK1
{0x2D000211, VT_UNKNOWN, 10102, STR10102, 0, NULL, DEFAULT_FLAG, DEV_ALL}, // INFO HK1
10103 – Info HK2
{0x2E000211, VT_UNKNOWN, 10103, STR10103, 0, NULL, DEFAULT_FLAG, DEV_ALL}, // INFO HK2
10104 – Info HK3/P
{0x2F000211, VT_UNKNOWN, 10104, STR10104, 0, NULL, DEFAULT_FLAG, DEV_ALL}, // INFO HK3/P

ko-fi


Weiter zu Kapitel 3
Zurück zum Inhaltsverzeichnis