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

babajun

Gibts eigentlich noch Platinen?

freetz

...zwei habe ich noch, ich schick' Dir mal eine PN. Wenn es weiterhin Interesse gibt, kann ich auch noch mal eine Sammelbestellung starten.

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

Scherheinz


freetz

#648
So, es hat etwas länger gedauert, aber weil schon mehrere danach gefragt haben, habe ich es jetzt einmal umgesetzt: Das Logging von Heizungswerten auf Micro-SD Karte unter Verwendung des Micro-SD-Slots auf dem w5100 Ethernet Shield, das die meisten von uns ja sowieso einsetzen.
Es wird standardmäßig die Datei datalog.txt auf eine (vorher mit FAT16 oder FAT32 zu formatierende) micro SD-Karte geschrieben, der Intervall des Werteabrufs sowie die zu loggenden Parameter sind in der bsb_lan_config.h zu definieren. Aus diesem Grund sollten müssen bei diesem Update auch alle drei Programmdateien aktualisiert und die _config.h wieder an die eigene Umgebung angepasst werden - vorher also die Einstellungen sichern!
Aktiviert wird die Funktion, in dem das #define LOGGER ent-kommentiert wird. Über die URL-Kommandos /D kann die Datei auch auf dem Browser ausgegeben werden, mit /D0 wird sie gelöscht und das Loggen erfolgt dann in einer neu angelegten datalog.txt.

Das Logfile hat das Format
Millisekunden_seit_Programmstart;Programm-Nr.;Bezeichnung;Wert
Die Millisekunden laufen nach gut 49 Tagen über und zählen dann wieder von 0 hoch.

Diese Funktion macht das Gerät nun auch für längerfristige Analysen/Wartungen interessant, bei denen man kein FHEM aufsetzen kann/will oder schlichtweg kein Internetzugang vorhanden ist.

Achtung: Ich habe nicht getestet, was passiert, wenn man die Logging-Funktion aktiviert, aber keine SD-Karte eingelegt hat oder diese einfach so im laufenden Betrieb entfernt. Sicherheitshalber also die Karte nur dann entfernen, wenn der Arduino ausgeschaltet ist und ihn nur dann ohne Karte starten, wenn die Logging-Funktion (wieder) deaktiviert ist.

Viel Spaß damit,

F.

EDIT:
Code noch mal geändert, Logfile hat jetzt das Format
Millisekunden_seit_Programmstart;Datum_Uhrzeit;Programm-Nr.;Bezeichnung;Wert
Datum und Uhrzeit wird aus der Therme über Parameter 0 geholt (setzt also voraus, dass die Therme den Parameter unterstützt und eine korrekte Uhrzeit liefert). Die Millisekunden bleiben für's Debugging erhalten, aber so ist dann der Overflow nicht mehr so problematisch...
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, die letzte Platine ist jetzt weg - da es aber schon weitere Nachfragen gibt, würde ich zeitnah eine neue Sammelbestellung organisieren. Bitte dazu bis Ende der Woche (Sonntag Abend) eine kurze Interessensbekundung per PN oder E-Mail an bsb ät code-it punkt de

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

freetz

Version 0.27 ist draußen, zum einen wird jetzt von der Heizung das vollständige Datum bezogen und in die jeweilige Log-Zeile aufgenommen, zum anderen kann jeder Parameter nun mit mehreren Flags versehen werden.

Momentan ist nur das Flag "FL_RONLY" umgesetzt, das einen Parameter schreibgeschützt setzt. Gleichzeitig gibt es in der _config.h die neue (und zwingend erforderliche) Varialble DEFAULT_FLAG. Damit können alle Parameter standardmäßig bei Kompilierung auf ein bestimmtes Flag gesetzt werden. Ist DEFAULT_FLAG auf 0, bleibt alles wie bisher und alle Parameter können auch gesetzt werden. Wenn man es auf FL_RONLY setzt, können alle Parameter nur noch gelesen werden - das kann z.B. sinnvoll sein, wenn man BSB_LAN nur zum Lesen verwenden will und verhindern möchte, dass unbefugte Nutzer die Heizung durch das Setzen von Werten stören.

Es bleibt weiterhin möglich, einzelne Parameter davon auszunehmen, indem man direkt in die _defs.h geht und dort bei dem command table Eintrag das "DEFAULT_FLAG" durch einen Wert seiner Wahl ersetzt. Ist also per Default FL_RONLY gesetzt, kann man ausgewählte Parameter durch setzen auf 0 schreibfähig machen - und umgekehrt.

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

DerMexikaner

Hallo zusammen,

seit 10 Tagen bin ich Besitzer eine Brötje Gas-Brennwerttherme "WGB EVO 20 H". Aufgrund der Informationen hier in diesem Thread habe ich mir das BSB LAN-Interface bestellt und zusammengelötet. Obwohl ich bisher nicht sehr viel Erfahrung mit Arduino und Co habe, hat alles auf Anhieb funktioniert und ich kann nun fleißig Daten auslesen und verändern.  Perfekt für die Einstellung bzw. das Feintuning der Heizungssteuerung. Ohne die vielen Information aus dem Forum und besonders aus diesem Thread wäre dies für mich unmöglich gewesen.

Vielen Dank an all diejenigen, die mir mit Ihren Beiträgen geholfen haben!
Anbei Fotos der Regelung und des Typschildes.
Saludos,
Lutz

