Buderus KM200 Kommunikationsmodul

Begonnen von Sailor, 21 Juli 2014, 12:39:47

Vorheriges Thema - Nächstes Thema

Elektrolyt

Hallo Sailor,

danke für deine schnelle Reaktion!
Ich fasse mal zusammen, was ich so gemacht habe:
Erstmal ein frisches fhem Update.
Der letzte Eintrag im Logfile vor dem Programmabbruch war ohne Zeitangabe:
Zitat<IP adresse>/heatingCircuits/hc2/actualSupplyTemperature: empty answer received
Can't use string ("high") as an ARRAY ref while "strict refs" in use at ./FHEM/73_km200.pm line 1269.

Es gibt kein Reading für /dhwCircuits/dhw1/cpoperationMode aber ich kann in der Dropdown-Liste neben dem get-Button folgenden Eintrag finden.
Wenn ich:get Heizung /dhwCircuits/dhw1/cpoperationMode auslöse,
wird das aber mit einem Popup-Fenster mit dem Inhalt "ERROR" quittiert.

Deshalb habe ich die Zirkulationspumpe am RC300 in den "Dauer EIN" Betrieb geschaltet und die IDs neu einlesen lassen.
Leider gibt es dann gar keine ID mehr, die auf das Vorhandensein einer Zirkulationspumpe schließen lassen würde.

