LAN-Anbindung für BSB-Bus (Brötje, Elco Thision etc.)

Begonnen von justme1968, 29 November 2014, 19:50:40

Vorheriges Thema - Nächstes Thema

freetz

Zur Fehleranalyse wäre ein SerMo-Log nötig, um zu sehen, was da beim Hochfahren genau passiert. Dann kann man hoffentlich mehr sagen...
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

Schotty

@patriwag: Vielleicht eine unnötige Frage/Bemerkung, aber hast du den Adapter auch sicher in die richtige Pinreihe gesteckt? Wenn du von hinten drauf guckst, müssen die Pins des Adapters in der ersten Reihe des Due stecken und die Bohrlöcher der Platine mit der des Due genau übereinander liegen. Zwischen LAN-Shield und Adapterplatine selbst ist dann sozusagen eine Pinreihe breit Platz. Wenn du aus Versehen eine Reihe zu weit nach vorne gesteckt hast, könnte das evtl schon der Grund sein.   
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

plataaaa

Zitat von: Lanos am 05 März 2023, 13:53:33Hallo,

ich hänge mich hier mal dran, weil das offenbar der Sammelthread für BSB-LAN ist.

Ich betreibe BSB-LAN auf Arduiono Due (original) mit Ethernet-Shield (original) an einer Brötje WGB 90. Funktioniert so weit alles super, aber in unregelmäßigen Abständen (zwischen 6 Stunden und mehreren Tagen) scheint der Arduino abzustürzen, jedenfalls reagiert der Webserver dann nicht mehr und es werden auch keine Logs mehr aufgezeichnet.

Hatte jemand schon ein ähnliches Problem oder eine Idee, wie man die Fehlerursache eingrenzen kann?

Servus, hatte das gleiche Fehlerbild, ist auch hier im fred untergebracht. Nach laaaanger Fehlersuche und unzähligen Hardwaretausch Aktionen war die Ursache ein IP Adressenkonflikt. Schau mal in Deiner FritzBox, ob nicht zufällig die IP bereits vergeben wurde...

staubi2020

Hallo zusammen,

ich habe leider ein Problem.
Wenn die BSB-Platine aufgesteckt ist wird beim Starten des Arduino DUE folgendes ausgegeben:
Size of cmdtbl: 3668
free RAM: 84683
BSB-LAN version: 3.1.5-20230326095055
3.1.5-20230326095055
Using RX/TX pins 255, 255
Init One Wire bus...
!= PIO_NOT_A_PIN" failed: file "C:\Users\jakob\Downloads\BSB_LAN\src\OneWireNg\platform\OneWireNg_ArduinoSAM.h", line 148, function: void OneWireNg_ArduinoSAM::initDtaGpio(unsigned int, bool)

Wenn BSB-Platine nicht aufgesteckt ist, fährt er normal hoch. Auch der Webserver ist erreichbar:

3.1.5-20230326095055
Microcontroller: ARM/Arduino Due
Using RX/TX pins 19, 18
PPS settings:
Starting SD..failed
192.168.178.39
255.255.255.0
192.168.178.1
Waiting 3 seconds to give Ethernet shield time to get ready...
Calculating free space on SD...0 MB free
Start network services
DC C2 00 0B 06 3D 05 00 0B C3 A1
DC C2 00 0B 06 3D 05 00 64 5E E8
Device family: 0
Device variant: 0

Starting MDNS service with hostname BSB-LAN
Setup complete

Ich wäre für Hilfe Dankbar.

Viele Grüße

n300

Hallo zusammen,

ich hätte schon wieder Schabernack-Ideen für meine PV/Heizung-Automatisierung.

Gibt es Möglichkeiten den Parameter  10028 Benutzerdefiniert - Aussentemperatur: 7.5 °C schreibbar zu machen.
Das wäre jetzt die Geschichte für die alternative Außentemperatur um meiner Wärmepumpe bei Stromüberschuss mit ner faked Niedrigtemperatur die Sporen zu geben und das EEPROM schonend.
Lt. Handbuch war das wohl mal der Param 10003, den es bei mir aber nicht (mehr) gibt.
Ach ja, hat das eigentlich schon mal jemand versucht, wenn der echte physische Sensor noch dran hing?

