NEWS
Neuer Adapter EMS-ESP für Bosch Heizungen
-
@tp1de Vielen Dank, für Deinen Hinweis... Schaue mir das heute abend an...
LG
-
@manrum1 sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
Hallo, habe heute den Adapter aus stable installiert. Funktioniert soweit, aber die Einstellungen zur Datenbank funktionieren nicht, heißt werden nicht übernommen.
Ich bin seut heute aus dem Urlaub zurück. Hat sich das Problem gelöst? Ich habe die Datenbank Einstellungen nun sowohl im km200 als auch im ems-esp Config-Bereich der Instanz. (ist identisch). Schau mal ob bei den ems-esp die Datenbank-Selektion übernommen wird.
Falls nicht dort ggfs. nochmal auswählen ... -
@tp1de Hi, ...
Habe mir den Adapter angeschaut. Brauche aber noch n paar Tips.
"Was muss denn dort noch eingestellt werden im Adapter, damit ich die errechneten Verbrauchsdaten sehe."
Das ist jetzt eingestellt (s. Fotos). Im Objektbaum sind sehr viele Werte zu sehen. Habe auch von dort aus schon einige Werte in die InfluxDB geschrieben (zB Außentemp,BoilerTemp usw...). Klappt soweit.Danke im Voraus....:
LG
Update: Konnte jetzt die Seite Energiestatistik ems auf GutHub öffnen.
Probiere diese Einstellungen aus und werde dann berichten....:-)Update 2: Also: Bei mir musste ich in der Instanz des Adapters Reiter PARAMETER noch den Haken setzen bei "Statistiken erstellen-Kesselstarts benötigen aktive Datenbank" und bei Datenbank habe ich noch InfluxDB angegeben.. dann erst hat der Adapter alles gespeichert und hat auch im Objekt-Tree die Verzeichnisse angelegt.....
---> Ein Schritt weiter...... Juppppiiiiiiii -
Anbei ein paar Anmerkung zu Verbrauchsdaten (ems-esp und km200 Gateways):
Für beides wird eine aktive Datenbank-Instanz benötigt. Ich empfehle dabei dringend mySQL/MariaDB und nicht InfluxDB V2.InfluxDB V2 hat eine globale Retention Policy. Die gilt dann für alle States mit InfluxDB. Zum Speichern historischer Daten vom km200 ist diese auf > 2 Jahre zu setzen. (im InfluxDB Adapter).
Der EMS-ESP ioBroker Adapter liest Daten alle 15 Sekunden, sobald die Energiestatistiken für das EMS-ESP Gateway aktiviert wird.
Das bedeutet ca. 2 Mio Datensätze pro Jahr. Das Löschen von Daten in InfluxDB V2 wird in ioBroker nicht unterstützt.Das EMS-ESP Gateway liefert nur Daten ab Aktivierung der Funktion. Diese werden dann alle 15 Sekunden gespeichert und der Energieverbrauch dann berechnet. Mir ist aufgefallen, dass der Objekt-Browser nicht immer alle InfluxDB V2 Datensätze anzeigt, Flot-Graphik aber schon. Mehr zu den Datenstrukturen in der PDF Dokumentation (Link in der Readme).
Die Version 2.4.1 hatte Probleme mit doppelten Datensätzen. Ich hoffe, dass dies mit 2.5.0 gelöst ist. (gerade released).
Ich muss aber die Funktion nochmal in den nächsten Wochen überarbeiten. Die aktuelle Lösung ist daher nur temporär.
P.S.: Die Datenbank- und Recording-Einstellungen sind jetzt auf der Konfigurationsseite "Parameter".
-
@tp1de Bei mir werden keine Werte geschrieben.
Die waren in einer vorherigen Version schon vorhanden, aber neuerdings fehlen sie.
Oder werden die direkt in die InfluxDB geschrieben?
-
Mich wundert, dass keine stündliche Werte geschrieben werden. Die Datenbank States "_...." werden direkt in die Datenbank geschrieben. Hast Du die aktuelle Version installiert?
-
@tp1de Ja, die Version ist aktuell mit 2.5.1
Wo finde ich dann die Werte in der DB?
Unter welcher Bezeichnung?
Ich will die mit Grafana auswerten.
Wenn die direkt geschrieben werden besteht da die Möglichkeit einen eigenen Alias dafür zu vergeben? -
@tp1de Danke für deine Antwort.
Habs noch mal probiert. Bleibt gleich, in meinen beiden Instanzen (Ems.0, ems.1) wird sowohl ems-esp als auch im km200 Tab die Datenbankauswahl nicht übernommen.
-
@mwolle said in Neuer Adapter EMS-ESP für Bosch Heizungen:
@mwolle said in Neuer Adapter EMS-ESP für Bosch Heizungen:
@tp1de: Ich habe ja nun meine Skripte angepasst auf diesen Adapter nun. Ich habe aber auch gleichzeitig den Regler getauscht, das heißt vom FW200 mit IPM2 auf CW400 und MM200. Ich habe ein Skript welches Anhand der Außentemperatur unterschiedliche Heizprogramme lädt oder aber auch bei Taktverhalten die Heizung per Heizprogramm ausschaltet. Leider werden die Heizprogramme nicht in den Regler geschrieben. (Ich bekomme aber auch keine Fehlermeldung). Hat einer Erfahrung mit dem CW 400 Regler? Bei dem FW 200 Regler gab es keine Probleme.
Das Problem bleibt leider noch: Es handelt sich um diesen Datenpunkt: km200:heatingCircuits.hc1.activeSwitchProgram
Das ändern des Datenpunkt bewirkt keine Änderung am Regler. Über die EasyRemote App klappt alles. Vorher mit dem FW 200 Regler ging es auch. Der Datenpunkt ist writeable habe ich gerade noch mal geschaut.Der Herbst ist da und die Heizung an...jetzt will ich das Thema hier noch mal zu Ende bringen
Also ich möchte zwischen Heizprogrammen schalten, in der CW 400 gehen nur noch zwei Heizprogramme. Ich kann über die Objektliste die Heizprogramme anpassen, nur per Skript nicht, und ich weiß nicht warum. Ggf. ist das hier falsch, dann müsste ich das noch mal im Skripte Thread schieben. Aber die Objekte sehen so aus:
Ich kann zwischen dem Wert A und B schalten, bei der FW200 musste ich im Skript Nummer nehmen (0 bis 4). Hier funktioniert das nicht, weder A und B 0 und 1 oder 1 und 2 (wie in der EasyControll App). Jetzt weiß ich noch so recht, wie ich den State ansteuern kann. Kann das hier einer für eine CW 400 mal gemacht?
So schalte ich den State:// Prüfung, ob Heizung Taktet, wenn ja, Heizleistung um 2 verringern. if (Brennerstarts <= 30) { Element2 += 1; setState("javascript.0.Merker_Heizleistung", (Element2),true); Counterschleife = 2; } else { Element2 = 0; setState("javascript.0.Merker_Heizleistung", (Element2),true); Counterschleife = 3; } if (Element2 >= 2){ //setState("ems-esp.0.heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 5, true); setState("ems-esp.0.heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, "B", true); setState("ems-esp.0.heatingCircuits.hc1.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, "B", true); Element2 = 0; setState("javascript.0.Merker_Heizleistung", (Element2),); Counterschleife = 4; sendTo("whatsapp-cmb", "send", { text: 'Heizung ausgeschaltet. Folgende Parameter:' + (Brennerstarts) +' Minuten Brennerstarts und ' + (actualPower) + ' Heizung an' });
-
@manrum1 sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
Habs noch mal probiert. Bleibt gleich, in meinen beiden Instanzen (Ems.0, ems.1) wird sowohl ems-esp als auch im km200 Tab die Datenbankauswahl nicht übernommen.
Sollte in der aktuellen Version (2.5.1) nicht mehr vorkommen. Benutzt du die Version?
-
@mwolle sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
(0 bis 4). Hier funktioniert das nicht, weder A und B 0 und 1 oder 1 und 2 (wie in der EasyControll App). Jetzt weiß ich noch so recht, wie ich den State ansteuern kann. Kann das hier einer für eine CW 400 mal gemacht?
So schalte ich den State:Ich wieder hole mich ..... (schon einige Male erklärt) :
Im ioBroker werden Werteveränderungen vom Adapter nur verarbeitet, wenn "Acknowledged" auf false gesetzt wird.
Dies ist bei allen Adaptern der Fall ! ACK = True bedeutet der Adapter hat den Wert gesetzt / False = Adapter muss den Wert verarbeiten ... -
@tp1de Nein, 2.4.1. da ich stable nutze.
Habe auf beta umgestellt und 2.51 installiert. DB-Eintrag wird jetzt übernommen.Danke!!
-
@tp1de Ich komme leider auch nicht klar. Mich würde vor allem das das Konzept der Objektstruktur und wohin die Daten in der Datenbank gespeichert werden interssieren. Gibt es dafür eine Doku?
So schaut das bei mir aus:
Vielen Dank im Voraus!
-
@manrum1 lest ihr eigentlich die readme zum Adapter? Dort ist die PDF Doku verlinkt. Seite 7
-
@tp1de Ja, ich habe die Doku gelesen. Aber ich habe sie nicht richtig verstanden. Ich habe nämlich verzweifelt versucht dem Datenpunkt einen Alias zuzuweisen und den dann in der Datenbank gesucht. Das hat aber nicht geklappt.
@manrum1 Die Daten werden in deinem Beispiel unter
ems-esp.0.recordings.heatSources.actualPower.km200._Days ems-esp.0.recordings.heatSources.actualPower.km200._Hours ems-esp.0.recordings.heatSources.actualPower.km200._Month
geschrieben.
Steht tatsächlich auch so in der Doku, wenn man weiß wie man das verstehen soll. -
Ich habe ein Problem mit der Wärmebedarfsfunktion. Heizung ist Buderus WLW196i mit zwei Heizkreisen. Der erste Heizkreis wird mit eine Fernsteuerung aus der zu vermietenden Erdgeschoss-Wohnung gesteuert und funktioniert.
Meine Vorstellung war es den zweiten Heizkreis über das KM200 in Verbindung mit dem EMS-ESP Adapter fernzusteuern. Die Verbindung steht. Ich kann Daten auslesen. Ich sehe, wenn ich die Temperatur an der Fernsteuerung des ersten Heizkreise ändere. Alles gut. Für den zweiten Heizkreis habe ich die Ist- und Solltemperaturen aus Loxone. Funktioniert auch. Werte sind im Objektbaum. Und jetzt kommt das aber: Obwohl im Moment eine Wärmeanforderung vorliegt, springt die Heizung nicht an.
So sehen die Objekte bei Controls aus für den Heizkreis 2:
Da 2>1 sollte das ja korrekterweise einen Heizbedarf bedeuten.Im Reiter "Heating circuits" sieht es so aus und ich denke, da liegt der Hase im Pfeffer:
Current room set point kann ich nur direkt an der Heizung oder in der Buderus App einstellen. Den temporary room set point könnte ich ggf. überschreiben. Aber das Problem dürfte die Roomtemperature sein, die da bei -32xx liegt. Die Heizung scheint zu vergleichen zwischen Raumtemperatur und roomsetpoint, egal ob temporary oder current.Irgendwo ist der Fehler, aber ich habe keine Idee mehr.
-
@calu poste mal die Adapter Konfigurationsseite für Heatdemand.
Du scheinst keinen Raumsensor zu haben, bzw. die Heizungssteuerung (Thermostat) ist in der Heizung installiert und nicht im Wohnzimmer. Dann solltest Du die Regelungsparameter auf "Außentemperatur" eingestellt haben.
Du must dann herausfinden, wie Du die Heizkreise ein bzw. ausschalten kannst. Der temporary room setpoint funktioniert dann nicht.
Der Vorteil dieses Datenpunktes ist, dass er dann nur bis zum nächsten Schaltzeitpunkt gesetzt wird.Alternativ kannst Du auch zwischen Sommer- und Wintermodus umschalten. Falls der Adapter oder ioBroker inaktiv ist, dann kann es passieren, dass die Heizung in diesem Modus verbleibt.
-
@tp1de Das ist so. Für den ersten Heizkreis gibt es eine Fernsteuerung im Wohnzimmer EG.
Für den zweiten Heizkreis (Ober- und Dachgeschoss) gibt es das nicht. So sieht die heat demand-Seite aus.Meine andere Überlegung wäre gewesen, die beiden Heizkreise zusammenzulegen und als einen Heizkreis anzusteuern.
Einen Regelungsparameter "Außentemperatur" habe ich nicht gefunden. Meinst Du in der Heizung oder im Adapter. In der Heizung könnte Sinn machen. Ich suche da mal im Menü der Heizung. -
@calu Meine zwei Heizkreise haben auch nur einen RC310 Regler/Thermostat im Wohnzimmer. Die Heizkreise sind so konfiguriert, dass dieser Raumtemperaturwert genutzt wird. Ich habe sogar 2 Häuser mit einer Heizung verbunden, und dieser Wert ist so natürlich nicht richtig. Deshalb frage ich ja den Heizbedarf ab, um dann ggfs. den Heizkreis ein bzw. aus zu schalten.
Wenn ansonsten deine Heizung richtig funktioniert, dann kannst du natürlich auch heatingCircuits.hc1/2.suWiSwitchMode umschalten:
Bei mir ist 0= Sommermodus - 2= Wintermodus (1 = automatisch mit eingestellter Sommertemperatur).Eine Anmerkung: Deine Parameter sind so, dass wenn irgendein Raum Heizbedarf meldet, dann soll die Heizung angehen. Bei mir würde die Heizung dann ggfs. takten, wenn der Heizkörper klein ist. D.h. ich schalte den Heizkreis nur ein, wenn mehrere Räume Heizbedarf melden oder das Wohnzimmer.
Ist dein hc1 eine Fußbodenheizung? savesettemp ist nur bei FB-Heizung notwendig / Sinnvoll. Falls vorhanden solltest du aber einen separaten Raumthermostat verwenden. HC2 muss der Haken raus !
Erklärung zum "setsavetemp":
(1) Wenn der Heizbedarf über separate Thermostate ermittelt wird --> savesettemp = false
(2) Wenn der Heizbedarf direkt aus dem Vergleich zwischen currentRoomSetpoint und roomtemperature ermittelt wird, dann funktioniert dies nicht mehr, da der currentRoomSetpoint auf 0 gesetzt wird um den HK auszuschalten.
D.h. der "bisherige" Wert muss vorher gemerkt werden. savesettemp = true -
Was versucht der Adapter hier zu machen?
influxdb.0 2023-10-20 17:13:28.810 error Cannot find value to delete for ems-esp.0.energy.actualPower._Months: {"ts":1694818799500,"val":225.07,"ack":true}
Ich habe in paar solcher Meldungen im Log in denen versucht wird irgendwelche Daten von verschiedenen Datenpunkten zu löschen.
influxdb.0 2023-10-20 00:03:27.075 error Cannot find value to delete for ems-esp.0.energy.actualDHWPower._Days: {"ts":1697846400000,"val":4.04,"ack":true} influxdb.0 2023-10-20 00:03:22.610 error Cannot find value to delete for ems-esp.0.energy.actualCHPower._Days: {"ts":1697846400000,"val":38.99,"ack":true} influxdb.0 2023-10-20 00:03:18.817 error Cannot find value to delete for ems-esp.0.energy.actualPower._Days: {"ts":1697846400000,"val":43.03,"ack":true}
Adapter Version2.5.2