ZitatEntweder man deaktiviert den Betriebsodus der Heizung oder man löscht und setzt alle Programmzeiten.
Das habe ich mal probiert:
Mir wird in der Dropdown-Liste neben dem set-Button /dhwCircuits/dhw1/switchPrograms/cp/1-Mo angeboten und daneben praktischerweise auch gleich die Schaltzeiten eingetragen.
Eine der Zeiten habe ich um 15 Minuten modifiziert und
set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo 0600 on       0615 off      2200 on       2215 off
ausgelöst.
Diesmal gab es kein Popup-Fanster sondern eine leere Seite mit dem Text:
ZitatERROR - At least for one Switchpoint the wrong terminology has been used. Only use one of the following items: off , high
Also probiere ich mal das gesamte Zeitprogramm abzuschicken, so wie es unter get Heizung /dhwCircuits/dhw1/switchPrograms/cp geliefert wird. (natürlich ohne LF's)
set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo: 0600 on       0615 off      2200 on       2230 off  2-Tu: 0600 on       0615 off      2215 on       2230 off  3-We: 0600 on       0615 off      2215 on       2230 off  4-Th: 0600 on       0615 off      2215 on       2230 off  5-Fr: 0600 on       0615 off      2215 on       2230 off  6-Sa:  7-Su:
Das erzeugt aber leider wieder einen Programmabbruch. Die letzte Zeile im Logfile lautet wieder:
ZitatCan't use string ("1-Mo: 0600 on 0615 off 2200 on 2"...) as an ARRAY ref while "strict refs" in use at ./FHEM/73_km200.pm line 1269.

Da kannst du hoffentlich etwas mit anfangen.

Nachdem ich fhem wieder gestartet habe, gibt es noch folgende Beobachtung:
Das Modul ist im "Standby"-Modus und trotzdem kommt nach:
get Heizung /dhwCircuits/dhw1/switchPrograms/cp
ZitatThe initialisation process is still ongoing. Please wait for the STATE changing to "Standby"

Ich mach noch mal disable 1 und anschließend wieder 0 ...
Danach geht get Heizung /dhwCircuits/dhw1/switchPrograms/cp wieder, aber die Zeiten sind natürlich unverändert.

Viele get Kommandos liefern bei mir das ERROR Popup-Fenster z.B.:
get Heizung /dhwCircuits/dhw1/tdMode
es gibt sogar
set Heizung /dhwCircuits/dhw1/tdMode
aber es gibt kein Reading für /dhwCircuits/dhw1/tdMode
...wahrscheinlich, weil es noch eine Baustelle ist?

Grüße, vom Jens




PasPi und Cb2 als Server, COC, CUL868, NanoCUL, RFBee als CUL_RFR, Buderus GB172 / 2 Kreise / CP / KM200 , FRM, FS20, IT, Revolt, CUL_EM, HMS, KS300, OWServer,  ECMD, VSM-102, FHEM2FHEM, einige DOIFs...

Elektrolyt

Sorry, ich habe etwas übersehen!

Da steht ja auch:
ERROR - At least for one Switchpoint the wrong terminology has been used. Only use one of the following items: off , high
in der ERROR-Meldung
Der neue Versuch mit
set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo 0600 high       0615 off      2200 high       2215 off
hat funktioniert!
...allerdings etwas holperig. Erstmal kam noch eine Error-Meldung
ERROR - The service /dhwCircuits/dhw1/switchPrograms/cp could not changed!
Aber ausgeführt wurde es trotzdem: Freude

Das automatische Eintragen in das Eingabefeld hatte einen Fehler. (...wurde glaub ich auch schon mal bemerkt)
Nur zur Info:
Jetzt wird für Mo. überall off eingetragen - ist wahrscheinlich nicht mehr falsch, - ich habe es nicht ausprobiert das abzusenden, aber die restlichen Wochentage bekommen immer noch eine falsche Vorgabe.

OK, also wenn ich die CP zu einem beliebigen Zeitpunkt über fhem einschalten möchte, müsste ich:
- im Programm den Wochentag ermitteln und eine Zeile wie
set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo 0001 high       2359 off
erzeugen und für das Abschalten vielleicht:
set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo 0001 off       2359 off

Sollte es so gemacht werden?, oder gibt es noch eine andere Methode?

Grüße, Jens
PasPi und Cb2 als Server, COC, CUL868, NanoCUL, RFBee als CUL_RFR, Buderus GB172 / 2 Kreise / CP / KM200 , FRM, FS20, IT, Revolt, CUL_EM, HMS, KS300, OWServer,  ECMD, VSM-102, FHEM2FHEM, einige DOIFs...

Elektrolyt

Hallo Sailor,
nee, ich habe mich doch zu früh gefreut..,

Ich bekomme die CP von fhem aus nicht mehr eingeschaltet,
Entweder ich benutze anstatt on high, dann gibt es die Meldung:
ERROR - The service /dhwCircuits/dhw1/switchPrograms/cp could not changed!

oder ich schreibe on, dann gibt es die Meldung:
ERROR - At least for one Switchpoint the wrong terminology has been used. Only use one of the following items: off , high

Im Reading und bei get werden alle Zeiten als off zurückgegeben.

Grüße, Jens
PasPi und Cb2 als Server, COC, CUL868, NanoCUL, RFBee als CUL_RFR, Buderus GB172 / 2 Kreise / CP / KM200 , FRM, FS20, IT, Revolt, CUL_EM, HMS, KS300, OWServer,  ECMD, VSM-102, FHEM2FHEM, einige DOIFs...

RoRo

Moin Elektrolyt!

Soweit ich weiß, musst Du bei der Zirkulationspumpe "on" und "off" verwenden, während Du bei der Boiler-Pumpe "high" und "off" verwenden musst.

Ich bin nicht sicher, ob es erlaubt ist, im String mehr als ein Leerzeichen hintereinander oder gar ein TAB zu verwenden. In diesem Sinne versuch doch mal folgendes:

set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo 0600 on 0615 off 2200 on 2215 off


Analog für 2-Tu, 3-We etc., aber immer für jeden Tag einzeln.

Im Zweifel solltest Du auch überlegen, welche Einschalt-Häufigkeit Du für die Zirkulationspumpe konfiguriert hast (z.B. zweimal pro Stunde), und wie sich das auf die doch recht kurze Einschaltzeit auswirkt (ich habe es nicht ausprobiert).

Gruß
Roland


Elektrolyt

Moin Roland,

ja, du hast wahrscheinlich recht mit deiner Annahme, weil die Readings ja auch entsprechende Werte haben:
Zitat
Umlaufpumpe:        /dhwCircuits/dhw1/switchPrograms/A/1-Mo     0500 high 2300 off
Zirkulationspumpe: /dhwCircuits/dhw1/switchPrograms/cp/1-Mo   0600 on 0615 off
Ich habe deinem Vorschlag folgend noch einmal per cut & paste ein
set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo 0600 on 0615 off 2200 on 2215 off
ausgeführt.
Die Reaktion ist wie in meinem letzten Beitrag beschrieben. (Antwort #1322)
ZitatERROR - At least for one Switchpoint the wrong terminology has been used. Only use one of the following items: off , high
...sie will ein "on" haben, aber nur "high" zulassen, - diese Ziege :-)

Ich möchte die Zirkulationspumpe wirklich NUR bei Bedarf verwenden. (ausgelöst durch Bewegungsmelder, Hausstatus, Wandschalter etc.)
Wenn das Rohr warm ist, kann die Zirkulationspumpe ausgeschaltet werden. (Temperatursensor) Ist bei mir nach ca. 10 Min. erreicht.
Die Heizungsanlage soll trotzdem die Zirkulationspumpe noch bedienen können. (z.B. im Falle der Desinfektion)

Gruß, Jens
PasPi und Cb2 als Server, COC, CUL868, NanoCUL, RFBee als CUL_RFR, Buderus GB172 / 2 Kreise / CP / KM200 , FRM, FS20, IT, Revolt, CUL_EM, HMS, KS300, OWServer,  ECMD, VSM-102, FHEM2FHEM, einige DOIFs...

Sailor

Moin Ihr Lurchen

Zitat von: Elektrolyt am 12 Oktober 2016, 10:08:38
set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo 0600 on 0615 off 2200 on 2215 off
ausgeführt.
Die Reaktion ist wie in meinem letzten Beitrag beschrieben. (Antwort #1322)
...sie will ein "on" haben, aber nur "high" zulassen, - diese Ziege :-)

OK, das muss ich mir anschauen. Da muss ich Bockmist gebaut haben...

Gruss
    Sailor
******************************
Man wird immer besser...

Elektrolyt

...die Lurchen quaaaken nicht.
...und Bockmist ist es auch nicht!
Es ist ein wunderbares Modul - sehr schön dokumentiert und sehr lehrreich.
Mir qualmt etwas der Kopf :-)

