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

#1170
Ich werde es so benennen, wie es bei litronics (der bisher der einzige mit zwei Stufen ist) benannt wird, sonst macht es keinen Sinn. Und da er hier:
https://forum.fhem.de/index.php/topic,29762.msg717554.html#msg717554
geschrieben hatte, dass 20 (0x14) Stufe 2 und 04 Stufe 1 ist, würde ich dabei bleiben, bis ich etwas Gegenteiliges von ihm höre...

EDIT: Habe mir gerade noch mal sein dortiges gesamtes Log angesehen. Wenn der Brenner auf Status 0 geht (also aus ist), ist der nächste BC ein 20er (0x14), auf den dann ein 04er folgt, und das mehrfach. Damit wäre seine Beobachtung ja auch noch mal bestätigt. Das einzige, was ab und an noch auftaucht ist ein 01er Broadcast, der zwischen zwei "Aus"-Meldungen kommt. So lange wir aber nicht sicher wissen, was das ist, würde ich den für Berechnungen außen vor lassen.
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

Zitat von: freetz am 24 November 2017, 09:29:01
Ich werde es so benennen, wie es bei litronics (der bisher der einzige mit zwei Stufen ist) benannt wird, sonst macht es keinen Sinn. Und da er hier:
https://forum.fhem.de/index.php/topic,29762.msg717554.html#msg717554
geschrieben hatte, dass 20 (0x14) Stufe 2 und 04 Stufe 1 ist, würde ich dabei bleiben, bis ich etwas Gegenteiliges von ihm höre...

EDIT: Habe mir gerade noch mal sein dortiges gesamtes Log angesehen. Wenn der Brenner auf Status 0 geht (also aus ist), ist der nächste BC ein 20er (0x14), auf den dann ein 04er folgt, und das mehrfach. Damit wäre seine Beobachtung ja auch noch mal bestätigt. Das einzige, was ab und an noch auftaucht ist ein 01er Broadcast, der zwischen zwei "Aus"-Meldungen kommt. So lange wir aber nicht sicher wissen, was das ist, würde ich den für Berechnungen außen vor lassen.
Genau das log aus dem oben verlinkten Beitrag habe ich mir nämlich auch nochmal angesehen. Und dort sieht man, dass die Kesseltemp beim einzigen Auftauchen des 14er BC weiter sinkt, ebenso beim 01er. Erst beim nächsten Auftauchen des 04er danach steigt sie wieder..
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Ja, das mit der Kesseltemperatur stimmt, vielleicht bräuchte man mehrere Takte, um das sicher sagen zu können. Aber wenn es so ist, dass 20 Stufe eins wäre, dann würde das zumindest dem Widersprechen, dass der Brenner immer erst in Stufe 2 startet. Denn der 20er kam hier ja nach dem 00er... Aber warten wir mal ab. Letztlich ist es ja nur eine Frage der Benennung und bisher betrifft das nur litronics ;)...
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

litronics

Jetzt macht euch mal keinen Stress :)

Sobald ich dazu komme, werde ich nochmal den Adapter so programmieren, dass ich die notwendigen Logs auf die SD-Karte geschrieben bekomme. Die Brennerabfrage für die Grafik bekomme ich über FHEM sowieso - allerdings nur in einem 2 Min. Intevall. Daher überlege ich die zwei Werte auch gleich noch im Sekundentakt auf die Karte zu loggen.

Das ergibt zwar ein riesen Logfile wenn das über mehrere Stunden läuft - gibt aber vermutlich Aufschluss was da genau passiert und in welchen Reihenfolgen die BCs kommen.

Ich hätte jetzt mal folgende Werte im Sekundentakt loggen lassen:

alle Busmessages inkl.BCs
8300 - Brenner Stufe 1
8301 - Brenner Stufe 2

Braucht ihr sonst noch welche?

