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

Zennix

Guten Morgen,

ja natürlich erst OK dann 3 Sekunden Info, dann Fachmann Ebene. Ich schau heute Abend mal, welche Punkte in dem 6200er Bereich überhaupt angezeigt werden.

Grüße / Zennix

Scherheinz

Zitat von: freetz am 09 Mai 2017, 08:17:31
Also den Timecodes nach zu urteilen, war das jetzt ein Mitschnitt von 400 Sekunden, also etwas mehr als 6 Minuten. Da die Broadcasts nur bei Änderung und ansonsten alle 10 Minuten kommen, wäre eine Spanne von mind. 10 Minuten notwendig. In der Zeit kann man dann z.B. durch Erhöhen der Raumsoll- bzw. TWW-Temperatur der Therme etwas auf die Sprünge helfen.
Du musst dann aber nur dann den ganzen Output posten, wenn Du folgende Sequenzen _nicht_ findest:
05 00 02 13 (Brenner)
31 00 02 12 (TWW)
05 00 00 6C (Uhrzeit)
Ansonsten reichen die Zeilen, in denen diese CommandIDs vorkommen für die Analyse.

Hallo Freetz,
habe jetzt einen kompletten TWW Ladevorgang mitgeloggt und folgende Zeilen gefunden:


05 00 02 13 Brenner
60746 DC 80 7F 0F 02 05 00 02 13 00 00 00 49 0D 7E
120978 DC 80 7F 0F 02 05 00 02 13 04 00 00 49 C7 8F
593918 DC 80 7F 0F 02 05 00 02 13 00 00 00 49 0D 7E
852838 DC 80 7F 0F 02 05 00 02 13 04 00 00 49 C7 8F
1102671 DC 80 7F 0F 02 05 00 02 13 00 00 00 49 0D 7E
1427720 DC 80 7F 0F 02 05 00 02 13 04 00 00 49 C7 8F
1625977 DC 80 7F 0F 02 05 00 02 13 00 00 00 49 0D 7E


31 00 02 12 TWW
117434 DC 80 7F 0E 02 31 00 02 12 01 00 4D 57 7F 
697803 DC 80 7F 0E 02 31 00 02 12 01 00 4D 57 7F
1289522 DC 80 7F 0E 02 31 00 02 12 01 00 4D 57 7F
1782272 DC 80 7F 0E 02 31 00 02 12 01 00 45 D6 77


05 00 00 6C Uhrzeit
285120 DC 8A 7F 14 02 05 00 00 6C 00 75 05 0F 01 0A 35 23 01 0D 37
583809 DC 8A 7F 14 02 05 00 00 6C 00 75 05 0F 01 0A 3A 27 01 ED C2
875947 DC 8A 7F 14 02 05 00 00 6C 00 75 05 0F 01 0B 03 26 01 F3 73
1172885 DC 8A 7F 14 02 05 00 00 6C 00 75 05 0F 01 0B 08 27 01 30 B3
1467665 DC 8A 7F 14 02 05 00 00 6C 00 75 05 0F 01 0B 0D 27 01 DB 43
1759200 DC 8A 7F 14 02 05 00 00 6C 00 75 05 0F 01 0B 12 24 01 E1 42
2054886 DC 8A 7F 14 02 05 00 00 6C 00 75 05 0F 01 0B 17 25 01 39 83



Gruß

freetz

Hallo Scherheinz,

also die Werte stimmen eigentlich mit den übrigen Brötje-Nutzern überein (Du hast ja Gerätefamilie 90) - hast Du mit der neuesten Firmware mal geschaut, ob Du dann über /B wirklich weder Brenner- noch Trinkwassertakte angezeigt bekommst?

Gruß,

F.
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

Noch nicht, das versuche ich dann morgen mal.  :)
Was mich immer noch beschäftigt ist die riesige Datenmenge, hat das sonst niemand?

Gruß

freetz

Doch, allein durch die Anzeige im Display, die alle 10 Sekunden aktualisiert wird und dann auch über den Bus geht, kommt da einiges zusammen. Deswegen kann man z.B. nur Broadcasts loggen oder nur unbekannte CommandIDs...
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

Hallo zusammen,

nachdem es nun bei der eigentlichen Software nicht mehr viel zu drehen gibt (es kommt im nächsten Release noch die Klartext-Beschreibung der KonfigRGx-Parameter, die auch noch mal ganz spannend sind), lässt mir das Thema LPB doch keine wirkliche Ruhe ;). Ich habe mir dafür auch extra ein LPB-ClipIn besorgt, das leider insofern Probleme macht, als dass es schon beim Anstecken den Fehler 152 (Parametrierung) mit Software-Diagnosecode 549 ausspuckt. Das ist natürlich nirgendwo dokumentiert, so dass ich nicht weiß, welche Parametrierung ich da nun korrigieren müsste. Sehr ärgerlich.

