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

Die Release-Version 4.0 von BSB-LAN steht kurz bevor, und pünktlich dazu wurde von Espressif das ESP32-Framework 3.0.0 mit einigen gravierenden "breaking changes" veröffentlicht. Nachdem ich in der Zwischenzeit eine Warnmeldung eingebaut hatte, wenn man BSB-LAN mit dieser Version kompilieren wollte, habe ich jetzt am Wochenende versucht, den Code entsprechend anzupassen.
Im Idealfall läuft alles wie zuvor, aber an diesen drei Stellen könnte es Probleme geben, bei denen ich diejenigen bitte, die BSB-LAN in dieser (Teil-)Konfiguration einsetzen, einmal Rückmeldung zu geben, ob weiterhin alles soweit läuft, wie es soll:

- ESP32 mit LAN-Anbindung: Klappt weiterhin eine Konfiguration mit fester IP-Adresse?
- ESP32 mit LAN-Anbindung: Klappt weiterhin eine Konfiguration mit DHCP?
- ESP32 mit DS18B20-Sensoren: Liefern die Sensoren weiterhin korrekte Werte?

Danke im Voraus für Eure Rückmeldungen!

P.S.: Der PPS-Test wartet ebenfalls noch auf jemanden, der sich seiner annimmt ;)...
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

mario026

Witam!
Ja ma ESP32-EVB i nie chce się połączyć z internetem przez LAN i przez WIFI
walczę juz 3 dni i nic

freetz

If you cannot write in German, please use English at least, otherwise no one will be able to help you here.
If you have any problems with BSB-LAN, please open a bug report under "Issues" on the project's GitHub page.
In case you are Mariusz, then I have already sent you an e-mail yesterday what kind of information I need in order to help you. Without that, there is no way to assist you.
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

FHEm2005

#6858
Hallo freetz,

ich bin gerade dabei BSB in mein Node-Red Destop zu integrieren. Alle Parameter werden über MQTT nach Node-Red geleitet. Aus dem Topic "BSB-LAN/#" bekomme ich alle Nachrichten unterhalb übermittelt. Die Nachrichten bestehen aus topic:daten. Dabei bin ich auf folgende Besonderheit aufmerksam geworden. Einstellige Topics unterhalb von BSB-LAN erhalten nach dem "/" eine zusätzliche Leerstelle.
Beispiel:
Aufforderung: BSB-LAN/# erwartet u.a. BSB-LAN/0:<datum uhrzeit> es wird aber übermitelt: BSB-LAN/ 0:<datum uhrzeit>. Das ist bei allen einstelligen Parametern der Fall. Ist das normal? Ich glaube nicht dass das problen bei Node-Red liegt.

Gruß Eberhard

PS: Ich habe das Problem(?) einstweilen per Software gelöst.
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

freetz

Ja, das stimmt, das ist ein Bug, den ich fixen muss, könntest Du dafür einen Bug-Report auf GitHub einrichten? Dann rutscht es mir nicht durch...
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

FHEm2005

Bug-Report eingestellt unter #659

Gruß
Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

freetz

Danke, schaue ich mir dann hoffentlich zeitnah an...
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

FHEm2005

Ich habe mal versucht die neue Version zu kompilieren >> leider erfolglos. Daraufhin habe ich nochmal alle Versionen von ESP und BSB durchgespielt. Hier die Ergebnisse:

ESP32 Dev-Version | BSB-Version |    Ergebnis
------------------+-------------+-----------------
2.0.16            |  3.4        | ok
2.0.17            |  3.4        | ok
3.0.0             |  3.4        | bekannte Unverträglichkeit
3.0.0             |  4.0        | BSB_LAN_custom_defs.h aus vorheriger Version in neues verzeichnis kopiert und
                  |             | default-Version gelöscht. Alle anderen Parameteter in neue config.h eingetragen   
                  |             | >> Fehlermeldung="Textbereich überschreitet den verfügbaren Platz auf der
                  |             | Platine". (102% des Programmspeicherplatzes)
3.0.0             |  4.0        | ohne feste IP und ohne OTA >> Fehlermeldung wie oben.Ebenfalls 102%


Kompilierung ohne ein angeschlossenes Board.
Das nur zur Info. Die Variante 2.017 mit 3.4 läuft ja noch tadellos.

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

freetz

Es hilft leider gar nichts, einfach nur zu schreiben "kompiliert nicht", ohne irgendeine (möglichst komplette) Fehlermeldung beizufügen. Klar ist, dass die _config.h in der 4.0 komplett neu aufgesetzt werden muss, steht auch so im ChangeLog.
ich kompiliere hier immer gegen die neueste Version für die beiden "großen" Boards (ESP32 und Due) und dazu beim ESP32 noch für Olimex EVB und POE-ISO. Das macht übrigens auch GitHub automatisch mit jeder Änderung, die ich hochlade. Von daher wird es wahrscheinlich an einer fehlerhaften Einstellung bei Dir liegen, dass es nicht klappt. Und da kann ich ohne Glaskugel nur helfen, wenn entsprechende Logs geliefert 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

FHEm2005

Sorry freetz, für deine kostbare Zeit.

Der Fehler lag VOR der Tastatur. Ich hatte zwar das richtige Board ausgwählt, aber das falsche Partition Scheme. Statt Minimal SPIFFS(...) hatte ich Default 4MB with spiffs(...) .

Nun keine Fehlermeldung mehr.

Grüße vom kleinlauten
Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

freetz

Alles gut :) - das hat sich erst kürzlich ergeben, dass BSB-LAN eine bestimmte Größe überschritten hat, weswegen es nun nicht mehr mit der Default-Partitionierung funktioniert. Auch deswegen steht das jetzt an erster Stelle beim Troubleshooting im Manual.
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

-cr

Hmm, gibt es ein Pin-kompatibles ESP32-Board mit mehr Speicher?
Oder gibt es auch bei Nutzung der Arduino-IDE eine Möglichkeit, detailliertere Optionen für die Erzeugung von ESP32-Code zur Größenoptimierung einzustellen? (Mit der Espressif-IDE habe ich mich noch nicht beschäftigt. Könnte man die auch für den BSB-LAN-Code direkt aus dem GitHub-Master verwenden?)
Schön wäre auch, über BSB-LAN_config.h die Erzeugung unbenötigten Codes unterdrücken zu können. (Das wäre für mich z.B. MQTT, JSON, ...)

Ansonsten verzichte ich wohl bis auf Weiteres auf BSB-LAN-Updates. Bisher ist der ESP32-Flash-Speicher in der Default-Partitionierung für mich mehr als ausreichend zum regelmäßigen Loggen, und mir gefällt die schlanke Hardware-Lösung; zwei weitere Komponenten (TF-Karte und "-Reader") würde ich ungern hinzufügen.

An dieser Stelle nochmal mein Dank an die BSB-LAN-Ersteller: Das Produkt ist klasse!

freetz

Es gibt Boards mit größerem Speicher, der dann aber extern an den ESP32 angebunden wird und dann auch entsprechend angesprochen werden muss. Da ich so lange wie möglich die zwei sehr unterschiedlichen Systeme (Arduino Due und ESP32) unterstützen möchte, würde das zu unvertretbarem Mehraufwand führen.

Es würde auch auf Dauer nicht viel bringen, die unbenötigten Codeabschnitte wieder deaktivierbar zu machen, denn das zugrundeliegende ESP-Framework führt - wie z.B. jetzt beim Sprung von 2.0.16 auf 3.0.1 - auch dazu, dass durch umfangreichere Funktionen "unter der Haube" ein höherer Speicherbedarf entsteht.

Für Dein Problem gibt es aber gleich mehrere Lösungen:

1. Auch wenn Du es für Dich erst mal ausgeschlossen hast: Ein kleiner TF-Reader für einen niedrigen einstelligen Eurobetrag (inkl. SD-Karte) ist auf lange Sicht günstiger, als regelmäßig in den Flash-Speicher zu loggen. Eine SD-Karte kannst Du austauschen, wenn ihre (deutlich höhere) Lebensdauer erreicht ist, beim internen Flash musst Du den ESP32 wegwerfen und einen neuen kaufen.

2. Du kannst ansonsten die Partitionierung selber definieren. Wenn Dir das Flashen auf den internen Speicher so wichtig ist, kannst Du die Partition so auswählen, dass die App gut reinpasst und der Rest für SPIFFS verwendet wird (huge_app.csv z.B. als Grundlage nehmen). Nur OTA ist dann nicht mehr möglich, dafür müsstest Du dann per USB flashen. Aber immer noch eine bessere Lösung, als in Zukunft gar nicht mehr zu flashen.

3. Falls Du eh' eine NAS laufen hast, kannst Du mit einem wget/curl Einzeiler die gewünschten Daten direkt auf der NAS als CSV in eine Datei loggen. Du kannst dann mit dem gleichen Framework auch die Darstellung realisieren. Das Bereinigen der Datei geht ebenfalls mit einem Einzeiler (wenn überhaupt nötig). Im Handbuch ist darüber hinaus eine etwas umfangreichere Lösung mit gnuplot beschrieben.

Wenn Du einen pinkompatiblen ESP32 findest und sich die Einbindung des zusätzlichen Speichers mit wenigen, zentralen Befehlen realisieren lässt, nehme ich das gerne mit auf. Andernfalls musst Du Dich zwischen einer der Lösungsvorschläge oder einem "nie mehr Updaten" 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

RonaldN

Zitat von: freetz am 14 Juni 2024, 17:41:40.... Klar ist, dass die _config.h in der 4.0 komplett neu aufgesetzt werden muss, steht auch so im ChangeLog ....

Hallo Frederik

Bin aktuell noch auf der 3.0.4 und plane auf die 4.0.50 zu wecheseln. Habe versucht im GitHub, im Handbuch und im FAQ etwas zu finden, was ich hierbei berücksichtigen muss. Bei einem Wechsel innerhalb der v3 habe ich meine Custom.defs.h und config.h aus der aktuellen Version in die Neue übernommen. Wenn ich Deinen obigen Beitrag richtig verstehe, muss ich die config.h der v4 neu aufsetzen und kann die alte nicht übernehmen?

Noch eine Frage, wo kann ich das Change Log finden?

Gruß
Ronald

freetz

Hinweise zu den Änderungen zwischen den Versionen stehen im ChangeLog am Anfang der BSB_LAN.ino (weil das die Datei ist, die in der Arduino IDE immer vornean geöffnet ist). Generell muss bei jeder Änderung an der Stuktur der BSB_LAN_config.h die Config neu aufgesetzt werden, das steht dann aber auch immer im ChangeLog. Theoretisch kannst Du die alte anpassen, aber das ist meist mehr Arbeit, als die neue zu nehmen und die Werte einzutragen, die relevant sind.
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