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

alex.tvr

So schnell wie möglich gemacht, denn ich bin es leid, zur Wärmepumpe im Heizungsraum durch eine kalte Garage zu laufen :D. Auf dem Stecker des Raumgeräts befindet sich ein ziemlich großer Bereich (wenn Sie die Abdeckung entfernen), an dem Sie die Drähte anlöten können. Sie können es auf dem Foto sehen. Das Lötzinn und die Drähte wurden mit einer Klebepistole gesichert.
Ich glaube nicht, dass dies für das Handbuch geeignet ist :D

n300

#5896
Hallo Leute,

ich hab hier grade nen echt lustigen Glitch.

Und zwar wenn ich versuche die Heizkennlinie auf 0,58 zu setzen. Dann springt er immer wieder auf 0,56 zurück. 0,60 geht dann wieder. Über den QAA lässt sich das sehr wohl auf 0,58 setzen. Sollte mMn in 0,01 Increments einstellbar sein. QAA macht 0,02er Schritte.

Kann das mal wer prüfen ob das nur bei mir so ist?

Hier mal die entsprechenden Telegramme:

GET /S720=0.58 HTTP/1.1
set ProgNr 720 = 0.58
setting line: 720 val: 01 00 1C
LAN->HEIZ SET  720 Heizkreis 1 - Kennlinie Steilheit: ---
DC C2 00 0E 03 3D 2D 05 F6 01 00 1C 37 C1
HEIZ->LAN ACK  720 Heizkreis 1 - Kennlinie Steilheit:
DC 80 42 0B 04 2D 3D 05 F6 F5 BF
LAN->HEIZ QUR  720 Heizkreis 1 - Kennlinie Steilheit:
DC C2 00 0B 06 3D 2D 05 F6 2D 81
HEIZ->LAN ANS  720 Heizkreis 1 - Kennlinie Steilheit: 0.56
DC 80 42 0E 07 2D 3D 05 F6 00 00 1C 6A 95
#720: 0.56



EDIT:

Wenn ich 0,59 setze springt er auf 0,58. Sehr seltsam, bei allen anderen Bereichen in der Kennline ist mir etwaiges noch nicht aufgefallen bis jetzt  :o

mhecht

Hallo und zuerst ein fettes Danke an alle, die das Thema BSB-LAN-Adapter sowohl bzgl. HW als auch SW vorangetrieben haben!!

Auch vielen Dank an Freetz, der umgehend die Komponenten verschickt hat! Bisher habe ich mich hier in den Foren ab und zu umgeschaut, doch im Grunde bin ich nun neu dabei.

Platine und Zubehoer kam vorhin an, war innerhalb weniger Minuten verloetet und scheint gut mit dem von mir vorbereiteten ESP32 noch am externen BSB meiner Broetje WGB-28E zu funktionieren. Sehr schoen vorbereitet!
Derzeit laeuft ein Test auf neue Parameter. Ich versuche nun oefter reinzuschauen und ggf. kann ich ja ab und zu auch etwas beitragen.


sust

Moin  n300,

Bei meiner Elco Thision S13 (Gerätefamilie 97) lässt sich vom Bediengerät die Kennliniensteilheit nur in 0,02 er Schritten verstellen. (Ein QAA-Raumgerät hab ich nicht.)
Und vom BSB-Lan Web geht es auch nur in 0,02 Schritten.
Allerdings vom Webinterface nur mit "Trick": Will ich von aktuell 1,04 auf 1,08 verändern, bekomm ich das Ergebnis 1,06... Um 1,08 zu erhalten musste ich 1,09 eingeben.
Und das ist wohl das von dir beobachtete zurückspringen.

Wenn man sich dein Codebeispiel anschaut so wird laut settingline für den Wer t0,58 der Wert 00 1C an den Kessel gesendet und das stellt er in deinem Codebeispiel ja auch ein.