crazykiwi

Hallo zusammen,

ich habe derzeit BSB-LAN auf einem NodeMCU laufen. Verbunden ist dieser via BSB mit einem Brötje Solarsystemregler (ISR-SSR), an dem wiederum ein Ölbrenner (BOB25) und Solarthermie hängen. Ich bin ursprünglich davon ausgegangen, dass der ISR-SSR alle Daten der Geräte die am Bus hängen sammelt, und ich alle Daten dort abfragen kann. Leider funktioniert das so bekanntermaßen nicht - die Brennerlaufzeiten (Stufe 1 und 2) und z.B. Anlagendruck sehe ich nur am Brenner. Diese sind mir aber enorm wichtig, vor allem die Laufzeiten für eine Berechnung des Ölverbrauchs. Komme ich jetzt nicht umhin, mir einen zweiten Adapter an den Brenner zu hängen, oder könnte ich via LPB unkompliziert beide Geräte abfragen?
Aus den bisherigen Einträgen bzw. dem Handbuch konnte ich nicht zweifelsfrei erkennen, ob eine "gleichzeitige" Abfrage (d.h. ständiger automatischer Wechsel) von zwei Geräten möglich ist, bzw. wie ich die entsprechenden Adressierungen überhaupt herausfinden kann...

Lanos

#6591
Zitat von: Lanos am 07 März 2023, 21:52:37Wenn ich wieder vor Ort bin, werde ich den Arduino mit BSB-LAN ein paar Meter entfernt von der LTE-Fritz!Box aufstellen und probehalber mit einem USB-Netzteil versorgen. Ich glaube auch nicht unbedingt an einen Software-Fehler, sondern halte einen Hardware-Fehler oder Störeinflüsse für die wahrscheinlichere Ursache. Sicherheitshalber werde ich auch die dann aktuellste Software flashen.
Zwischenzeitlich war ich vor Ort und habe die BSB-LAN Version 3.1.14 auf den Arduino Due geflasht. Zudem habe ich steht das Gehäuse mit BSB-LAN/Arduino nun ca. 3 m entfernt von der Fritz!Box LTE aufgestellt und über ein 10 m langes Patch-Kabel (Cat 6) mit der Fritz!Box verbunden. Trotzdem gab es weiterhin unregelmäßige Abstürze, meist nach 6-30 Stunden.

Später habe ich das Intervall für das Logging von 60 Sekunden auf 300 Sekunden geändert. Seither (inzwischen knapp eine Woche) läuft das BSB-LAN ohne jeden Absturz durch.

Standardmäßig ist das Logintervall ja deutlich länger eingestellt (3600 Sekunden?).  Zu Beginn brauchte ich aber ein viel kürzeres Logintervall (60 Sekunden), um beobachten zu können, was die Kesselregelung in der Startphase genau tut.

Vielleicht hilft das, den Fehler einzugrenzen. By the way: Warum gibt's eigentlich für BSB-LAN kein Unterforum hier? Es erscheint mir etwas unübersichtlich, alles ungeordnet in einziges Thema zu schreiben, das mittlerweile über 400 Seiten hat...

n300

#6592
OK also 10003 scheint bei mir nicht zu funktionieren. Aber ich kann über den 10000er ja den Raumthermostat übersteuern mit /I10000=<Wert meiner Wahl>. Da ich 1% Raumeinfluss habe kann ich damit die Vorlauftemperatur manipulieren  O:-)

Geh ich richtig der Annahme, dass diese INFORM Pakete rein im RAM des Reglers abgehandelt werden, oder? Ich mein im EEPROM macht das ja überhaupt keinen Sinn. Wenn dem so ist, weiß ich jetzt, wie ich meine Wärmepumpe zu ner höheren Vorlauftemperatur bewegen kann, ohne jedes mal die Solltemperatur neu in den EEPROM brennen zu müssen.


