abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

CAN Bus, Home Automation E3 Generation lokal und kostenlos

hier noch mal mein Beitrag aus 'Internet der Dinge', dem Offenen Brief an Max Viessmann, als neuer Thread - Diskussionen, Fragen etc. bitte hier 🙂

 

Moin Freunde!

 

Da Viessmann zwar ein wunderschöne Schnittstelle (UDS, ISO-TP oder DoIP) eingebaut hat, das aber nur eingeschränkt und für eine 4-stellige Summe (per WAGO Gateway) zur Verfügung stellt, haben wir uns bekanntlich dran gemacht, das selber offen zu legen. 🙂

 

Stand der Dinge ist:

 

- Wir haben eine MQTT fähige Lösung zum Anschluss an den externen CAN Bus ("Stecker 91"), die es erlaubt, E3 Geräte (Wärmepumpen, Gasgeräte, (PV Speicher gerade in der Testphase, BSZ brauchen wir noch Kandidaten)) in Home Automation Systeme einzubinden. ioBroker, mosquitto, Home Assistant, Node-RED und so weiter also alles einfach machbar und bei uns schon im dauerhaften Einsatz.

 

- Das Ganze läuft lokal, also ohne irgendeine Hersteller oder sonstwelche Cloud, ohne Internet! Bei der CAN Bus Kopplung kann die gleichzeitige Verbindung mit dem Viessmann Server zwecks Wahrung der Gewährleistungs- und Garantieansprüche aufrechterhalten bleiben.

 

Eine Anbindung über den WLAN Access Point ist auch möglich, damit aber keine parallele Viesmann-Server-Verbindung mehr.

 

- Aktuell ist nur das Auslesen von Daten weitergehend erprobt. Bei den wichtigen Daten haben wir auch schon die Formate zur Interpretation geklärt, wir arbeiten an einer vollständigen Klärung.

 

Das Schreiben ist bei einfachen Daten wie z.B. Warmwasser-Solltemperatur und so auch schon erprobt.

 

- In nicht all zu ferner Zukunft wird es eine einfache Windows Oberfläche zum Setzen der bisher den 'Fachpartnern' mit entsprechendem kostenpflichtigen Account vorbehaltenen Einstellungen wie zum Beispiel den "Energiespareinstellungen" bei den Gasgeräten geben.

 

und last not least: das Ganze ist natürlich kostenfrei und open source! im Sinne eins besseren Miteinanders 😉

 

Der laufend aktualisiert werdende Stand der Linux Lösung ist auf

https://github.com/open3e/open3e

verfügbar. Einen guten 'Leitfaden' für den Einstieg hat @Hotzen-Plotz hier zur Verfügung gestellt:

https://github.com/open3e/open3e/discussions/5

Eine Sammlung von nützlichen Informationen hat @TSG initiert:

https://github.com/TheSmartGerman/open3e/wiki

(werden wir bald auch unter das open3e Projekt migrieren) 

 

beste Grüße!

HerrP_2-1692095743490.png

 

Phil

 

zur Beachtung: Der Zugriff auf das Zielgerät mittels dieser durch Viessmann nicht vorgesehenen Lösung zieht möglicherweise den Verlust von Gewährleistungs-/Garantieansprüchen nach sich und kann unter Umständen zu GEFAHREN FÜR LEIBLICHE UNVERSEHRTHEIT ODER SACHWERTE führen! Die Autoren schliessen jegliche Haftung aus.

 

Beispiele aktueller Home Assistant Integrationen von Wärmepumpen:

 

HerrP_3-1692095743607.jpeg

 

HerrP_3-1697543763132.png

Vitocal 250 Kältekreisübersicht: View und Installationsanleitung gibt's hier: https://github.com/MyHomeMyData/iob.vis.vitocal250.git

 
Jürgen hat auch noch weitere schöne Sachen abgeleitet.

Einen Adapter für ioBroker:

https://github.com/MyHomeMyData/ioBroker.e3oncan

und noch ein paar andre Sachen, die aber in dem Adapter integriert sind. Schaut einfach mal sein Repo an...

https://github.com/MyHomeMyData

 

ps. wer uns unterstützen will und kann ist herzlich willkommen!

 