Ach ja - nachdem ihr euch mit der Konfiguration des Adapters am Besten auskennt - reicht es wenn ich in der ...config.h folgendes eintrage:
int log_parameters[20] = {
  30000,                  // Logging von "rohen" Bus-Datentelegrammen (macht nur als alleiniger Parameter Sinn)
//  8700,                   // Außentemperatur
//  8743,                   // Vorlauftemperatur
//  8314,                   // Rücklauftemperatur
  8300,
  8301
//  20000,                  // Spezialparameter: Brenner-Laufzeit (/B)
//  20001,                  // Spezialparameter: Brenner-Takte (/B)
//  20002,                  // Spezialparameter: TWW-Laufzeit (/B)
//  20003,                  // Spezialparameter: TWW-Takte (/B)
//  20004,                  // Spezialparameter: 24h-Durchschnittswerte (/A)
//  20101,                  // Spezialparameter 20100-20199: DHT22-Sensoren 1-100 (/H)
//  20200                   // Spezialparameter 20200-20299: DS18B20-Sensoren 1-100 (/T)
};

litronics

Zitat von: freetz am 24 November 2017, 09:49:44
Ja, das mit der Kesseltemperatur stimmt, vielleicht bräuchte man mehrere Takte, um das sicher sagen zu können. Aber wenn es so ist, dass 20 Stufe eins wäre, dann würde das zumindest dem Widersprechen, dass der Brenner immer erst in Stufe 2 startet. Denn der 20er kam hier ja nach dem 00er... Aber warten wir mal ab. Letztlich ist es ja nur eine Frage der Benennung und bisher betrifft das nur litronics ;)...

korrekt - der Brenner startet nicht IMMER in Stufe 2.
Ich hab ein Log, da ist er in Stufe 1 gestartet.

litronics

Hab mir grad das aktuelle Package runtergeladen und wollte es kompilieren.

War leider nicht so erfolgreich:
BSB_lan:4392: error: 'pgm_read_word_far' was not declared in this scope

                     line=pgm_read_word_far(pgm_get_far_address(cmdtbl[0].line) + (i-1) * sizeof(cmdtbl[0]));

                                                                                                           ^

exit status 1
'pgm_read_dword_far' was not declared in this scope


Da fehlt irgendwo eine Funktion :(

Schotty

Zitat von: litronics am 24 November 2017, 09:57:13
(...)
..im Sekundentakt..
(...)
Braucht ihr sonst noch welche?
..wie schon des Öfteren geschrieben: Ein oder zwei Brennerzyklen einfach mal im Livebetrieb zeitgleich mit /V1 und SerMo überwachen wäre glaube ich etwas sinnvoller..just my 50ct..
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Der Fehler kommt bei mir nicht, die Funktion wird über
#include <avr/pgmspace.h>
eingebunden, die relativ weit oben in den Includes steht. Zum Test setze die mal als allererste und schau' ob der Fehler dann auch 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

litronics

Zitat von: Schotty am 24 November 2017, 10:03:35
..wie schon des Öfteren geschrieben: Ein oder zwei Brennerzyklen einfach mal im Livebetrieb zeitgleich mit /V1 und SerMo überwachen wäre glaube ich etwas sinnvoller..just my 50ct..

Ja vielleicht - mal sehen - vielleicht mach ich das auch so und lass mein Notebook einfach mal auf dem Brenner stehen.

Zitat von: freetz am 24 November 2017, 10:08:17
Der Fehler kommt bei mir nicht, die Funktion wird über
#include <avr/pgmspace.h>
eingebunden, die relativ weit oben in den Includes steht. Zum Test setze die mal als allererste und schau' ob der Fehler dann auch kommt?

Hab den Fehler gefunden - man sollte auch für den Mega Kompilieren und nicht für den Nano :)
Was das allerdings mit dem Einbinden einer Funktion zu tun hat, ist mir schleierhaft...

litronics

Mal eine andere Frage an die Profis :)

An meinem SSR wird für 7288 (Temperaturfühler BX3) eine Temperatur von 45°C angezeigt. An der ist der Fühler auch angeschlossen.

An meinem BOB wird für 7288 eine Temperatur von 35°C angezeigt - an dem hängt der Fühler nicht aber anscheinend erhält er die Daten von der SSR.

Meine Frage - sollten die zwei Werte eigentlich nicht gleich sein - egal wo ich sie anzeigen lasse??

litronics

War grad mal wieder an der Heizung und hab festgestellt, dass er schon die ganzen Bustelegramme mitgeloggt hat :)