POST /JS HTTP/1.1
setting line: 2.122e-314 val: 01 40 00
LAN->HEIZ INF      3D2D0215 01 40 00
DC C2 00 0E 02 3D 2D 02 15 01 40 00 D6 81
Setting parameter 10000 to "5" with type 0


EDIT:

Also Grundsätzlich bin ich mit der Funktionalität so recht happy. Einziges Schönheitsmanko ist der interne Temp-Sensor vom QAA75, der mir natürlich regelmäßig wieder reinpfuscht. Quickfix bis jetzt -> Gerät einfach aus der Halterung nehmen, dann kann es auch nix senden. Super find ich das aber noch nicht. Kennt ihr nen Kniff den internen Temperatursensor zu deaktivieren. Ich hab im BDA leider nix Stichhaltiges dazu gefunden.

freetz

Sorry für die Funkstille, die Forums-Benachrichtigungen sind leider manchmal unzuverlässig :(...

@staubi2020: Lösche bitte einmal komplett das EEPROM über /NE und setze in der _config.h UseEEPROM=0 - er zeigt bei Dir für RX und TX-Pin im ersten Logmitschnitt 255,255 an, das kann nicht gut gehen, denn die Pins gibt es nicht und könnten ggf. Teil des Problems sein.

@n300: Ob INF-Telegramme anders als SET-Telegramme behandelt werden, was das EEPROM des Reglers angeht, weiß ich nicht. Aber da das Raumgerät zumindest die Raumtemperatur regelmäßig darüber sendet, sollte _dieser_ Parameter dann kein grundsätzliches Problem darstellen. Das reine Schreibbarmachen kannst Du ändern, indem Du das Flag FL_RONLY bei dem entsprechenden Parameter entfernst. Ob der Regler das aber auch annimmt, ist eine andere Frage. In jedem Fall wird ein phyisch präsenter Sensor Dir immer dazwischenpfuschen. Beim QAA75 kannst Du allerdings die Betriebsart auf Servicegerät umstellen, dann wird m.W. keine Raumtemperatur übertragen.

@crazykiwi: Du kannst jeden Parameter mit angehängtem Ausrufezeichen gefolgt von der Geräte-ID am LPB abfragen. Wenn der SSR die 0 ist und Deine Heizung die 1, dann wäre z.B. über /8326!1 die Abfrage der Brennermodulation von der Heizung möglich.

Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

nordseepixel

Hallo zusammen,

bin über Frederik hier gelandet, als ich eigentlich "nur kurz" die BSB Platine bei ihm bestellen wollte und eine sehr
ausführliche Mail zurückbekommen habe.

Jetzt habe ich noch ein paar Fragen und hoffe ihr könnt mir helfen.

Unsere Heizung ist eine WGB-K 20 C. Auf dem Regler ist der FB Stecker mit G-CL+-CL-.
Die FB ist im Wohnzimmer montiert.

1. Ist die Heizung überhaupt BSB fähig?
2. Kann ich das BSB parallel zur FB anklemmen?

Wenn mir jemand verrät wie ich Bilder posten kann könnte ich diese noch nachreichen.

Danke schonmal in voraus und einen schönen Sonntag Abend.

Gruß Jörg

freetz

Wenn sie diesen FB-Stecker mit G-CL+-CL- hat, ist sie BSB-kompatibel und ja, Du kannst BSB-LAN parallel zu einem etwaigen Raumgerät anklemmen.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

n300

Zitat von: freetz am 10 Mai 2023, 23:48:34@n300: Ob INF-Telegramme anders als SET-Telegramme behandelt werden, was das EEPROM des Reglers angeht, weiß ich nicht. Aber da das Raumgerät zumindest die Raumtemperatur regelmäßig darüber sendet, sollte _dieser_ Parameter dann kein grundsätzliches Problem darstellen. Das reine Schreibbarmachen kannst Du ändern, indem Du das Flag FL_RONLY bei dem entsprechenden Parameter entfernst. Ob der Regler das aber auch annimmt, ist eine andere Frage. In jedem Fall wird ein phyisch präsenter Sensor Dir immer dazwischenpfuschen. Beim QAA75 kannst Du allerdings die Betriebsart auf Servicegerät umstellen, dann wird m.W. keine Raumtemperatur übertragen.

Hi Frederik. Danke für den Hinweis. Ich habe heute mit dem RG nochmal etwas rumgespielt und wollte es wie du sagtest auf Servicegerät umstellen. Dabei ist mir ein noch deutlich praktischerer Betriebsmodus aufgefallen. Hab's jetzt vom "Raumgerät 1" auf "Bediengerät 1" umgestellt. Somit dürfte wohl der TempSensor deaktiviert werden, denn der sendet jetzt nix mehr. Zusätzlich hab ich aber immer noch die gewohnte Möglichkeit, ohne Umwege HK1 und KK1 ganz normal schnell bedienen zu können :)

Mir gefällt das, das alte Teil wird mit etwas Homeautomation schön langsam smarter als alles Neue, was so out-of-the-box geliefert wird. Durch die Fake-Innentemperaturen könnte man sogar dynamisch die Wärmepumpe und fast stufenlos rauf und runterregeln, je nach PV-Überschuss. Natürlich mit der Kurvenglättung via zB.: Moving Average um das Gezappen bei ner Wolke vor der Sonne etwas zu entschärfen. SG-Ready gibt sowas nicht her. Das kann nur stur Ein-Aus, nach Bedingung.

Btw. hab rausgefunden, dass ich mit der Fake Temp auch die Vorlauftemp der Kühlung manipulieren kann, was ich dich ja vor einem Jahr schon mal gefragt habe. Muss dann im Sommer mal schauen, ob deine Formel hier auch funktioniert. Somit kann ich die Kühlung bei Bedarf deutlich kühler (als 18°C Vorlauf) runterfahren und trotzdem nen dynmischen Sicherheitsabstand zum Taupunkt gewährleisten.   O:-)  ;D

