ich bin letzte Woche auf das EMS-Gateway von bbqkees-electronics gestoßen und habe es auch direkt bestellt.
Seit letzten Freitag läuft das EMS-Gateway bei uns parallel zum Thermostat am EMS-Bus.
Zur Inspiration habe ich mal einen Screenshot unseres Webfronts sowie der Variablen angehängt.
Da wir unsere Gastherme bei Nichtbenutzung im Sommer ausschalten, ist zusätzlich noch ein Watchdog aktiv, welcher dies im Webfront signalisiert.
Das EMS-Gateway schreibt alle Daten der Heizung und der Thermostate in eine einzelne Variable als JSON.
Bei einer Änderung dieser Variable, wird bei mir ein Skript ausgeführt, welches JSON dekodiert und in einzelne Variablen (für das Webfront) schreibt. Beispielsweise sieht dies folgendermaßen für die Daten unseres Thermostats aus:
Die Rückkanäle (z.B. setzen er Thermostat-Temperatur via Symcon) müssen manuell angelegt werden, da diese im MQTT-Konfigurator nicht auftauchen (senden halt nichts).
Die Namen sind im EMS-ESP-Wiki zu finden: EMS-ESP Documentation
Wir haben eine Buderus U154 - 20K Gastherme mit einem RC20 Raumthermostat. Leider unterstützt unsere Gastherme kaum Funktionen, sodass wir noch nicht einmal die Temperatur des Warmwassers dauerhaft ändern können. Dafür funktioniert aber das Ändern der Tages- und Nachttemperatur vom Thermostat sehr gut.
Bei Fragen, kannst du dich gerne melden - ich habe den ganzen letzten Freitag mit dem Einrichten verbracht.
ich hab mir das Teil auch mal bestellt ,habe es an einer Buderus GB162 aus dem Jahr 2009 angeschlossen, funktioniert einwandfrei (nur direkt am Bus nicht per Klinkenstecker).
Vielleicht hat ja jemand die Muße mal ein Modul zu schreiben ,ich würde es ja machen aber ich befürchte ich kann es nicht…Oder jemand gibt mir ein kurzes „Training“, dann kann ich mich daran versuchen
Hallo und guten Abend zusammen,
ich habe mir auch das Gateway bestellt, erfolgreich angeschlossen und die ersten Daten erfolgreich über ems-esp eingesehen.
Nur muss ich mich meinem Vorschreiber anschließen … bin motiviert, weitere Daten der Heizung (über Laptop) gezielt auszulesen und abzulegen, jedoch habe ich null Plan, wo ich da wie ansetzen kann.
Ich bin in der Arduino-Welt gross geworden und weiterhin aktiv, alles andere ist für mich völlig Neuland.
Gibts irgendwo eine Anleitung oder einen Crashkurs für Dummys, wie man sich dem Thema irgendwie annähern kann?
Viele Grüße aus der Altmark schickt
Torsten
Mein System:
GB 172 (mit RC 310 und MM 100)
Gateway II
Guten Abend!
Ich habe mir den Gateway bestellt, und mal kurz getestet mit dem Klinkenstecker. Ich habe schon mal Verbindung zur Heizung. Über Firefox und kann auch Werte einsehen. Nur wie bekomme ich das in Symcon eingebunden? Gibt es schon ein fertiges Modul? Gruß Syrko
Meine System Buderus GB152 (BC10 + RC35) und Gateway II mit Firmware 2.1.0
Ich habe das Gateway mal geordert obwohl ich schon ein Buderus Gateway dran habe und auch über den ServiceKey drankomme.
Heute kam das Teil an.
Erst erschrak ich etwas, da außer gut verpackten Teilen nix dabei war.
Dann fand ich aber eine wirklich hervorragende WiKi Seite auf deren Homepage. Wow
Ich hab das Gateway angeschlossen und die Einbindung ist schon mal vorbildlich umgesetzt. Nach dem Dashboard habe ich mir MQTT aktiviert. Auch super.
Damit kommen die Daten ja schon mal zu IPS
Den Rest überlasse ich den findigen Codern. Das ist nicht mein Thema.
@jbr27 ich sehe gerade, dass Du ja schon schön vorgelegt hast.
Danke für die Bilder und den Code. Ich lese nur zwischendurch auf dem Smartphone, da fehlt einem schnell der Threadüberblick.
Die Einbindung MQTT in IPS ist ja für die Empfangsdaten nur ein Knopfdruck.
Dann schaue ich mal den Sendeteil an.
wenn du noch Fragen hast, dann kannst du dich gerne melden.
Ich habe das EMS-Gateway mittlerweile vollständig für meinen Anwendungsfall implementiert (unsere Gastherme unterstützt leider nicht alle Funktionen).
Per Webfront können wir die Solltemperatur (für jeden Modus) einstellen, den Modus wechseln oder auch eine manuelle Temperatur setzen. Außerdem habe ich eine Fenstererkennung implementiert, welche eine manuelle Temperatur von 12 °C vorgibt, wenn ein Fenster geöffnet ist und beim Schließen des Fensters wieder die alte Temperatur aufruft (ergibt aber vermutlich nur für eine kleinere Wohnung wie bei uns Sinn, da in einem Haus jeder Heizkörper einzeln geregelt werden sollte).
Um beispielsweise dem Thermostat einen Befehl zu übermitteln, muss eine MQTT-Instanz mit dem Topic „ems-esp/thermostat_cmd“ erstellt werden. Anschließend wird nur noch ein Action-Skript für die Variable der Tagtemperatur benötigt:
Prima, das hört sich alles nach meinem Geschmack an.
Hab schon ewig nix mehr gemacht im System. Nur Kleinigkeiten angepasst.
Ich hab mir nun mit einem JSON Viewer mal die gelieferten echten Daten angeschaut und diese dann in die Variablen geschrieben. Steht zwar alles in der Wiki aber so war ich sicher.
Das schaut schon mal sehr gut aus. Dieses Gateway ist wirklich ne feine Lösung.
Wie kommst Du auf die Benennung „thermostat_cmd“, aus dem Wiki geht das irgendwie nicht hervor und wie lege ich das an? IPS bietet mir nur Client oder Server an und nicht wie bei Dir in dem Bild (Device ohne Client oder Server).
Ich habe bei mir die Verbindung über den Konfigurator erstellt, muss dazu sagen das ich mit MQTT bisher noch nichts gemacht habe und sehe evtl. nur den Wald vor lauter Bäumen nicht …
Danke für den Tip, allerdings ist mir die generelle Funktionsweise klar, nur habe ich es bisher in IPS noch nie benutzt.
Es ging um den Code für das EMS Gateway, da der scheinbar nicht mehr passt und um die Einrichtung des Rückkanals, da es bei mir in IPS scheinbar etwas anderes aussieht als bei jbr27.
Ich denke das ich zumindest die Einrichtung vom Rückkanal hinbekommen habe, allerdings wird das Telegramm vom Gateway nicht umgesetzt … laut Debug wird zumindest die Variable gepublished. Leider habe ich noch nicht herausgefunden, wie ich prüfen kann ob das auch beim Gateway an kommt. Allerdings nutze ich auch gerade eine Dev Version und nicht die letzte stable.
@jbr27: welche Konfiguration hast Du im Gateway bei den MQTT Einstellungen? Single oder Nested? Hast du schon mal die Option Homeassistant ausprobiert?
aktuell läuft bei mir EMS-ESP v2.0.1. Meine Screenshots basieren aber noch auf irgendeiner Version 1.9.x, welche damals aktuell war.
Beim Update von v1 auf v2 konnte ich aber die meisten meiner Skripte ohne Anpassung weiterverwenden.
Lediglich bei den Sendekanälen sind einige spezifische Variablen weggefallen und ab v2.0 wird nun alles über boiler_cmd bzw. thermostat_cmd als JSON gesendet. Ab v2.1 scheint hier auch wieder etwas verändert worden zu sein. Zumindest im Wiki finde ich von diesen Topics auch nichts mehr (https://emsesp.github.io/docs/#/MQTT?id=sending-commands).
Meine MQTT-Settings sehen auf dem EMS-ESP wie folgt aus:
Host: IP vom IP-Symcon-Host (da ich den MQTT-Server von IP-Symcon verwende)
Port: 1024
Client ID: ems-esp
MQTT-Format: Single
Spätestens zwischen Weihnachten und Silvester finde ich bestimmt auch Zeit für das Update auf v2.1 und würde meine neuen Ansätze dann hier posten, falls dann noch Bedarf besteht.
Ich nutze auch den IPS Rechner als Broker.
Den Zusatz „_CMD“ scheint es jetzt nicht mehr zu geben, sondern lediglich das Device unter dem auch die anderen Werte liegen.
Bei „Single“ hatte ich eigentlich erwartet, das die Werte auch einzeln kommen. Bisher habe ich keinen Unterschied zwischen Single und Nested gefunden. In der Option „Homeassistant“ kommen die Werte alle einzeln, allerdings dann auch noch mehrfach in Ordnern verschachtelt. Bin mir da nicht sicher was besser ist.
Aktuell nutze ich auch die Einstellung Single und zerpflücke dann den JSON String.
Meinen Fehler habe ich jetzt auch gefunden … ich hatte zuerst „boiler_cmd“ angelegt und dann umbenannt. Nur nutzt das Umbenennen nichts, man muss die Instanz bearbeiten und dort ändern.:rolleyes:
Jetzt funktioniert das Senden wie erwartet