EMS Bus Gateway - Heizungssteuerung via MQTT - IPSymcon Einbindung/Modul ?

Hey,

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 :slight_smile:

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.

Gesendet von iPhone XS mit Tapatalk

@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.

Danke nochmals für die Tipps.

Gesendet von iPhone XS mit Tapatalk

Hallo Boui,

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:


<?php

if($_IPS['VALUE']!="") {

$data = $arr = array("cmd" => "daytemp", "data" => $_IPS['VALUE']);
$json = json_encode($data);
RequestAction(23302, $json);

SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

}
?>

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.

Danke für das nette Angebot.

Gesendet von iPhone XS mit Tapatalk

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 …

Gruß
Jens

Hier ein Tipp für die Grundlagen MQTT – Leitfaden zum Protokoll für das Internet der Dinge | Informatik Aktuell und dann hilft nur lesen und üben, wenn es dann klappt ist alles ganz leicht:)

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?

Also ich hab da lediglich die IP des Servers eingetragen. Alles andere so gelassen. Bei mir stand es auf nested

Nachtrag: Version war von Beginn an 2.1

Gesendet von iPad mit Tapatalk

Hallo Tetrapack,

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. :confused:
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 :loveips:

Irgendwie ist das bei mir anders. Ich hab nun mal nested getestet. Schaut auf den ersten Blick aus wie Homeassistant. Kann keinen Unterschied auf die Schnelle erkennen.
Umgeschaltet auf Single fehlen mir aber die Heizkreise (hier: hc1)

Hatte aber noch nicht wirklich Zeit, mich intensiver damit zu beschäftigen. Das Thema JSON ist von mir auch immer nach hinten geschoben worden. Schon die Verschachtelung auseinanderzudröseln muß ich mir mal zusammensuchen.

Mit einem JSON Viewer kann man das auch zumindest schön anschauen.

Gesendet von iPhone XS mit Tapatalk

Sehr merkwürdig.
Ich habe das eben noch einmal ausprobiert (FW 2.1.1.6b). Bei mir unterscheidet sich „single“ und „Nested“ nicht großartig. Einzig Thermostat_data_hc1 ist im Telegramm von Thermostat_data mit drin und das gleiche Prinzip dann bei boiler_data_ww und boiler_data.
Einzig wenn ich auf Homeassistant gehe, wird so gut wie jeder Wert einzeln übermittelt.

Das kann auch an meiner Umsetzung liegen.
Ich hab mir die Instanzen nicht über den MQTT Configurator angelegt, sondern manuell.
Jetzt hab ich mal testweise im Configurator ein paar der dort angebotenen homeassistant Instanzen angelegt. In den Nutzdaten im Fenster sehe ich auch alles aber bei meiner angelegten Instanz kommt da nix an. Auch nichts im Debug des Servers.

Aber das ist nun nicht besonders wichtig. Aktuell nutze ich nur die Anzeige der Daten und meine Werte bekomme ich.

Gesendet von iPad mit Tapatalk

Ja, anlegen hat funktioniert, aber Daten kommen in den Variablen bei mir auch nicht an. Liegt wohl am Format.
War letztendlich auch nur ein Test der Einstellung, in der Hoffnung nicht alles selber zerlegen zu müssen :wink:
Ich bleibe aber auch beim Zerlegen der JSON Strings der Devices.

Wie ist das denn bei den Buderus Kisten generell? Im Kessel ist ja der Basiscontroller (z.B. BC-35) und dann gibt es das kleine Kästchen, also RC200 oder RC 310 (rc ist wohl Raum controller).
Welches von beiden steuert nun alle Funktionen des Kessels?

Der Basiscontroller kann nur die Grundfunktionen. An/Aus, Temperatur Wasser/Heizung und Statusanzeige. Luxus kommt dann mit den RCs.

Gesendet von iPad mit Tapatalk

Wenn ich dann den Raumcontroller abnehme, was passiert dann? Läuft dann der Kessel nur noch im Start Stop Betrieb und kann nicht mehr modulieren? Aber selbst dafür müsste ja die Heizkurve die man im Raum Controller eingibt im basiscontroller liegen, denn ohne Heizkurve weiß der Kessel ja gar nicht die vorlaufsolltemperatur?