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

Schotty

@Luposoft: Nochmal danke für den Hinweis gestern bzgl Anhang D und der Pin-Zeile - hab's jetzt geändert: https://1coderookie.github.io/BSB-LPB-LAN/anhang_d.html
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

@all bzw @Node-RED-User: Dank BSB-LAN-User Konrad gibt es jetzt ein Modul für Node-RED, das eine einfache Integration von BSB-LAN ermöglicht. Ist natürlich nur für die entspr Node-RED-User interessant, aber da hier ja auch einige mitlesen, wollte ich nochmal eben gesondert darauf hinweisen.
https://1coderookie.github.io/BSB-LPB-LAN/kap11.html#1113-node-red
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Hast Du in den Einstellungen den "Write parameters enable" auf "ein" gesetzt?
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

Luposoft

Oh je, da stehe ich auf dem Schlauch.
Was meinst du damit konkret?

Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

freetz

http://<ip-adresse>/C aufrufen, da die Einstellung "Write parameters to system". Dazu musst Du aber das Definement WEBCONFIG aktiv haben. Wenn Du das nicht hast, macht auch die Einstellung FL_SW_CTL_RONLY für das DEFAULT_FLAG keinen Sinn, denn das besagt ja, dass die Schreibrechte über das Webinterface eingestellt werden.
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

Luposoft

Dann weiß ich ja schonmal, dass noch etwas fehlt.
Am leichtesten wäre, wenn ich den genauen Parameter hätte zum einstellen.
Ich habs einfach mal versucht, und in der lan_defs  folgendes gemacht: #define FL_SW_CTL_RONLY 0
Hat nichts gebracht.

In den Einstellungen kann ich garnichts machen.
Im Handbuch steht dazu auch nichts erhellendes.
Ich hab nen Screenshot angehängt.
Da ist nichts zum Einstellen
Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

Schotty

Habe den Hinweis für Mega-User gerade hinzugefügt. einfach das Flag 'FL_SW_CTL_RONLY' durch '0' erstzen, so wie es auch in der config.h noch als Beispiel aufgeführt ist:

//defines default flag for parameters (use "#define DEFAULT_FLAG 0" to make (almost) all parameters writeable)
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: Luposoft am 03 Dezember 2020, 15:59:40
Ich habs einfach mal versucht, und in der lan_defs  folgendes gemacht: #define FL_SW_CTL_RONLY 0
Hat nichts gebracht.

In den Einstellungen kann ich garnichts machen.
Im Handbuch steht dazu auch nichts erhellendes.
Ich hab nen Screenshot angehängt.
Da ist nichts zum Einstellen

Nicht einfach irgendwas einstellen. Das ganze ist ein Hobbyprojekt, und wenn bei zig neuen Einstellmöglichkeiten das Handbuch nicht gleich alles abbilden kann, dann ist das völlig normal. Alles andere wäre eine ziemlich unangebrachte Anspruchshaltung. Aus dem Grund gibt es eine stabile Release 1.1 unter "Releases", da läuft alles so, wie man es kennt. In der aktuellen _config.h.default stehen aber die wichtigsten Dinge, die man einstellen muss, u.a., um das Webinterface zu bekommen.
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 03 Dezember 2020, 16:10:44
Das ganze ist ein Hobbyprojekt, und wenn bei zig neuen Einstellmöglichkeiten das Handbuch nicht gleich alles abbilden kann, dann ist das völlig normal. Alles andere wäre eine ziemlich unangebrachte Anspruchshaltung.

Abgebildet hatte ich es bereits, nur eben ohne den speziellen Hinweis für Mega-Nutzer wie Luposoft, die Webconfig nicht verwenden können. Ist aber wie gesagt schon geschehen und die aktuelle Version auch als PDF mit im Repo..
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Luposoft

Die Lösung meines Problemes:
in der _config.h:

#define DEFAULT_FLAG FL_RONLY

dann werden im Gegensatz zum Kommentar:
// if #define DEFAULT_FLAG FL_RONLY is set, then the program will always be in read-only mode.

nur die in LAN_defs von DEFAULT_FLAG auf 0 gesetzten Parameter schreibbar

ihr habt schon recht, immer nur fragen ist zu einfach.
Und gerade wenn man mit veralteter Technik weitermachen will, sollte man schon selbst ein bissel schauen können ...

Und ich habs jetzt doch richtig verstanden, WEBCONFIG kann ich rausnehmen, das ist nix für den MEGA?
Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

Schotty

Also erstmal: schön, dass du es nun geschafft hast :)

Ich habe mir die Beiträge nochmal durchgelesen und muss mich/uns entschuldigen: zumindest ich hatte mich auf generellen Schreibzugriff aller Parameter bezogen, und so wie ich freetz' Beitrag verstehe er auch. Dass du generell nur Lesezugriff gewähren und per defs.h nur einzelne Parameter schreibbar machen wolltest, war (bei mir) irgendwann untergegangen.