Klasse! und DANKE !,
Jens
PasPi und Cb2 als Server, COC, CUL868, NanoCUL, RFBee als CUL_RFR, Buderus GB172 / 2 Kreise / CP / KM200 , FRM, FS20, IT, Revolt, CUL_EM, HMS, KS300, OWServer,  ECMD, VSM-102, FHEM2FHEM, einige DOIFs...

Sailor

Moin Jens

Zitat von: Elektrolyt am 12 Oktober 2016, 10:08:38
set Heizung /dhwCircuits/dhw1/switchPrograms/cp/1-Mo 0600 on 0615 off 2200 on 2215 off
ausgeführt.
Die Reaktion ist wie in meinem letzten Beitrag beschrieben. (Antwort #1322)
...sie will ein "on" haben, aber nur "high" zulassen, - diese Ziege :-)

Eigentlich habe ich das abhängig vom überlieferten Typ g4emacht, den mir das KM200 Modul in seinem JSON String im Wert "setpointProperty" vorgibt...

Gebe mal folgendes ein und poste die Ausgabe:

get Heizung /dhwCircuits/dhw1/switchPrograms/cp JSON
sowie
get Heizung /dhwCircuits/dhw1/switchPrograms/A JSON

Gruss
    Sailor
******************************
Man wird immer besser...

Elektrolyt

Hallo Sailor,

gerne.
get Heizung /dhwCircuits/dhw1/switchPrograms/cp JSON
Zitat{"id":"/dhwCircuits/dhw1/switchPrograms/cp","type":"switchProgram","setpointProperty":{"id":"/dhwCircuits/dhw1/temperatureLevels","uri":"http://192.168.178.40/dhwCircuits/dhw1/temperatureLevels"},"maxNbOfSwitchPoints":42,"maxNbOfSwitchPointsPerDay":6,"switchPointTimeRaster":15,"writeable":1,"switchPoints":[{"dayOfWeek":"Mo","setpoint":"on","time":360},{"dayOfWeek":"Mo","setpoint":"off","time":375},{"dayOfWeek":"Tu","setpoint":"on","time":360},{"dayOfWeek":"Tu","setpoint":"off","time":375},{"dayOfWeek":"We","setpoint":"on","time":360},{"dayOfWeek":"We","setpoint":"off","time":375},{"dayOfWeek":"Th","setpoint":"on","time":360},{"dayOfWeek":"Th","setpoint":"off","time":375},{"dayOfWeek":"Fr","setpoint":"on","time":360},{"dayOfWeek":"Fr","setpoint":"off","time":375}]}