BSB-LAN -> ich liebe dieses Teil  8)

Sir.Frenz

Hallo Zusammen

ich bin seit kurzem auch stolzer Besitzer eines BSB-LAN Adapters mit Wroom ESP an meiner Weishaupt Heizung mit WRS-CPU-B1.
Soweit funktioniert alles auch grundlegend.
Ich kann über die Parameter 8310, 8700, 8950 8316 und 7750 einige Temperaturen auslesen(dank der v2.2 custom_defs.h), die ich bereits über HTTPMOD in FHEM übertrage und dort grafisch darstellen kann.

Nun sieht es so aus, als ob einige Parameter noch nicht erfasst werden/bekannt sind und manche falsch sind.
Im Betrieb werden auch einige Commands zwischen 10000 und 10500 ausgetauscht, die nicht bekannt sind.

Wie wäre jetzt der beste Weg das zu lösen (Kapitel 2.3 der Anleitung habe ich bereits gefunden, steig da aber nicht ganz durch)?

Mein Ziel wäre am Ende neben dem Darstellen der Temperaturen eine möglichst feine Abschätzung des Ölverbrauchs und nach Auswertung eines längeren Zeitraums eine Heizstrategie-Optimierung.

Ich habe bereits das gesamte Menü der Bedieneinheit einmal mit seriellem Monitor an durchgearbeitet und parallel dokumentiert, was ich auf dem Display der Bedieneinheit gesehen habe.
Einmal die User-Bedienung und einmal das Service Menü.
Die je beiden Dateien habe ich angehängt.

Ich freue mich über jede Hilfe :-)
Franz
Du darfst diesen Dateianhang nicht ansehen.
Du darfst diesen Dateianhang nicht ansehen.
Du darfst diesen Dateianhang nicht ansehen.
Du darfst diesen Dateianhang nicht ansehen.
Du darfst diesen Dateianhang nicht ansehen.     

