Hallo zusammen,
bin auch seit einiger Zeit stiller Mitleser gewesen, und habe die Lösung auch jetzt umgesetzt. Verwende einen ESP8266 (D1 Mini Clone), MCP2515 Board (enthält den TJA1050 Tranceiver), einen MP1583EN Step-Down Regler (auf 5V) und einen Logic-Level-Shifter TXS0108E zwischen dem ESP und dem CAN Board. Beim TXS0108E gab es zu beachten, dass der OE Pin beim einschalten auf LOW sein muss (1k pull-down) und dann über einen ESP Output auf HIGH gezogen wird bevor SPI Kommunikation stattfindet.
Der ESP arbeitet einfach als CAN-->MQTT Bridge und schickt die Frames zu meiner Smart-Home-Implementierung.
Mein Protokoll sieht ähnlich aus wie das von Ben1337, allerdings habe ich bisher nur die IDs 0x381 und 0x481 nutzen können. Bin ein wenig verwundert, dass 0x382 und 0x381 bei Ben1337 unterschiedliche Werte liefern: So wie ich es verstanden habe enthält die CAN_ID auch die EFF/RTR/ERR Flags, d.h. Bits 29, 30, 31 sind die Flags und nur Bits 0-28 ist die CAN_ID. Damit wäre 0x381 --> CAN_ID=0x70, EEF=1, RTR=0, ERR=0 und 0x382 --> CAN_ID = 0x70 EEF=0, RTR=1, ERR=0.
Soweit bin ich ganz zufrieden mit der Implementierung bei mir, die wichtigsten Parameter kann ich so auslesen, und vorallem eine Notification zum Nachheizen bekommen. Etwas schade ist, dass ich aus den restlichen Daten nicht schlau werde, teilweise bleiben diese ziemlich konstant. Aber ich konnte die Werte einfach nicht zuordnen zu dem was ich im Steuergerät ablese.
Diese CAN Library habe ich verwendet, läuft out-of-the-box mit ESP8266 Arduino Core: https://github.com/autowp/arduino-mcp2515
PIN-Belegung des DB9 Steckers wie von Ben1337 geschrieben.
Jumper für 120Ohm Abschlusswiderstand habe ich gesetzt, da war auch ein Abschlusswiderstand im Blindstecker vorher.
Vielen Dank an alle für's Teilen der Infos!
PS: Vielleicht würden noch mehr Daten über den CAN Bus kommen wenn man die weiter oben erwähnte "Freischaltung" machen würde?