get Heizung /dhwCircuits/dhw1/switchPrograms/A JSON
Zitat{"id":"/dhwCircuits/dhw1/switchPrograms/A","type":"switchProgram","setpointProperty":{"id":"/dhwCircuits/dhw1/temperatureLevels","uri":"http://192.168.178.40/dhwCircuits/dhw1/temperatureLevels"},"maxNbOfSwitchPoints":42,"maxNbOfSwitchPointsPerDay":6,"switchPointTimeRaster":15,"writeable":1,"switchPoints":[{"dayOfWeek":"Mo","setpoint":"high","time":300},{"dayOfWeek":"Mo","setpoint":"off","time":1380},{"dayOfWeek":"Tu","setpoint":"high","time":300},{"dayOfWeek":"Tu","setpoint":"off","time":1380},{"dayOfWeek":"We","setpoint":"high","time":300},{"dayOfWeek":"We","setpoint":"off","time":1380},{"dayOfWeek":"Th","setpoint":"high","time":300},{"dayOfWeek":"Th","setpoint":"off","time":1380},{"dayOfWeek":"Fr","setpoint":"high","time":300},{"dayOfWeek":"Fr","setpoint":"off","time":1380},{"dayOfWeek":"Sa","setpoint":"high","time":420},{"dayOfWeek":"Sa","setpoint":"off","time":1380},{"dayOfWeek":"Su","setpoint":"high","time":420},{"dayOfWeek":"Su","setpoint":"off","time":1380}]}

PasPi und Cb2 als Server, COC, CUL868, NanoCUL, RFBee als CUL_RFR, Buderus GB172 / 2 Kreise / CP / KM200 , FRM, FS20, IT, Revolt, CUL_EM, HMS, KS300, OWServer,  ECMD, VSM-102, FHEM2FHEM, einige DOIFs...

Sailor

Hallo Jens

Zitat von: Elektrolyt am 12 Oktober 2016, 21:57:17
Hallo Sailor,

gerne.
get Heizung /dhwCircuits/dhw1/switchPrograms/cp JSON

get Heizung /dhwCircuits/dhw1/switchPrograms/A JSON

Da haben wir den Salat!
Wir haben soeben einen Bug im KM200 aufgedeckt!

Beide verweisen sie auf "setpointProperty":{"id":"/dhwCircuits/dhw1/temperatureLevels","uri":"http://192.168.178.40/dhwCircuits/dhw1/temperatureLevels"}
Dort steht "high" und "off" als gültige Eingabemöglichkeiten aber "cp" will "on" statt "high".

Wenn ich diesen Bug an Bosch - Thermotechnik melde, werden die den garantiert ignorieren.
Wenn ich den auf feste Vorgaben setze, dann weiss man nie, für welche "Weeklist" welche "setpointProperty" in Wirklichkeit gültig sind...

"Was tun" - sprach Zeus...

Gruss
    Sailor
******************************
Man wird immer besser...

Elektrolyt

#1330
Hallo Sailor,

du siehst also eine Möglichkeit, durch feste Vorgaben prinzipiell die Einschaltzeiten für die CP zu manipulieren, um dadurch einen Schaltvorgang für die CP auslösen zu können?
Das verlässt natürlich die Philosophie eine einheitliche Software herstellen zu können, die durch Abfrage über JSON, eine individuelle Kommunikation erlaubt.

Wenn es aber gelingt einen Ausnahmefall durch Setzen eines Attributes zu erzeugen, dann würde sowas uns Buderus-Besitzer natürlich ordentlich voranbringen!
Die Krücke könnte dann ja wieder verschwinden, wenn Bosch - Thermotechnik den Fehler erkannt und beseitigt hat.
attr myKm200 setpointProperty  <ID> <PropertyList>

Ich wäre natürlich sofort bereit alternativ eine individuelle Anpassung des km200 Modules zu akzeptieren.
Dazu bräuchte ich aber deine Hilfe.

Wie kann ich eine feste Vorgabe für das "setpointProperty" beim Setzen der Schaltzeiten für die CP testen?

Grüße, Jens

(...oder sollte ich doch besser eine kleine Relais-Schaltung vor die CP bauen? - Nee. ne?!)
PasPi und Cb2 als Server, COC, CUL868, NanoCUL, RFBee als CUL_RFR, Buderus GB172 / 2 Kreise / CP / KM200 , FRM, FS20, IT, Revolt, CUL_EM, HMS, KS300, OWServer,  ECMD, VSM-102, FHEM2FHEM, einige DOIFs...

Stekru13

Hallo zusammen,

