NEWS
Adapter für Buderus KM200 (und eventuell auch anderen KMxxx)
-
@tp1de : Es ist nicht ganz so einfach ich hatte den EMS Adapter von Kees, und damit auch deinen Adapter + dem "KM200" (oder in der Junkerswelt der MB-LAN 2) + den KM200 Adapter. Zwischenzeitlich ist der EMS Adapter von Kees wieder gegangen, somit ist der MB LAN 2 noch da + KM200 Adapter und dein Adapter.
Bisher habe ich über MB LAN 2 und KM200 Adapter den Regler FW 200 mit einem Heizprogramm nach Wetterprognose beschrieben -> das hat bis Vorgestern einwandfrei geklappt, nun kommt obige Meldung im Protokoll.
Gestern habe ich versucht das gleiche über dein Adapter zu vollziehen:
Im Adapter hat er das Heizprogramm auch beschrieben F(5), aber am FW 200 steht noch das D(3), siehe Bild oben. Es wurde also nicht weggeschrieben.
-
@mwolle Die States-Attribute z.B. read only oder writable kommen von der jeweiligen API.
In meinem Adapter werden diese nur dann neu geschrieben, wenn ein Neustart mit Löschen der Zustände erfolgt. Dann sollten auch keine ems-States mehr da sein.
Mach das bitte mal und poste die States Details:{
"type": "state",
"id": "heatingCircuits.hc1.activeSwitchProgram",
"common": {
"id": "heatingCircuits.hc1.activeSwitchProgram",
"name": "km200:heatingCircuits.hc1.activeSwitchProgram",
"type": "number",
"unit": "",
"read": true,
"write": true,
"role": "level",
"states": {
"0": "A",
"1": "B"
},
"min": 0,
"max": 1
},
"native": {
"km200": {
"id": "/heatingCircuits/hc1/activeSwitchProgram",
"type": "stringValue",
"writeable": 1,
"recordable": 0,
"value": "A",
"allowedValues": [
"A",
"B"
],
"valIs": "states"
},
"ems_km200": "heatingCircuits.hc1.activeSwitchProgram"
},
"_id": "ems-esp.0.heatingCircuits.hc1.activeSwitchProgram",
"from": "system.adapter.ems-esp.0",
"user": "system.user.admin",
"ts": 1647545350374,
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}
} -
@tp1de sieht eigentlich vernünftig aus:
{ "common": { "name": "heatingCircuits.hc2.activeSwitchProgram", "read": true, "write": true, "state": "state", "role": "level", "type": "number", "unit": "", "states": "0:A;1:B;2:C;3:D;4:E;5:F", "min": 0, "max": 5 }, "type": "state", "_id": "km200.0.heatingCircuits.hc2.activeSwitchProgram", "native": { "km200": { "id": "/heatingCircuits/hc2/activeSwitchProgram", "type": "stringValue", "writeable": 1, "recordable": 1, "value": "F", "allowedValues": [ "A", "B", "C", "D", "E", "F" ], "valIs": "states" } }, "from": "system.adapter.km200.0", "user": "system.user.admin", "ts": 1646935809160, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Dein EMS Adapter sagt:
{ "type": "state", "id": "heatingCircuits.hc2.activeSwitchProgram", "common": { "id": "heatingCircuits.hc2.activeSwitchProgram", "name": "km200:heatingCircuits.hc2.activeSwitchProgram", "type": "number", "unit": "", "read": true, "write": true, "role": "level", "states": "0:A;1:B;2:C;3:D;4:E;5:F", "min": 0, "max": 5 }, "native": { "km200": { "id": "/heatingCircuits/hc2/activeSwitchProgram", "type": "stringValue", "writeable": 1, "recordable": 1, "value": "D", "allowedValues": [ "A", "B", "C", "D", "E", "F" ], "valIs": "states" }, "ems_km200": "heatingCircuits.hc2.activeSwitchProgram" }, "_id": "ems-esp.0.heatingCircuits.hc2.activeSwitchProgram", "from": "system.adapter.ems-esp.0", "user": "system.user.admin", "ts": 1645340442038, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Dennoch
km200.0 2022-04-04 20:26:47.780 info Could not find state for heatingCircuits.hc2.activeSwitchProgram km200.0 2022-04-04 20:26:45.770 info Set km200.0.heatingCircuits.hc2.activeSwitchProgram to 3
-
@mwolle wenn die States neu angelegt wurden und das Schreiben nicht geht, dann ist das ein Fehler im Gateway.
-
@tp1de danke für den Tipp, Neu angelegt, ich habe den mal gelöscht und neu anlegen lassen...nun geht es wieder...verrückt.
-
@mwolle ne nicht verrückt... nach meiner Erfahrung notwendig nach Firmware Updates.
-
@tp1de : Anbei mal meine Config um die Statistiken zu bekommen mit dem KM200:
Im EMS-ESP:
Protokoll:ems-esp.0 2022-04-06 21:49:27.115 error error read efficiency:TypeError: Cannot read property 'val' of null sql.0 2022-04-06 21:49:27.114 info No Data sql.0 2022-04-06 21:49:27.111 info No Data sql.0 2022-04-06 21:49:27.109 info No Data
Ich würde das tatsächlich gerne komplett zum Laufen bekommen.
-
@mwolle
So wie es aussieht benutzt Du nicht die letzte Version 1.4.0. Dann sollte die States-Struktur so aussehen:
Aber unabhängig davon, sollten mySQL-Datensätze im dem _Months, _Days, _Hours States da sein. Die könntest Du mit Flot oder Grafana darstellen. Überprüfe mal die Monatswerte _Months in den benutzerdefinierten Einstellungen im Objekt-Browser .
Das sollte dann so aussehen:
-
@tp1de also die 1.4.0 Version ist installiert und ich habe auch die gleiche State Struktur wie du. Ich glaube was mir noch fehlt, welche Werte müssen in die SQL DB rein, damit die Berechnung klappt. Sind das die km200 recordings (die allesamt in die SQL DB müssen)? Oder welche müssen in der SQL Datenbank historisiert werden?
Die Statistics über Brennerstarts etc. läuft wie? Da habe ich auch nur 0 Werte. -
wir sollten die Diskussion im ems-esp Forum weiterführen:
https://forum.iobroker.net/topic/45862/neuer-adapter-ems-esp-für-bosch-heizungen/180?_=1649329552411 -
Hallo Kann mir jemand sagen wie ich im blockly dem Wert "km200.0.heatingCircuits.hc1.temporaryRoomSetpoint" den Wert 0,-1 oder off setzen kann?
bei den Zahlen 0 und -1 wird der Wert 5 gesetzt, bei "off" als string bekomme ich auch einen Fehler: -
@torsten-schwaar sagte in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):
Hallo Kann mir jemand sagen wie ich im blockly dem Wert "km200.0.heatingCircuits.hc1.temporaryRoomSetpoint" den Wert 0,-1 oder off setzen kann?
bei den Zahlen 0 und -1 wird der Wert 5 gesetzt, bei "off" als string bekomme ich auch einen Fehler:Ändere den erlaubten Minimalwert des States auf -1.
-
@tp1de
Das Problem ist wenn der adapter neu Startet ist der Wert auch zurück gesetzt. Wenn ich den Wert in Objekte auf -1 setzte steht sofort "off" da. Wird das selbe im Skript gemacht kommt ein Fehler.... -
@torsten-schwaar und du hast im common Bereich des States min: auf -1 gesetzt?
-
@tp1de im common würde ich gerne die 5 drin stehen lassen. Weil wenn ich den Adapter neu starte wieder 5 drin steht. Drehe ich an der Heizung am Rad auf "off" steht im Iobroker eine -1 drin. Also muss doch die -1 erlaubt sein. Ich bekomme Sie nur nicht per skript rein...
-
@torsten-schwaar genau im Script wird auf den Wertebereich geprüft. Das ist einer der Gründe warum ich den km200-Adapter nicht mehr verwende. Kannst ja meinen ems-esp Adapter mal probieren ...
-
@tp1de Danke! probiere ich.
-
@frankjoke
Hallo,
wie sieht es mit der Kompatibilität mit js-controller 4 aus?
Ist das geplant?
Zur Zeit ist das Issue auf Github noch offen.
Viele Grüße -
@tp1de Vielen Dank für den Tip, sieht so aus als ob es jetzt geht.
-
@torsten-schwaar sagte in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):
Vielen Dank für den Tip, sieht so aus als ob es jetzt geht.
Ja ich setzte im Adapter für diese States den Minimalwert auf -1 !
Ich musste im ems-esp Adapter Einiges anpassen für den js-contoller 4.x, da nun Wertebereiche strikt geprüft werden.
Diese Anpassungen sind z.T. für den km200 Adapter noch offen.