pps. und wir freuen uns über jedes 'like' (👍) - damit zeigt ihr deutlich, dass ihr eine offene und lokale Kommunikation mit den 'One Base' Geräten eigentlich von Viessmann erwartet

1.023 ANTWORTEN 1.023

>> Es ist ja wirklich etwas anderes, Daten zu ändern, als sie nur zu lesen.

> Das sehe ich genauso. Allerdings könnte man die theoretische Möglichkeit konstruieren, dass eventuell auch > der Lese-Request, besonders sequentiell, zu unvorhergesehenen Ereignissen führen könnte, beispielsweise eine Überlastung von Resourcen.

 

Wenn man http://<ip-vitocal250> aufruft, dann kommt eine Liste der von Viessman verwendeten Open Source Lizenzen der genutzen Libs. Für den Canbus werden demnach can-utils-access, can-utils-cantest, can-utils-isotp, can-utils-j1939, can-utils-log, can-utils-slcan und can-utils genutzt. Viessmann hat das Canbus Rad daher sicher nicht neu erfunden.

Wurden bei open3e schon Situationen bekannt, bei denen eine Überlastung des Canbus aufgetreten ist? Die Issues in can-utils können Hinweise liefern, was evtl. schief gehen kann. Das kann natürlich bei allen am Canbus angeschlossenen Teilnehmern passieren, nicht nur bei open3e.

 

wir haben noch nie irgendwelche Anzeichen von Überlastung gesehen. Wie gesagt, es sind ja vorsichtshalber auch noch extra Pausen eingebaut.

 

Bezüglich der Buslast sehe ich da auch eigentlich keine Möglichkeit irgendwelcher Probleme. Der Bus wird ja nicht direkt vom Prozessor der Steuerung verarbeitet, sondern von einem CAN Controller. Diese dürften heute allesamt 100%-Buslast-fähig sein, und aufgrund der Arbitration können mehr als 100% nicht auftreten. Die verwendeten COB-IDs im 0x6yz Bereich liegen oben im 11-Bit Spektrum, und von daher haben die 'internen' Nachrichten sowieso höhere Priorität.

 

Aber die an ein 'Device' gerichteten Requests werden ja von diesem verarbeitet, und da haben wir halt keinen Einblick, wie 'sauber' das da gelöst ist. Gewöhnlich werden bei einem 'Overflow' von Requests diese einfach verworfen und fertig.

 

Ich möchte das Thema auch garnicht weiter vertiefen, weil es wie gesagt theoretischern Natur ist und in der Praxis keine erkennbare Rolle spielt.

 

Die Frage ist eigentlich eher, ob es sich bei der Benutzung eines an Klemme 91 eines Viessmann Gerätes angeschlossenen CAN Busteilnehmer mit UDS Funktionalität (open3e) um "bestimmungsgemässe Verwendung" handelt oder nicht. Das ist ja wahrscheinlich der Ansatz, der greifen würde, wenn eine Gewährleistung verweigert werden sollte.

 

Grüsse!

Hallo,

gibt es schon Neuigkeiten oder Ergänzungen zur Tabelle (E380 - Zähler)?
Die in gelb hervorgehobenen Zeilen konnte ich leider so noch nicht bei mir reproduzieren. Sofern sich damit Energien in Wh/kWh ergeben sollen, erhalte ich keine plausiblen Werte. Gibt es eine Erklärung zu den abstrus wirkenden Offsets?
Hier mal die ungefähren Werte, die ich erwarten würde (laut mygridbox Jahresbilanz):

Bezug39,8 kWh
Einspeisung520,7kWh

2 aktuelle CAN-Frames mit ID 0x258:

0x1164214720A5FE48
0xAB64214737A5FE48

Der unter der ID 0x25C kommunizierte Zählerstand entspricht wie erwartet der bezogenen Energie (hier 39,8 kWh).


MfG

Welchen raspberry Pi 4 soll man kaufen, 2, 4 oder 8 GB? 

Das kommt darauf an, was noch alles auf dem Raspi laufen soll. Für open3e alleine sind 2GB schon mehr als genug. Wenn aber noch weitere Anwendungen dazu kommen, wie z.B. Docker als Container Plattform, evtl. noch eine SQL Datenbank etc., dann sollte die 8GB Version in Betracht gezogen werden.

 

