NEWS
Neuer Adapter EMS-ESP für Bosch Heizungen
-
@tp1de Ich hatte irgendwann mal das Gerätepasswort (auf der Heizungsbedieneinheit) zurückgesetzt, also nicht mehr z.B. qTxt-k5yq-dGca-6uze, sondern nur eine 4-stellige Zahl statt 12-stellig.
Vielleicht wird ja ein 12-stelliges Passwort verlangt, das kann man jedoch nur an der Heizungsbedieneinheit zurücksetzen
und ich bin jetzt nicht zuhause und kann es nicht neu zurückstellen. -
@mwolle wir sollten Die Diskussion hier fortführen:
Oder welche müssen in der SQL Datenbank historisiert werden?
Der Adapter enabled die "_"-States selber. Manuell musst Du nichts machen, nur sicherstellen, dass der SQL-Adapter aktiv ist und auch funktioniert.
Die Statistics über Brennerstarts etc. läuft wie? Da habe ich auch nur 0 Werte.
Beim km200-Adapter werden die Felder
- heatSources.numberOfStarts
- heatSources.hs1.flameStatus
ausgewertet, das heißt SQL-enabled und dann per SQL geschaut, wieviele Starts per Zeiteinheit da waren.
Gibt es die Felder bei Dir und haben die SQL-Einträge?Wo sind die States unter km200? z.B. ems-esp.0.recordings.heatSources.actualPower.km200.Months.last_year
Dort speichere ich die Werte 1:1 ab, welche per API-Call zurückkommen. Wenn die y und oder c-Werte Null sind, dann gibt es keine Recordings.Bei mir:
{
"id": "/recordings/heatSources/actualPower?interval=2021",
"type": "yRecording",
"writeable": 0,
"recordable": 0,
"recordedResource": {
"id": "/heatSources/actualPower",
"uri": "http://192.168.178.31/heatSources/actualPower"
},
"interval": "2021",
"sampleRate": "P31D",
"recording-type": "actual",
"recording": [
{
"y": 0,
"c": 0
},
{
"y": 0,
"c": 0
},
{
"y": 143046,
"c": 39437
},
{
"y": 115596,
"c": 42136
},
{
"y": 64905,
"c": 44552
},
{
"y": 13061,
"c": 43105
},
{
"y": 14494,
"c": 40397
},
{
"y": 13620,
"c": 40531
},
{
"y": 12691,
"c": 33054
},
{
"y": 79942,
"c": 43954
},
{
"y": 148242,
"c": 31142
},
{
"y": 252153,
"c": 42345
}
]
} -
@werner2000x sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
Ich hatte irgendwann mal das Gerätepasswort (auf der Heizungsbedieneinheit) zurückgesetzt, also nicht mehr z.B. qTxt-k5yq-dGca-6uze, sondern nur eine 4-stellige Zahl statt 12-stellig.
Vielleicht wird ja ein 12-stelliges Passwort verlangt, das kann man jedoch nur an der Heizungsbedieneinheit zurücksetzen
und ich bin jetzt nicht zuhause und kann es nicht neu zurückstellen.Die Auswirkungen eines neuen Geräte-Kennwortes kann ich nicht abschätzen. Rein technisch ist das für die ver- / entschlüsselung egal.
-
@tp1de zu Punkt 1 Statistics:
ja ich habe die Punkte:
km200:heatSources.flameStatus
km200:heatSources.numberOfStarts
aber die beiden Datenpunkte werden derzeit nicht nur SQL aufgezeichnet -> würde ich mal manuell einstellenzu Punkt 2, meine Objektdaten sehen ganz anders aus.
{ "_id": "ems-esp.0.recordings.heatSources.actualPower.km200.Months.last_year", "type": "state", "common": { "id": "ems-esp.0.recordings.heatSources.actualPower.km200.Months.last_year", "name": "recordings: ems-esp.0.recordings.heatSources.actualPower.km200.Months.last_year", "type": "json", "unit": "", "read": true, "write": false, "role": "value" }, "native": {}, "from": "system.adapter.ems-esp.0", "user": "system.user.admin", "ts": 1645695755149, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@mwolle sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
zu Punkt 2, meine Objektdaten sehen ganz anders aus.
Nee poste mal den Wert des States ...
-
{ "id": "/recordings/heatSources/actualPower?interval=2021", "type": "yRecording", "writeable": 0, "recordable": 1, "recordedResource": { "id": "/heatSources/actualPower", "uri": "http://192.168.178.55/heatSources/actualPower" }, "interval": "2021", "sampleRate": "P30D", "recording-type": "actual", "recording": [ { "y": 3611009, "c": 3956 }, { "y": 957744, "c": 42063 }, { "y": 1750662, "c": 21072 }, { "y": 535804, "c": 43168 }, { "y": 353751, "c": 43168 }, { "y": 122990, "c": 43168 }, { "y": 68466, "c": 41707 }, { "y": 116853, "c": 42368 }, { "y": 152338, "c": 42253 }, { "y": 313592, "c": 43172 }, { "y": 518660, "c": 40591 }, { "y": 1002205, "c": 43167 } ] }
-
@mwolle Das sieht gut aus, Recordings sind also vorhanden und werden richtig gelesen.
Bist Du sicher, dass in den "_"-States keine Daten vorhanden sind?Ruf mal die Graphik für 12 oder mehr Monate Zeitraum auf - oder Flot.
... und bist Du sicher, dass der SQL-Adapter richtig funktioniert? (teste mal an States, wo Du manuell änderst)
-
@tp1de
die _states sind 0...12m steht was. Ich werde das noch mal mit der SQL DB prüfen
-
@tp1de kannst du mir so sagen, was hier das Problem ist?
-
-
die _states sind 0...12m steht was. Ich werde das noch mal mit der SQL DB prüfen
Irgendwas stimmt mit den Verbrauchsdaten nicht. Oder hast du wirklich 1.5 Mio kWh in 12 Monaten verbraucht ??
Meine sampleRates sind P1H,P1D und P31D (hours, days, months). Deine Sample Rate für Monat ist P30D ... siehe oben.
-
@tp1de doch es gibt alle drei Datenpunkte auch bei mir, mit dem Unterschied das der Datenpunkt heatSources.hs1.actualModulation bei mir hier liegen:
ems-esp.0.heatSources.actualModulation also nicht unter hs1. Die anderen beide stehen da, wie du geschrieben hast. -
@tp1de said in Neuer Adapter EMS-ESP für Bosch Heizungen:
Irgendwas stimmt mit den Verbrauchsdaten nicht. Oder hast du wirklich 1.5 Mio kWh in 12 Monaten verbraucht ??
Meine sampleRates sind P1H,P1D und P31D (hours, days, months). Deine Sample Rate für Monat ist P30D ... siehe oben.
Nein 1,5 Mio waren es nicht wahrscheinlich ist die Auswertung jahresscharf, da waren es vlt 14.000 kWh. Ich hatte kurzzeitig gedacht das der "Faktor" falsch ist. Denn mit ist schon aufgefallen, dass die Therme nicht mit 14 kW angegeben ist, sondern mit 1.4 kW
.
ich muss also die Verbräuche immer mit 0.14 multiplizieren um den richtigen Wert zu bekommen. Ich nutze das Skript aus dem km200 Thread, da hat ja schon einer ein Skript geschrieben, der die recordings auseinandernimmt. -
@mwolle sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
doch es gibt alle drei Datenpunkte auch bei mir, mit dem Unterschied das der Datenpunkt heatSources.hs1.actualModulation bei mir hier liegen:
ems-esp.0.heatSources.actualModulation also nicht unter hs1. Die anderen beide stehen da, wie du geschrieben hast.Da muss ich den Code anpassen.
@mwolle sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
ich muss also die Verbräuche immer mit 0.14 multiplizieren um den richtigen Wert zu bekommen. Ich nutze das Skript aus dem km200 Thread, da hat ja schon einer ein Skript geschrieben, der die recordings auseinandernimmt.
Da ich eh den Code anpassen muss kann ich auch einen Multiplikator mit aufnehmen. Macht das Sinn?
Die y-Werte sind (bei mir) die aufkumulierten Leistungswerte und die C-Werte die Anzahl der Samples. Bei mir wird jede Minute ein Sample genommen. Stundenwerte haben also c = 60, Tageswerte c = 60*24 usw.
Einzelne Samples können fehlen.
Wenn ich das richtig sehe, sind die c-Werte bei Dir kleiner ... schau mal.Ich bau gerade den Adapter um und erweitere ihn um eine Wärmebedarfsrechnung und dynamische An- und Abschaltung der Heizkreise in Abhängigkeit des Wärmebedarfes. (um Takten zu vermeiden)
Das wird dann eine Beta-Version 1.9.x. D.h. die Änderungen dauern dann noch ein paar Tage. -
@tp1de said in Neuer Adapter EMS-ESP für Bosch Heizungen:
@mwolle sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
doch es gibt alle drei Datenpunkte auch bei mir, mit dem Unterschied das der Datenpunkt heatSources.hs1.actualModulation bei mir hier liegen:
ems-esp.0.heatSources.actualModulation also nicht unter hs1. Die anderen beide stehen da, wie du geschrieben hast.Da muss ich den Code anpassen.
ggf. dynamisch zuweisen lassen vom User? Es gibt auch tatsächlich Junkers die auch die Rücklauftemperatur woanders stehen haben...
@mwolle sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
ich muss also die Verbräuche immer mit 0.14 multiplizieren um den richtigen Wert zu bekommen. Ich nutze das Skript aus dem km200 Thread, da hat ja schon einer ein Skript geschrieben, der die recordings auseinandernimmt.
Da ich eh den Code anpassen muss kann ich auch einen Multiplikator mit aufnehmen. Macht das Sinn?
bei mir schon. Bei den meisten steht aber der richtige Leistungswert der Heizung.
Die y-Werte sind (bei mir) die aufkumulierten Leistungswerte und die C-Werte die Anzahl der Samples. Bei mir wird jede Minute ein Sample genommen. Stundenwerte haben also c = 60, Tageswerte c = 60*24 usw.
Einzelne Samples können fehlen.
Wenn ich das richtig sehe, sind die c-Werte bei Dir kleiner ... schau mal.
prüfe ich gleich malIch bau gerade den Adapter um und erweitere ihn um eine Wärmebedarfsrechnung und dynamische An- und Abschaltung der Heizkreise in Abhängigkeit des Wärmebedarfes. (um Takten zu vermeiden)
Das wird dann eine Beta-Version 1.9.x. D.h. die Änderungen dauern dann noch ein paar Tage.das finde ich total gut, ich habe das Momentan über zwei Heizprogramme gelöst, wenn Heizung taktet, dann schreibe Heizprogramm mit "Dauerfrost" weg, ist die Temperatur z.B. um ein Grad dann abgesenkt, (von 21 auf 20 Grad) wird Heizungsprogramm "Normal" geschrieben. Bei mir hängt die Steuerung FW200 im Wohnzimmer. Da sie an der Außenwand hängt, muss ich ein Offset einrechnen, aber das geht gut. Ich berücksichtige dadurch auch Sonneneinstrahlung und Wintergartenwärme. Die Leistung kann ich leider nicht verändern, die ist nicht beschreibbar bei mir.
-
@tp1de said in Neuer Adapter EMS-ESP für Bosch Heizungen:
Da ich eh den Code anpassen muss kann ich auch einen Multiplikator mit aufnehmen. Macht das Sinn?
Die y-Werte sind (bei mir) die aufkumulierten Leistungswerte und die C-Werte die Anzahl der Samples. Bei mir wird jede Minute ein Sample genommen. Stundenwerte haben also c = 60, Tageswerte c = 60*24 usw.
Einzelne Samples können fehlen.
Wenn ich das richtig sehe, sind die c-Werte bei Dir kleiner ... schau mal.es ist tatsächlich so, dass es C = 59 Werte gibt, es gibt auch C = 0 Werte. Das gibt es auch bei Tages- und Monatswerten. Die Kumulierung leidet dann scheinbar auch darunter.
-
Ich habe gerade den Adapter auf einem IOBroker Slave installiert,
Version 1.4.0 node: v14.19.0, js-controller: 4.0.19
Nach ca. 2min hängt er sich auf mit folgendem Error:host.slave 2022-04-18 16:18:53.353 warn Do not restart adapter system.adapter.ems-esp.0 because restart loop detected host.slave 2022-04-18 16:18:53.352 info Restart adapter system.adapter.ems-esp.0 because enabled host.slave 2022-04-18 16:18:53.351 error instance system.adapter.ems-esp.0 terminated with code 6 (UNCAUGHT_EXCEPTION) ems-esp.0 2022-04-18 16:18:52.684 warn Terminated (UNCAUGHT_EXCEPTION): Without reason ems-esp.0 2022-04-18 16:13:09.725 warn Terminated (UNCAUGHT_EXCEPTION): Without reason ems-esp.0 2022-04-18 16:13:09.724 info terminating ems-esp.0 2022-04-18 16:13:09.696 error Cannot read property 'length' of undefined ems-esp.0 2022-04-18 16:13:09.695 error TypeError: Cannot read property 'length' of undefined at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.ems-esp/main.js:357:34) at processImmediate (internal/timers.js:466:21) ems-esp.0 2022-04-18 16:13:09.693 error uncaught exception: Cannot read property 'length' of undefined ems-esp.0 2022-04-18 16:13:09.690 error Cannot read property 'length' of undefined ems-esp.0 2022-04-18 16:13:09.689 error TypeError: Cannot read property 'length' of undefined at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.ems-esp/main.js:379:30) at processImmediate (internal/timers.js:466:21) ems-esp.0 2022-04-18 16:13:09.687 error uncaught exception: Cannot read property 'length' of undefined ems-esp.0 2022-04-18 16:13:09.683 error Cannot read property 'length' of undefined ems-esp.0 2022-04-18 16:13:09.682 error TypeError: Cannot read property 'length' of undefined at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.ems-esp/main.js:379:30) at processImmediate (internal/timers.js:466:21) ems-esp.0 2022-04-18 16:13:09.677 error uncaught exception: Cannot read property 'length' of undefined
Vorher kommen noch folgende Warnungen wenn ich zu Influxdb schreiben will.
Da denke ich mal das ist diese Retention Police welche ich die ganze zeit versuche anders ein zu stellen. Aber ich glaube die Warnungen bedeuten ja nur das er nicht so weit in die Vergangenheit schreiben darf.influxdb.0 2022-04-18 16:15:01.098 info Discard point that had error for ems-esp.0.recordings.dhwCircuits.dhw1.actualTemp._Months, error-count=10 influxdb.0 2022-04-18 16:15:01.097 warn Error on writePoint("{"value":47.4,"time":"2021-04-14T22:00:00.000Z","from":"","q":0,"ack":true}): HttpError: failure writing points to database: partial write: points beyond retention policy dropped=1 / "failure writing points to database: partial write: points beyond retention policy dropped=1"" influxdb.0 2022-04-18 16:15:01.096 warn Point could not be written to database: iobrokerdata influxdb.0 2022-04-18 16:15:01.089 info Add point that had error for ems-esp.0.recordings.dhwCircuits.dhw1.actualTemp._Months to buffer again, error-count=9 influxdb.0 2022-04-18 16:15:01.088 warn Error on writePoint("{"value":47.4,"time":"2021-04-14T22:00:00.000Z","from":"","q":0,"ack":true}): HttpError: failure writing points to database: partial write: points beyond retention policy dropped=1 / "failure writing points to database: partial write: points beyond retention policy dropped=1"" influxdb.0 2022-04-18 16:15:01.088 warn Point could not be written to database: iobrokerdata influxdb.0 2022-04-18 16:15:01.080 info Add point that had error for ems-esp.0.recordings.dhwCircuits.dhw1.actualTemp._Months to buffer again, error-count=8 influxdb.0 2022-04-18 16:15:01.079 warn Error on writePoint("{"value":47.4,"time":"2021-04-14T22:00:00.000Z","from":"","q":0,"ack":true}): HttpError: failure writing points to database: partial write: points beyond retention policy dropped=1 / "failure writing points to database: partial write: points beyond retention policy dropped=1"" influxdb.0 2022-04-18 16:15:01.079 warn Point could not be written to database: iobrokerdata influxdb.0 2022-04-18 16:15:01.069 info Add point that had error for ems-esp.0.recordings.dhwCircuits.dhw1.actualTemp._Months to buffer again, error-count=7 influxdb.0 2022-04-18 16:15:01.069 warn Error on writePoint("{"value":47.4,"time":"2021-04-14T22:00:00.000Z","from":"","q":0,"ack":true}): HttpError: failure writing points to database: partial write: points beyond retention policy dropped=1 / "failure writing points to database: partial write: points beyond retention policy dropped=1"" influxdb.0 2022-04-18 16:15:01.063 warn Point could not be written to database: iobrokerdata influxdb.0 2022-04-18 16:15:01.054 info Add point that had error for ems-esp.0.recordings.dhwCircuits.dhw1.actualTemp._Months to buffer again, error-count=6 influxdb.0 2022-04-18 16:15:01.054 warn Error on writePoint("{"value":47.4,"time":"2021-04-14T22:00:00.000Z","from":"","q":0,"ack":true}): HttpError: failure writing points to database: partial write: points beyond retention policy dropped=1 / "failure writing points to database: partial write: points beyond retention policy dropped=1"" influxdb.0 2022-04-18 16:15:01.053 warn Point could not be written to database: iobrokerdata influxdb.0 2022-04-18 16:15:01.043 info Add point that had error for ems-esp.0.recordings.dhwCircuits.dhw1.actualTemp._Months to buffer again, error-count=5 influxdb.0 2022-04-18 16:15:01.043 warn Error on writePoint("{"value":47.4,"time":"2021-04-14T22:00:00.000Z","from":"","q":0,"ack":true}): HttpError: failure writing points to database: partial write: points beyond retention policy dropped=1 / "failure writing points to database: partial write: points beyond retention policy dropped=1"" influxdb.0 2022-04-18 16:15:01.042 warn Point could not be written to database: iobrokerdata influxdb.0 2022-04-18 16:15:01.033 info Add point that had error for ems-esp.0.recordings.dhwCircuits.dhw1.actualTemp._Months to buffer again, error-count=4 influxdb.0 2022-04-18 16:15:01.033 warn Error on writePoint("{"value":47.4,"time":"2021-04-14T22:00:00.000Z","from":"","q":0,"ack":true}): HttpError: failure writing points to database: partial write: points beyond retention policy dropped=1 / "failure writing points to database: partial write: points beyond retention policy dropped=1"" influxdb.0 2022-04-18 16:15:01.032 warn Point could not be written to database: iobrokerdata
Weiß jemand was da falsch läuft?
MfG
Patrick -
@marsmännchen Stimmen deine Systemzeiten?
Du versuchst am 18.04. einen Datenpunkt mit dem Zeitstempel vom 14.4 zu schreiben.
Da ist doch was komplett falsch. -
@marsmännchen
Der Fehler tritt bei Schreiben der km200 "Recordings" auf.
Der Adapter liest die Vergangenheitsdaten aus dem km200 Gateway und schreibt diese in die Datenbank. Bei InfluxdB 1.x muss die Retentionperiod auf > 170 weeks gesetzt werden ... siehe Doku https://github.com/tp1de/ioBroker.ems-esp/blob/main/README.md -
@chaot sagte in Neuer Adapter EMS-ESP für Bosch Heizungen:
@marsmännchen Stimmen deine Systemzeiten?
Du versuchst am 18.04. einen Datenpunkt mit dem Zeitstempel vom 14.4 zu schreiben.
Da ist doch was komplett falsch.Nee ist richtig. Es werden Verbrauchsdaten der letzten 2 bis 2/2 Jahre gelesen und per DB-Befehl direkt geschrieben.