Smartes Badezimmer, Heizungssteuerung, Bewässerungssteuerung, RPI3, Arduinos, NodeMCUs, Homematic

Scherheinz

Danke Freetz!
Funktioniert wunderbar :)

Schotty

Moin allerseits,
die deutschen Übersetzungen sind nun auch online.
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

babajun

Erfolgreich im Testbetrieb: Brötje ISR-SSR Steuerung
Soweit ich es beurteilen kann sind alle Abfragen möglich.

Frage bezüglich Interface Aufbau: Ich habe eine Lochrasterplatine erstellt. V+ ist mit 3,3V verbunden -> funktioniert.
Die fertige Platine hat die selben Bauteile (R3, R4), ist jedoch mit +5V verbunden?

Jewe

Moinsen,

hätte noch eine Idee zur Verbesserung. Auf der "Startseite" könnten wir doch die verwendete Version anzeigen und ggf. auch die eingestellten Einstellungen.

Jens

freetz

Das mit der Version ist eine gute Idee - die "Einstellungen" anzeigen zu lassen, wäre etwas umfangreich, jenachdem, was damit genau gemeint ist...
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

Zwei Infos: Für die Sammelbestellung haben sich ein paar Leute gemeldet, ich stocke aber wieder auf 10 auf, um auf die Mindestbestellmenge zu kommen, d.h., es werden dann wieder ein paar übrig bleiben. Bei Interesse einfach melden. Wenn alles glatt geht, sollten die Interessenten, die sich jetzt gemeldet haben, in etwa 10 Tagen die Platinen in der Post haben.

Zum anderen ist jetzt Version 0.28 draußen - Hauptfeature ist, dass nun auch die Funktionen /B (Brennerstarts / -dauer), /T (DS18B20 Temperatursensoren) und /H (DHT22-Feuchtigkeitssensoren) geloggt werden können. Dazu gibt es neue virtuelle Parameter ab 20000, die in der BSB_lan_config.h aufgeführt sind.
Eine Bitte hierzu: Da ich im Moment keine DS18B20 1-Wire Temperatursensoren an meinem Gerät habe, konnte ich die Funktionalität nur analog zu den DHT22-Sensoren umsetzen (dort geht es). Könnte daher bitte jemand, der 1-Wire installiert hat und eine SD-Karte hat, zeitnah die entsprechenden Optionen aktivieren und testen? Dann kann ich den Part für mich abschließen ;)...

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

Schotty

Zitat von: freetz am 01 März 2017, 14:59:17
[...]
Es bleibt weiterhin möglich, einzelne Parameter davon auszunehmen, indem man direkt in die _defs.h geht und dort bei dem command table Eintrag das "DEFAULT_FLAG" durch einen Wert seiner Wahl ersetzt. Ist also per Default FL_RONLY gesetzt, kann man ausgewählte Parameter durch setzen auf 0 schreibfähig machen - und umgekehrt.
[...]

Hi freetz,

ich möchte gerade den gewünschten Logger-Testlauf mit /T machen, beim Anpassen der config.h wollte ich auch gleich die neue readonly-Funktion aktivieren (also für alle Parameter) - allerdings stehe ich gerade etwas auf dem Schlauch, was ich da jetzt genau eingeben muss..  ::)

Ist es so richtig?

// defines default flag for parameters (set to FL_RONLY to make all parameters read-only)
// #define DEFAULT_FLAG  0
#define FL_RONLY

Oder muss ich da jetzt noch eine 0 oder eine 1 hinter "FL_RONLY" schreiben?

Und wie genau muss es aussehen, wenn ich einzelne Parameter (nur als Beispiel: Raumtemperatur) vom readonly ausnehmen und somit schreibfähig machen möchte? Wäre super, wenn du (oder jemand anderes, der es weiß) bei Gelegenheit nochmal ein kurzes code-Beispiel posten könntest - ich check's einfach noch nicht..  ;)

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

freetz

Hallo Schotty,

ja, so wie Du es beschrieben hast, ist es richtig. Momentan gibt es nur zwei Möglichkeiten für DEFAULT_FLAG, nämlich
#define DEFAULT_FLAG 0
oder
#define DEFAULT_FLAG FL_RONLY
FL_RONLY ist nichts anderes als ein Platzhalter für eine Zahl (nämlich 1), nur falls es später mehrere Flags gibt, ist FL_RONLY einfacher zu lesen als 1, zumal man dann die Flags später auch einfach addieren kann, also z.B. FL_RONLY + FL_IRGENDWAS + FL_SONSTWAS. Da weiß man dann gleich, was alles gesetzt ist, als wenn man da z.B. eine 6 stehen hätte als Summe von bspw. 1+2+3.

Wenn Du nun einen Wert von dem Default ausnehmen willst, dann gehst Du in die BSB_lan_defs.h und suchst nach dem Parameter in der cmd_t Struktur. Für die zu sendende Raumtemperatur wäre das Parameter 10000 (bei mir Zeile 4114). Dort gehst Du dann ans Ende der Zeile und ersetzt den Text "DEFAULT_FLAG" durch die Ziffer 0, um den Wert generell auch schreibbar zu machen. Umgekehrt könntest Du "DEFAULT_FLAG" durch "FL_RONLY" ersetzen, wenn Du standardmäßig alle Parameter schreibbar hast (also DEFAULT_FLAG auf 0 gesetzt ist) und Du diesen einen Wert aber nur read-only haben willst.

Ich hoffe, das ist verständlich genug :).

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