Zu viel RAM hat noch nie geschadet...

@Awot252 

das Tool läuft, so viel ich weiß, auch auf Windows.

Wenn du nur den einen Parameter ändern möchtest, kanns du die Regelung in den AP Modus versetzten, den Windows PC per Wifi verbinden.

Einmal zum Testen alle Parameter ausgeben lassen und den einen Parameter neu setzen.

 

 

>> Zu viel RAM hat noch nie geschadet...

das mit dem RAM ist so wie mit dem Hubraum 😁  (Umweltaspekt mal ausgeblendet)

 

open3e alleine 'so als Adapter' läuft auch auf einem Raspi Zero mit 512MB problemlos.

@M_K  soweit ich erinner, laufen die 0x258 Werte 'wie ein Zähler'. Vielleicht kann man da die Werte des EVU Zählers reinschreiben und dann sollte das immer das gleiche anzeigen? ist aber nur eine Vermutung, und PDOs schreiben ist ja eh so eine Sache 😉

 

Man könnte ja spasseshalber mal einen SDO Scan (wahrscheinlich 5000..50FF) machen und schauen, ob man da (wohlmöglich in irgendeinem SubIndex) die Werte findet und setzen kann. Man kann aber den Offset einfach auch in 'seiner' Software lokal runterrechnen...

 

neuere Erkenntnisse zum Energiezähler haben wir sonst meines Wissens nicht. Und auch noch nix geschreiben, was das capturen würde und MQTT posten. Die, die bei uns des Programmierens mächtig sind, haben wenig Zeit.... 😉

 

Grüsse!

Ich werde mal die Grundausstattung kaufen, 4er Pi mit 8GB, Gehäuse, Netzteil, Adapter für Hdmi. Braucht man sonst noch was, Speicherkarte oder ssd oder sonst was?

Außer der von Hotzenplotz aufgeführten Liste? 

Eine microSD Speicherkarte brauchst du für den Raspi immer. Die ist sozusagen das 'Systemlaufwerk'. Wenn du große Datenbanken mit deinen Daten aufbauen möchtest, ist eine SSD wahrscheinlich empfehlenswert (schneller als die Karte, aber damit kannst du auch erstmal warten, bis du dir sicher bist. auf ner modernen Karte ist auch erstmal genug Platz). Ansonsten brauchst du noch ein bischen Draht, um die beiden Stecker zu verbinden 😁

 

Grüsse!

Es wurde ja schon geantwortet. Es geht hauptsächlich um die Frage, wieviel Zeugs man laufen lassen will versus dem RAM.

Anscheinend geht auch ein Raspi 3 (mit immer 1GB RAM), aber das wird sehr schnell eng (nicht wegen open3e).

 

Mit 4GB auf einem Raspi 4 bist Du vermutlich für das meiste ausreichend aufgestellt. 8 GB ist besser und weniger "geht auch".

 

Betont sei hier, dass Du auf dem Raspi ja irgendeine der vielen Homeautomation/IoT Softwares laufen lassen musst, welche überhaupt erst etwas sinnvolles macht mit den Daten, die open3e besorgt (z.B. in einer Datenbank speichern und dann visualisieren).