Das läuft jetzt schon seit gestern und müsste theoretisch jede nur mögliche Konstellation beinhalten.
Damit das zuordnen etwas leichter wird hab ich auch noch das Bild von meinem Log in FHEM gemacht.

Auch wenn es ein echter Datenberg ist hoffe ich, dass es hilft...


freetz

@litronics: Danke, das hilft schon mal sehr viel weiter, denke ich...
@Schotty: Mir scheint es doch so zu sein, dass 20 (0x14) Stufe 2 und 04 Stufe 1 ist. Im Log findest Du die Einträge, wenn Du nach 00 02 13 suchst. Die Zahl dahinter ist dann entweder 0x14 (dez. 20) oder 0x04 (dez. 04). Wenn man das mit dem Diagramm vergleicht, finde ich den Zeitbereich von 05:48:44 bis 06:17:06 ein gutes Beispiel: Da geht es von null auf 14, dann kurz auf 04, dann wieder eine Weile auf 14, bevor es dann auf 04 und 00 geht. Das entspreicht im Diagramm in der Zeit den Stufen 2, 1, 2 und dann aus (vielleicht ist die im Log noch vorhandene kurze 1er-Stufe im Bild nicht so abgebildet). Bei den Werten kurz vor 05:00 Uhr (ebenfalls am 24.11.) passt es genau so, wobei hier ja nur ein kurzer Spike mit Stufe 2 war und dann Stufe 1 blieb.
Andere Werte als 04 und 14 kommen hier auch nicht vor (wie noch die 01) in litronics' vorherigem Kurz-Log, so dass es sich bei den Werten wohl wirklich um die Stufen handeln muss.
Da ich mich aber mit Ölern nicht auskenne, würde ich da schon noch mal auf Deine Einschätzung warten, es aber ansonsten so belassen, wie bisher gedacht.

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

fhemfreund

Klinke mich hier auch mal kurz ein ...

Habe Freetz' Platine mit der entsprechenden Software (V. 0.38) an meiner Brötje WGB Pro EVO 20C seit ca. 1 Monat erfolgreich in Verbindung mit Fhem (via HTTPMOD mit 300sec Interval und event-on-change-reading .*) im Einsatz. Zusätzlich habe ich noch einen Temperatur-Sensor huckepack auf die Platine gesetzt. Habe mal ein paar Bilder zur Illustration angehängt. Den Stecker (#627528 - Brötje Stecker Raumgerät ISR Rast 5 3-polig) zum Anschluß an die Steuerungsplatine der Therme habe ich übrigens nach längerer Suche bei www.ersatzteilfachmann.de gefunden.

Muss sagen, dass das Ganze bei mir bis jetzt sehr gut funktioniert - habe bis jetzt keinerlei Ausfälle.

Ein ganz großes Lob und Dankeschön an die Macher hier - insbesondere an Freetz (Frederik) für seinen tollen Support! Sogar mein Heizungsbauer war schwer beeindruckt, da sowas von Brötje gar nicht angeboten wird - schon gar nicht mit einer Integration in eine Haussteuerung (hier: Fhem).

Andreas

freetz

Danke für die Blumen und die Beispielbilder Deiner tollen Umsetzung mit Gehäuse und Stecker - das sieht ja schon ziemlich professionell aus :)...
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

cubase

Hallo zusammen

Ich benutze auch mit grosser Freude freetz sein bsb-lan Arduino! Nun möchte ich gern die Werte per node-red auswerten und damit dann weiter zu emoncms.org senden. Ich hatte arzmi ( https://forum.fhem.de/index.php/topic,29762.msg621025.html#msg621025 )vor Wochen einmal angeschrieben, aber leider keine Antwort erhalten. Deshalb hier die Frage in die Runde, ob das jemand schon umgesetzt hat und mir ein wenig auf die Sprünge helfen kann.

Gruss cubase
Thinkpad T61 [=Server mit USV (Akku) und Debugging Konsole (Tastatur+Bildschirm) :-)] (Debian Stretch) // BSB-lan > Mosquitto > InfluxDB > Grafana
(expire)Banana Pro (armbian)- BSB-lan - NodeRed
(expire)PC Engine ALIX 3d2 (Linux voyage 3.2.0-4-486), FHEM V5.5, CULFW V1.61, nanoCUL (Selbstbau CUL433