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

Super, das freut mich/uns ;)

Also prinzipiell kannst du auch die v0.44 noch ohne Änderungen auf den Mega flashen, sollte 'out of the box' laufen, falls du gerne etwas aktuelleres als die v0.41 nutzen würdest. Wie im Anhang D (https://1coderookie.github.io/BSB-LPB-LAN/anhang_d.html) erwähnt, sollte v1.1 auch noch ohne große Anpassungen laufen, da bezieht sich das beiliegende PDF-Handbuch und auch gewisse Einstellungen in der config.h (bspw Bus-Pins) aber schon auf den Due, müsstest du also bei der config.h nochmal ein Auge drauf werfen.
Bzgl v2x sind im Anhang D auch noch ein paar neue Hinweise hinzugekommen, wie man für den Mega Speicher einsparen kann. 

Bzgl userPass: In der Zeile darüber ist ein Beispiel mit voreingestelltem Passwort, dass per default auskommentiert ist. Du hast nicht zufällig aus Versehen die // davor entfernt und es somit aktiviert..?

Bzgl Anbindung der Zirkupumpe: Finde ich auch interessant - darf ich fragen, weshalb du das nicht per Relais und dem BSB-LAN-Setup gemacht hast sondern via Funkmodul & -steckdose? Die Lösung (Beschreibung&Code) kannst du bitte gerne hier einstellen, dann würde ich das evtl auch im Handbuch erwähnen und verlinken. Oder hast du einen GitHub-Account? Dann wäre das auch ein schöner Ort, wo du es 'veröffentlichen' könntest :) 
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

sust


außer das die 1.1 auf dem Mega evtl. läuft, geht tatsächlich  noch mehr:

Auch die 2.0.67(Lan Shield) läuft auf dem Mega.
Zumindest wenn man folgendes macht:

- das Filtertool von Freetz über die defs.h laufen lässt und die gefilterte cmdtbl dann nutzt ,
- alles in der defs.h zwischen 10020 und 15000 löscht.
-diese undefs in der Config.h einstellt:



#if defined(__AVR__)
//#undef CONFIG_IN_EEPROM
//#undef WEBCONFIG
//#undef JSONCONFIG
#undef WEBSERVER
#undef AVERAGES
//#undef DEBUG
//#undef IPWE
#undef MQTT
#undef OFF_SITE_LOGGER
#undef ROOM_UNIT
#undef VERSION_CHECK
#undef MAX_CUL
#endif

dann komm ich auf ca. 91% Auslastung  des Mega Speichers und es läuft.
Außer: dauerhaft Umschalten mit P0 vom Kessel zum Bediengerät geht nicht. Ist das so beabsichtigt?

Ob beabsichtigt oder nicht, den meisten von uns dürfte es sowieso egal sein ob das Bediengerät vom BSB_Lan direkt ansprechbar ist.
Insofern können Mega Nutzer durchaus  die 2.0.67 verwenden.

Und die ganz neueste Version? Hab ich noch nicht getestet. Wer mag kann  ja mal...

MoinMoin

Ich hab noch eine Frage bzw. ev. einen Bug.

Wert 888 (Überhöhungsfaktor) zeigt er mir am Bediengerät der Heizung 80% an, aber BSB-LAN zeigt 160%.
Ändern/Schreiben kann ich den Wert mit BSB-LAN nicht. Wenn ich ihn am Gerät ändere auf 60%, zeigt mir BSB-LAN 120% an, also immer jeweils das doppelte.

Wo kann das Problem liegen?

Danke

Sven

freetz

Bitte einmal dafür die Abfrage an der Therme gem. Kap. 10 im Handbuch protokollieren und hier posten.
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

#5179
Zitat von: sust am 07 Januar 2021, 17:06:16
Auch die 2.0.67(Lan Shield) läuft auf dem Mega.
Zumindest wenn man folgendes macht:
...
Danke, das ist doch schonmal ein gutes Beispiel für eine mögliche Konfig. Bei der Variante ist dann MQTT nicht nutzbar, IPWE hingegen schon etc. Muss dann jeder selbst nochmal überprüfen, was er letztlich wirklich braucht und was nicht. Auf "WEBSERVER" kann bei 'regulärer' Nutzung von BSB-LAN auch verzichtet werden. Aber sollte ja aus den entspr Beschreibungen in Kap 5.2 auch alles ersichtlich sein. Zusätzlich sind noch neue Möglichkeiten hinzugekommen, die ich noch nicht alle im Handbuch aufgeführt habe, ich komme momentan kaum hinterher, die Programmierer sind einfach zu schnell für mich  ;D

