NEWS
Viessmann Heizung mit ESP8266 auslesen und steuern
-
@Jaschkopf Danke für den Lesekopf, kurz es funktioniert
Hatte zwar ein paar Anlaufschwierigkeiten, aber keine Ahnung was da falsch war, jetzt geht es.Ich habe mich zum Testen auf zwei Werte konzentriert (boilerTemp, outsideTemp), bei mir kommen die Werte über MQTT am ioBroker an:
Werden bei dir die Nodes im MQTT Adapter erstellt? Es kann sein dass es nicht gleich aktualisiert wird.
-
@albert Ich hab gerade nochmal alles frisch von Github gezogen und neu geflashed. Trotzdem kommen meine Daten im ioBroker an. Welchen Adapter nutzt du dafür? Ich hab bei mir MQTT immer über den "sonoff" Adapter gemacht. Der ESP meldet sich zwar an und wird als "alive=true" angezeigt, aber es kommen keine Werte rein.
Sonst muss ich nochmal einen anderen Adapter ausprobieren. Find ich komisch, weil MQTT doch ein fest definiertes Protokoll ist...
Gruß Jaschkopf
-
@Jaschkopf
Ich nutze den MQTT Broker/Client Adapter
Ich denke der Sonoff Adapter ist speziell für Sonoff und wird nicht alle Datenpunkte anzeigen, die nicht für Sonoff benötigt werden.
Wenn du einen weiteren Adapter installierst der MQTT nutzt musst du darauf achten einen anderen Port zu nutzen, meiner ist auf 2883. -
@albert mit dem MQTT Broker/Client Adapter kommen endlich Werte im ioBroker rein. Hab schon einige Stunden damit verbracht die richtigen Adressen zu finden. Die Komplette Liste aller Adressen beinhaltet 11544 Datenpunkte, von denen aber nur ein Bruchteil mit meiner VT200 (WO1C) Steuerung kompatibel sind. Dazu ist die Beschreibung noch ziemlich kacke... Langsam füllt sich die Liste aber:
Hast du es bereits geschafft die Werte auch zurück zu schreiben? Wenn ich in der "TreeLightNodes" Section jeweils Steuerbar auf true stelle wird zwar ein Regler sichtbar, aber ist ohne Funktion. Über MQTT auch ohne Funktion.
Gruß Jaschkopf
-
@albert Irgendwie müssen die steuerbaren Datenpunkte noch per setRange mit den Werten min, step und max versorgt werden damit der Schieber funktioniert denke ich. Vielleicht kannst du dir das mal angucken.
-
@Jaschkopf Leider habe ich es noch nicht hinbekommen die Datenpunkte zu Schreiben, ich muss in der Richtung mal weiter testen.
Zum automatischen Erstellen der Datenpunkte wollte ich die Gerätekennung an Adresse 0x00F8 nutzen, leider kommt da bei mir nur 0x0000 zurück, könntest du das bei dir mal testen ob du etwas anderes bekommst, vielleicht mache ich etwas falsch? -
@albert je nachdem was du für eine Steuerung hast gibt es auch für die Gerätekennung verschiedene Adressen. Laut meiner Liste 9 verschiedene:
Probier man die anderen Adressen. Eine davon sollte gehen, bedeutet aber nicht das sie dann auch bei anderen Geräten geht.
Mit der Schnittstelle hat Viessmann sich nicht gerade mit Ruhm bekleckert...
Gruß Jaschkopf
-
@albert ich habe gerade auch mal versucht die 0x00F8 abzfragen und bekomme folgendes zurück:
READ 4105000100f801ff ack RCV 4106010100f8012021 ack DP Gerätekennung succes
Hex=0x20
Dez=32Scheint mir auch nicht wirklich plausibel
Gruß Jaschkopf
-
@Jaschkopf Es sollten zwei Byte als Gerätekennung gelesen werden, 0x20 schaut schon mal gut aus, damit fangen die Kennungen an, aber da fehlt noch ein zweites Byte.
Meine Heizung hat sich vor ein paar Tagen "plötzlich" dazu entschieden mir doch mit einer Kennung zu Antworten.
Der ESP lief da bereits ohne Reset für zwei Tage.
Zumindest scheint der Ansatz der richtige zu sein um die Datenpunkte automatisch zu erstellen. -
@albert ok dann muss ich nochmal schauen wo das zweite Byte verloren gegangen ist ich hatte auch noch einen anderen Ansatz.
Was wäre denn wenn man eine Adapter für iobroker schreibt der die Datenpunkte verwaltet und der esp nurnoch die Vermittlung zwischen Adapter und Heizung übernimmt. Somit wäre das Skript für den esp ein leichtgewicht und der iobroker würde das Datenhandling übernehmen. Also iobroker sendet den Anfrage string an den esp, dieser an die Heizung und die Antwort wieder zurück an den iobroker. Was hältst du davon?
Gruß Jaschkopf
-
@albert Ich hab nochmal wegen der Gerätekennung rumprobiert und bin zu dem Ergebnis gekommen, dass es momentan keinen passenden Datentyp gibt. Lediglich das separate Auslesen der beiden Bytes 00F8 und 00F9 als Datentyp DPTempS, TreeLight Node = IntNode und Darstellung = value.getU8. Damit habe ich folgende Antwort bekommen:
0x00F8 = 32 (oder Hex 20)
0x00F9 = 77 (oder Hex 4D)Hier die Raw Strings:
READ 4105000100f801ff RCV 4106010100f8012021 READ 4105000100f90100 RCV 4106010100f9014d4f
Wie weit bist du bezüglich dem Steuern von Variablen? Wenn jetzt demnächst die Heizperiode wieder beginnt würde ich gerne per Skript zusammen mit den Raumthermostaten die Betriebsart der Heizung umstellen. Vorbereitet ist es soweit bei mir schon, lediglich wenn ich den DP im ioBroker ansteuer passiert nichts.
Gruß Jaschkopf
-
@Jaschkopf Alles klar, sobald ich dazu komme, werde ich mich um das Schreiben von Datenpunkten kümmern, so weit ich im Code gesehen habe, ist dafür noch nichts vorhanden. Die Datenpunktänderungen werden also nicht auf die Heizung geschrieben.
Wegen deinem Vorschlag, das wäre natürlich auch eine gute Idee, dafür müssten wir dann aber auch noch einen Adapter erstellen, was ich aber noch nie gemacht habe und ich mir nicht sicher wegen den Aufwänden bin.
Der ESP müsste dann nur noch die erhaltenen Bytes schreiben und die Antwort weiterleiten, das wäre dann eigentlich nichts anderes als ein remote UART. Mal schauen ob es schon so etwas in der Richtung gibt. -
Servus. In letzter Zeit musste ich immer wieder feststellen, dass der ESP nach 10-13 Tagen aufhört per MQTT zu senden. Das Webinterface ist weiterhin erreichbar und aktualisiert fleißig die Werte. Nur im ioBroker kommt irgendwann nichts mehr rein. Hat jemand eine Idee?
Gruß Jaschkopf
-
@Jaschkopf @albert
Hallo ihr zwei!
Gibts was Neues?
Das hat alles super vielversprechend angefangen -
@wye Moin. Ich warte leider auch seit Oktober auf eine Antwort von @albert . Bei mir ist das läuft das ganze momentan als read-only System. Grundsätzlich funktioniert es soweit ganz gut. Allerdings ist es nicht möglich Werte in die Heizung zurück zu schreiben.
Außerdem musste ich feststellen, dass der esp nach 10-14 Tagen aufhört Daten zu senden. Über das Webinterface liest er weiter Daten aus. Dann hilft nur ein reboot des esp.
Ich hatte die Hoffnung, dass sich noch jemand anders einklinkt der Zeit und Lust hat das Projekt fortzusetzen. Da ich nur "basic" Kenntnisse im Skripten habe bin ich leider auf Unterstützung angewiesen.
Ich würde mich freuen wenn das Projekt voran kommt, aber dafür brauche ich Unterstützung. Vielleicht kann man das Projekt dann auch mit einem eigenen Adapter ausstatten um es noch benutzerfreundlicher zu machen.
Sollte jemand Interesse haben am Projekt aktiv mitzuarbeiten und ggf auch noch eine Viessmann Heizung zu testen haben, kann ich als Gegenleistung anbieten, kostenlos einen passenden Lesekopf mit esp8266 zu Sponsoren.
Gruß Jaschkopf
-
@Jaschkopf
Mit großartigen bzw. sehr in die Tiefe gehenden Programmierkenntnissen kann ich leider nicht dienen,
aber ich bekomme bis zum Sommer eine Viessmann Wärmepumpe, daher könnte ich zumindest testen -
hallo @Jaschkopf
hallo @wye
hallo @albertWie siehts mit dem Projekt aus?
Ich habe auch eine Viessmann Wärmepumpe und würd die auch gerne ohne dem Cloud-Ding auslesen/steuern..Was habt ihr aktuell so am laufen diesbezüglich?
mfg
mike -
Hallo @m1k3f15h,
ich bin zufällig über diesen Thread gestolpert, da ich mich in den letzten Wochen mit einem ähnlichen Projekt beschäftigt habe.
Ich verwende selbst nicht ioBroker, sondern Home Assistant. Dafür habe ich eine Integration über ESPHome geschrieben, mit der sich mein Home Assistant mit der Gastherme unterhält.
Da die Kommunikation zwischen dem ESP (bzw. ESPHome) und Home Assistant über eine eigene API abläuft, habe ich mit nicht mit dem Thema MQTT und dem Aufsetzen eines Brokers auseinandergesetzt. Prinzipiell unterstützt ESPHome aber auch MQTT. Doku dazu unter https://esphome.io/index.html.
ESPHome lässt sich übrigens auch ohne Home Assistant betreiben. Ich will hier keinen überreden, gleich zu Home Assistant zu wechseln
Vielleicht hilft dir das ja weiter. Das Projekt ist aktuell noch nicht Teil des offizielen ESPHome Releases, aber als sogenannter Pull Request bereits testbar.
Doku findest Du unter https://github.com/openv/openv/wiki/ESPHome-Optolink und https://deploy-preview-2737--esphome.netlify.app/components/optolink.html. -
@m1k3f15h Kann vcontrold empfehlen.
Siehe https://forum.iobroker.net/topic/61912/viessmann-adapter-mit-vcontrol und https://github.com/openv/vcontrold -
@j0ta29
Hallo
Ich verwuche auch gerade einen adpater zu bauen, um mittels meines wemos d1 mini die vitocal 200 auszulesen UND auch bei bedarf gewisse Heizelemente zu steuern, damit ich Sie mit meiner PV anlage verbinden kann.
gibt es eine anleitung oder info auch ohne esphome???