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

Bevor ich mich auch in den Weihnachtstrubel begebe, hier noch kurz ein Update sowohl zum Thema LPB, als auch zu der schon länger verebbten Diskussion über die Probleme mit den Arduino-Clone-Boards, bei denen der Adapter nicht richtig rund lief:

Dank Schottys Einsatz läuft bei mir nun an meiner Elco Thision das OCI 420 ClipIn-Modul, mit dem man Heizungen, die kein LPB haben, entsprechend nachrüsten kann. Auslöser war hier ein Besitzer einer WGB 2, die weder BSB noch LPB hatte, sondern einer dieser Heizungen ist, bei denen Brötje mal eine kurze Zeit auf OpenTherm gesetzt hatte. Interessant ist bei dem ClipIn, dass es ein eigenes Set von CommandIDs unterstützt, das mit dem meiner Heizung über BSB nicht übereinstimmt, es sind deutlich weniger Parameter verfügbar, dafür aber auch einige wenige, die ich unter BSB nicht nutzen kann. Bei Geräten, die von Haus aus BSB und LPB mitbringen, war der Parametersatz bisher immer identisch, einschließlich der CommandIDs.

Mir ist dabei aber aufgefallen, dass die Verbindung zwischen meinem "billigen" Arduino Clone und dem OCI nur lesend klappte, Abfragen (die ja ein Senden voraussetzen) kamen immer mit "query failed" zurück. Das Problem hatten wir ja vor einigen Monaten schon mal andiskutiert, und auch hier war es so, dass mit dem Oszilloskop zu sehen war, dass die richtigen Pakete vom Arduino aus gesendet werden, aber von der Empfangsseite (in dem Falle das OCI 420) nicht akzeptiert wurden.
Als ich dann auf meinen "guten" Clone umgsattelt hatte, ging es deutlich besser, zwar immer noch hier und da mit ein paar Aussetzern, aber nichts, was innerhalb der drei Anläufe nicht in einer erfolgreichen Abfrage resultiert hätte.

Nun hatte Schotty den Geistesblitz, mal zu schauen, was für ein Quartz denn da jeweils verbaut ist, und siehe da: Auf dem "billigen" Clone ist nur ein 12MHz Quartz verbaut, auf dem "guten" Clone aber ein 16 MHz Quartz, so, wie es laut Standard auch sein soll. Der "billige" Clone meldet sich bei der entsprechenden Abfrage allerdings als 16 MHz Arduino!
Da die SoftwareSerial Library, die die Kommunikation über den Bus regelt, aber darauf angewiesen ist, dass die Taktraten stimmen (weil hier buchstäblich Takte gezählt werden, um die richtige Übertragungsgeschwindigkeit hinzubekommen), kann es hierbei natürlich zu Fehlern kommen, wenn die 12 MHz irgendwie künstlich hochgerechnet werden.

Interessant sind noch zwei Dinge: Sowohl bei meiner Elco Thision, als auch bei dem Brötje ZR1 hatte der "billige" Clone auf dem BSB-Anschluss keine Probleme, wohl aber auf dem LPB, egal ob direkt (wie beim ZR1) oder indirekt (über das OCI 420). Anderswo gab es aber mit den "billigen" Clones auch Sendeprobleme beim BSB, was darauf hindeutet, dass es wohl darauf ankommt, wie penibel die Gegenseite ist, und ob da einige Milli- oder Mikrosekunden Abweichung noch toleriert werden.
Zum anderen hat mich überrascht, dass der Wemos Mega, den ich vor ein paar Seiten mal als WLAN-Alternative vorgestellt hatte, auch nur einen 12 MHz Quartz hat, aber hier die LPB-Verbindung ähnlich gut wie bei dem "guten" Arduino-Clone funktioniert. Evtl. liegt es dann auch an den entsprechenden Bauteilen, die aus den 12 MHz dann 16 MHz machen, falls das nicht softwareseitig gemacht wird.

Wer also Probleme mit der Übertragung hat und öfter mal "query failed" bekommt, sollte sich den Aufdruck auf dem Quartz mal genauer anschauen und ggf. auf ein Modell mit 16 MHz wechseln.

Nun aber Euch allen schöne Feiertage und falls es dran ist: frohes Basteln :)...
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

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

Scherheinz

