NEWS
Viessmann Heizung mit ESP8266 auslesen und steuern
-
@Jaschkopf Ja mit VSCode mache ich das auch. Wenn ich dazu gekommen erstelle ich etwas und lade es auf Github hoch.
Ein Binary kann ich dir auch erstellen, aber da ist einiges an Konfiguration (WLAN, Pins) notwendig. -
@albert Wenn der komplette Code auf Github ist kann ich die restliche Konfig noch ergänzen. Kompilieren und flashen sollte ich dann hinbekommen. Ich hab auch noch einige D1 Mini hier rumliegen also könnte ich direkt testen.
-
@Jaschkopf
Ich habe einen Fork erstellt und so modifiziert das es bei mir baut:
https://github.com/adx-git/esp8266-heating
Das Paket das ich dir geschickt habe musst du in dein platformio lib Verzeichnis entpacken.
Bei mir ist das%USERPROFILE%\.platformio\lib
Nach dem clonen und hinzufügen in VSCode sollte das Projekt dann bauen.
-
@albert sehr gut ich werde das zeitnah probieren und nochmal berichten
-
@Jaschkopf
Ich habe das Binary bei mir auf einem NodeMCU aufgespielt, ohne Lesekopf, aber ich komme zumindest schon mal auf das Web Interface und sehe im MQTT Adapter des ioBrokers die Verbindung. -
@albert kannst du mir grade noch sagen wo ich den MQTT User und Passwort hinterlegen muss? IP und Port in der main.cpp sowie SSID und PASS ist mir soweit klar.
-
@Jaschkopf
Keine Ahnung ^^
Ich habe im Adapter beides gelöscht und dann ging die Verbindung auch ohne User und Passwort. -
@albert ok dann muss ich mich nochmal rein fuchsen. Zur mqtt library gibt es bestimmt auch irgendwo ne readme auf github. Wenn ich was rausgefunden hab werde ich berichten
-
@Jaschkopf
Die MQTT lib ist das TreeLight welches aus Github verschwunden ist. -
@albert
Ich antwort mir mal selbst
Die TreeLight Lib unterstützt keine Credentials, aber die darunterliegende MQTT Lib.
Ich habe die TreeLight Lib umgebaut so dass sie auch mit Credentials arbeitet, jetzt bin ich am überlegen ob es Sinn macht die Lib auf Git hochzuladen. -
@albert @Jaschkopf
Hi,
ich les hier gerade so mit, habe auch eine Viessmann mit einer Vitotronic 100 über den Viessmann-Api-Adapter am laufen, das funktioniert, aber wenn es ohne Cloud geht, ist mir das natürlich viel Lieber.NodeMCU/ESPs hab ich hier noch rumliegen, n TTL Lesekopf kann ich mir glaub ich mit vorhandenen Teilen basteln ( hab noch ein paar Fotodioden rumliegen von anderen Projekten ), mal schauen, ob die funktionieren. Alternativ könnte man natürlich auch den USB Adapter von der Vitotronic anpassen, ist ja seriell.
Also kurz gesagt, ich kann gerne testen, denke, es finden sich bestimmt einige, die daran interesse haben.
Daher wäre es schön, wenn du das Projekt auf Git hochladen würdest. -
@albert Vielleicht sollten wir dazu erst mit dem ursprünglichen Autor Kontakt aufnehmen. Es muss ja einen Grund geben wieso er es von github entfernt hat. Oder wir müssen alternativ das Projekt codeseitig nochmal komplett neu aufziehen. Ich hatte auch schon überlegt ob es nicht möglich ist das ganze als lib für tasmota zu schreiben?
Gruß Jaschkopf
-
Gute Nachrichten: Ich hab den Lesekopf am D1 Mini am laufen und erfolgreich die ersten Werte im Webinterface ausgelesen.
Dazu habe ich in der main.cpp folgendes angepasst:
Zeile 12-15: Wifi Credentials und MQTT Broker (Wenn ich im Sonoff Adapter die Credentials entferne verbindet sich der ESP, sendet jedoch keine Daten. Einziger DP ist Alive=True)Zeile 25-33: Anzeigenamen der Datenpunkte im Webinterface auf Deutsch übersetzt und unbenutzte auskommentiert
Zeile 36-43: Hier müssen die korrekten Speicheradressen der Heizungssteuerung hinterlegt werden. Diese sind hier zu finden: https://github.com/openv/openv/wiki/Adressen
Unbenutzte Werte auskommentiertZeile 46-52: Unbenutzte Werte auskommentiert
@albert ich mache dir jetzt deinen Lesekopf fertig und teste ihn. Sobald du deinen hast und die ersten Werte bei dir rein kommen packt dich hoffentlich das Fieber den Code weiter zu verbessern
Gruß Jaschkopf
-
@Jaschkopf Prima, das ist ein gewaltiger Fortschritt, also sind wir schon mal auf dem richtigen Weg
@Jaschkopf sagte in Viessmann Heizung mit ESP8266 auslesen und steuern:
Zeile 12-15: Wifi Credentials und MQTT Broker (Wenn ich im Sonoff Adapter die Credentials entferne verbindet sich der ESP, sendet jedoch keine Daten. Einziger DP ist Alive=True)
Hast du da die MQTT Credentials eingetragen? Wie? Habe ich da was übersehen?
Ich habe die die neue TreeLight lib geschickt, da ist die setupMQTT funktion überladen und nimmt jetzt auch Benutzer und Password.static const char MQTT_USER[] = "user_test"; static const char MQTT_PASSWORD[] = "password_test";
TreeLight.setupMqtt(BROKER, PORT, MQTT_USER,MQTT_PASSWORD);
Wegen den ganzen Datenpunkten müssen wir uns was überlegen wie wir das am flexibelsten gestalten könnten.
Am Besten wäre etwas ohne, dass man den Code neu bauen muss.Die TreeLight Lib würde ich mittelfristig ersetzen, momentan ist sie ganz hilfreich, aber sie ist auch nur ein Wrapper für andere Libs, entweder machen wir uns einen neuen Wrapper oder verwenden die Libs direkt.
Ich hatte in den letzten Tagen keine Zeit, sobald ich dazu komme werde ich die Lib auf Git laden.
-
@albert die MQTT credentials muss ich noch testen. Mit wifi credentials meinte ich ssid und passwort.
Mit den Adressen müssen wir uns echt was überlegen. Gerade in der testphase ist es echt nervig wenn man jedes mal neu kompilieren muss.
Viessmann hat da eine seltsame Politik bezüglich der Schnittstellenbeschreibung. Laut Support gibt Viessmann keine Adressen etc. raus, aber mit der Vitosoft 300 Software bekommt man alle Adressen in einer XML Datei geliefert und muss sich quasi nur die richtigen Adressen raus suchen. Habe ich heute schonmal in eine übersichtliche Excel Liste konvertiert.
Gruß Jaschkopf
-
@albert Hab es doch gerade noch geschafft die neue Version von TreeLight mal zu flashen und die MQTT Verbindung wird jetzt auch mit Username und Passwort hergestellt. Allerdings bekomme ich keine Daten im ioBroker rein. Hast du eine Idee warum?
-
@Jaschkopf Das mit den Daten werden ich mir mal ansehen, ich versuche ein paar Testdaten zu übertragen.
Ich habe gerade die TreeLight lib, inkl. meiner Änderungen, nach Github geladen und noch ein paar Änderungen in der main.cpp vorgenommen, kannst du bitte mal testen ob es bei dir so funktioniert? Bin mir nicht sicher ob ich alle Abhängigkeiten richtig bekommen habe.
-
@albert Sehr gut. Kann ich morgen mal kompilieren und testen. Heute schaffe ich es leider nicht.
-
@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