Aber:
Zitat von: Luposoft am 03 Dezember 2020, 23:45:23
dann werden im Gegensatz zum Kommentar:
// if #define DEFAULT_FLAG FL_RONLY is set, then the program will always be in read-only mode.
nur die in LAN_defs von DEFAULT_FLAG auf 0 gesetzten Parameter schreibbar
das ist so nur bedingt richtig, denn es steht nicht im Gegensatz zum Kommentar in der config.h.
Wenn du FL_RONLY im Definement gesetzt hast, ist alles nur lesbar. Ausnahme: Wenn du eben einzelne Parameter in der defs.h durch das Ändern des DEFAULT_FLAG auf 0 direkt schreibbar machst.
Das ist aber nichts Neues, das war schon immer so und findet sich als Beispiel auch im Handbuch (in den pre-v2.x-Versionen auch mit genau dem 'FL_RONLY'-Flag). Wenn ich dich richtig verstanden habe, dann hattest du es bisher ja auch so gemacht.
ABER: In der aktuellen Handbuchversion (bezogen auf v2.x) habe ich bei dem Beispiel für das schreibbar-machen einzelner Parameter nun nicht mehr das FL_RONLY genannt, sondern eben das neue Flag 'FL_SW_CTL_RONLY', da es nun die Standardeinstellung in der config.h ist. Ich habe es noch nicht selbst getestet, da ich davon ausging, dass es auch weiterhin so (bei Due-Nutzern) funktioniert. Wenn du nun festgestellt hast, dass es so zumindest bei Mega-Nutzern nicht funktioniert, ist das ein guter Hinweis, dem ich nochmal nachgehen und es entspr selber testen werde. Das wird dann natürlich auch nochmal Berücksichtigung im Handbuch bei dem entspr Beispiel finden.

Sollten dir noch andere Mega-spezifische Dinge auffallen oder solltest du Vorschläge haben, was ich als Hinweise speziell für Mega-Nutzer und v2.x mit aufführen könnte, sag gerne Bescheid. Ob und was ich dann noch zusätzlich mit aufführe, müssten wir dann mal sehen. Bisher haben wir uns bzw habe ich mich darauf konzentriert, die aktuelle Version auf dem aktuellen Due-System zu testen und etwaige bugs zu finden. Ob und welche speziellen Funktionen dabei für die Nutzung des Mega noch oder anders funktionieren, habe zumindest ich noch nicht getestet. Denn wie Frederik schon sagte: Die für Mega-Nutzer letzte uneingeschränkt zu empfehlende Version ist v0.44, bis einschließlich v1.1 ist darüber hinaus noch alles so, wie man es kennt und daher u.U. auch leichter anzupassen. Ab v2.x sind viele Neuerungen hinzugekommen, allen voran das Webinterface zur Konfiguration.

Damit auch zu deiner Frage: Selber getestet habe ich es noch nicht, aber derzeit gehe ich davon aus, dass WEBCONFIG herausgenommen werden kann/sollte, da es mit dem Mega vermutlich aufgrund des mangelnden Speichers nicht (oder nur eingeschränkt?) läuft. Es kann aber sein, dass auch das funktioniert, wenn man genügend andere Module auskommentiert, um somit den Speicher an anderer Stelle zu sparen. Auch das muss man testen, darauf konzentrieren wir uns aber derzeit wie gesagt nicht, denn der Mega ist mittlerweile nicht mehr Stand der Dinge.

Daher auch die Empfehlung: Wenn du von den Neuerungen auch weiterhin profitieren und bspw Webconfig und was da noch so kommen wird nutzen möchtest, dann steige um auf den v3+Due. Wenn dir das bisherige System so reicht, dann nutze lieber eine Version vor 2.x, denn dort ist alles noch so, wie du es kennst und gewohnt bist.   
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Nur kurz: WEBCONFIG sollte funktionieren, wenn man mit dem Speicher hinkommt, d.h., wenn man andere Module deaktiviert. Ob das den Tradeoff Wert ist, muss jeder Mega-User für sich selber entscheiden...
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

Luposoft

Alles klar,
bisher beschäftige ich mich mit der V2 aus dem einzigen Grund, meine MQTT-Erkenntnisse präsentieren zu können.
Und da die Möglichkeit des Steuerns aus Fhem via MQTT heraus ja der eigentliche Gewinn ist, musste das schreibbar machen halt auch für mich funktionieren. Tuts ja jetzt auch.
Noch funktionierende Geräte zu entsorgen ist nicht so mein Ding. Sollte mein MEGA schlapp machen, kommt natürlich ein Due.
Bis dahin sehe ich es sportlich.
Und werde sehen was der MEGA so verkraften kann.
Und da erwarte ich auch keinen Support für den MEGA von euch. Das verstehe und akzeptiere ich voll und ganz.

Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

Luposoft

So, jetzt bin ich soweit. Anbei die INO (Version 2.0.14)
Ich habe alle Änderungen mit //Luposoft kommentiert

Im Grunde brauchte MQTT eine eigene Instanz. Damit läuft es ohne Probleme durch.
Ein disconnect ist nicht erforderlich und wahrscheinlich eher störend.

In Fhem ist für den mqtt2server sehr schön zu sehen, das nrclients immer auf 1 bleibt und das Änderungsdatum gleich dem Startdatum bleibt
Damit kann es nun auch auf subscribes hören.
Der Rest sind nur fehlende Routinen und Aufrufe.

Welche Mängel sehe ich:
- da der connect in der Schleife stattfindet, wird ein subscribe auch erst nach dem ersten Schleifendurchlauf empfangen werden können.
  Es muss also mindestens ein Parameter dafür in log_parameters[] sein.

in Fhem sieht es dann so aus: mit 'set publish mqtt2server 700=1' wird zum Beispiel die Betriebsart Heizung auf 'ein' gesetzt.
(das geht natürlich auch von jedem anderen Broker aus, ich nutze halt FHEM)

Ich glaube, dies ist eine sehr nette Erweiterung eines fantastischen Projektes.

Sollte ich das besser als Issue anlegen?
Raspi B+
CUL nano 433MHz
CUL nano 868MHz
ELCO Thision S Plus 19
Arduino Due

Schotty

Cool!  :D
@FunkOdyssey testet gerade auch etwas bzgl MQTT (siehe auch das Issue hier: https://github.com/fredlcore/bsb_lan/issues/183) und auf dem aktuellen Due-Setup, vielleicht kann er (bzw. kannst du @FunkOdyssey) das auch gleich mit testen?
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/