NEWS
Neuer Adapter EMS-ESP für Bosch Heizungen
-
Ich habe einen neuen Adapter in Github erstellt, welcher den bestehenden km200-Adapter mit dem ems-esp Gateway zusammenführt und ein paar neue Funktionen hinzufügt.
Die aktuelle Version 0.9.0 möchte ich gerne zum Testen zur Verfügung stellen. Über Github ist dieser zum Ausprobieren installierbar: https://github.com/tp1de/ioBroker.ems-esp
Der Adapter liest und schreibt Daten der IP-Gateways der Boschgruppe (Buderus, Junkers, Netfit etc) analog dem km200 Adapter und zusätzlich integriert er das EMS-ESP Gateway in der ESP32-Version: https://github.com/emsesp/EMS-ESP32
Daten des EMS-ESP Gateways werden alle 15 Sekunden gelesen und die des Bosch IP-Gateways alle 90 Sekunden.
Der Adapter kann jeweils für EMS-ESP bzw. IP-Gateway (km200) alleine bzw. zusammen verwendet werden.
EMS-ESP hat eine andere Datenstruktur.
Diese kann aber in die der IP-Gateways überführt werden. Das empfiehlt sich, wenn beide Komponenten parallel verwendet werden.Im Gegensatz zum km200 Adapter werden die Energieverbräuche (WW/Gesamt) in die Datenbank (mySQL/InfluxDB) geschrieben und sind damit direkt in Flot-Grafiken darstellbar. Der DB-Adapter muss installiert sein und laufen.
Ein SQL/InfluxDB Adapter ist auch notwendig, um die Statistik-States zu füllen. Dort werden die Anzahl der Brennerstarts der letzten 24h und die Brennerlaufzeit der letzten Stunde protokolliert.
Vielleicht hat jemand Interesse den Adapter mal zu testen.
Ergänzung:
Funktioniert nur mit ESP32 und der aktuellen Firmware: https://github.com/emsesp/EMS-ESP32/releases/tag/latest
Und in den MQTT Settings muss das Boolean Format 1/0 eingestellt sein ! -
@tp1de said in Neuer Adapter EMS-ESP für Bosch Heizungen:
Hi, hab installiert und läuft auf Anhieb. Recordings lasse ich auf influxdb.0 laufen. Bin gespannt auf die Auswertung.
Was soll ich testen?
VG -
@manrum1 sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
Recordings lasse ich auf influxdb.0 laufen. Bin gespannt auf die Auswertung.
Was soll ich testen?Freut mich, dass alles läuft. Schreib mal wie lange ein Lese-Durchlauf bei Dir läuft. Steht unter statistics.km200-read.
Bei mir ca. 18-22 Sekunden für 120 Werte ohne Recordings.Ich habe den Adapter schon ca. 2 Monate in Betrieb. Mal mit mySQL und mal mit InfluxDB.
Seit dem js-controller 3.3.x hatte ich aber Probleme mit den Recordings, wenn ich diese mit storeState im Array wegschreibe. Mein InfluxDB Adapter hatte sich regelmäßig nach 1-2 Tagen Laufzeit aufgehängt, wahrscheinlich wegen dem schnellen Schreiben der Recording-States im Array.Schreibe nun im Loop einzeln mit 20mSek Verzögerung. Gib mal nach 1-2 Tagen Feedback, ob alles stabil bleibt, oder ob es Stabiltätsprobleme mit den Recordings/InfluxDB gibt. Ich benutze aktuell mySQL.
So sieht meine Recordings-Auswertung aus:
-
@tp1de Bei mir steht 30,987. Die Heizung steht aber nicht in meinem lokalen Netz, sondern in meinem Ferienhaus.
-
@manrum1
30 Sekunden ist ok bei 90 Sekunden Polling. Ist noch kein Parameter. -
@tp1de Auf den Adapter warte ich schon lange.
Installation lief bisher ohne Probleme, aber beim Einrichten taucht gleich dir Frage auf woher ich den Token bekomme.
Kannst du mir das weiterhelfen? -
@chaot
Der Adapter verwendet Api V3 welche nur mit ESP32 funktioniert. Wenn Du noch den noch nicht hast, dann musst Du den kaufen. Alibaba 3 bis 4 Euro ... bei Amazon 8 Euro. Und dann die ESP32 dev Firmware einmal manuell flashen. In den Settings kannst Du dann einstellen ob der Token für writes verwendet wird. Probier erst einmal ohne.
Unter security settings siehst Du dann den Token per user .... Schlüsselsymbol -
@tp1de Ok, wer lesen kann..... Steht ja auch oben. Danke. Dann eben den lange überfälligen Wechsel auf den ESP32 sofort durchziehen.
-
@chaot Nimm dann auch die aktuellste dev Version. Stand heute ist das v3.1.1b6. Ich habe den AZDelivery ESP32 D1 Mini genommen. Der braucht aber auf jedem Fall USB Power für einen stabilen Betrieb. Bei BBQKees nachlesen .....
-
@tp1de Ich habe einen D1 ESP32 im Einsatz der scheinbar gut funktioniert.
Was mir aktuell nicht weiterhilft ist die KM200 Geschichte.
Ich habe bisher den alten Adapter über MQTT ausgelesen und dort hauptsächlich die Betriebsparameter gezogen. Jetzt kommen die scheinbar nich rein, oder ich finde die nicht.
Dazu habe ich noch eine Fehlermeldung:ems-esp.0 2021-06-18 22:57:43.685 info recordings:false hour ems-esp.0 2021-06-18 22:57:43.685 info km200:false 90 secs ems-esp.0 2021-06-18 22:57:43.684 info ems :true 15 secs ems-esp.0 2021-06-18 22:57:43.684 info start polling intervals now. ems-esp.0 2021-06-18 22:57:43.664 info end of initializing ems states ems-esp.0 2021-06-18 22:57:43.664 warn ems read system error - wrong ip address? ems-esp.0 2021-06-18 22:57:43.604 info start initializing ems states ems-esp.0 2021-06-18 22:57:42.637 info starting. Version 0.9.0 in /opt/iobroker/node_modules/iobroker.ems-esp, node: v12.22.1, js-controller: 3.3.12
-
@chaot Welche Firmware Version. Findet die IP nicht oder API ist nicht V3.
-
@tp1de ah, ich habe die 3.1.0 erwischt...
-
@tp1de Genial - läuft scheinbar.
Sollte vielleicht erwähnt werden das der mit der 3.1.0 nicht funktioniert.
-
@chaot gib zuerst mal ems-esp/api/system im Browser ein um zu überprüfen das V3 api funktioniert.
-
@chaot sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
Sollte vielleicht erwähnt werden das der mit der 3.1.0 nicht funktioniert.
Ändere ich Morgen ... Gib mal ein Feedback, ob soweit alles funktioniert.
ich hatte 3.1.0 nie installiert ... -
@tp1de Der Befehl funktioniert bei mir nicht. Ich muss das über die feste IP Adresse aufrufen. Dann klappt das allerdings. Der Adapter macht das auch klaglos über die feste IP.
Antwort:
{ "System": { "version": "3.1.1b6", "uptime": "000+00:09:26.654", "freemem": 180 }, "Status": { "bus": "connected", "bus protocol": "Buderus", "#telegrams received": 551, "#read requests sent": 161, "#write requests sent": 0, "#incomplete telegrams": 0, "#tx fails": 0, "rx line quality": 100, "tx line quality": 100, "#dallas sensors": 0, "#dallas reads": 0, "#dallas fails": 0 }, "Devices": [ { "type": "Boiler", "name": "BK13/BK15/Smartline/GB1x2 (DeviceID:0x08, ProductID:64, Version:03.06)", "handlers": "0x10 0x11 0x14 0x15 0x1C 0x18 0x19 0x1A 0x35 0x16 0x33 0x34 0x26 0x2A 0xD1 0xE3 0xE4 0xE5 0xE6 0xE9 0xEA" }, { "type": "Thermostat", "name": "ES73 (DeviceID:0x10, ProductID:76, Version:02.08)", "handlers": "0xA3 0x06 0xA2 0x12 0x3E 0x3D 0x3F 0x48 0x47 0x49 0x52 0x51 0x53 0x5C 0x5B 0x5D 0xA5 0x37" }, { "type": "Controller", "name": "BC10/RFM20 (DeviceID:0x09, ProductID:68, Version:02.03)", "handlers": "" } ] }
-
@chaot Freut mich. Noch Fragen zur km200 Strukturumsetzung?
-
@tp1de
Noch ein paar Fehlermeldungen wegen falscher Datenart:ems-esp.0 2021-06-18 23:16:57.259 info State value to set for "ems-esp.0.dhwCircuits.dhw1.wwactivated" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:55.634 info State value to set for "ems-esp.0.dhwCircuits.dhw1.wwcirc" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:55.418 info State value to set for "ems-esp.0.dhwCircuits.dhw1.wwcircmode" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:54.818 info State value to set for "ems-esp.0.dhwCircuits.dhw1.wwchargetype" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:54.484 info State value to set for "ems-esp.0.dhwCircuits.dhw1.wwcircpump" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:53.809 info State value to set for "ems-esp.0.dhwCircuits.dhw1.wwcomfort" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:53.471 info State value to set for "ems-esp.0.dhwCircuits.dhw1.wwtype" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:52.576 info State value to set for "ems-esp.0.heatSources.hs1.maintenance" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:47.096 info State value to set for "ems-esp.0.heatSources.hs1.heatingactivated" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:46.727 info State value to set for "ems-esp.0.heatSources.hs1.ignwork" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:46.428 info State value to set for "ems-esp.0.heatSources.hs1.fanwork" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:46.188 info State value to set for "ems-esp.0.heatSources.hs1.heatingpump" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:45.492 info State value to set for "ems-esp.0.heatSources.hs1.burngas" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:42.452 info State value to set for "ems-esp.0.heatSources.hs1.tapwateractive" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:42.146 info State value to set for "ems-esp.0.heatSources.hs1.heatingactive" has to be type "number" but received type "string" ems-esp.0 2021-06-18 23:16:41.263 info start initializing ems states ems-esp.0 2021-06-18 23:16:40.251 info starting. Version 0.9.0 in /opt/iobroker/node_modules/iobroker.ems-esp, node: v12.22.1, js-controller: 3.3.12
-
@chaot
Die enum Attribute scheinen falsch übermittelt zu werden vom Ems-esp.
was gibt ems-esp/api/boiler/burngas zurück?Bei mir
{
"name": "burngas",
"fullname": "gas",
"value": 0,
"type": "boolean",
"min": 0,
"max": 1,
"enum": [
0,
1
],
"unit": " ",
"writeable": false
} -
@tp1de sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
/api/boiler/burngas
{ "name": "burngas", "fullname": "gas", "value": "off", "type": "boolean", "min": 0, "max": 1, "enum": [ "off", "on" ], "unit": " ", "writeable": false }
Ist übrigens eine Gastherme Marke Sieger