In meinem Fall ist das iobroker(https://www.iobroker.net/#en/download), aber da nutzt jeder, was er will.

Und sowas wie iobroker verbraucht dann (je nach Ausbau mit Adaptern) weitaus mehr Ressourcen als open3e - daher der Tip mit dem RAM.

Iobroker und ähnliches konnte ich auch als Ahnungsloser zum Laufen bekommen mithilfe eines freundlichen Forums, aber auch das ist eine Reise, die nicht ohne Aufwand hinzubekommen ist. Ich habe den Teil hinter mir gehabt, bevor hier Open3e auftauchte (man konnte ja vorher schon seine Daten aus der Lieferantencloud beziehen).

 

Vielleicht hier nochmal gesamthaft die Hardware:

  1. Raspi
  2. microSD Speicherkarte am besten ab 16 GB und nicht superlangsam; man kann später auch mit USB-Sticks und USB-SSDs arbeiten, aber im ersten Anlauf würde ich diese zusätzliche Komplexität nicht reinbringen, weil der Raspi erstmal nur von SD-Karte booten will, man diese also sowieso braucht.
  3. Netzteil für Raspi
  4. Gehäuse für Raspi, am besten ein passiv kühlendes mit viel Metall, ähnlich wie
    1. https://www.amazon.de/Geekworm-Raspberry-K%C3%BChlk%C3%B6rper-Aluminium-Legierung/dp/B07VD5L1VY/ oder
    2. https://www.amazon.de/Geekworm-Raspberry-Aluminum-Passive-Dissaption/dp/B07ZVJDRF3/
  5. Stecker 91
  6. drei Adern Kabel (Spezifikationen davon müssen die Elektriker hier was zu sagen)
  7. CAN Adapter mit USB und SubD9 Stecker

Tatsächlich ist es für die ersten Schritte angenehmer, wenn der Raspi mit GUI nutzbar ist als nur per SSH und Kommandozeile. Dann brauchst Du tatsächlich eine HDMI-Verbindung für einen Monitor und eine USB-Tastatur und eine USB-Maus.

Vielen Dank für die Informationen und Unterstützung. Das ich mich da reinfuxen muss ist klar, aber die derzeitige Viessmann App Situation geht mir sowas auf den Zeiger, dass ich was tun muss.

 

Ich mach dann auch ioBroker drauf.

 

128GB microSd von SanDisk gibt es relativ günstig.

 

Baseberry hat derzeit keine 8GB, da muss ich woanders kaufen.

 

Braucht man noch ne WLAN Antenne, im Heizraum ist kaum Empfang. 

ne kleine Anmerkung noch...

 

>> dass Du auf dem Raspi ja irgendeine der vielen Homeautomation/IoT Softwares laufen lassen musst,

 

man muss das nicht. Viele Leute haben den MQTT Broker und die HA und alles auf einem anderen System laufen (das kann dann auch Windoofs oder so sein), dann reicht tatsächlich ein Raspi Zero für open3e, der die Daten einfach per TCP/IP in Form von MQTT 'Posts' an das andre System schickt (bzw. später mal austauscht - der bidirektionale Verkehr ist ja grad schon in Vorbereitung).

 

Aber wenn du eh so nen 'dicken Brummer' besorgst, soll der auch was tun - sonst wäre es ja Verschwendung 😁 Ausserdem verbraucht dann auch nur ein System 24/7(365) Strom - das gilt es ja auch immer zu bedenken. Bei 8760 Stunden im Jahr sind auch nur 10 Watt schon 87 Kilowattstunden...

 

Grüsse!

.

ps. @Hotzen-Plotz  dein Post auf open3e ist inzwischen aufgetaucht - mit mir unerklärlicher Verzögerung 😶  jetzt steht es halt zwei mal da 🙂

ach ja und noch ne Anmerkung: gewöhnlich ist doch bei den Raspbians schon der VNC Server mit drauf. Den muss man nur in der Konfiguration aktivieren, und dann kann man sich den Raspi Desktop einfach auf einen anderen Computer holen ("Remote Desktop") - dann braucht man keinen Bildschirm und keine Tastatur/Maus am Raspi und man braucht nicht im Keller hocken. Und man kann mit der Zwischenablage die meisten Sachen ganz einfach transferieren, das ist auch immer praktisch.

Ist eine 128GB microSd Karte für den raspberry ausreichend? 

Absolut. Auch 32 oder 64 tun es dicke für die meisten absehbaren Zwecke (was natürlich eine indiviuelle Perspektive ist).

Dazu noch ein paar Anmerkungen

  • SD Karten vertragen nicht annähernd so viele Schreibzyklen, wie z.B. SATA SSD oder NVME Module. Es ist von daher sinnvoll, Dateien, in die oft geschrieben wird, in eine RAM Disk zu packen. USB Sticks sind i.d.R. auch nicht viel besser als SD Karten.
  • Für den Raspi 5 gibt es offenbar auch ein PCIe Hat, in dem man ein NVME Modul verbauen kann. Je nach Qualität vertragen die sehr viele Schreibzyklen und eignen sich daher auch für z.B. eine SQL Datenbank.
  • GUI auf dem Raspi konnte mich bisher nicht so wirklich überzeugen. Daher meine Empfehlung: MQTT Gate, Open3E, OpenV etc. auf dem Raspi, OpenHAB oder andere, dicke Brocken auf einer ausgewachsenen x86 Server Hardware.
  • IT-Sicherheit (damit sollte sich Viessmann auch mal befassen): Der Raspi und die MQTT Teilnehmer sollten sich in einem gesonderten VLAN befinden, am besten konfiguriert als private, isolated VLANs, die gesamte Kommunikation sollte über eine Firewall mit restriktivem Ruleset laufen. Internet Zugang sollte es für dieses VLAN nicht geben. Die Updates für Raspian sollten über einen privaten Mirror im LAN gehen. Übrigens: Regelmäßige Installation von Updates nicht vergessen. Ein Killerargument für Open3E und gegen ViCare ist übrigens auch die IT-Sicherheit, weil eine Internetanbindung nicht notwendig ist.

 

Dann kauf ich mir eine 2 oder 4GB 4er Variante als Testumgebung und wenns den 5er gibt, dann 8GB mit SSD? 

der 4er mit 4GB wird schon satt reichen. Mein grade benutztes Windoofs(!) Laptop hat nur 3GB und die grauen Haare kommen eher von meinem Alter 😉 Du willst mit dem Ding ja keine Rennen fahren. Mach dir eine Kopie von der Karte, wenn das System mal so ist, wie es sein soll, und irgendwelche Datenbanken kann man auch mal zwischendurch auf was andres sichern. Die modernen SD Karten sehen schon von selber zu, dass sie nicht immer auf den gleichen Zellen rumschreiben, von daher ist das alles nicht mehr soo tragisch, erst recht, wenn die Hälfte der Karte oder mehr frei ist.

 

Ob man den Raspi im Netzwerk isolieren muss? naja, sicherer geht immer, aber ich hab da wenig Bedenken, eben weil das Konstrukt nix mit dem Internetz am Hut hat. Erst, wenn du auf deinen Home Assistant auch aus der Ferne zugreifen willst, macht es wohlmöglich mehr Sinn, über sowas nachzudenken. (finde ich, der grade mit einem nicht isolierten Win7 im Netz unterwegs ist, was ja auch schon ein Nogo ist... 😉 )

 

Grüsse!

Phil

Hallo zusammen, 

 

ihr habt dort ein super spannendes Projekt gestartet. Gratulation und Respekt über und zum Weg bis hierher. 

Ich selber habe gerade ein Haus von 1964 kernsaniert und bei mir steht die Integration in SmartHome an. 

 

Als Zielplattform des Managements werde ich IoBroker verwenden. Zur Integration stehen bei mir folgende Systeme an: 

  • 2x Huawei Sun Wechselrichter 
  • Viessmann Vitocal 250 
  • Viessmann Vitovent 300 C325 
  • Wodke IvoSmart Water 
  • 4x Siemens Logo 8 
  • diverse Haushaltsgeräte und SmartHome Komponenten
  • Alarmanlage mit 66 Sensoren 
  • Videoüberwachung 16 Kameras 

Der IoBroker läuft bei mir auf einer virtuellen Maschine. Die virtuelle Maschine läuft auf einem Proxmox Host. Hier laufen noch diverse weitere Maschinen drauf.

Physikalisch hängt das Ganze auf einem Server mit 2x Xenon CPU, 256 GB RAM, 40 Terra HDD als Raid. 

 

Netzwerkseitig habe ich ein software defined Network mit diversen VLAN´s, das Infrastrukturnetzwerk ist dabei separiert. Das Netzwerk ist flächendeckend in 1GB und 10GB vorhanden. Ebenso flächendeckend ist eine Wifi 6 Infrastruktur mit diversen AccessPoints. Die AccessPoints bilden die verschiedenen VLAN´s ab. 

 

Die Firewall ist dediziert in einer eigenen Hardware, redundant ausgelegt. Die Firewall hat zeitgleich diverse Netzwerksteuerungsaufgaben, unter anderem DHCP, Netzmanagement, Router, DNS-Server, Proxy, AddBlocker, VirusScan, Authentifizierungsserver. 

 

Das Backup ist mehrfach redundant (Raid Z2 im Server, Backupserver an 2 Standorten im Haus, CloudBackup). 

 

Internetseitig ist das System mit 2x 1 GB von zwei Providern angebunden, als Notfallbackup existiert eine LTE Anbindung. 

 

Ziel der Integration der Viessmann-Komponenten wird primär die Datenerfassung uns Analyse sein. Ohne ein detailliertes Konzept zu haben schweben mir hier die folgenden Ideen vor: 

  • Can Bus von VitoCal und Vitovent zum Server (Leitungslänge circa 10 Meter) 
  • IoBroker erfasst alle Betriebsdaten (Laufzeiten, Schaltzyklen, Störungen, Stromverbrauch, Temperaturen) 
  • Erfassung der erzeugten bzw. abgegeben Wärmemenge (hier fehlt mir noch jede Idee, ich habe einen Pufferspeicher mit Bereich für Heizung und Bereich für die Frischwasserstation, parallel dazu bringt der Pellet Kamin Wärme ein) 
  • Die E3 Instanz packe ich in einen Container auf dem Virtualisierer 

Die besondere Herausforderung ist sicherlich die Nutzung des CanBus in der Garantiezeit. Die Kabellänge sollte unkritisch sein. Welchen Can-Bus-Adapter ich nehme muss ich noch rausfinden, entscheidend ist hier die Frage ob ich für jedes Gerät eine eigene Leitung benötige oder einfach parallel auf die Leitung kann. 

 

Ich freue mich auf das Projekt und eure Anregungen. 

 

Viele Grüße 

Torsten 

Moin Torsten!

 

meine Herrn, mit der IT hast du ja mächtig aufgefahren 😎 ich hatte bis vor kurzem noch ne 256GB 'Festplatte' (SSD)... Ich kann da also kaum mitreden (hab ich ja oben schon geschrieben - ich benutze noch Win7 😁 ), aber mit CAN kenn ich mich aus 🙂

 

CAN ist ein Bus System, das heisst du kannst die Viessmann Geräte nicht nur auf eine Leitung legen, sonden du hast garkeine andre Wahl - Vitocal und Vitovent werden damit eh verbunden. Da kannst du Leitungen legen, so viel du willst - das läuft alles auf eine raus (und ein Ring ist bei CAN nicht vorgesehen), zumindest 'extern', also Klemme 91. Es gibt auch noch interne CAN Busse, aber da willst du wahrscheinlich nicht dran... Tu dir den Gefallen und nimm einen galvanisch getrennten CAN Adapter - ich vermute, ein Ground Konzept hast du für deine IT und alle angeschlossen Komponenten nicht gemacht? Wenn es noch weitere (nicht-Viessmann) Geräte mit CAN gibt, könnte man dafür durchaus über weitere CAN Busse nachdenken, spätestens wenn die Baudrates nicht gleich sind oder es mehrere Geräte mit NMT Master gibt.

 

Grüsse!

Phil

Hab jetzt alles bestellt inkl. dem originalen Steckerset. Eine 64 GB SanDisk High Endurance ist es geworden und ob die tatsächlich mehr Schreibzyklen aushält, keine Ahnung, es beruhigt etwas. 

klingt doch gut. wie gesagt, mach mal ne Kopie von der Karte, wenn das System steht. Es passiert beim Raspi schon mal, dass ein Karte kaputt geht, das muss nicht an der Karte liegen. Ich hab tatsächlich auch schon mehrere zerbrochen beim rein und raus Fummeln 🙃 (manche Raspis sitzen bei mir schlecht zugänglich...) Die Kopie kann man auch auf einen USB Stick machen, der sogar kleiner sein kann als die Karte. Von dem Stick kann man dann ein Image machen und das auf irgend ner Festplatte ablegen und davon im Bedarfsfall wieder ne Karte erstellen....

mein kleiner SD Karten-Friedhof... 😁

 

HerrP_0-1696969187959.png

 

bemerkenswerterweise sind die SanDisk überwiegend auf nicht-mechanische Weise verstorben. Ich muss allerdings auch gestehen, dass bei den Raspis gewöhnlich einfach die Spannung abgeschaltet wird und nix runtergefahren, das kann auch schnell mal tödlich für die Karte sein...

Top-Lösungsautoren