NEWS
Buderus Logamatic mit ESP32 und MQTT auslesen
-
Hallo Zusammen,
eventuell gibt es hier ja noch weitere Interessenten für ein Projekt was ich euch nicht vorenthalte möchte.
Es gibt eine schöne Möglichkeit eine Buderus Logamatic Heizung auszulesen.
Am einfachsten und vermutlich günstigsten ist es, eine Platine von Daniel Glaser zu verwenden:
https://the78mole.de/projects/km271-wifi-howto/Ich habe dazu eine Software erstellt, mit der man diverse Werte auf der Logamatic schreiben kann und sehr viele Werte lesen kann. Die Kommunikation läuft sehr flexibel über MQTT.
Damit lässt sich das aus meiner Sicht in alle möglichen Umgebungen integrieren.Ich selbst schreibe die Werte in eine influxDB und Visualisiere es mit grafana.
Das lässt sich per MQTT aber natürlich auch direkt in ioBroker einbinden.
Ihr findet das Projekt auf GitHub unter:
https://github.com/dewenni/ESP_Buderus_KM271Grüße Sven
-
@dewenni Hallo.
Hab die Platine bestellt und deine Firmware geflasht. Wie kann ich Parameter mit iobroker ändern ?Gruß
-
@dewenni
Hi,ich hab die Platine ebenfalls im Einsatz.
ESP Home unter HomeAssistant funktioniert richtig gut - leider nicht mein bevorzugtes System.ESP Home unter ioBroker erkennt zwar das Gerät, bekommt aber keinen Zugriff darauf
Jetzt wollte ich die aktuelle Firmware flashen - allerdings bekomme ich das nicht hin. Ich bekomme als Fehlermeldung: no xmc flash detected.
Ich verwende das tool von expressif und das vorkompilierte Release.Was mache ich falsch?
Viele Grüße
-
@dewenni
Vielen Dank für die klasse Software!
Ich habe das Board KM271 rev 0.0.7 mit der Version 3.2.3. am laufen.
Die 3.2.4 hackt auch bei mir .
Ich kann über das Webfrontend alles schalten.
Leider gelingt mir dies über die MQTT Objekte nicht.Wie verwende ich die Befehle denn an?
Auf Github habe ich folgende Erklärung gefunden:
Commands
To change the values of your Logamatic, you can use several setvalue commands from the list below. A complete Topic could be esp_heizung/setvalue/setdatetimeYou can control the Logamatic with commands like this:
command: restart ESP topic: {cmd/restart", cmd/restart"} payload: none oder command: warm water pump cycles topic: {"setvalue/ww_pumpen_zyklus", setvalue/ww_pump_cycles"} payload: Resolution: 1 [cycles/hour] - Range: 0:OFF | 1..6 | 7:ON
Ich habe schon probiert:
Das Objekt auf jeweils 1-7 zu setzen.
Das funktioniert aber nicht.
Hat jemand einen Tip, wie man per mqtt die Werte setzt?
Gruß
Heiner -
Es funktioniert jetzt bei mir nun über den mqtt Explorer Daten zu setzen.
message=setvalue: ww_soll - empfangen (MQTT Explorer)
Hier wird der gesetzte Wert Buderus/setvalue/ww_soll übertragenHier ist die Lösung beschrieben:
https://github.com/dewenni/ESP_Buderus_KM271/discussions/58
Danke nochmal an Sven!Ein Problem habe ich aber noch.
Ich möchte nun die erzeugten Objekte (beim benutzen des MQTT Eplorer wurden diese angelegt) innerhalb von IOBroker ändern.
Wenn ich diese Objekte aber ändere werden diese nicht übertragen.
folgende EInstellungen habe ich im MQTT Instanz.
Beim Beschreiben des Objektes wird aber nichts geändert?
Ist hier eine Einstellung falsch, oder benotige ich hier eine andere Lösung innerhalb des IOBrokers Werte zu setzen?
Gruß
Heiner -
@heiner1976
vor genau diesem Problem stand ich heute Nachmittag auch nach der IBN der KM271 Wifi Card.Alles Read Topics kommen, mit dem MQTT Explorer kann ich subscriben, dann ändert er auch die Kesseldaten, aber aus dem IOB via Admin oder Javascript war nix zu gewinnen.
Letzlich geht es, bisschen brutal:
mit einem sendTo auf den mqtt AdapterBeispiel für Ändern der Zirk-Zyklen
sendTo('mqtt.0', 'sendMessage2Client', { topic: 'L2107/setvalue/ww_pumpen_zyklus', message: '2', retain: false });
L2107 ist mein topic Name im ESP, musst du noch entsprechend abändern.
Black
-
Ich habe die Software auch hier an meiner Heizung.
Die läuft extrem gut. Kann alles einstellen und auswerten.
Vielen Dank dafür.
Grüße
Manfred -
Der mqtt Explorer hilft bei diesen Problemen sehr gut.
Inder "param.txt" vom Buderus KM271 Programm im Ordner DOC stehen auch die Befehle für die Änderung der Parameter.
z.B.
Wenn Du das Heizungsprogramm ändern möchtest.
In der "param.txt" Datei steht dazu dieses:
command: heating circuit 1: program topic: {"setvalue/hk1_programm", setvalue/hc1_program"} palyoad: (0=custom / 1=family / 2=early / 3=late / 4=AM / 5=PM / 6=noon / 7=single / 8=senior)
Nun verbindest du den mqtt-explorer mit iobroker und gibst auf der rechten Seite bei Publish/Topic dieses ein:
Heizung/setvalue/hk1_programm
Nun sollte unter
mqtt.0.Heizung der Eintrag "setvalue/hk1_programm" erscheinen.Natürlich nur, wenn bei dir "Heizung" der Punkt unter mqtt ist. Sonst eben das so eintragen wie du es bei dir hast.
Wenn der Punkt erschienen ist, kannst du dort den Wert ändern und die Heizung reagiert entsprechend.
Immer beachten - die Reaktion der Heizung kann manchmal etwas dauern.
Ich hoffe ich konnte dir helfen.