Das mit dem Quarz ist schon ein dicker Hund, damit hab ich nicht gerechnet. Ich habe bis auf einen nur originale Arduinos und noch nie darüber nachgedacht, kenne das nur von "Low Energy" Projekten wo mittels kleinerem Quarz der Stromverbrauch gesenkt werden soll aber dann muss alles andere auch angepasst werden sonst stimmt kein Timing mehr. Also anstatt verbauten 16 nur 12 Mhz das sind schon stattliche 25%  Abweichung, wenn aber sonst alles stimmt kann man zum Lötkolben greifen ;) :o

Von mir auch ein frohes Fest und besinnliche Tage!

freetz

Sorry, ich muss mich korrigieren, dieser Quarz ist anscheinend für den USB-zu-seriell Chip zuständig, wo die Clones meist einen CH340 einsetzen, der mit 12 MHz getaktet wird. Das Rätseln geht also weiter ;)...
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


frank

@freetz
schau mal nach der aussenbeschaltung vom quarz und vergleiche sie mit dem schaltplan.

in diesem thread wird zb auch von falsch dimensionierten bauteilen bei einer quarzschaltung berichtet.
https://forum.fhem.de/index.php/topic,91740.0.html

leider sind die kondensatoren meist nicht beschriftet.
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

Airwave

Hallo zusammen,

auch ich darf verkünden, dass Platine, Arduino und co. bei mir einwandfrei funktionieren an:
WBS 14 F

6220 Konfiguration - Software-Version: 3.5   
6222 Konfiguration - Gerätebetriebsstunden: 27727 h   
6223 Konfiguration - Bisher unbekannte Geräteabfrage: 000014 - unknown type   
6224 Konfiguration - Geräte-Identifikation: LMS14.002A100   
6225 Konfiguration - Gerätefamilie: 162   
6226 Konfiguration - Gerätevariante: 14   
6227 Konfiguration - Objektverzeichnis-Version: 0.8   
6228 Konfiguration - Bisher unbekannte Geräteabfrage: 000014 - unknown type

Zudem habe ich nochmal eine Frage:
Bei mir lassen sich die Attribute wie Uhrzeit nicht setzen:
Per URL /S0=25.12.2018_12:47:00 bekomme ich fehler beim Setzen und der SET Button neben dem Textfeld funktioniert leider auch nicht.
Zudem, kann ich irgendwie auch die Zeitprogramme der Heizkreise setzen? In den Textfeldern steht dort auch nur 1.00

Danke im Voraus.

Gruß

Schotty

#2977
Moin Airwave,
schön, dass es bei dir soweit auch erstmal funktioniert. Du könntest nochmal /Q ausführen - sollten wider Erwarten Parameter aufgelistet werden, bitte eben rückmelden.
Das Setzen der Zeitprogramme ist m.W. nur direkt am kesselseitigen Regler-Bedienteil möglich, das Thema hatten wir vor einigen Seiten gerade schonmal.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

@Airwave: Ich schaue mir das nachher noch mal genauer an - im Quellcode ist die Funktion damals von Gero, der das Projekt vor Jahren initiiert hat, geschrieben worden, da steht aber auch, dass bei den Datumsparametern noch Punkte unklar sind. Aber ich schaue noch mal genauer nach, wenn ich in den Tagen etwas Zeit habe...

@frank: Bingo :)! Dank des Schaltplans des Arduino Mega habe ich gesehen, dass es noch einen zweiten Quarz geben muss, mit dem der AtMega 2560 getaktet wird. Der ist bei dem "schlechten" Clone ein SMD-Bauteil, auf dem nur "AA" aufgedruckt steht; bei dem "guten" Clone ist es ebenfalls ein SMD-Teil, auf dem "AX" steht. Bei dem Wemos Mega ist es ein "richtiger" Quarz, so wie er bei allen Boards auch bei der USB-zu-Seriell-Schnittstelle verwendet wird. Nur ist es hier dann definitiv ein 16 MHz Quarz.
Ich könnte das mit dem Oszilloskop mal durchmessen, aber ich weiß nicht, wie ich da bei den SMD-Teilen am besten ansetzen sollte. Oder kann man anhand der AA/AX Bezeichnung schon erkennen, dass da das "AA" Quarz nicht passt?
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