/*
* For Arduino Mega users:
*
* If you use CONFIG_IN_EEPROM and WEBCONFIG modules then
* you can enable I_DO_NOT_WANT_URL_CONFIG for saving flash memory (~1.2Kb).
* This will disable configuration through URL commands (/A, /L, /P)
* #define I_DO_NOT_WANT_URL_CONFIG
*
* Enable I_WILL_USE_EXTERNAL_INTERFACE for saving flash memory (~6,8Kb). /DG command will be disabled
* #define I_WILL_USE_EXTERNAL_INTERFACE
*
* Enabling I_DO_NOT_NEED_NATIVE_WEB_INTERFACE will eliminate native web interface and save up to 13 Kb of flash memory.
* /N[E] and /Q command still work
* You can use this if you are using third-party software for BSB-LAN management. Do not forget to enable other required modules (JSONCONFIG, MQTT, WEBSERVER).
* #define I_DO_NOT_NEED_NATIVE_WEB_INTERFACE
*/


Generelle Frage an die Mega-Nutzer bzgl Anhang D: Reicht Euch das so mit den dortigen Erklärungen und Hinweisen für die Verwendung von v2.x? Ich hatte überlegt, auch den oben zitierten Abschnitt sowie die zentrale Abschaltfunktion ganz unten auch nochmal aufzuführen, aber das wäre dann m.A.n. doppelt bzw sogar dreifach gemoppelt, weil es bereits in Kap 5.2 und dann auch nochmal in der config.h selbst alles aufgeführt&erklärt ist.
Vom Aufwand mal abgesehen würde es m.E. Anhang D unübersichtlicher machen, zumindest wenn ich dort auch nochmal die ganzen Funktionen erklären würde..

Zitat
Außer: dauerhaft Umschalten mit P0 vom Kessel zum Bediengerät geht nicht. Ist das so beabsichtigt?
Ob beabsichtigt oder nicht, den meisten von uns dürfte es sowieso egal sein ob das Bediengerät vom BSB_Lan direkt ansprechbar ist.
Nur /P0 stellt imho lediglich das Bus-System auf BSB um. Da müsste dann also /P<x>,<y>,<z> mit den entspr Adressen zum Einsatz kommen. Ob das so beim BSB und der Bedieneinheit dauerhaft funktioniert, kann ich nicht sagen, habe ich noch nie getestet.
Frage wäre, warum du/man (dauerhaft) nur die Bedieneinheit ansprechen wollen würde..?
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

/P hat noch nie dauerhaft umgeschaltet, sondern immer nur bis zum Reboot. Danach greift das, was in der _config.h steht, bzw. in der Webconfig ab v2.0
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

So, ein kurzer Zwischenbericht.
Mein Custom-Code läuft jetzt mit der 2.0.69
Aber leider nicht wie ich es wollte.
kurze Erklärung:
Mein custom-Code macht ja mit MQTT rum.
Im Hauptcode ist MQTT komplett deaktiviert.
Also mache ich alle notwendigen Initialisierungen diesbezüglich in der custom_global.h
In der 2.0 wurde auf die Pointer-Geschichte umgebaut.
Dies habe ich exakt so übernommen. Und wird ja auch kompiliert. Das Einfrieren des Programms hängt direkt mit MQTT zusammen.
Der SerMon friert in einer Serial.print-Anweisung ein, wenn danach eine MQTT-Anweisung folgt. (z.B. MQTTClient->loop oder ->state)
Ich habe keine Erklärung dafür.
Nun bin ich wieder zurück gewechselt auf die ursprüngliche Syntax. (MQTTClient.loop())
Damit läufts.
Falls jemand dazu noch ne Idee hat, immer gerne.
----------------------------------------------------------------
@freetz
Hat es einen Grund, dass die custom_setup und _global.h bedingungslos geladen werden?
Könnte doch auch #ifdef CUSTOM_COMMANDS genommen werden, oder?
----------------------------------------------------------------
@Schotty:
als ich meinen Due zum erstenmal an meinen PC anschließen wollte, klappte das nicht. Windows hat den Due nicht erkannt.
Wenn man danach googelt, gehts immer um Treiber...
Letzendlich war's das falsche Kabel. Denn, die meisten Mikro-USB-Kabel die man so hat (jedenfalls bei mir) sind nur für's Laden gedacht , und damit nicht voll beschaltet.
Auf die Idee muß man kommen! Gott sei dank hatte ich mit meinem E-Reader-Kabel Glück. Dann macht's nen Geräusch und alles ist da.
Vielleicht wäre da ein Hinweis im Handbuch garnicht so übel.
-------------------------------------------------------------------------------------
Ach, noch eins. Irgendwie bin ich zu blöd für die Aufhebung des Schreibschutzes.
Ich möchte nicht alle Parameter freigeben, sondern nur einzelne.
Ich hab es so verstanden:

In der config.h bleibt
#define DEFAULT_FLAG FL_SW_CTL_RONLY

und in der defs.f  wird bei den entsprechenden Parametern DEFAULT_FLAG mit 0 ersetzt.

Ist das korrekt?


Nun reichts für heute. Gute Nacht.  :D


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

Schotty

Zitat von: Luposoft am 08 Januar 2021, 00:16:18
Vielleicht wäre da ein Hinweis im Handbuch garnicht so übel.
Stimmt, guter Hinweis, danke! Hab's gerade hinzugefügt.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

postman

Moin Schotty,
so ich hab mal ein wenig nach der Möglichkeit gesucht, ob BSB-Lan nicht auch über USB funktionieren würde.
Dabei bin ich bei meiner Suche auf den Beitrag Nr. 1748 und 1749 gestoßen, wo justme1968 und Du darüber mal diskutiert habt.
Hat sich da etwas getan?

Ich habe allerdings auch ein wenig ausprobiert und festgestellt, dass das Ganze gar nicht so einfach ist, da es leider kein Modul gibt, mit dem es möglich ist, ähnlich HTTPMod, ein serielles Device einzurichtenund zu nutzen. ECMD ist, finde ich, zu kompliziert, da dort auch noch eine extra Konfigdatei in Form der .classref erstellt werden muss. Das, was bisher zumindest schon mal ein lesbares Log erzeugt ist ein Jeelink-Device. In einem zusätzich angelegten Log wurde alles fein säuberlich abgelegt, leider nur nicht als Reading.
Aber ich werde weiter probieren.

Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Schotty

Moin Uwe,
ui, da haste aber tief gegraben - das ist ja schon 3 Jahre her!?  ;D
Also eine Plug&Play-Anbindungsmöglichkeit via USB ist mir nicht bekannt, aber freetz hat doch prinzipiell mal eine Anbindung via serieller Schnittstelle ermöglicht wenn ich mich nicht irre. Aber da müsste er sich selbst nochmal zu äußern, da kann ich leider nicht wirklich etwas zu sagen, sorry..
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

Zitat von: Luposoft am 08 Januar 2021, 00:16:18
Ach, noch eins. Irgendwie bin ich zu blöd für die Aufhebung des Schreibschutzes.
Ich möchte nicht alle Parameter freigeben, sondern nur einzelne.
Ich hab es so verstanden:

In der config.h bleibt
#define DEFAULT_FLAG FL_SW_CTL_RONLY

und in der defs.f  wird bei den entsprechenden Parametern DEFAULT_FLAG mit 0 ersetzt.

Ist das korrekt?
Ja, afaik sollte es (beim Due mit aktivierter Webconfig) so funktionieren, steht ja auch so als Beispiel in Kap. 5.2.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

@Luposoft: Hm, seltsam, dass es im Pointer-Mode nicht funktioniert. Kannst Du das Beispiel auf möglichst wenige Zeilen herunterbrechen und dafür ein Issue auf GitHub erstellen? Dann kann Sergey sich das mal anschauen.
Danke auch für den Hinweis der bedingungslosen Einbindung der _custom_global und _setup Dateien. Ist gefixt.

