NEWS
Adapter für Buderus KM200 (und eventuell auch anderen KMxxx)
-
@frankjoke
Ok danke für den Hinweis, kannst du mir ggf. sagen wie man deine Listen anspricht, also die Fast, Normal, Slow Liste?
Dann muss ein wenig mit den Ungenauigkeiten der Leistung leben.@Edit: ok mein Fehler, ich hatte die alte 1.1.6 Version vom ioBroker installiert...habe das Update gerade installiert, jetzt habe ich die Probleme wie die Vorredner.
Ich schätze es hat was mit den Listen zu tun:
Auch mit deinen vordefinierten RegExp bleibt der Fehler so und Skipt die Suche nach den States.
So einfach mal nachdenken...der Link zum Gerät war natürlich falsch. Ich habe ja keine Buderus...jetzt geht wieder alles -
@mwolle Leider hab ich bisher keine Lösung finden können... Ich selber habe eine Buderus Therme... mit Link meinst du die IP Adresse... hast du einen Port eingetragen? ich könnte verzweifeln...
-
Sorry, ging leider nicht eher.
Der Debug Log:
km200.0 2020-10-30 16:10:10.101 info (1574442) Adapter km200 initialization finished with 6 states.
km200.0 2020-10-30 16:10:10.024 info (1574442) Update State system err: 'KM200.get service parameter not as requested 'undefined''
km200.0 2020-10-30 16:10:10.024 warn (1574442) KM200.get service parameter not as requested 'undefined'
km200.0 2020-10-30 16:10:10.018 info (1574442) Update State solarCircuits err: 'KM200.get service parameter not as requested 'undefined''
km200.0 2020-10-30 16:10:10.017 warn (1574442) KM200.get service parameter not as requested 'undefined'
km200.0 2020-10-30 16:10:10.012 info (1574442) Update State recordings err: 'KM200.get service parameter not as requested 'undefined''
km200.0 2020-10-30 16:10:10.011 warn (1574442) KM200.get service parameter not as requested 'undefined'
km200.0 2020-10-30 16:10:10.006 info (1574442) Update State notifications err: 'KM200.get service parameter not as requested 'undefined''
km200.0 2020-10-30 16:10:10.005 warn (1574442) KM200.get service parameter not as requested 'undefined'
km200.0 2020-10-30 16:10:10.000 info (1574442) Update State heatingCircuits err: 'KM200.get service parameter not as requested 'undefined''
km200.0 2020-10-30 16:10:10.000 warn (1574442) KM200.get service parameter not as requested 'undefined'
km200.0 2020-10-30 16:10:09.995 info (1574442) Update State dhwCircuits err: 'KM200.get service parameter not as requested 'undefined''
km200.0 2020-10-30 16:10:09.994 warn (1574442) KM200.get service parameter not as requested 'undefined'
km200.0 2020-10-30 16:10:09.993 info (1574442) debug: updateStates: 'all' @Fri Oct 30 2020 16:10:09 GMT+0100 (Central European Standard Time)
km200.0 2020-10-30 16:10:09.992 info (1574442) Slow Interval=6 hours, Slow-List:
km200.0 2020-10-30 16:10:09.992 info (1574442) Fast Interval=2 min, Fast-List:
km200.0 2020-10-30 16:10:09.992 info (1574442) Interval=15 min, Norm-list: dhwCircuits,heatingCircuits,notifications,recordings,solarCircuits,system
km200.0 2020-10-30 16:10:09.990 info (1574442) KM200 found 6 states, get their values now.
km200.0 2020-10-30 16:10:09.979 info (1574442) debug: ChangeState ack:true of system = { error:SyntaxError: Unexpected token � in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapte
km200.0 2020-10-30 16:10:09.961 info (1574442) debug: ChangeState ack:true of solarCircuits = { error:SyntaxError: Unexpected token in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/m
km200.0 2020-10-30 16:10:09.943 info (1574442) debug: ChangeState ack:true of recordings = { error:SyntaxError: Unexpected token k in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myad
km200.0 2020-10-30 16:10:09.925 info (1574442) debug: ChangeState ack:true of notifications = { error:SyntaxError: Unexpected token � in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/m
km200.0 2020-10-30 16:10:09.906 info (1574442) debug: ChangeState ack:true of heatingCircuits = { error:SyntaxError: Unexpected token in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke
km200.0 2020-10-30 16:10:09.884 info (1574442) debug: ChangeState ack:true of dhwCircuits = { error:SyntaxError: Unexpected token R in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/mya
km200.0 2020-10-30 16:10:09.871 info (1574442) Services found: 6
km200.0 2020-10-30 16:10:09.849 info (1574442) debug: Service[system]={ error:SyntaxError: Unexpected token � in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.js:41
km200.0 2020-10-30 16:10:09.715 info (1574442) debug: Service[solarCircuits]={ error:SyntaxError: Unexpected token in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapte
km200.0 2020-10-30 16:10:09.576 info (1574442) debug: Service[recordings]={ error:SyntaxError: Unexpected token k in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.j
km200.0 2020-10-30 16:10:09.385 info (1574442) debug: Service[notifications]={ error:SyntaxError: Unexpected token � in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapte
km200.0 2020-10-30 16:10:08.971 info (1574442) debug: Service[heatingCircuits]={ error:SyntaxError: Unexpected token in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdap
km200.0 2020-10-30 16:10:08.634 info (1574442) debug: Service[dhwCircuits]={ error:SyntaxError: Unexpected token R in JSON at position 0at JSON.parse (<anonymous>)at Function.J (/opt/iobroker/node_modules/@frankjoke/myadapter/myAdapter.
km200.0 2020-10-30 16:10:08.502 info (1574442) debug: add to blocked /.hc1.$/
km200.0 2020-10-30 16:10:08.502 info (1574442) debug: add to blocked /..holidayModes.$/
km200.0 2020-10-30 16:10:08.502 info (1574442) debug: add to blocked /^/heatSource.$/
km200.0 2020-10-30 16:10:08.501 info (1574442) debug: add to blocked /..switchPrograms.$/
km200.0 2020-10-30 16:10:08.501 info (1574442) debug: add to blocked /^/gateway.$/
km200.0 2020-10-30 16:10:08.500 info (1574442) debug: KM200 init(192.168.178.35, 92,90,205,77,158,125,251,187,78,3,44,118,215,209,154,208,16,84,234,50,107,86,57,218,0,131,19,244,228,64,184,167) done!
km200.0 2020-10-30 16:10:08.499 info (1574442) km200.0 address: http://192.168.178.35:80
km200.0 2020-10-30 16:10:08.497 info (1574442) km200 initialization started...
km200.0 2020-10-30 16:10:08.404 info (1574442) starting. Version 2.0.3 in /opt/iobroker/node_modules/iobroker.km200, node: v10.22.0, js-controller: 3.1.6
km200.0 2020-10-30 16:10:04.360 warn (1574154) Adapter will exit in latest 1 sec with code false!
km200.0 2020-10-30 16:10:04.360 info (1574154) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
km200.0 2020-10-30 16:10:04.359 info (1574154) terminating
km200.0 2020-10-30 16:10:04.358 info (1574154) Adapter disconnected and stopped with dostop(false) and callback(true)
km200.0 2020-10-30 16:10:04.356 info (1574154) Got terminate signal TERMINATE_YOURSELFHabe jetzt auch mal etwas mit den Config rumgespielt (den langen generierten Key raus, GerätePW und eigenes PW eingetragen), hat leider auch keine Änderung gebracht.
selbst mit unterschiedlichen Passworten war es die gleiche Fehlermeldung...und so sieht die Config aus:
-
@petzi2712
Das sieht jetzt so bei mir aus:
da stand vorher noch Buderus.fritz.box als Vorkonfiguration...das habe ich erst mal schön übersehen. Aber so bekomme ich erst mal wieder Daten. Was mir auffällt, es werden wesentlich weniger Daten angezeigt:
Da muss ich erst mal gucken warum die Daten nicht mehr ausgelesen werden. Es sind ein paar wichtige Daten die "weg" sind. Dafür sind andere da (aber erst mal nicht so wichtig)
Ich frage mich warum er das disabled
Mit etwas Geduld sind nun alle Daten wieder da, warten hilft auch. Somit hat sich meine Eingangsfrage auch erledigt, denn nun habe ich auch das Array für den Verbrauch. Das Skript von Nils funktioniert da wunderbar.
-
@fisch
Ich wollte noch mal auf das Thema zurückkommen. Wie geschrieben, bekomme ich jetzt auch diese Datenpunkte gefüllt, nur bei mir sind die Werte scheinbar nicht wirklich brauchbar:
Die Daten stehen aber so im Array
was für eine Größe ist das genau? Muss da noch was geteilt werden? Wie komme ich da auf einen plausiblen Wert? -
@mwolle
Was sind das für Werte? Aus dem km200-Adapter z.B. recordings.heatSources.actualPower._Days? -
@tom57
korrekt:
-
@mwolle
Hmmm die Werte sind in kWh pro Tag, wobei heute = aktueller Tag ganz hinten mit 0 steht.
Der aktuelle Tag hängt von der Update-Frequenz ab.Was mich wundert sind die Werte: Gestern 378,983 kWh Gasverbrauch - Ist das ein Mehrfamilienhaus? Ich hatte 43 kWh für 2 Reihenhäuser (Eine Heizungsanlage).
Welchen Wert siehst du im Buderus Webportal? (unter Analysieren - Energieverbrauch - Diese Woche
-
@tom57
ja genau, die kWh pro Tag sind viel zu groß, die pro Stunde passen vlt sogar manchmal, da stehen die bei 2 kWh...könnte hinkommen, aber häufig stehen die auch bei 25 oder 37 kWh, das ist dann auch so zu hoch.
Nein das ist eine DHH, manuelle Ablesung am Gaszähler sagen derzeit 2-5 m³ Verbrauch am Tag.
Ich habe eine Junkers Therme ZBS 14/100, da ich die FW200 Steuerung habe, darf ich nicht am HomeCom Webportal mitspielen (das geht nur ab CW 400), deshalb ist das ja auch so toll das ich hierüber alle Daten auslesen kann. (Es gibt noch die EasyControl App von Bosch, aber auch das ist eher ne Frechheit, als eine Erleichterung) -
@mwolle
Gffs. ist dann die Berechnung so nicht richtig.Es gibt ein Feld heatSources.energyMonitoring.correctionFactor da steht bei mir 1 drin.
Bei dir auch? -
@tom57
nein ich sehe leider kein Feld mit correctionFactor. Unter welchen Pfad würde der denn stehen? Wo steht der genau bei dir? -
@mwolle
km200.0.heatSources.energyMonitoring.correctionFactor -
@tom57
sieht leider nicht so aus:
-
@mwolle
Du hast einen 14 KW Kessel, dann kann der Verbrauch je nach Wirkungsgrad auch nicht viel höher als 14kWh pro Stunde sein wenn er mit 100% Modulation durchläuft.So wie es aussieht unterstützt die Firmware / EMS-Bus das Energiemonitoring ggfs. nicht richtig.
Da kann ich auch nicht weiterhelfen. Ich habe mich schon sehr geärgert, dass nach dem letzen Firmware-Update bei mir Datenpunkte verschwunden sind .... -
@tom57
ja die kW Anzeige zeigt auch lustige Werte an:
Die Anlage ist dabei auch noch auf 89% der Gesamtleistung eingestellt.
-
@mwolle sagte in Adapter für Buderus KM200 (und eventuell auch anderen KMxxx):
Die Anlage ist dabei auch noch auf 89% der Gesamtleistung eingestellt.
Bedenke, dass die Leistungsbegrenzung nur für die Heizkreise gilt. WW wird ohne Begrenzung aufbereitet - 14 kW ist da auch nicht besonders viel ... Durchlauferhitzer haben 20-22 kW
-
@tom57
ja aber das Wasser wird warm, auch eine ganze Badewanne Das passt aus meiner Sicht. -
Was mir noch im Log aufgefallen ist, ist diese Meldung:
Was versucht er da abzuholen? -
@tom57
ich habe jetzt mal spaßeshalber folgendes gemacht:
die Leistung wird scheinbar auf 100 kW genormt (?), obwohl wir ja festgehalten haben, die Anlage kann nur 14 kW. Ich habe also mal den Korrekturfaktor selber auf 0.14 festgelegt. Mit dem Faktor kommt man zumindest bei Tag und Stundenverbrauch auf einen recht plausiblen Wert der sich mit dem Ablesen deckt. Ich kann aber nur einen Wert nehmen, da Warmwasser + Heizkreisverbrauch nicht den Wert für Gesamtverbrauch ergibt. Aber es sieht so aus, als könnte man so erst mal Näherungsweise den Verbrauch festhalten und protokolieren. -
Leider liefert das Interface anscheinend keine oder falsche daten zurück, könnte auch Fehler bei der Entschlüsselung sein (passwort stimmt nicht) denn normal kommt ein json-string mit den Werten zurück und bei direnthält das JSON-String Sonderzeichen gleich am Anfang und kann nicht konvertiuert werden!
Ich kann da irgendwie nicht helfen. Hat irgendwer die gleiche Heizung/Interface und kann @scramer helfen?