Dafür habe ich mir aber mal Peppis LPB-Logfile von einer der ersten Seiten dieses Threads noch einmal genauer angesehen (und hänge es hier noch mal an, damit nicht alle suchen müssen), und mir ist dabei erfreulicherweise aufgefallen, dass es eine ganze Menge Ähnlichkeiten zwischen dem BSB- und dem LPB-Protokoll gibt.

Hier ein Beispiel eines von Peppi geloggten Telegramms:
516814 78 13 FF 00 FC 02 00 14 02 15 00 02 0A 00 01 29 00 32 F1 2C

Folgendes habe ich herausgefunden:
01. Byte: Wie bei BSB ein "Magic Byte", ist immer 0x78.
02. Byte: Länge des Telegramms (ohne Magic Byte)
10.-13. Byte: CommandID (hier: 15 00 02 0A)
14.-16. Byte: Daten
17.-18. Byte: Daten?
19.-20. Byte: Checksumme?

Bei den Daten hier scheint es sich um die Außentemperatur zu handeln: 00 01 29 wäre 297 in Dezimal, geteilt durch 64 (wie das bei BSB-Temperaturen der Fall wäre) ergäbe das 4,6 Grad - für Februar 2016 wohl eine ganz realistische Temperatur. Die Frage ist nur, was die (bei dieser CommandID immer gleich bleibenden) 00 32 im Anschluss bedeuten. "Schön" wäre, wenn sie Teil der Checksumme wären, aber weder F1 2C wäre eine mir erklärliche Checksumme, noch 00 32 F1 2C. Aber vielleicht hat von Euch da jemand mehr Ahnung (stan23 z.B.)?

Für die weitere Analyse müsste mir entweder jemand helfen, mein OCI420 ClipIn richtig zum Laufen zu kriegen oder jemand das Logging übernehmen, der sich in einen funktionsfähigen LPB-Bus hängen kann (Peppi? Numsi?).

Gut ist, dass die grundsätzliche Struktur nicht total anders ist: Es gibt Magic Bytes, Längen-Bytes, vierstellige CommandIDs und selbst die Codierung von Fließkommawerten scheint ähnlich zu sein. Damit ließe sich das Script prinzipiell - zwar mit einigem Aufwand, aber machbar - auch für LPB umsetzen. Die Frage ist, ob es dafür überhaupt Bedarf gibt, oder ob durch die Entwicklung des Threads eh' nur noch BSB-Nutzer mitlesen ;)...

Gruß,

F.
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

Gizmo_the_great

Was meinst Du mit Klartext-Beschreibung von KonfigRGx?
Steh gerade ein wenig auf dem Schlauch...


Gesendet von iPhone mit Tapatalk Pro

FHEM unter Debian auf RK3188, Homebridge, Apple TV3, Wemos D1 mini mit ESPeasy als RF433MHz-Transmitter, Raumsensor und OLED, Wemos D1 als Klingelsensor per Pushnachricht inkl. Remoteklingel-Funktion, Heizungsregelung Brötje WGB S und ISR SSR C mit BSB_Lan

freetz

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

So, die Prüfsumme vom LPB-Bus habe ich nun auch geknackt, da handelt es sich leider nicht um das beim BSB verwendete XModem-CRC, sondern etwas viel "einfacheres" (zumindest, was wohl die Rechneleistung angeht, was wohl an den verhältnismäßig älteren Thermen liegen mag):

Nachdem mir aufgefallen ist, dass sich bei ähnlichen Zeilen, die nur um wenige Zähler abweichen, auch die Prüfsumme nur um genau diese Zähler abweicht, konnte es sich nicht um CRCs handeln. Als ich dann per Script die Summe der Werte von den Prüfsummen abgezogen habe, bin ich zwar nicht für jede Zeile, aber für jede Zeile einer bestimmten Länge auf das gleiche Ergebnis gekommen.
Wenn man dann annimmt, dass alle Bytes (außer Prüfsumme) Nullen wären, kommt man auf folgendes Muster für die Basis:

15 Byte Länge: F1 0E
16 Byte Länge: F0 0F
17 Byte Länge: EF 10
18 Byte Länge: EE 11

D.h., das erste Byte nimmt ab und das zweite nimmt zu, wenn die Zeilenlänge größer wird. Beide zusammen ergeben dann eine 16-Bit Zahl, auf die dann die Summe aller Telegramm-Bytes (außer Prüfsumme natürlich) hinzuaddiert wird. Die Grundlage beider Bytes scheint die Telegrammlänge (wieder ohne PS) zu sein, einmal von FF subtrahiert, einmal "plain", aber die Telegrammlänge jeweils von Null an gezählt, also letztlich um eins reduziert.

Die Formel scheint von daher zu sein:
(255 - (Telegrammlänge ohne PS - 1)) * 256 + Telegrammlänge ohne PS - 1 + Summe aller Telegrammbytes

Damit wäre es dann zumindest auch möglich, Telegramme wie z.B. Raumtemperatur etc. auf den LPB-Bus zu schicken, wenn die entsprechenden CommandIDs sowie die Sender- und Empfänger-Codierungen entschlüsselt sind...

