Closed Ion3 closed 2 years ago
vogod
just works for me, so I have no urgent plans for changes. ("don't touch a running system").
Possible improvements include
But still, the hardest part for other users is to get a thorough description of their system's addresses/event types/data points. There is plenty of information on OpenV Wiki and OpenV Issues, but I simply had the luck that my system was among the ones being included in the VitoSoft Demo.
Hallo Sönke, ich habe mich nur über folgendes Statement in der Readme gewundert "unreleased, alpha quality software, not ready for deployment. Do not use, do not ingest, do not stare into beam" ;-) Also als Medizin hätte ich es auch nicht eingenommen...
Dennoch hast du völlig Recht, der härteste Teil ist die Systembeschreibung. Ich habe zwar eine Vitotronic WO1C und hierzu scheint es viele Informationen zu geben, dennoch bin ich unsicher, ob ich der Kombination vcontrold / vclient gewachsen bin. Primäres Ziel ist es, die Daten aus der Viessmann Anlage in ein anderes System (z.B. openHAB, Home Assistant, etc.) zu überführen. Im Prinzip also eine MQTT-Schnittstelle oder etwas vergleichbares. Ich dachte, dein Projekt wäre vielleicht ein einfacherer Zugang.
Lieben Gruss, Timo
Das Problem über alle Softwares hinweg ist das einer vernünftigen Beschreibung der Adressen und Daten. Da hatte ich einfach die XML-Konfigurationsdateien der VitoSoft-Demo als umfassendeste Beschreibung angesehen und verwendet. Problem ist dabei vor allem, dass die Informationsgewinnung aus unfreien Quellen stammt und nicht sonderlich aktuell ist.
Vogod's REST <--> MQTT mache ich über Node-Red mit Mosquitto als Broker. Das ist zwar etwas schwergewichtiger, als mir lieb ist (ich nutze für das ganze einen eher schwachbrüstigen OrangePiPC, der ungefähr mit Raspi3b vergleichbar ist), aber es funktioniert und damit ist das "gut genug" für mich. MQTT könnte man aber sicher auch nativ in Go dranhäkeln, da gibt es ja viele Libraries.
MIt vcontrold
bin ich - obwohl ich da irgendwie als Maintainer wie die Jungfrau zum Kind gekommen bin - nie richtig warm geworden.
Angesichts der relativ großen Verbreitung und der Flexibilität in den Protokollen ist es aber eine gute Wahl (und hinsichtlich Unterstützung in der Konfiguration ganz sicher die bessere). JSON-Support ist frisch drin, was die Anbindung an andere Softwares noch mal vereinfacht.
Vogod's REST <--> MQTT mache ich über Node-Red mit Mosquitto als Broker.
Das klingt doch super! Node-Red und Mosquitto laufen bei mir sowieso schon, um unabhängig von Viessmann per Modbus die Strom- und Wärmemengenerfassung für meine Wärmepumpe zu machen. Außerdem kann die Wärmepumpe basierend auf dem Solarstrom-Überschuss modulierend arbeiten. Dafür muss ich ihr jedoch einen Stromzähler vorgaukeln, weil ich zwei Unterverteilungen im Haus habe und Viessmann damit nicht umgehen kann. Ein weiteres Projekt, um das restriktive Datenmanagement von Viessmann auszuhebeln. Okay, ich will nicht abschweifen.
Wie wäre denn der Ansatz von Vogod? Gibt es eine Setup-Datei und wie bekomme ich den Go-Code lauffähig?
Erstellung der Binaries mache ich im Umweg über ein Makefile
, weil ich dadurch nur make
eingeben muss, anstatt erst überlegen zu müssen, wie das mit dem go build
so geht.
Als Setup-Dateien dienen die ecnDataPointType.xml
(Geräte mit Listen unterstützter Datenpunkte) und ecnEventType.xml
(die Definitionen aller Datenpunkte) aus der VitoSoft-Demo. Die Dateien können hier wg. möglichen Urheberrechten nicht direkt im Repository abgelegt werden. Das zugrunde liegende XML Format ist quasi selbsterklärend; wer sein Gerät in der Demo nicht findet, kann sich die Konfig. mit ein paar bekannten Adressen selber zusammenbauen.
Die Demo braucht man nicht zu installieren, es reicht die gewünschten Dateien mit 7zip
o.ä. auszupacken.
Für den automatischen Start des Daemons per systemd liegt die vogod.service
bei. Hier sind auch Portnummer und serielles Device einzutragen.
Nach dem Start stehen dann unter http:\/\/localhost:8000 Webinterface und REST API zur Verfügung.
Hi, are there plans to develop this project? I could contribute by testing.