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

geni

Zitat von: Schotty am 18 Januar 2018, 15:28:28
@geni:
Für die Tabelle: Du hast BSB & LPB am Regler vermute ich mal, richtig? Oder nur BSB?

@Schotty
Korrekt, habe BSB + LPB Ausgänge am Regler.

Gruss
Geni
CTC 380, Mega xxx, MQTT, Nod Red, InfluxDB, Graffana

Schotty

Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

So, ich habe jetzt die umfangreichen Änderungen von Michael hinzugefügt, vielen Dank noch mal, das konnte ich ja wirklich fast direkt so rüberkopieren :) - die einzige Änderung, die ich gemacht habe, ist, dass ich die neuen Parameter auf DEV_ALL gesetzt habe (aus vorher genannten Gründen). Die neue Version ist nun auf GitHub zum Testen.

Ich habe darüber hinaus auch noch mal an der MAX!-Funktion geschraubt. Die IDs könenn nun in der Form, wie sie auf den Geräten aufgedruckt sind, in der _config.h angegeben werden. Dann muss an jedem Gerät nur einmal die Anlern-Taste (zu erkennen an dem 30 Sek. Countdown, nicht zu verwechseln mit dem 300 Sek. Boost) gedrückt werden, damit BSB-LAN die Geräte erkennt. Das Ergebnis wird dann ins EEPROM geschrieben, so dass die Prozedur nicht bei jedem Neustart wiederholt werden muss.

Ebenfalls neu ist die Tatsache, dass bei einem Reset (jetzt: /N, verfügbar nur mit Definement "RESET") auch das EEPROM gelöscht wird. Das ist für PPS- bzw. MAX!-Nutzer relevant, die damit die zwischengespeicherten Einstellungen überschreiben können.
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

..die aktualisierte Version des Handbuchs ist nun auch online, die jüngsten Änderungen bzgl. MAX! etc sind hinzugefügt.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

keil

Hallo freetz und Schotty,

vielen Dank dafür dass Ihr meine Heizung und die Kategorie so schnell in den Code sowie die Doku aufgenommen habt!

Zitatdie einzige Änderung, die ich gemacht habe, ist, dass ich die neuen Parameter auf DEV_ALL gesetzt habe (aus vorher genannten Gründen).
Die Gründe dafür nicht für jede Heizung ein eigenes Süppchen zu kochen kann ich gut nachvollziehen, da es ja immer mehr werden und das mit dem Herausnehmen einzelner Anlagen irgendwann sehr unübersichtlich wird.


Mir sind noch zwei Sachen aufgefallen:

1. Bei sehr vielen der neuen Einträge handelt es sich nicht um reine Zahlenwerte, sondern um Strings, z.B.:
RGT2->HEIZ QUR 3110 Energiezähler -  Abgegebene Wärme:
DC 87 00 0B 06 3D 05 10 B3 58 6F
HEIZ->RGT2 ANS 3110 Energiezähler -  Abgegebene Wärme: 53'283 kWh
DC 80 07 1B 07 05 3D 10 B3 35 33 27 32 38 33 20 6B 57 68 00 00 00 00 00 00 00 69


Das ist jetzt eher kosmetischer Natur, aber das Hochkomma, welches im String als Tausendertrennzeichen dient, wird intern noch nicht als solches erfasst. Stattdessen bricht die Umwandlung von String->Integer beim Hochkomma ab, weshalb aus 53'283 kWh -> 53.00 werden (siehe Screenshot unten). Diese Werte können nicht geschrieben werden, das heißt hier kann nichts kaputt gehen, ich wollte es nur erwähnt haben.

2. Solange in der "BSB_lan_config.h" das "#define MAX_CUL 192,168,178,5" (hier fehlt noch ein "#") nicht definiert ist, kann ich das Projekt nicht übersetzen weil in der Funktion "InitMaxDeviceList()" auf "max_devices[]" zugegriffen wird, welches aber ohne die vorherige Definition nicht existiert.
Behoben habe ich das Problem indem ich die komplette Initialisierungs-Funktion in ein "#ifdef MAX_CUL" ... "#endif" gepackt habe.


Viele Grüße,
Michael

freetz

Hallo Michael,

danke für die Hinweise, ich habe jetzt sowohl die Funktion auch noch (wie den Rest von Max) in ifdefs gepackt und auch die String-Darstellung. Ich hoffe, die Anzeige ist jetzt korrekt?
Ich habe darüber hinaus auch noch das Umkopieren der Texte in den Arbeitsspeicher umgangen, indem diese direkt aus dem Flash ausgelesen und dargestellt werden. Das hat die ja eh' schon sehr spärlichen 8kB noch mal um gut 3kB erleichtert. Beim Testen sieht es bei mir jetzt gut aus, aber vielleicht können das Leute, die bei ihrer Anlage sehr lange DropDown-Auswahlmenüs haben, das noch mal testen, ob alles glatt läuft. Ein guter Kandidat wäre hierfür bei der Fujitsu der Parameter 8006.
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

keil

Hallo Frederik,

danke für die schnelle Korrektur, beide Fehler sind behoben (siehe Screenshot).

Das Dropdown-Menü von Parameter 8006 scheint richtig angezeigt zu werden, allerdings gibt es hier bei mir noch ein Problem.