#2979
Bzgl Quarz vs. Resonator beim Ardu: https://forum.arduino.cc/index.php?topic=60662.0 

EDIT: Ich frage mich aber trotzdem nach wie vor, ob der 12Mhz-USB-seriell-Quarz nicht doch (auch) für irgendwelchen Timing-Probleme verantwortlich sein könnte..
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Airwave

Zitat von: Schotty am 25 Dezember 2018, 13:34:58
schön, dass es bei dir soweit auch erstmal funktioniert. Du könntest nochmal /Q ausführen - sollten wider Erwarten Parameter aufgelistet werden, bitte eben rückmelden.

Hey Schotty,

hier das Ergebnis:

Gerätefamilie: 162
Gerätevariante: 14
Start Test...

2250
2250 Kessel - Pumpennachlaufzeit: error 7 (parameter not supported)
DC 86 00 0B 06 3D 11 11 A4 D1 F8
DC 80 06 0D 07 11 3D 11 A4 00 02 C4 AA
2700
2700 Sitherm Pro - Ergebnis letzter Drifttest: error 7 (parameter not supported)
DC 86 00 0B 06 3D 09 0F 31 C8 5A
DC 80 06 0E 07 09 3D 0F 31 00 00 00 6D 10
2702
2702 Sitherm Pro - Auslösen neuer Drifttest: error 7 (parameter not supported)
DC 86 00 0B 06 3D 05 30 42 E6 64
DC 80 06 0E 07 05 3D 30 42 00 00 00 8F C5
2703
2703 Sitherm Pro - Reset Drifttest: error 7 (parameter not supported)
DC 86 00 0B 06 3D 05 30 43 F6 45
DC 80 06 0E 07 05 3D 30 43 00 00 00 F9 71
2705
2705 Sitherm Pro - Obergrenze Drifttest Störung: error 7 (parameter not supported)
DC 86 00 0B 06 3D 09 0F 26 AA 8C
DC 80 06 0E 07 09 3D 0F 26 00 00 00 27 9A
Test Ende.

Gruß

Schotty

Wow das ging ja mal fix :) Danke.

Überrascht mich allerdings, dass dort SithermPro-Parameter auftauchen, weil SP doch angeblich nur bei LMS15 vorhanden sein soll..  :o
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

...neue Parameter sind auf jeden Fall eingepflegt, wenn Du die aktuellste Version von GitHub installierst, sollte ein erneuter Aufruf von /Q keine Parameter mehr bringen.

@Schotty: Selbst bei mir werden ja einige Sitherm-Parameter angezeigt, allerdings (für mich) ohne Funktion...
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

#2983
@Airwave: Also die Uhrzeit scheint man wirklich nicht setzen zu können, zumindest nicht über die bisherigen Standardweg (die Uhrzeit wird über ein INF-Telegramm, nicht über ein SET-Telegramm bekannt gegeben). Es ist daher auch unklar, ob die Bedieneinheit eine so übertragene Uhrzeit auch annehmen würde. Das zu Testen bzw. zu implementieren wird etwas dauern...

@frank bzw. all: Kann man einen Quarz auch durch Oszilloskop-Messung zerschießen? Ich habe nach dem (bisher erfolglosen) Untersuchen des SMD-Quarzes das Board wieder eingebaut und bekomme nun auch nur noch die Telegramme von der Heizung lesend im SerMo angezeigt, aber Abfragen absetzen kann ich keine mehr, ständig "query failed" :(.

Naja, wenigstens würde es ein weiteres Indiz dafür sein, dass es der Quarz ist, der das Problem darstellt. Kann man die Taktfrequenz auch softwareseitig messen? Dann würde ich so eine kleine Routine mit einbauen, so dass jeder mal die Werte vergleichen kann...

EDIT: Geht wieder, lag an der nicht richtig eingesteckten Platine...
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

Airwave

Zitat von: freetz am 25 Dezember 2018, 13:58:58
...neue Parameter sind auf jeden Fall eingepflegt, wenn Du die aktuellste Version von GitHub installierst, sollte ein erneuter Aufruf von /Q keine Parameter mehr bringen.

Cool Danke.
Kann ich den Arduino eigentlich auch flashen, während er an der Heizung angeschlossen ist, oder sollte ich die Kabel entfernen?

Danke und Gruß