freetz

#6598
Grundsätzlich sind ein paar mehr Infos schon hilfreich, so musste ich jetzt Dein SerMo-Logfile durchkämmen um darauf zu kommen, dass Du wohl einen Weishaupt-Regler hast.
Das Problem ist, dass diese die gerätespezifischen Parameterlisten nicht unterstützen. Man muss somit selber loggen und schauen, ob beim Aufruf am Bediengerät entsprechende Parameter über den Bus gehen. Das scheint bei Deinem Regler (im Gegensatz zu den meisten anderen LPB-Geräten) der Fall zu sein.

Was Du nun tun musst, ist Folgendes:
Jede Abfrage besteht aus zwei Telegrammen, einer Anfrage (QUR) und einer Antwort (ANS). Das ANS-Telegramm ist das, was Dich interessiert. Dort ist von Byte 10 bis 13 die CommandID hinterlegt, im Anschluss folgt die Daten-Payload, die bis einschließlich zum drittletzten Byte geht. Das erste Byte der Payload ist 0, wenn der Wert aktiv ist und 1 wenn er deaktiviert ist (wenn im Display "---" steht, z.B. beim Raumeinfluss). Die Bytes danach, also vom zweiten Payload-Byte bis zum Schluss sind die eigentlichen Daten. Da gibt es zig verschiedene Codierungen. Die, die wir kennen, kannst Du Dir mit etwas Programmierkenntnissen aus der optbl-Struktur in der BSB_LAN_defs.h herauslesen.

Beispiel: Temperaturen können mit dem Divisor 64 kodiert sein, d.h., Du musst die Payload durch 64 teilen, und wenn dann ein Temperaturwert zu finden ist, der auf eine bestimmte Einstellung am Regler passt, kannst Du damit auch unbekannte Telegramme dekodieren. Für Temperaturen mit dem Divisor 64 gibt es dann mehrere Wertetypen, je nachdem, ob die Temperatur in 2 oder 4 Bytes kodiert ist. Da musst Du dann schauen, welcher VT_ Typ am Ende der richtige ist. Da hilft nur Ausprobieren, vor allem bei Parametern, die man auch setzen kann.

Dabei dann immer kontrollieren, ob der gesetzte Wert auch mit dem übereinstimmt, der dann auch am Regler angezeigt wird. Das war für uns der Grund, da, wo möglich, auf die gerätespezifischen Parameterlisten zu setzen, denn da es so viele Unterschiede trotz gleicher Reglerbezeichnung gibt, ist es nicht mehr vertretbar, eine generische Liste zu verwenden, zumindest, wenn es die Alternative mit den gerätespezifischen Parameterlisten gibt.

Wenn Du für Deine Weishaupt dann eine "fertige" Liste hast (am besten bereinigt um die hunderte von "parameter not supported" Parameter), dann stelle sie gerne hier ins Forum ein, andere Weishaupt-User werden es Dir sicherlich danken.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

Hallo zusammen,

ich werde ab August für zwei Jahre ins Ausland gehen, aber keine Sorge, auch von dort werde ich mich weiter um BSB-LAN kümmern. Auch die Adapter habe ich in ausreichender Zahl vorproduziert, den Versand übernehmen dann meine Schwiegereltern ;).
Um die allerdings nicht zu überfordern, wird es in der Zeit nur die ESP32-basierten Boards geben (also für Olimex und NodeMCU).

Wer also einen Arduino Due einsetzt und sich vielleicht eine Backup-Platine auf die Seite legen möchte, sollte sich bis Juli per Mail an bsb (ät) code-it.de wegen einer Bestellung bei mir melden.

Der Arduino Due wird von der Software her aber weiter wie bisher unterstützt, denn bis auf ein paar Zusatzfunktionen ist die Code-Basis von Due und ESP32 identisch, so dass in absehbarer Zeit niemand vom Due auf den ESP32 wechseln muss, um up-to-date zu bleiben.

VG, F.

Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan