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

Hallo zusammen,

ich habe heute eine neue Version ins master Repository auf GitHub hochgeladen. Grundsätzlich ist es keine "neue" Funktionalität, sondern eine einfachere Konfiguration, indem man jetzt über das Webinterface auswählen kann, ob man zum einen die Logs auf SD-Karte oder den internen Flash des ESP32 schreiben will, und zum anderen, ob BSB-LAN über LAN oder WLAN ins Netz gehen soll.
Ich konnte mit meinem ES32 NodeMCU leider bisher nur das Schreiben der Logs ins interne Flash-EEPROM, sowie den Netzzugang über WLAN testen, von daher wäre es super, wenn jemand mit einem Olimex EVB einmal schauen könnte, ob er mit dieser Version auch weiterhin auf SD-Karte loggen und über LAN ins Netz gehen kann.

Der Vorteil an dieser Änderung ist, dass es weniger Konfigurationsfehler durch Uneindeutigkeiten gibt, und jeweils Fallback-Optionen möglich werden (also z.B. das Aufsetzen eines Hotspots, wenn die LAN-Verbindung fehlschlägt.

Last but not least: Nutzt noch irgendjemand die WiFiSPI-Lösung für den Arduino Due, mit der man über einen ESP8266 (mehr schlecht als recht) einen WLAN-Zugang nachrüsten konnte? Theoretisch sollte das auch weiterhin funktionieren, aber ich kann es von hier nicht testen, ebensowenig wie den LAN-Zugang des Due, der aber auf jeden Fall weiterhin funktionieren sollte.

Danke!
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

Zu Deiner Info, @freetz:
Bei meinem System (ESP32 ohne SD-Karte, mit Konfiguration aus EEPROM lesen = ein) ist mir aufgefallen, dass folgende Einstellungen nach dem Update auf 3.3.3 geändert waren: Erweiterte Einstellungen anzeigen, Schreibzugriff (Ebene), Log-Modus.

freetz

Bei jeder Änderung der EEPROM-Struktur wird das EEPROM mit den Einstellungen aus der BSB_LAN_config.h überschrieben. Du hast m.W. weder LAN noch SD-Karte, oder? Hat sonst noch jemand die Möglichkeit, die neue Version einmal zu testen? Danke!
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


-cr

Zitat von: -cr am 28 Februar 2024, 18:21:51Bei meinem System (ESP32 ohne SD-Karte, mit Konfiguration aus EEPROM lesen = ein) ist mir aufgefallen, dass folgende Einstellungen nach dem Update auf 3.3.3 geändert waren: Erweiterte Einstellungen anzeigen, Schreibzugriff (Ebene), Log-Modus.
Zitat von: freetz am 28 Februar 2024, 18:31:15Bei jeder Änderung der EEPROM-Struktur wird das EEPROM mit den Einstellungen aus der BSB_LAN_config.h überschrieben.
Lässt sich "Erweiterte Einstellungen anzeigen" auch über die BSB_LAN_config.h voreinstellen?
Die anderen beiden o.g. Einstellungen habe ich dort gefunden, danke für den Hinweis!

tiger42

Zitat von: freetz am 28 Februar 2024, 15:49:39ebensowenig wie den LAN-Zugang des Due, der aber auf jeden Fall weiterhin funktionieren sollte.
LAN funktioniert tatsächlich weiterhin auf dem Due, aber MQTT leider nicht.
Ich hab dafür ein Issue auf GitHub erstellt: https://github.com/fredlcore/BSB-LAN/issues/623

freetz

@-cr: Nein, die Variable config_level haben wir nicht noch (in der eh' schon recht vollen) BSB_LAN_config.h untergebracht, weil sie dort auch wenig Sinn machen würde. Wenn man das Webinterface nutzt, kann man sie dort einmalig ändern, und wenn man das Webinterface nicht nutzt, braucht man die Einstellung nicht, weil man eh' alle sonstigen dortigen Einstellungen über die Datei direkt ändern kann.

@tiger42: MQTT hat funktioniert, aber anscheinend hat der Due bzw. die von ihm genutzte Library Probleme mit der Namensauflösung. Für reine IP-Adressen (was bisher der einzige Weg war, einen MQTT Broker anzugeben) habe ich jetzt einen Workaround eingebaut, aber es wäre interessant zu hören, ob andere Due-User auch Probleme haben, wenn man statt einer IP-Adresse einen Hostnamen eingibt. Denn eigentlich sind die Libraries in der Hinsicht identisch...
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

tiger42

Zitat von: freetz am 01 März 2024, 16:41:45@tiger42: MQTT hat funktioniert, aber anscheinend hat der Due bzw. die von ihm genutzte Library Probleme mit der Namensauflösung. Für reine IP-Adressen (was bisher der einzige Weg war, einen MQTT Broker anzugeben) habe ich jetzt einen Workaround eingebaut, aber es wäre interessant zu hören, ob andere Due-User auch Probleme haben, wenn man statt einer IP-Adresse einen Hostnamen eingibt. Denn eigentlich sind die Libraries in der Hinsicht identisch...
Ich kann bestätigen, dass das Problem mit der Namensauflösung ausschließlich an meinem DNS Server lag, da waren manche lokale Adressen nicht richtig konfiguriert. Jetzt klappt alles wie es soll. Vielen Dank!

JHx

Hallo freetz, Hallo Comunity,

ich habe immer noch das Problem wie schon in #6669 geschrieben.
Ständige Abstürze des Olimex EVB. Netzwerkverbindung bricht einfach ab.

Ich hatte auch schon kontakt mit dem Entwickler der Olimex Platine. Leider ohne Erfolg.

Gestern machte ich noch den Versuch mal die BSB-LAN Platine einfach abgesteckt zu lassen. Die Verbindung zum Olimex EVB blieb über stunden per Dauerping erreichbar. Kaum war die BSB-LAN Platine wieder drauf, brach die LAN-Verbindung zum Olimex EVB wieder ab.
Die letzten Monate behalf ich mir mit einer Schaltsteckdose.
Im BSB-LAN Adapter des ioBroker den Datenpunk "connection" abgefragt schalte ich die Steckdose immer kurz weg und dann wieder ein um den Olimex neu zu starten.
Was ist das? Warum hat sonst keiner das Problem.
Ich habe vor ein paar Wochen sogar eine neue Olimex EVB Rev.K gekauft. Leider ist auch da der gleiche Fehler vorhanden.

Ich kann einen gewissen Zusammenhang mit dem Bennerstart bzw. Brennerstop erkennen.
Man kann meine protokollierten Zeiten der Ausfälle im angehängten Bild sehen. 

Stimmt da was nicht mit der BSB-LAN Platine oder dem Bus?
Ich werde echt noch wahnsinnig!

VG Jürgen

freetz

Ich hatte Dir auf Deinen Post von damals ja auch direkt geantwortet, worauf Du achten und was Du verändern könntest, bzw. was ich brauche, um mir einen genaueres Bild zu machen. Darauf kam leider keine Rückmeldung, und die benötigten Infos fehlen auch in Deinem jetzigen Beitrag. Von daher weiß ich nicht, wie Du Dir vorstellst, dass ich oder jemand anderes Dir weiterhelfen kann.
Ich wiederhole hier noch einmal das, was ich damals schon geschrieben habe:
- Die Amperezahl alleine sagt noch nichts über die Qualität des Netzteils aus. Die sicherste Überprüfung dafür ist meist, den Microcontroller über USB mit Strom vom Laptop zu versorgen. Da kann man dann auch gleich den Serial Monitor mitlaufen lassen. Wenn damit alles läuft, weißt Du, dass es an der Stromversorgung liegt. Wichtig dabei ist natürlich immer die aktuellste Version von BSB-LAN laufen zu lassen. Fehlverhalten, das sich aus einer älteren Version ergibt, kann ich nicht supporten.

Dass es an der aufgesteckten Platine und entsprechenden Brennertelegrammen liegen soll, kann ich mir physikalisch nicht erklären. Denn der BSB-Bus ist galvanisch vom Microcontroller getrennt. D.h., alles, was bei BSB-LAN ankommt, sind reine Daten, keine Spannungsspitzen oder was auch immer. Natürlich könnte es sein, dass es da ein unbekanntes Telegramm gibt, das BSB-LAN zum Absturz bringt, aber dann würde der ESP32 neu starten und sich nicht einfach aufhängen. Aber auch dafür würde es ein SerMo-Log benötigen.
Wenn Du die benötigten Infos bringen kannst, schaue ich mir das wie gesagt gerne an, aber ohne diese Tests und Logs wird Dir niemand weiterhelfen können.
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

JHx

#6775
Der Microcontroller ist per USB am Laptop angeschlosen. Serial-Monitor zeigt den Datenstrom an. Nach ca. einer Stunde war die Weboberfläche von BSB-LAN über LAN-Kabel nicht mehr erreichbar. Ping läuft ins leere.
BSB-LAN Adapter im ioBroker meldet:

"Connection failed"

"Error: connect EHOSTUNREACH 192.168.178.55:80"

"RequestError: Error: connect EHOSTUNREACH 192.168.178.55:80 at new RequestError (/opt/iobroker/node_modules/request-promise-core/lib/errors.js:14:15) at plumbing.callback (/opt/iobroker/node_modules/request-promise-core/lib/plumbing.js:87:29) at Request.RP$callback [as _callback] (/opt/iobroker/node_modules/request-promise-core/lib/plumbing.js:46:31) at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) at Request.emit (node:events:517:28) at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:877:8) at ClientRequest.emit (node:events:529:35) at Socket.socketErrorListener (node:_http_client:501:9) at Socket.emit (node:events:517:28) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) at process.processTicksAndRejections (node:internal/process/task_queues:82:21)"

Den Inhalt des Serial-Monitor würde ich ja gerene wie in der Doku beschrieben posten, doch leider ist es nicht möglich alles oder einen größeren Teil per copy/paste herauszukopieren. Da hilft auch das abschalten des Autoscroll nichts.
Per Putty in eine Log schreiben würde gehen, doch da fehlen die Timestamps.
Aber es sieht in etwa so aus:
 
vor Verbindungsproplem:

08:46:16.590 -> 78 11 42 00 0C 02 00 14 07 05 3D 08 05 00 00 10 F1 62
08:46:16.590 -> #9005: 1.6 bar
08:46:16.590 -> 62288 Ping!
08:46:16.637 -> GET /JV HTTP/1.1
08:46:16.669 -> GET /JL HTTP/1.1
08:46:16.710 -> GET /JQ=20050,20051 HTTP/1.1
08:46:16.749 -> One Wire, DHT & MAX! Sensors
08:46:16.749 -> Virtual parameter 20050 queried. Table line 940
08:46:16.749 -> One Wire, DHT & MAX! Sensors
08:46:16.749 -> Virtual parameter 20051 queried. Table line 903
08:46:18.366 -> HEIZ->ALL  INF      1500020A 04 01 21 00 FA
08:46:18.366 -> 78 13 FF 00 FC 02 00 14 02 15 00 02 0A 04 01 21 00 FA F1 F0
08:46:26.928 -> GET /JI HTTP/1.1
08:46:27.257 -> GET /JQ=10024,1610,1612,1614,1640,20200.1,20201.1,501,502,503,504,505,506,507,700,710,712,720,721,730,732,741,750,780,8005,8300,8301,8310,8311,8312 HTTP/1.1
08:46:27.489 -> LAN->HEIZ QUR 10024.0 Benutzerdefiniert - Raumtemperatur-Istwert:
08:46:27.489 -> 78 0E 00 42 C0 02 00 14 06 3D 2D 05 1E F5 3D
08:46:27.489 -> HEIZ->LAN ANS 10024.0 Benutzerdefiniert - Raumtemperatur-Istwert: 21.5 °C
08:46:27.489 -> 78 11 42 00 0C 02 00 14 07 2D 3D 05 1E 00 05 60 F1 F5
08:46:27.489 -> #10024: 21.5 °C
08:46:27.680 -> LAN->HEIZ QUR 1610.0 Trinkwasser - Trinkwassertemperatur-Nennsollwert:
08:46:27.680 -> 78 0E 00 42 C0 02 00 14 06 3D 31 06 B9 F5 DD
08:46:27.680 -> HEIZ->LAN ANS 1610.0 Trinkwasser - Trinkwassertemperatur-Nennsollwert: 50.0 °C
08:46:27.680 -> 78 11 42 00 0C 02 00 14 07 31 3D 06 B9 00 0C 80 F2 BC
08:46:27.680 -> #1610: 50.0 °C
08:46:27.896 -> LAN->HEIZ QUR 1612.0 Trinkwasser - Trinkwassertemperatur-Reduziertsollwert:
08:46:27.896 -> 78 0E 00 42 C0 02 00 14 06 3D 31 06 BA F5 DE
08:46:27.896 -> HEIZ->LAN ANS 1612.0 Trinkwasser - Trinkwassertemperatur-Reduziertsollwert: 45.0 °C
08:46:27.896 -> 78 11 42 00 0C 02 00 14 07 31 3D 06 BA 00 0B 40 F2 7C
08:46:27.896 -> #1612: 45.0 °C
08:46:28.098 -> LAN->HEIZ QUR 1614.0 Trinkwasser - Trinkwassertemperatur-Nennsollwertmaximum:
08:46:28.098 -> 78 0E 00 42 C0 02 00 14 06 3D 31 06 B8 F5 DC
08:46:28.098 -> HEIZ->LAN ANS 1614.0 Trinkwasser - Trinkwassertemperatur-Nennsollwertmaximum: 55.0 °C



nach Verbindungsproblem:

08:31:31.862 -> 78 11 FF 00 FC 02 00 14 02 6D 6D 02 03 00 00 09 F3 93
08:31:33.336 -> HEIZ->ALL  INF      1500020A 04 01 21 00 FA
08:31:33.336 -> 78 13 FF 00 FC 02 00 14 02 15 00 02 0A 04 01 21 00 FA F1 F0
08:31:36.526 -> HEIZ->ALL  INF      15000216 00 00 00
08:31:36.526 -> 78 11 FF 00 FC 02 00 14 02 15 00 02 16 00 00 00 F2 D8
08:31:40.756 -> HEIZ->ALL  INF      1500022D 00 0D A4
08:31:40.793 -> 78 11 FF 00 CC 02 00 14 02 15 00 02 2D 00 0D A4 F3 70
08:31:42.693 -> HEIZ->ALL  INF      0500006B 3C 06
08:31:42.734 -> 78 10 FF 00 FC 02 00 14 02 05 00 00 6B 3C 06 F4 5B
08:31:43.840 -> HEIZ->F0 INF      190001FD 00 2A 01
08:31:43.887 -> 78 11 F0 00 FC 02 00 14 02 19 00 01 FD 00 2A 01 F3 DE
08:31:44.151 -> HEIZ->F0 INF      6D000201 00 00 09
08:31:44.151 -> 78 11 F0 00 FC 02 00 14 02 6D 00 02 01 00 00 09 F3 15
08:31:51.538 -> HEIZ->F0 INF      0500021D 00 0D 88
08:31:51.538 -> 78 11 F0 00 CC 02 00 14 02 05 00 02 1D 00 0D 88 F3 25
08:31:54.790 -> HEIZ->ALL  INF      1500020A 04 01 1F 00 FA
08:31:54.838 -> 78 13 FF 00 FC 02 00 14 02 15 00 02 0A 04 01 1F 00 FA F1 EE
08:32:02.210 -> HEIZ->ALL  INF      191901FE 00 2A 01
08:32:02.271 -> 78 11 FF 00 FC 02 00 14 02 19 19 01 FE 00 2A 01 F4 07
08:32:05.136 -> HEIZ->ALL  INF      1500022D 00 0D 58
08:32:05.180 -> 78 11 FF 00 CC 02 00 14 02 15 00 02 2D 00 0D 58 F3 24
08:32:06.671 -> HEIZ->ALL  INF      0500021F 00 00 6C
08:32:06.716 -> 78 11 FF 00 FC 02 00 14 02 05 00 02 1F 00 00 6C F3 3D
08:32:12.887 -> HEIZ->F0 INF      0500021D 00 0D 44
08:32:12.888 -> 78 11 F0 00 CC 02 00 14 02 05 00 02 1D 00 0D 44 F2 E1
08:32:16.186 -> HEIZ->ALL  INF      1500020A 04 01 1D 00 FA
08:32:16.186 -> 78 13 FF 00 FC 02 00 14 02 15 00 02 0A 04 01 1D 00 FA F1 EC
08:32:22.152 -> HEIZ->ALL  INF      150001FB 32 01
08:32:22.199 -> 78 10 FF 00 CC 02 00 14 02 15 00 01 FB 32 01 F4 BD
08:32:22.570 -> 58921436 Ping!




frank

woher kommt der zeitsprung in die vergangenheit?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JHx

#6777
Beim Versuch den kompletten Log aus dem Serial-Monitor zu kopieren hab ich diesen aus versehen geschlosssen. Ich hatte das Endtstück noch in der Zwischenablage und den Schnipsel wo alles Funktioniert kam dann aus der neuen Verbindung. Ich liefere gerne einen kompletten Log wenn mir einer sagen kann wie ich das anstellen soll. Laut meiner Recherche haben andere wohl ebenfalls das Problem den kompletten Inhalt aus dem Serial-Monitor zu bekommen. Evtl. war das bei früheren Versionen anderst.

freetz

Danke für das Log, mit einer 1.x Version der Arduino IDE klappt das auch noch mit dem Kopieren.
Aber das ist in dem Fall vermutlich nicht nötig, denn man sieht hier sehr gut, dass BSB-LAN weiterhin läuft. Es kommen sowohl Bus-Messages an, als auch die minütlichen "Ping"-Meldungen. Es handelt sich hier also um ein Netzwerkproblem. Wenn es im Log keine entsprechende Meldung gibt, wird die Ursache dafür vermutlich (primär) außerhalb von BSB-LAN liegen, was auch eine Erklärung dafür wäre, warum sonst niemand dieses Problem hat. Es tut mir Leid, wenn ich da jetzt nichts Positiveres sagen kann, aber aus der Ferne kann ich nur dann etwas unternehmen, wenn durch reproduzierbares Verhalten und entsprechende Logs klar ist, wo ich ansetzen könnte. Alles andere wäre nur Stochern im Nebel...
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

Eine Bitte an alle Weishaupt-Besitzer, die hier mitlesen:
Bisher gab es ja keine Möglichkeit, die Parameter über einen Dump auszulesen. Nun hat sich ein User die Mühe gemacht, alle Parameter einmal abzurufen und die möglichen Werte ebenfalls. Daraus habe ich jetzt eine gerätespezifische Parameterliste erstellt, bei der allerdings noch ein paar Parameter fehlen, weil diese nur an den WRS-CPU-B2 und -B1 Geräten vorhanden sind.
Wenn also jemand, der so ein Gerät besitzt, diese Parameter einmal am Heizgerät abrufen könnte, die angezeigten Werte notiert und dabei den Serial Monitor mitlaufen lässt, dann hätten wir eine komplette Parameterliste für die Weishäupter, die ich dann hier im Forum einstellen würde.
Es handelt sich um diese Parameter:
96
97
174
175
176
177
178
179
192
195
196
200
201
202
204
210
215
216

Danke schon mal im Voraus!
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