1Ch entspricht dem Wert 28d und der nächshöhere mögliche Wert ist 1Dh mit dem Dezimalwert 29d. Damit ist klar das Siemens nur 0,02 er Schritte vorgesehen hat. Und das BSB-lan sich ein kleinwenig vertut. (wahrscheinlich  Rundung).




s868

Hi.
in the description of the ARISTON boiler there are menu codes, I want to control the boiler via ebus, it is not clear how to form packets.
if you connect to the BSB bus of the ARISTON boiler and send a packet 01 10 06 23 06 07 88 00 40 1E 12 9E 00 - the temperature will be set to 30 degrees. according to the ebus data format description, we have:
01 - master-adress
10 - slave -adress
06 23 - command (set Temp)
06 - lenght of data

according to the instructions for the boiler, the temperature is set in menu 245.
how is menu 245 related to code 06 23 in the package?

Schotty

Hi s868,

if ARISTON uses ebus as you said (and afaik it does), there isn't a BSB - maybe you posted in the wrong thread..?

Zitat von: s868 am 07 Dezember 2021, 09:40:44
in the description of the ARISTON boiler there are menu codes, I want to control the boiler via ebus, it is not clear how to form packets.
if you connect to the BSB bus of the ARISTON boiler and send a packet 01 10 06 23 06 07 88 00 40 1E 12 9E 00 - the temperature will be set to
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Zitat von: n300 am 24 November 2021, 09:15:10
ich hab hier grade nen echt lustigen Glitch.

Und zwar wenn ich versuche die Heizkennlinie auf 0,58 zu setzen. Dann springt er immer wieder auf 0,56 zurück. 0,60 geht dann wieder. Über den QAA lässt sich das sehr wohl auf 0,58 setzen. Sollte mMn in 0,01 Increments einstellbar sein. QAA macht 0,02er Schritte.

Kann das mal wer prüfen ob das nur bei mir so ist?

Das hängt immer mit der Codierung der Werte in den Telegrammen zusammen. Dort werden keine Fließkommazahlen übermittelt, sondern diese auf unterschiedlichste Art in ganze Zahlen umgewandelt. Manchmal wird mit 10 multipliziert (wenn man z.B. XX.Y Prozent übertragen will, wird XXY übermittelt und später bei der Anzeige der Dezimalpunkt zwischen XX und Y gesetzt), bei der Temperatur wird der Wert z.B. mit 64 multipliziert, bei der Heizkurve mit 50. Von daher lassen sich die Werte nur in 0,02er Schritten erhöhen - was schon eine deutlich höhere Auflösung ist, als sich im real life sinnvoll einsetzen ließe. Bei ungeraden Stellen im Hundertstelbereich rundet BSB-LAN dann beim Schreiben entsprechend.
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

Zitat von: mhecht am 24 November 2021, 11:19:03
Hallo und zuerst ein fettes Danke an alle, die das Thema BSB-LAN-Adapter sowohl bzgl. HW als auch SW vorangetrieben haben!!

Auch vielen Dank an Freetz, der umgehend die Komponenten verschickt hat! Bisher habe ich mich hier in den Foren ab und zu umgeschaut, doch im Grunde bin ich nun neu dabei.

Platine und Zubehoer kam vorhin an, war innerhalb weniger Minuten verloetet und scheint gut mit dem von mir vorbereiteten ESP32 noch am externen BSB meiner Broetje WGB-28E zu funktionieren. Sehr schoen vorbereitet!
Derzeit laeuft ein Test auf neue Parameter. Ich versuche nun oefter reinzuschauen und ggf. kann ich ja ab und zu auch etwas beitragen.

Dann erst einmal herzlich willkommen im Forum :) - freut mich, dass alles gut geklappt hat und wir freuen uns auch auf den Output von der Parameterprüfung für unsere Kompatibilitätsliste. Viel Spaß noch mit dem Projekt!
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

#5903
Zitat von: freetz am 07 Dezember 2021, 12:39:52
Das hängt immer mit der Codierung der Werte in den Telegrammen zusammen. Dort werden keine Fließkommazahlen übermittelt, sondern diese auf unterschiedlichste Art in ganze Zahlen umgewandelt. Manchmal wird mit 10 multipliziert (wenn man z.B. XX.Y Prozent übertragen will, wird XXY übermittelt und später bei der Anzeige der Dezimalpunkt zwischen XX und Y gesetzt), bei der Temperatur wird der Wert z.B. mit 64 multipliziert, bei der Heizkurve mit 50. Von daher lassen sich die Werte nur in 0,02er Schritten erhöhen - was schon eine deutlich höhere Auflösung ist, als sich im real life sinnvoll einsetzen ließe. Bei ungeraden Stellen im Hundertstelbereich rundet BSB-LAN dann beim Schreiben entsprechend.

Guten Morgen freetz :)

Ja das klingt logisch. Ich hab da ja ne GUI (Schieberegler) drum rum gebastelt und in der setze ich auch nur in 0,02 increments, genau wie es auch der QAA macht. Meine Werte die ich da übergebe müssten somit eigentlich 50stel kompatibel sein. Interessanterweise müsste ich aber (teilweise) ungerade Werte angeben um ans gewünschte Ziel zu kommen. zB.: muss ich 0,59 an den BSB-LAN übergeben um gewünschte 0,58 setzen zu können. Mach ich hier was falsch?




freetz

Keine Ahnung, dazu müsste ich mir Deine Implementation genauer anschauen, wofür mir die Zeit fehlt. Aber ehrlich gesagt frage ich mich, ob eine Heizkurvenabweichung von 0,01 überhaupt einen messbaren Effekt hat.
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

Nein Nein, keine Sorge, was/wie ich was an BSB-LAN übergebe soll nicht deine Sorge sein. Ist jetzt auch nicht von meiner WebUI abhängig. Ich kann auch auch direkt über Web vom BSB-LAN zB.: 0,58 nicht setzen. Springt dann immer wieder zurück auf 0,56.

Ich hab auch gar nicht den Anspruch in 0,01 Increments setzen zu können.

messbaren Effekt hat man definitiv, bei den 0,02er Increments von einem Schritt zum nächsten. Grade bei Fußbodenheizungen, wo man doch mit recht tiefen Temperaturen am Vorlauf arbeitet, macht es beim Feinjustieren schon Sinn mit den 50stel. Bei -5°C Außen Temp macht das schon so 0,7K Unterschied am Vorlauf. Das ist bei 35°C Vorlauf jetzt nicht Nichts ;)

freetz

#5906
In der Theorie vielleicht, aber ob Deine Heizung es in der Praxis schafft, den Vorlauf genauer als 0,7K stabil zu halten?
Anyway, ich habe jetzt mal die von sust weiter oben genannten Werte (1,04 bis 1,08) ausprobiert, das läuft bei mir ohne Probleme in 0,02er Schritten, hier die Logs, die die korrekte Umrechnung zeigen (mit 50 multipliziert und in Hex, also 0x34 bis 0x36):

GET /4444/S720=1.04 HTTP/1.1                                                   
set ProgNr 720 = 1.04                                                           
setting line: 720 val: 01 00 34                                                 
LAN->HEIZ SET  720 Heizkreis 1 - Kennlinie Steilheit: ---                       
DC C2 00 0E 03 3D 2D 05 F6 01 00 34 92 AB                                       
HEIZ->LAN ACK  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC 80 42 0B 04 2D 3D 05 F6 F5 BF                                               
LAN->HEIZ QUR  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC C2 00 0B 06 3D 2D 05 F6 2D 81                                               
HEIZ->LAN ANS  720 Heizkreis 1 - Kennlinie Steilheit: 1.04                     
DC 80 42 0E 07 2D 3D 05 F6 00 00 34 CF FF                                       
#720: 1.04                                                                     

GET /4444/S720=1.05 HTTP/1.1                                                   
set ProgNr 720 = 1.05                                                           
setting line: 720 val: 01 00 34                                                 
LAN->HEIZ SET  720 Heizkreis 1 - Kennlinie Steilheit: ---                       
DC C2 00 0E 03 3D 2D 05 F6 01 00 34 92 AB                                       
HEIZ->LAN ACK  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC 80 42 0B 04 2D 3D 05 F6 F5 BF                                               
LAN->HEIZ QUR  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC C2 00 0B 06 3D 2D 05 F6 2D 81                                               
HEIZ->LAN ANS  720 Heizkreis 1 - Kennlinie Steilheit: 1.04                     
DC 80 42 0E 07 2D 3D 05 F6 00 00 34 CF FF                                       
#720: 1.04                                                                     

GET /4444/S720=1.06 HTTP/1.1                                                   
set ProgNr 720 = 1.06                                                           
setting line: 720 val: 01 00 35                                                 
LAN->HEIZ SET  720 Heizkreis 1 - Kennlinie Steilheit: ---                       
DC C2 00 0E 03 3D 2D 05 F6 01 00 35 82 8A                                       
HEIZ->LAN ACK  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC 80 42 0B 04 2D 3D 05 F6 F5 BF                                               
LAN->HEIZ QUR  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC C2 00 0B 06 3D 2D 05 F6 2D 81                                               
HEIZ->LAN ANS  720 Heizkreis 1 - Kennlinie Steilheit: 1.06                     
DC 80 42 0E 07 2D 3D 05 F6 00 00 35 DF DE                                       
#720: 1.06                                                                     

GET /4444/S720=1.07 HTTP/1.1                                                   
set ProgNr 720 = 1.07                                                           
setting line: 720 val: 01 00 35                                                 
LAN->HEIZ SET  720 Heizkreis 1 - Kennlinie Steilheit: ---                       
DC C2 00 0E 03 3D 2D 05 F6 01 00 35 82 8A                                       
HEIZ->LAN ACK  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC 80 42 0B 04 2D 3D 05 F6 F5 BF                                               
LAN->HEIZ QUR  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC C2 00 0B 06 3D 2D 05 F6 2D 81                                               
HEIZ->LAN ANS  720 Heizkreis 1 - Kennlinie Steilheit: 1.06                     
DC 80 42 0E 07 2D 3D 05 F6 00 00 35 DF DE                                       
#720: 1.06                                                                     

GET /4444/S720=1.08 HTTP/1.1                                                   
set ProgNr 720 = 1.08                                                           
setting line: 720 val: 01 00 36                                                 
LAN->HEIZ SET  720 Heizkreis 1 - Kennlinie Steilheit: ---                       
DC C2 00 0E 03 3D 2D 05 F6 01 00 36 B2 E9                                       
HEIZ->LAN ACK  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC 80 42 0B 04 2D 3D 05 F6 F5 BF                                               
LAN->HEIZ QUR  720 Heizkreis 1 - Kennlinie Steilheit:                           
DC C2 00 0B 06 3D 2D 05 F6 2D 81                                               
HEIZ->LAN ANS  720 Heizkreis 1 - Kennlinie Steilheit: 1.08                     
DC 80 42 0E 07 2D 3D 05 F6 00 00 36 EF BD   


EDIT: Bei 0,58 kommt es bei mir jedoch auch dazu, dass er dann 0,56 setzt. Da BSB-LAN den Wert schon so an die Heizung übermittelt, ist es keine Veränderung auf Heizungsseite, sondern vermutlich eine Ungenauigkeit in der Floating Point Arithmetik des Microcontrollers bzw. der Mathematik-Funktion. Da es wie gesagt mit anderen Zahlen funktioniert, vermute ich nicht, dass ich da codeseitig etwas ändern kann...
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

sust

 @freetz: mein Beitrag war als Antwort auf die Frage von n300 "hat jemand auch sowas?" gedacht. Das Fehlerbild bei mir und N300 war so schön deckungsgleich...
