NEWS
Viessmann Heizung mit ESP8266 auslesen und steuern
-
@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
-
@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