Gruß,

F.
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

justme1968

wenn du so weiter machst muss ich den thread titel ja bald wieder zurück ändern :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

freetz

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

Peppi

Hallooo ;o)
Ich wollte mich mal wieder melden, da ich eine PN bekommen habe, dass es hier wohl für den LPB neue Erkenntnisse gibt...
Vielen Dank, dass ihr an dem Thema dranbleibt...
Da ich im Moment den Heizungskeller (bzw. den Rest des Hauses renoviere), bin ich zwar recht gut eingebunden, wäre aber zu allen "Schandtaten" (Loggen, Testen, etc.) bereit...
(Ehrlich gesagt, muss ich mich aber erst einmal wieder in die Materie mit dem kleinen Arduino einlesen...)

LG
Peppi

freetz

Hallo Peppi,

ja, das wäre prima, wenn Du da beim Logging helfen könntest, da ich mein OCI420 wegen der Fehlermeldung 152 immer noch nicht ans Fliegen bekommen habe. Hilfreich wäre ein direktes Logging, wenn Du am Einstellrad einen Parameter veränderst (Sollwert-Temperatur z.B.) und das dann bei ein paar Parametern machst. Als nächsten Schritt müsste man dann mal die Geräteadresse (und evtl. auch das Segment) ändern, um herauszufinden, wo/wie Sender und Empfänger codiert sind. Dann fehlt eigentlich nur noch der Nachrichtentyp (also was ist ein Telegramm zum Setzen bzw. Abfragen eines Wertes usw.). Damit wäre dann der Telegrammaufbau entschlüsselt und man könnte sich dann daran machen, alle Parameter nach und nach einmal abzurufen und anhang des Aufbaus zu dekodieren.

Was ich an LPB interessant finde, ist, dass es möglicherweise stärker standardisiert ist als das BSB-Protokoll, da es eine größere Anzahl an Geräten ansteuern kann (240 m.W.). Insofern wäre es schön, wenn wir da zu einem Ergebnis kommen würden.

Gruß,

F.
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

Zennix

Hallo Freetz,

meine Brötje EcoTherm Plus WGB 20H hat noch ein paar unbekannte Antworten auf Command IDs:
Device family: 162
Device ID: 512

In der Lan_defs.h stehen sie aber drin.
const char ENUM700[] PROGMEM = {"\x00 Schutzbetrieb\0\x01 Automatik\0\x02 Reduziert\0\x03 Komfort"};

Betriebsart auf Automatik schalten
RGT1->HEIZ SET  700 Heizkreis 1 -  Betriebsart: ---
DC 86 00 0D 03 3D 2D 05 74 01 01 A1 7A
HEIZ->RGT1 ACK  700 Heizkreis 1 -  Betriebsart:
DC 80 06 0B 04 2D 3D 05 74 58 5F

Betriebsart auf Komfort schalten
GT1->HEIZ SET  700 Heizkreis 1 -  Betriebsart: ---
DC 86 00 0D 03 3D 2D 05 74 01 03 81 38
HEIZ->RGT1 ACK  700 Heizkreis 1 -  Betriebsart:
DC 80 06 0B 04 2D 3D 05 74 58 5F

Betriebsart auf Reduziert schalten
RGT1->HEIZ SET  700 Heizkreis 1 -  Betriebsart: ---
DC 86 00 0D 03 3D 2D 05 74 01 02 91 19
HEIZ->RGT1 ACK  700 Heizkreis 1 -  Betriebsart:
DC 80 06 0B 04 2D 3D 05 74 58 5F

Betriebsart auf Schutzbetrieb schalten
RGT1->HEIZ SET  700 Heizkreis 1 -  Betriebsart: ---
DC 86 00 0D 03 3D 2D 05 74 01 00 B1 5B
HEIZ->RGT1 ACK  700 Heizkreis 1 -  Betriebsart:
DC 80 06 0B 04 2D 3D 05 74 58 5F

Vielleicht schaust du mal nach warum die nicht richtig angezeigt werden.

Danke / Gruß / Zennix

Zennix

Hallo zusammen,

beim Testen mit dem Adapter (RB2) ist mir aufgefallen, dass der Heizkreis 1 sein Automatikprogramm verlohren hat. Hab jetzt schon einiges versucht, aber ich bekomme es nicht mehr aktiviert.
Auch ein Zurücksetzen auf die Werkseinstellung mit 6205 hat nichts gebracht. Das Automatikprogramm ist da und lässt sich verändern. Wenn ich dann die Betriebsart auf Automatik ändere erscheint der Balken kurz (ein paar Sekunden) im Display und verschwindet dann wieder. Auch wenn ich den Adapter abtstecke ändert sich nichts.
Angeschlossen habe ich den Adapter an FB1, FB2 und auch am Frontanschluss. Jedesmal mit dem gleichen Ergebnis.
Hat jemand eine Idee was das sein könnte?

Danke / Gruß / Zennix