Unterschlagen hab ich meinen Software und Hardwarestand:   :-[ :-[         Mega2560 mit V0.44.   
Ich nehme an, freetz,  du hast einen ESP32 oder Due für BSB_lan. Der Micro-Code? für die Mathematikfunktion unterscheidet sich dann wohl ein wenig zum 2560....

Wenn das Ganze nicht so einfach zu bereinigen ist, stellt sich für mich die Frage: Wie hat Siemens das hingekriegt? Und gibt es hier niemanden der das auch kann?


sust

gustav0

Hallo miteinander,

erst einmal vielen Dank für das Projekt und großer Respekt für die geleistete Arbeit.
Ich habe ein Board v4.1 von freetz auf einem Olimex ESP32 EVB. Die Modifikation mit Leitung durchkratzen und neue Verbindung von R6 nach Pin 10 vom UEXT habe ich gemacht und vom Prinzip her scheint es zu gehen - aber:
Mein Heizungssetup ist etwas komplexer: Warm machen bei mir Gastherme WGB EVO 20 und Luft-Wärmepumpe BLW Mono K 8. Gesteuert wird das ganze von einer übergeordneten ISR HSM-M M (wegen 2 Heizkreisen). Gastherme und ISR reden per LPB miteinander, die Luft-Wärmepumpe kann weder LPB noch BSB (Steuerung zu neu) und wird deshalb nur per einfachem Anforderungssignal per Relais angesteuert.
Ich gehe mit dem BSB-Lan an die ISR. Dort gibt es sowohl LPB als auch BSB Anschlüsse. Wenn ich die Platine mit dem BSB-Anschluss (freier Anschluss FB) verbinde und im Code vom BSB-Lan BSB als Bus einstelle kriege ich eine Verbindung und kann voll auf die ISR zugreifen. Wenn ich mir die Broadcastsignale ansehe dann gehe ich davon aus, dass ich mit dem BSB-Anschluss an ISR und deren Display hänge. Abfrage der neuen Parameter habe ich gemacht und kommt per Mail.
Was ich dort überhaupt nicht sehe ist die Gastherme.

Also habe ich mal den Code des BSB-Lan auf LPB umgestellt und auch das Kabel parallel an die LPB-Verbindung zwischen Gastherme und ISR gehängt. Dann findet BSB-Lan jedoch nichts. Es kommt 3 mal "query failed" und dann Gerätefamilie und Gerätevariante beides mit 0. Auch beim neue Parameter abfragen findet er nichts. Anschließend habe ich im Code wieder auf BSB umgestellt, es an den entsprechenden Anschluss verbunden und es geht wieder wie vorher.
Ich gehe deshalb davon aus, dass die Hardware in Ordnung ist und der Fehler wo anders liegt.

Ist meine Verdrahtung am LPB-Bus parallel richtig oder geht das anders?
Wenn richtig hat jemand eine Idee wo der Fehler liegen könnte?

Ich habe hier im Thread irgendwo eine Anfrage gelesen das eine Anlage mit 2 über LPB-Bus verbundenen Geräten gesucht wird. Wenn ich das System am Laufen haben sollte stehe ich gerne für Versuche zur Verfügung. Programmier- und Elektronikerkenntnisse sind vorhanden.

Viele Grüße und Danke schonmal,
gustav0

freetz

Hallo gustav0,

freut mich, dass alles erstmal grundsätzlich gut klappt - an LPB müsste der Adapter aber eigentlich auch entsprechend laufen. Wenn die Geräteerkennung schon fehlschlägt (also Gerätefamilie und -variante mit 0 zurückgemeldet werden), dann ist entweder die Verkabelung nicht korrekt oder die Umstellung auf LPB ist nicht richtig durchgeführt worden. Probiere es in dem Fall mal per URL-Aufruf:
http://<ip>/P1,66,0
Und schau' dann mal, was dann in den Logs kommt.
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