Resol VBus LAN in Python

Um an Daten meiner Solaranlage zu kommen und diese auf meinem Info-Spiegel (Artikel folgt…) darstellen zu können, brauchte ich eine schnelle und effiziente Methode diese zu lesen.

Es handelt sich um eine RESOL DeltaSol BX Plus
Anlage, welche mit dem Resol eigenen VBus, zur Kommunikation mit anderen Anlagenteilen, ausgestattet ist.

Resol bietet hierfür 2 einfache Möglichkeiten an diese Daten zu kommen:
USB und LAN.

Da ich mir erstens unsicher war, wie es sich mit Linux Treibern für die USB Variante verhalten würde und außerdem der Raspberry PI der den Spiegel steuert und die Daten empfangen sollte, nicht im Keller sitzt, entschied ich mich für die LAN
Variante.

Nach dem der Adapter angeschlossen war, habe ich die zugehörige Software (ResolServiceCenter) mittels wine installiert und gestartet. Das funktionierte wieder erwartend auf Anhieb und lieferte mir die gewünschten Daten.

Mittel WireShark war schnell heraus zu bekommen, wie die Kommunikation initiiert wird.

Das verwendete Protokoll selbst, ist von Resol veröffentlicht worden und lässt sich somit einfach implementieren.

Die Spezifikation der Nachrichten, die die Verschiedenen Anlagen/-teile senden ist Teil der ResolServiceCenter Software und kann dieser entnommen werden.

Das fertige Script zum lesen der Daten, steht mit einer ausführlichen Anleitung auf GitHub bereit.

markiert , , , , , , , ,

Ein Gedanke zu „Resol VBus LAN in Python

  1. Björn sagt:

    Hi,

    Ein Kollege hat eine Resol Anlage. Ich habe ihm, aufgrund der gespeicherten Daten auf SD-Karte eine Website geschrieben, über die die Anlage grafisch ausgewertet wird (gnuplot)
    Nun ist es aber immer sehr stressig, die Daten von der SD-Karte in Netz zu bekommen…
    Jetzt sind wir auf den Trichter gekommen, das man ja seinen VBus/LAN Adapter auslesen könnte, um die Daten ad hoc auf der Website zu haben.
    Bei Suchen bin ich jetzt auf Ihre Seite gekommen… Sieht schon sehr interessant aus…
    Nun bin ich aber nicht sehr firm in JSON – weiß nicht mal genau, was das heißt…

    Wenn ich nun nen Raspberry Pi mit Ihrem Programm bestücke und die Daten entsprechend abändere, sowie einen Cronjob alle Minute ausführen lasse, wie müsste ich dann weiter vorgehen???

    Theoretisch bräuchte ich die lesbaren Daten als Text, die ich auf dem Server in eine MySQL -DB oder in eine Textdatei schreibe, die ich dann auswerte…

    Bitte helfen Sie mir…

    Gruß und guten Rutsch

    björn

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.