DISP->HEIZ QUR 8006 Status -  Status Wärmepumpe:
DC 8A 00 0B 06 3D 05 17 DC 0A D5
HEIZ->DISP ANS 8006 Status -  Status Wärmepumpe:  VT_ENUM len !=2 && len != 3: 00 00 2E
DC 80 0A 0E 07 05 3D 17 DC 00 00 2E A6 B2


Ich habe es mir noch nicht wirklich genau angeschaut, aber kann es sein dass meine Heizung hier (im *.ino-File) noch mit dazu muss?
case VT_ENUM: // enum
              if((data_len == 2 && (dev_id & DEV_FJ_WSK) != dev_id) || (data_len == 3 && ((dev_id & (DEV_FJ_WSK+DEV_BR_BSW)) == dev_id || bus_type == 2))){



Viele Grüße,
Michael

freetz

Hallo Michael,

ja, da Deine Therme anscheinend auch 3 Byte für ENUMs vorsieht, muss sie da entsprechend aufgenommen werden. Aktualisierte Version ist oben, bitte mal ausprobieren.

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

keil


freetz

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

So, der Countdown rückt immer näher bei uns und ich habe nun hoffentlich die losen Enden in BSB-LAN erst einmal zusammengezogen. Version 0.40 ist jetzt auf GitHub und hat zum Schluss noch einige Bugfixes und kleinere Funktionserweiterungen in der Einbindung der MAX-Thermostate erhalten. Hier die ChangeLog (aus Zeitgründen wieder einmal nur auf Englisch):

-    Implemented polling of MAX! heating thermostats, display with URL command /X.
    See BSB_lan_custom.h for an example to transmit average room temperature to heating system.
-    Added new category "22 - Energiezähler" - please note that all subsequent categories move one up!
-    New virtual parameter 1601 (manual TWW push)
-    Added Fujitsu Waterstage WSYP100DG6 device family (211)
-    Added Enertech device family (103)
-    New definement "#define TRUSTED_IP2" to grant access to a second local IP address
-    Added optional definement "#define GatewayIP" in BSB_lan_config.h to enable setting router address different from x.x.x.1
-    Removed parameter 10109 because it is the same as 10000
-    Added function to check all known CommandIDs on your own heating system. Use /Q after enabling definement "#define DEBUG" in BSB_lan_config.h
-    Added parameter numbers to category menu
-    Updated analyze.sh
-    hopefully fixing the memory issue
-    Moved HTML strings to html_strings.h

Gruß,

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

Jewe

Hallo Frederik,

na jetzt muss ich dann auch mal wieder ein update machen... hat sich ja viel getan.

Wünsch Dir und Deiner Familie alles Gute.

Jens

amorph

Vielen Dank an alle. Ich habe ein Problem gefunden. Erneuert BSB Platine

Schotty

Zitat von: amorph am 22 Januar 2018, 09:12:09
Vielen Dank an alle. Ich habe ein Problem gefunden. Erneuert BSB Platine

Super! Könntest du dann bitte nochmal die genaue Bezeichnung deiner Heizung und die Ausgabe von /6223-6228 posten? Danke
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Etwas off-topic, aber da ich lange danach gesucht habe und nun endlich fündig geworden bin, möchte ich Euch das nicht vorenthalten - die Auswirkung des Raumeinflusses (Parameter 750):

Hintergrund war, dass ich mich gewundert habe, weshalb meine Therme bei einem halbwegs signifikanten Raumeinfluss eigentlich immer auf 100% fährt und dann bei Erreichen der Raumtemperatur gleich ausgeht ohne großartig zu modulieren. Nun habe ich im Netz die Formel(n) gefunden, nach denen der Raumeinfluss die Vorlauftemperatur beeinflusst:

dTV = dTRw * (1 + s)
wobei:
dTV = resultierende Vorlauftemperaturabweichung
dTRw = Raumsollwertkorrektur
s = Heizkurvensteilheit (Parameter 720)

Die Raumsollwertkorrektur dTRw berechnet sich wie folgt:
dTRw = dTR * Raumeinfluss (Parameter 750) / 10
wobei:
dTR = Differenz Raumtemperatur-Ist - Raumtemperatur-Soll

Zusammengeführt lautet die Formel dann:
dTV = dTR * Raumeinfluss / 10 * (1 + s)

Bei einer Heizkurve von 1,5 und einer Raumtemperaturabweichung Ist/Soll von 2 Grad und einem Raumtemperatureinfluss von 25% bedeutet das:

dTV = 2 * 25 / 10 * (1 + 1,5) = 12,5 °C Vorlauftemperaturveränderung

Bei 4 °C Abweichung (z.B. nach Ende der Nachtabsenkung) wäre man dann schon bei 25 Grad höherer VL-Temperatur, was vermutlich mehr ist, als das, was man bei Schnellaufheizung (Parameter 770) hinterlegen würde. Die Therme schaltet darüber hinaus bei Erreichen der Raumtemperaturbegrenzung (Parameter 760) auch bei einem RT-Einfluss von nur 1% ab. Für mich hat das die Konsequenz, dass ich den Einfluss auf max. 20% ansetzen werde. Vielleicht reicht sogar 1%, wenn die Heizkurve als solches gut eingestellt ist und der Einfluss dann nur dafür verwendet wird, bei Erreichen der RT-Begrenzung abzuschalten.

Ich habe mal eine kleine Excel-Tabelle erstellt, bei der man dann schnell mit den eigenen Werten für RT-Abweichung, -Einfluss sowie der Heizkurve die Auswirkungen auf die VL-Temperatur ablesen kann.

Gruß,

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