NEWS
Adapter für Buderus KM200 (und eventuell auch anderen KMxxx)
-
Servus Frank,
habe ich gemacht…
das ist der Log:
` > km200.0 2016-11-12 07:36:43.456 info Interval=15, Black/Push-list: []
km200.0 2016-11-12 07:36:43.455 info KM200 adresse: http://192.168.178.20:80
km200.0 2016-11-12 07:36:43.447 info starting. Version 0.4.1 in /opt/iobroker/node_modules/iobroker.km200, node: v4.6.2
km200.0 2016-11-12 07:36:43.365 debug statesDB connected
km200.0 2016-11-12 07:36:43.337 debug objectDB connected
km200.0 2016-11-12 07:36:38.833 info terminating
km200.0 2016-11-12 07:36:38.808 info cleaned everything up…
km200.0 2016-11-12 00:23:44.667 error Did not get any Services from KLM200!: undefined
km200.0 2016-11-12 00:06:45.717 info Interval=15, Black/Push-list: []
km200.0 2016-11-12 00:06:45.717 info KM200 adresse: http://192.168.178.20:80
km200.0 2016-11-12 00:06:45.708 info starting. Version 0.4.1 in /opt/iobroker/node_modules/iobroker.km200, node: v4.6.2
km200.0 2016-11-12 00:06:45.629 debug statesDB connected
km200.0 2016-11-12 00:06:45.602 debug objectDB connected
km200.0 2016-11-12 00:06:41.140 info terminating
km200.0 2016-11-12 00:06:41.134 info cleaned everything up... `
mit
node node_modules/iobroker.km200 --force --debug
bekomme ich keine Meldung..
Habe nochmals alles neu aufgesetzt…keinen Erfolg
Mario
-
So verzweifele bald,
habe nochmals den Log anbei…
Habe alle genauestens nach dieser Anleitung http://www.iobroker.net/?page_id=5106&lang=de gemacht, auch über Putty..
Ergebnis wieder das selbe….
Habe den Adapter über "Installieren aus eigener Url" über /iobroker/node_modules````
sudo git clone https://github.com/frankjoke/iobroker.km200>! ```` inMem 2016-11-12 11:03:23.474 debug message *.logging system.adapter.admin.0.logging val=true, ack=true, ts=1478945003470, q=0, from=system.adapter.admin.0, lc=1478945003470 inMem 2016-11-12 11:03:22.923 debug message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1478945002916, q=0, from=system.adapter.admin.0, lc=1478944527644 host.raspberrypi 2016-11-12 10:55:50.854 warn instance system.adapter.km200.0 already running with pid 8806 host.raspberrypi 2016-11-12 10:55:48.007 warn instance system.adapter.km200.0 already running with pid 8806 host.raspberrypi 2016-11-12 10:55:44.121 warn instance system.adapter.km200.0 already running with pid 8806 km200.0 2016-11-12 10:55:29.628 info Interval=15, Black/Push-list: [] km200.0 2016-11-12 10:55:29.627 info KM200 adresse: http://Buderus:80 km200.0 2016-11-12 10:55:29.618 info starting. Version 0.4.1 in /opt/iobroker/node_modules/iobroker.km200, node: v4.6.2 km200.0 2016-11-12 10:55:29.523 debug statesDB connected km200.0 2016-11-12 10:55:29.497 debug objectDB connected host.raspberrypi 2016-11-12 10:55:27.509 info instance system.adapter.km200.0 started with pid 8806 host.raspberrypi 2016-11-12 10:55:27.486 info object change system.adapter.km200.0 host.raspberrypi 2016-11-12 10:55:20.852 info Restart adapter system.adapter.km200.0 because enabled host.raspberrypi 2016-11-12 10:55:20.851 error instance system.adapter.km200.0 terminated with code 0 (OK) km200.0 2016-11-12 10:55:20.822 info terminating km200.0 2016-11-12 10:55:20.796 info cleaned everything up... km200.0 2016-11-12 10:55:20.794 error at initAdapter (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3093:18) km200.0 2016-11-12 10:55:20.794 error at Adapter.emit (events.js:166:7) km200.0 2016-11-12 10:55:20.794 error at emitNone (events.js:67:13) km200.0 2016-11-12 10:55:20.794 error at Adapter. (/opt/iobroker/node_modules/iobroker.km200/km200.js:361:5) km200.0 2016-11-12 10:55:20.794 error at main (/opt/iobroker/node_modules/iobroker.km200/km200.js:539:11) km200.0 2016-11-12 10:55:20.794 error at KM200.that.init (/opt/iobroker/node_modules/iobroker.km200/km200.js:64:25) km200.0 2016-11-12 10:55:20.794 error at new Buffer (buffer.js:61:12) km200.0 2016-11-12 10:55:20.794 error at fromString (buffer.js:181:26) km200.0 2016-11-12 10:55:20.794 error at Buffer.write (buffer.js:647:21) km200.0 2016-11-12 10:55:20.794 error at TypeError (native) km200.0 2016-11-12 10:55:20.794 error TypeError: Invalid hex string km200.0 2016-11-12 10:55:20.785 error uncaught exception: Invalid hex string km200.0 2016-11-12 10:55:20.775 info Interval=15, Black/Push-list: [] km200.0 2016-11-12 10:55:20.774 info KM200 adresse: http://Buderus:80 km200.0 2016-11-12 10:55:20.773 warn config KM200 AccessKey seems to be invalid (need to be a hex string of 64 characters): 'hexstring' km200.0 2016-11-12 10:55:20.761 info starting. Version 0.4.1 in /opt/iobroker/node_modules/iobroker.km200, node: v4.6.2 km200.0 2016-11-12 10:55:20.667 debug statesDB connected km200.0 2016-11-12 10:55:20.640 debug objectDB connected
Hier mal ein Ablauf per Bilder,
~~![](</s><URL url=)http://up.picr.de/27410664rj.jpg" />
~~![](</s><URL url=)http://up.picr.de/27410665ku.jpg" />
Hier ist eine Warnung dabei, liegt es daran?
~~![](</s><URL url=)http://up.picr.de/27410666ry.jpg" />
Danke..
Mario~~~~~~
-
Ja, daran scheint es zu liegen!
Der key ist falsch, er besteht aus exakt 64 (hex)-Zeichen!
Er stimmt nicht (hat die falsche Länge denke ich), deshalb gib's nen Fehler beim ver/entschlüsseln.
Check mal neu auf https://ssl-account.com/km200.andreashahn.info , vielleicht hast beim copy/paste was dazugegeben oder weggelassen.
-
Servus Frank,
nein leider nicht…
habe alles mehrmals durchgemacht, mit mindestens 5mal alles neu aufgesetzt...
Alles andere läuft einwandfrei, nur Dein Adapter will nicht..
Mario
-
Habe mehr Debug-Funktionen in den Adapter eingebaut.
Kannst ihn löschen und neu vom Git laden?
Im /opt/iobroker/node_modules
iobroker.km200 komplet löschen dann im
/opt/iobroker mit
npm install https://github.com/frankjoke/iobroker.km200/tarball/master --production
neu laden.
Davor
iobroker stop km200
Danach
iobroker update km200
iobroker upload km200
Jetzt sollte man iobroker.admin refreshen können und die neue Version (0.4.3 oder höher) sollte da sein.
Bei mir funktioniert es unter Raspi (v3 mit Jessie) und Windows 10.
-
Hallo Frank,
KM200 ist installiert und alle Daten laufen in ioBroker auf! DANKE! Großartig!
Ich habe 2 Heizkreise und einen Warmwasserkreis. Was mir auf Anhieb auffällt:
Frage 1:
Ich habe nur bei hc2 diesen Datenpunkt (Vorlauftemperatur):
heatingCircuits.hc2.actualSupplyTemperature
Der fehlt bei hc1. Allerdings kennt meine Anlage den Wert, da ist nix mit dem Fühler oder so.
Kann man das auch anzeigen? Oder woran könnte es liegen, dass der Wert nicht angezeigt wird?
Frage 2:
Und kann man auch die Rücklauftemperatur anzeigen? Oder übersehe ich was?
Frage 3 HAT SICH ERLEDIGT
Die Brennerstarts stimmen, die Betriebsstunden aber nicht bzw. ich vertehe die Formatierung nicht:
system.appliance.workingTime.totalSystem zeigt 227-04:08 mins
Wie muss das umgerechnet werden? Ich erwarte - laut Heizung - den Wert 5452 Stunden
Heizung auf den Augen… 227*24 Stunden + 4 Stunden = 5452... räusper...
Lg
Marc
-
Hallo Marc!
Bin froh wenn es funktioniert.
Der Adapter untersucht (bekannte) Datenquellen im KM200 und Daten können eventuell nicht vorhanden sein oder nicht zugreifbar (nur mit speziellen Schlüsseln die für Service vorgesehen sind).
Punkt 1) Kann das vielleicht system.sensors.temperatures.supply_t1 sein (bei mir)?
-
Rücklauf hab ich auch bei mir nicht gefunden, wird wahrscheinlich nicht gebraucht/gemessen, aber ich bin nur normaler 'owner' und kein Buderus-Spezialist!
-
Das Format ist 'Tage-Stunden:Minuten', die Zahl der Stunden hat nicht so den Aussagewert in der Anzeige, deshalb hab ich's so gesetzt.
Sonst super wenn's dir hilft!
-
-
Und wie es funktioniert! Super! Die Buderus Connect App (iPhone) oder die Webseite von Buderus schmieren immer wieder ab. Keine Verbindung, dann ist angeblich die Firmware falsch. Hab heute einen super (wirklich! keine Ironie) Techniker von Buderus an der Hotline gehabt. Der hat mir erst mal geholfen, dass die Kiste die richtige Firmware zieht, passend zu meiner Anlage. Die Kommunikation über den Buderus Server ist also eine Krankheit im Moment, jedenfalls bei mir. Aber solange dein Adapter läuft und ich an die Daten komme ist alles gut
@fsjoke:Punkt 1) Kann das vielleicht system.sensors.temperatures.supply_t1 sein (bei mir)? `
Ja, das ist er! Macht auch Sinn. Wir haben HK2 für Fussbodenheizung, daher gibt es dort über das MM50 Modul einen separaten Temperaturfühler am Vorlauf für diesen HK damit das System das Mischverhältnis für die geringere Temperatur einstellen kann. Demnach gilt der Sensor am allgemeinen Vorlauf (und nicht spezielle für HK1) natürlich im Umkehrschluss für HK1, denn der wird ja nicht runter gekühlt.
@fsjoke:- Rücklauf hab ich auch bei mir nicht gefunden, wird wahrscheinlich nicht gebraucht/gemessen, aber ich bin nur normaler 'owner' und kein Buderus-Spezialist! `
Hab auch noch mal genau alle Sensoren bei mir durchgeguckt… der wird gar nicht abgefragt. Die Heizung muss den wohl auch gar nicht kennen. Der Rücklauf beeinflusst ja die allgemeine Kesseltemperatur und dadurch ergibt sich dann das weitere Aufheizen. Hätte ihn allerdings ganz interessant gefunden um die Vor-Rücklaufspreizung im Tagesverlauf zu beobachten. Da muss wohl ggf. ein HomeMatic Temp-Diff Sensor noch ran
@fsjoke:- Das Format ist 'Tage-Stunden:Minuten', die Zahl der Stunden hat nicht so den Aussagewert in der Anzeige, deshalb hab ich's so gesetzt. `
Verstehe. Ich werde mir die Tage plus die Stunden die angegeben sind in eine Summe umrechnen. Ich möchte nämlich Brennerlaufzeit und -starts im Verhältnis (pro Tag bzw. über die Gesamte Systemlaufzeit) sehen. Geht mir um die Taktung im Verhältnis zur Wärmenutzung. Effizienz, Energieverbrauch, Abgase etc… Stichwort "Kuhschwanz-Heizung" wenn man sich in den üblichen Haustechnik Foren mal einlesen möchte.
Hast du zufällig einen Javascript Ansatz parat mit dem ich die Daten wieder in komplette Stunden umrechne? Oder könntest du ggf. in einem nächsten Update einfach einen zweiten Datenpunkt einbauen der alle Stunden ausweist? Das wäre großartig.
Lg
Marc
-
Ich hab auch hc1 = Keller und hc2 = Fußboden EG/OG.
Die Laufzeiten werden in Minuten angegeben, du kannst zurückrechnen mit
min = x.split('-')[0]2460 + x.split('-')[1].split(':')[0]*60 + x.split(':')[1]*1;
wobei x mein Tage-Stunden:Minuten wert ist (achtung, das *1 ist wichtig!).
Hoffe das hilft.
-
@fsjoke:Ich hab auch hc1 = Keller und hc2 = Fußboden EG/OG.
Die Laufzeiten werden in Minuten angegeben, du kannst zurückrechnen mit
min = x.split('-')[0]2460 + x.split('-')[1].split(':')[0]*60 + x.split(':')[1]*1;
wobei x mein Tage-Stunden:Minuten wert ist (achtung, das *1 ist wichtig!).
Hoffe das hilft. `
Super… jetzt musste ich mir das Splitten nicht selber zusammenfummeln. Als Dankeschön hier meine komplette Lösung mit folgenden Funktionen
-
Wird ausgelöst sobald der Datenpunkt ...workingTime.totalSystem aktualisiert wird
-
liest workingtime (Betriebsstunden) und starts (Brennerstarts) aus
-
Wandelt die Betriebsstunden in Minuten und dann in Stunden um
-
Rundet die Stunden für Berechnung von Verhältnis Brennerstarts zu Betriebsstunden (musste ich runden, weil die Berechnung sonst nicht geklappt hat. Bin ein Javascript Anfänger und komme eh immer mit den Datentypen durcheinander. Wahrscheinlich hab ich die Variable nur falsch bzw. gar nicht deklariert)
-
Und schreibt schließlich die beiden Werte in zwei neue ioBroker Objekte zurück
on({id: 'km200.0.system.appliance.workingTime.totalSystem', change: "ne"}, function (obj) { workingtime = getState('km200.0.system.appliance.workingTime.totalSystem').val; starts = getState('km200.0.system.appliance.numberOfStarts').val; min = workingtime.split('-')[0]*24*60 + workingtime.split('-')[1].split(':')[0]*60 + workingtime.split(':')[1]*1; stunden = min / 60; stunden_gerundet = Math.round(stunden); verhaeltnis = starts / stunden_gerundet; setState('javascript.0.km200_betriebsstunden_gewandelt', stunden); setState('km200_brennerstarts_pro_betriebsstunde', verhaeltnis); });
-
-
Noch eine ganz andere Frage zu den Widgets und Senden der Daten an die Heizung:
Ich habe in deinem km200 Ordner einen Widget Ordner gefunden. Muss ich den entpacken und irgendwo reinkopieren? Ich kann mit den Daten irgendwie nix anfangen, hab bislang Widgets nur direkt als Instanz installiert oder per copy Paste reingeholt. Oder wie komme ich an die von dir angesprochenen Widgets ran?
Und wie kann ich per Befehlt (z.B. Javascript) Daten schreiben? Oder geht das nur über die Widgets?
Lg
Marc
-
Marc,
habe (noch) keine Widgets gebastelt. Das stammt vom Adapter-Template das ich verwendet hab.
Hab's rausgelöscht, kannst auch tun.
Leider bin ich an der Beschreibung für Widget-creation (sofern überhaupt vorhanden) gescheitert und das Beispiel welches beim Template dabei war hat auch keine Daten verwendet die ich irgenwie adaptieren hätte können.
Steht aber auf meiner Liste einige Wochen weiter unten…
-
Hallo zusammen,
so endlich habe ich es geschafft…
Eigentlich war es am Ende doch ganz einfach...und hätte ich mich nicht so über die verlorene Zeit geärgert wär ich vor lachen vom Stuhl gefallen.. :lol: :lol:
Nach ungefähr 10 mal neu aufsetzen des Raspi und gefühlte 30 mal neuinstallation des Adapters, war es das simple neubooten des KM200 und plötzlich waren alle Daten wieder da...
Vielen Dank an alle die sich meinem Problem angenommen haben und vor allem Dir Frank für diesen tollen Adapter...
Ich geh jetzt ins Bett..
Servus Mario
-
Hallo,
habe versucht den Adapter zu installieren, leider startet er nicht , bitte um hilfe was da nicht stimmt
host-ioBroker-Pi1 2016-12-25 13:06:11.631 info Restart adapter system.adapter.km200.0 because enabled host-ioBroker-Pi1 2016-12-25 13:06:11.622 error instance system.adapter.km200.0 terminated with code 1 () host-ioBroker-Pi1 2016-12-25 13:06:11.341 warn instance system.adapter.km200.0 already running with pid 712 host-ioBroker-Pi1 2016-12-25 13:06:09.235 info instance system.adapter.km200.0 started with pid 712 host-ioBroker-Pi1 2016-12-25 13:06:09.148 info object change system.adapter.km200.0 host-ioBroker-Pi1 2016-12-25 13:05:57.177 info object change system.adapter.km200.0 host-ioBroker-Pi1 2016-12-25 13:05:41.257 info Restart adapter system.adapter.km200.0 because enabled host-ioBroker-Pi1 2016-12-25 13:05:41.253 error instance system.adapter.km200.0 terminated with code 1 () host-ioBroker-Pi1 2016-12-25 13:05:38.977 info instance system.adapter.km200.0 started with pid 711 host-ioBroker-Pi1 2016-12-25 13:05:08.904 info Restart adapter system.adapter.km200.0 because enabled host-ioBroker-Pi1 2016-12-25 13:05:08.901 error instance system.adapter.km200.0 terminated with code 1 () host-ioBroker-Pi1 2016-12-25 13:05:06.523 info instance system.adapter.km200.0 started with pid 710
-
Ich habe den KM200 sauber installiert (2 Heizkreise, 1 Warmwasserkreis). Wenn ich den KM200 Adapter installiere bekomme ich im Log erstmal nur 6 Werte in den Zuständen (key system.adapter.km200.0.*). Wie kann ich einstellen, dass ich andere Werte sehe bzw. ändern kann?
-
Hallo jsc,
willkommen im Forum.
Hast Du schon unter http://192.168.x.y:8081/#objects und "km200.0" nach geschaut?
akamia
-
Hallo akamia,
danke für den Hinweis. Nach einigem resetten ist mir aufgefallen, dass ich wohl die falschen Eingaben beim AES Tool gemacht hatte. Hier gehört nur das werksseitig gesetzte Passwort und das später benutzerdefinierte Passwort rein. Benutzernamen haben dort nichts zu suchen! Nach setzten des neuen AES Strings in der Adapterinstanz hat das dann gepasst.
Erkenntnisse aus dieser Runde:
- Der Adapter meldet grün allein nur wenn er die richtige IP hat. Grün heisst noch nicht, dass man eingeloggt ist (hierzu gibt es keinen Hinweis)
jsc
-
Ok. Habe nun ein wenig mit dem Adapter rumgespielt. Ohne irgendwelche Ausnahmen in einer blacklist generiert zu haben werden keine Objekte vom Typ switchpoints geliefert. Das wäre z.B. für die Zirkulation die Stelle dhwCircuits.dhw1.switchPrograms.A lt. https://github.com/frankjoke/iobroker.k … 0.json.txt. Auch für die Heizkreise (2 Stück bei mir) gibt es keine Schaltzeiten (die die Buderus App z.B. anzeigt).
Hat jemand ne Idee woran das liegen kann?
Danke für jeden Hinweis und viele Grüße
jsc
-
Hallo jsc!
Sorry, war 'ne Zeit weg und hab mich kaum um die Foren gekümmert.
Das KM200 verwendet für einige Variablen arrays die schwer in ioBroker abgebildet werden können. Aus diesem Grund werden diese im Adapter (momentan) ignoriert. Ein anderer Grund ist möglicherweise dass ich diese nie über ioBroker sonder nur über mein Thermostat einstelle.
Wenn du sonst etliche 'services' (=Gruppen und Variable) gelistet bekommst ist das der Grund da ich nur Binäre-, Text- und Zahlenwerte bzw. states (Zustände) verarbeite.
-
Habe gelesen, der KM200 braucht Internetzugriff.
Wenn ich den Adapter nehme für iobroker erfolgt der Zugriff aber direkt übers Netzwerk, nicht erst über Internet oder?
Kann man mit dem KM200 eigentlich den genauen Verbrauch sehen? Dann könnte ich mir einen Sensor für die Ölstandsüberwachung sparen.
Übrigens Klasse Arbeit!