@postman: Ja, es wäre schön, wenn mal jemand mit mehr FHEM-Kenntnissen als ich danach stöbern würde, welches Modul dafür in Frage käme, das ähnlich einfach wie HTTPMod einzubinden ist. Denn im Grunde ist (fast?) die komplette Steuerung von BSB-LAN auch über die serielle Schnittstelle möglich. Einfach das URL-Kommando ab dem ersten Slash hinter der IP auf die serielle Schnittstelle schicken und dann die Antwort auswerten. Parameterwerte werden dabei mit einem vorangestellten "#" ausgegeben, so dass man die noch besser parsen kann. Wenn man dazu noch die Verbose-Ausgabe auf Telnet umleitet, hat man auf der seriellen Schnittstelle auch ziemliche Ruhe.
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

Accureve

#5187
@postman: So wie ich es rausgelesen habe, willst du auf Seriell umstellen, weil bei dir Abfragen "verschluckt" werden:
ZitatIch habe insgesamt 9 Abfragen zum BSB über HTTP. Kann natürlich sein, dass FHEM diese nach einem Reboot alle gleichzeitig zum BSB sendet und dieser sich dabei einfach verschluckt.
Ich habe die BSB-LAN Einbindung über HTTPMOD seit Jahren im Einsatz, nutze aber nur ein HTTPMOD, bei dem ich mehrere Parameter abfrage und diese dann über Readings aufsplitte, ähnlich diesem Beispiel: https://1coderookie.github.io/BSB-LPB-LAN/kap11.html#1112-einbindung-mittels-httpmod-modul
Mit dem einen HTTPMOD hatte ich so ein Verhalten wie bei dir noch nicht.

Seit gestern habe ich die Anbindung auf MQTT umgestellt, da ich bei mir teilweise Netzwerkaussetzer hatte, die genau mit den HTTPMOD-Readings auf BSB-LAN übereinstimmen (BSB-LAN braucht ja für die Beantwortung/Polling auf die Heizung ein paar Momente). Mit MQTT habe ich den Vorteil, dass BSB-LAN erst die Daten einsammelt und dann in einem Paket zu FHEM schickt, sodass FHEM nicht auf das Sammeln warten muss. Ein Beispiel ist auch im Handbuch hinterlegt: https://1coderookie.github.io/BSB-LPB-LAN/kap11.html#118-mqtt-und-fhem

=> Ich würde empfehlen entweder die 9 Abfragen auf ein HTTPMOD anzupassen oder MQTT zu nutzen - dann meldet sich BSB-LAN von selbst bei FHEM :-)

Gruß

postman

Moin zusammen,
@Accureve: Ich hatte das zu Anfang alles in einem HTTPMod; gefiel mir aber nicht. Ich fand es einfacher für die Weiterverarbeitung, es mit einzelnen Abfragen zu gestalten.
@Schotty: Ja, ich habe wirklich tief gebuddelt ;D ;D Ich dachte, das justme1968 eventuell da noch weiter "Jugend forscht"  gespielt hat.

@freetz: Ja, das Abfragen funktioniert seriell ja auch. Mir fehlt im Moment nur der Ansatz für FHEM. Wie schon geschrieben, das Jeelink-Modul ist da wohl die einfachste Variante, denn zumindest in einem dazu erstelltem Log wird alles fein säuberlich protokolliert.
Leider sind meine Kenntnisse nicht so sonderlich gut, um ein eigenes Modul zu schreiben. Deshalb werde ich erst einmal weitersuchen, ob es nicht eine einfache Möglichkeit, das Ganze umzusetzen.
Vielleicht kannst Du mir dann mal bei Gelegenheit mitteilen, was in der Firmware für den Arduino entfernt werden muss, was nicht benötigt wird (Web, LAN?)

Gruß
Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Schotty

Zitat von: postman am 08 Januar 2021, 15:38:49
@Schotty: Ja, ich habe wirklich tief gebuddelt ;D ;D Ich dachte, das justme1968 eventuell da noch weiter "Jugend forscht"  gespielt hat.
Ich glaube nicht, bin mir aber nicht sicher. Er hatte damals u.a. auch die Idee, ein Flashen von FHEM heraus zu realisieren, aber leider hat justme1968 die Modulentwicklung für BSB-LAN anscheinend aufgegeben, zumindest ist da lange schon nichts mehr passiert..  :'(
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/