ich habe mir vor kurzem einen Raspberry Pi zugelegt und frage mit dem tollen KM200-Modul sämtliche Werte meiner Buderus-Heizung ab. An dieser Stelle noch einmal vielen Dank und Respekt für die Umsetzung!

Zudem klappt auch das Erfassen des Gasverbrauchs über das Zählen der Impulse am Gaszähler mittels Reed-Kontakt über GPI.

Zwei Fragen habe ich jedoch zunächst einmal (vielleicht gibt es schon dieses Thema, ich habe es aber bislang nicht gefunden)

1.)Kann man auch Werte in der Heizung setzen (mit Set oder ähnlich)? Wenn ich z.B. den Wert für "heatingCircuits/hc2/temperatureLevels/comfort2" verändern möchte, kommt eine Fehlermeldung und der Wert bleibt unverändert.

2.)Hat schon jemand die Bedienung der Heizung (mittels KM200-Modul) über das Tablet UI umgesetzt? Geht das überhaupt ?


Vielen Dank und beste Grüße!!!






Sailor

Hi Steckru

Zitat von: Stekru13 am 16 Oktober 2016, 12:04:18
Zwei Fragen habe ich jedoch zunächst einmal (vielleicht gibt es schon dieses Thema, ich habe es aber bislang nicht gefunden)

1.)Kann man auch Werte in der Heizung setzen (mit Set oder ähnlich)? Wenn ich z.B. den Wert für "heatingCircuits/hc2/temperatureLevels/comfort2" verändern möchte, kommt eine Fehlermeldung und der Wert bleibt unverändert.

Klarer Fall für die Commandref: http://fhem.de/commandref.html#km200
und dem WIKI: http://www.fhemwiki.de/wiki/Buderus_Web_Gateway

Um deine Frage direkt zu beantworten: Ja es ist möglich, sofern das KM200 Modul den Service als "writeable" gekennzeichnet hat.
Nur dann, erscheinen diese Services auch in der Drop-Down-Liste.

Gruss
    Sailor
******************************
Man wird immer besser...

Elektrolyt

#1333
Hallo Sailor,

mir gelingt es übrigens auch nicht die Werte für eco oder comfort2 zu verändern.
In der Drop-Down-Liste für das Setzen von Werten befinden sich die Einträge:
/heatingCircuits/hc1/temperatureLevels
und
/heatingCircuits/hc2/temperatureLevels

Was soll man dort als Parameter eintragen?
Da hilft auch die gern zitierte commandref nicht.

Eingaben wie
set myKm200 /heatingCircuits/hc1/temperatureLevels comfort2 20
oder
set myKm200 /heatingCircuits/hc2/temperatureLevels eco 18.5 comfort2 20
funktionieren jedenfalls nicht.

Es gibt bei mir keinen Eintrag wie:
/heatingCircuits/hc1/temperatureLevels/comfort2
in der Drop-Down-Liste für set, was ja zu erwarten wäre.

Ich habe also das gleiche Problem wie Steckru und würde auch gerne konkret wissen, wie du denn den Wert für z.B. comfort2 änderst, da du ja auch eine GB172 hast.

Die identischen Einträge befinden sich auch in der Drop-Down-Liste für get.
Als Rückmeldung erhalte ich:
Zitat/heatingCircuits/hc1/temperatureLevels/eco
/heatingCircuits/hc1/temperatureLevels/comfort2

Es gibt Readings für die Werte eco und comfort2, sowohl für hc1 als auch für hc2.

Grüße, Jens
PasPi und Cb2 als Server, COC, CUL868, NanoCUL, RFBee als CUL_RFR, Buderus GB172 / 2 Kreise / CP / KM200 , FRM, FS20, IT, Revolt, CUL_EM, HMS, KS300, OWServer,  ECMD, VSM-102, FHEM2FHEM, einige DOIFs...

Sailor

Hallo Jens

Zitat von: Elektrolyt am 17 Oktober 2016, 11:12:02
Eingaben wie
set myKm200 /heatingCircuits/hc1/temperatureLevels comfort2 20
oder
set myKm200 /heatingCircuits/hc2/temperatureLevels eco 18.5 comfort2 20
funktionieren jedenfalls nicht.

Versuch mal

set myKm200 /heatingCircuits/hc1/temperatureLevels/comfort2 20
bzw
set myKm200 /heatingCircuits/hc1/temperatureLevels/eco 18.5

Gruss
    Sailor
******************************
Man wird immer besser...