Buderus KM200 Kommunikationsmodul

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

Vorheriges Thema - Nächstes Thema

Stefan M.

#630
Hallo zusammen
ich habe auch die Kommunikation des Km200 in der Fritzbox gesperrt.
Gestern hatte ich das Problem das der Status Sounding zeigte und die Readings-Daten einige Stunden alt waren.


P.S.
Habe gerade eben nach der Fernaufschaltung bemerkt das es schon wieder auf Sounding steht und die Daten von gestern Abend sind.

Habt Ihr da schon Ideen dazu?

lg
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

Sailor

Hallo Stefan

Zitat von: Stefan M. am 16 März 2015, 11:04:47
Habe gerade eben nach der Fernaufschaltung bemerkt das es schon wieder auf Sounding steht und die Daten von gestern Abend sind.

Gebe mir bitte mal die Konsole-Printouts. Irgendwo muss er stehen bleiben...

Gruß
   Sailor
******************************
Man wird immer besser...

Klaus Rubik

Hallo Sailor,

kann ich über Dein Modul auch den Brenner/die Heizung ausschalten? Wenn ja, welches Reading muss ich wie setzten?

Danke

klaus
FHEM 6.0 auf RPI4 mit CUL868, AEOTEC, RFXTRX 433
CUL_WS  : S300TH              FHT         : FHT80B, FHT80TF
HMS        : HMS100-TF         FBDECT   : DECT!200, FRITZ!Powerline 546E
FS20       : FS20DI10, FS20ST, FS20WS1, FS20DU-2, FS20 FMS

cyberterminal

Vielleicht hilft es ja ein bisschen.
Nutze Fhem zwar nicht, aber das KM200 :-)
Und darum sind ja gewisse Symthome gleich. Das Einfrieren z.B.
Hatte ich zu Anfang auch immer, bis ich die Zykluszeit der Abfrage erhöht habe. 20s Polling ist schon arg kurz. Und 20 Werte auf einem Rutsch auszulesen mag mein KM200 auch nicht.
Ich frage mein KM200 alle 60s in 5er Blöcken ab mit 5s Pause zwischen jedem Block.

Gruß
Manfred

via Sony Xperia Z Ultra


DLindner

#634
Hallo Stefan.M, ich kann cyberterminal nur zustimmen. Ich habe die Pollingzeit auf 300s eingestellt und bis heute keinen Hänger gehabt. Die Readings laufen alle durch, trotz angeschalteter Kommunikation des KM200-Moduls.

Hallo Klaus, den Brenner ganz ausschalten kannst Du nur am BC10, Du kannst Sie aber in den Nachtmodus versetzen. Wenn Du die Absenkart dann noch auf AUSSCHALTEN stellst, dann geht die Flamme aus.
Durch eine kelien Routine in myUtils kann du dann die Anlage automatisch abhängig von Uhrzeit, Raumtemperatur, etc. aus- und einschalten.

So hab ich es auch mit meiner Warmwasseraufbereitung gemacht. Mir war die Temperaturdifferenz von 5° zu gering, die von Buderus vorgegeben wird um das Warmwasser wieder zu erhitzen. Ich kontrollieren mit jedem Reading die Ist-Temperatur im Warmwasserkessel und wenn der Temperaturunterschied zum Soll größer als 15° ist schalte ich Warmwasseraufheizung auf ein. Beim Erreichen der der Soll-Temperatur wieder aus. Dazu habe ich mir ein zusätzliches Reading mit attr "alwaysTrigger" angelegt und zusätzlich in der Definition WEB das attr longpoll auf "1" gesetzt.

Norbert.Roller

Hi Sailor,
habe gerade einen FHEM Update gefahren und bekommen nun folgende Fehlermeldung, allerdings erst einige Minuten nach dem shutdown restart.
2015.03.16 17:23:23 1:   - feature: 73_km200: Read of switchPrograms added
....
2015.03.16 17:28:40 0: Server started with 145 defined entities (version $Id: fhem.pl 8207 2015-03-14 13:01:30Z rudolfkoenig $, os linux, user fhem, pid 22826)
2015.03.16 17:33:34 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1496.
2015.03.16 17:33:34 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1537.
2015.03.16 17:33:34 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1748.
2015.03.16 17:33:34 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1790.

Magic01

Hi Norbert,

ja, die Fehler kann ich auch bestätigen, allerdings scheinen die nur 1 mal zu kommen:
2015.03.16 22:10:15 0: Server shutdown
[...]
2015.03.16 22:10:50 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1496.
2015.03.16 22:10:50 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1537.
2015.03.16 22:10:50 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1748.
2015.03.16 22:10:50 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1790.
[...]
2015.03.16 22:20:18 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1986.
2015.03.16 22:20:18 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 2008.
2015.03.16 22:20:18 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 2177.


außerdem habe ich nun wiederholt:
2015.03.16 22:31:43 1: FHEMWEB SSL/HTTPS error:

Mehr steht da nicht, keine Ahnung welches Update das auslöst...

grossi33

Hallo Sailor,

Update zur WPS-1 vom 17.03.15: Folgende Services fehlen zur Zeit:

/system/appliance/type
/recordings/system/sensors/outdoorTemperatures/t1
/recordings/dhwCircuits
/heatingCircuits/hc1/temperatureLevels/exception
/heatingCircuits/hc1/temperatureLevels/normal
/dhwCircuits/dhw1/dhwSpLevels/on
/dhwCircuits/dhw1/dhwSpLevels/off
/dhwCircuits/dhw1/dhwTimePrograms/AlwaysHotWater
/dhwCircuits/dhw1/dhwTimePrograms/Program1
/dhwCircuits/dhw1/dhwTimePrograms/Program2
/dhwCircuits/dhw1/extraDhw/stopTemp
/dhwCircuits/dhw1/extraDhw/time
/dhwCircuits/dhw1/extraDhw/activationStatus
/dhwCircuits/dhw1/extraDhw/status

Zum "Einfrieren" -
Polling-Zeit auf 300s brachte nichts - km200 aktualisierte nur "fullReponse" auf ERROR.

Im 2.Veruch habe ich jetzt eine einfache Schaltuhr, die täglich 1 min. auschaltet am
Steckernetzteil des km200. Nicht elegant, aber vielleicht hilft es :'(

Grüsse.

Grossi33

Klaus Rubik

Zitat von: DLindner am 16 März 2015, 17:10:01
Hallo Klaus, den Brenner ganz ausschalten kannst Du nur am BC10, Du kannst Sie aber in den Nachtmodus versetzen. Wenn Du die Absenkart dann noch auf AUSSCHALTEN stellst, dann geht die Flamme aus.
Durch eine kelien Routine in myUtils kann du dann die Anlage automatisch abhängig von Uhrzeit, Raumtemperatur, etc. aus- und einschalten.

Hallo DLindner,

kannst Du das bitte etwas genauer beschreiben? Welches Reading muss ich wie setzten und wie sieht dein Code in der my_utils aus?

Viele Grüße

Klaus
FHEM 6.0 auf RPI4 mit CUL868, AEOTEC, RFXTRX 433
CUL_WS  : S300TH              FHT         : FHT80B, FHT80TF
HMS        : HMS100-TF         FBDECT   : DECT!200, FRITZ!Powerline 546E
FS20       : FS20DI10, FS20ST, FS20WS1, FS20DU-2, FS20 FMS

Sailor

Moin Magic, Norbert

Zitat von: Magic01 am 16 März 2015, 22:37:12
Hi Norbert,

ja, die Fehler kann ich auch bestätigen, allerdings scheinen die nur 1 mal zu kommen:
2015.03.16 22:10:15 0: Server shutdown
[...]
2015.03.16 22:10:50 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1496.
2015.03.16 22:10:50 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1537.
2015.03.16 22:10:50 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1748.
2015.03.16 22:10:50 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1790.
[...]
2015.03.16 22:20:18 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 1986.
2015.03.16 22:20:18 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 2008.
2015.03.16 22:20:18 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/73_km200.pm line 2177.


Ich habe den Fehler wohl identifiziert und muss nur noch mein Geschreibsel testen.
Komme wohl aber vor dem WE nicht dazu.

Zitat von: Magic01 am 16 März 2015, 22:37:12
außerdem habe ich nun wiederholt:
2015.03.16 22:31:43 1: FHEMWEB SSL/HTTPS error:

Mehr steht da nicht, keine Ahnung welches Update das auslöst...

Das Modul "FHEMWEB"

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

Sailor

Hallo Grossi

Zitat von: grossi33 am 17 März 2015, 17:17:33
Update zur WPS-1 vom 17.03.15: Folgende Services fehlen zur Zeit:

Aufgenommen in Version 0044: /system/appliance/type

Aufgenommen in Version 0043: /recordings/system/sensors/outdoorTemperatures/t1
Aufgenommen in Version 0043: /recordings/dhwCircuits
(Recordings sind als Service zwar vorhanden, aber kein User hat je berichtet, das tatsächlich Werte auslesbar waren)

Aufgenommen in Version 0044: /heatingCircuits/hc1/temperatureLevels/exception
Aufgenommen in Version 0044: /heatingCircuits/hc1/temperatureLevels/normal
Aufgenommen in Version 0044: /dhwCircuits/dhw1/dhwSpLevels/on
Aufgenommen in Version 0044: /dhwCircuits/dhw1/dhwSpLevels/off
Aufgenommen in Version 0044: /dhwCircuits/dhw1/dhwTimePrograms/AlwaysHotWater
Aufgenommen in Version 0044: /dhwCircuits/dhw1/dhwTimePrograms/Program1
Aufgenommen in Version 0044: /dhwCircuits/dhw1/dhwTimePrograms/Program2
Aufgenommen in Version 0044: /dhwCircuits/dhw1/extraDhw/stopTemp
Aufgenommen in Version 0044: /dhwCircuits/dhw1/extraDhw/time
Aufgenommen in Version 0044: /dhwCircuits/dhw1/extraDhw/activationStatus
Aufgenommen in Version 0044: /dhwCircuits/dhw1/extraDhw/status

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

Sailor

Hallo Grossi

Zitat von: grossi33 am 17 März 2015, 17:17:33
Zum "Einfrieren" -
Polling-Zeit auf 300s brachte nichts - km200 aktualisierte nur "fullReponse" auf ERROR.

Mit Version 0044 habe ich hoffentlich einen Weg gefunden, das "Einfrieren" abzufangen und den Prozess einfach neu zu starten bis es klappt.
ZitatSchau'n mer mal; und dann wer'n mer scho' seh'n


Zitat von: grossi33 am 17 März 2015, 17:17:33
Im 2.Veruch habe ich jetzt eine einfache Schaltuhr, die täglich 1 min. auschaltet am
Steckernetzteil des km200. Nicht elegant, aber vielleicht hilft es :'(

Aaaaargh!  :o



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

DLindner

#642
Hallo Klaus,

Zitatkannst Du das bitte etwas genauer beschreiben? Welches Reading muss ich wie setzten und wie sieht dein Code in der my_utils aus?

Ich versuch es mal.

Anhand der vielen unterschiedlichen Services (damit meine ich die Strukturen wie /heatingCircuits/hc2/OperationMode ...) abhängig vom Modell des installierten Brenners ist es schwierig eine Pauschalerklärung abzugeben. Ich habe einen Buderus GB202 mit BC10 Masterkontroller , einen RC35, KM200, WM10, MM10.
Da es leider noch keinen Service für meine Konfiguration gibt, mit dem ich den Party- oder Holiday-Modus setzen kann, gibt es nur die Möglichkeit den Brenner in den Nachtmodus (Absenkung) zu schicken. Wenn Du deine Heizprogramme so eingestellt hast, dass die Nachtabsenkung auf Außenhalt-/Raumhalt- oder Reduzierten Betrieb eingestellt hast, funktioniert mein nachfolgender Vorschlag nicht. Es sei denn du legst Dir ein weiteres Heizprogramm an mit Nachabsenkung auf "Abschaltbetrieb".

Nun aber zu dem Reading, stellvertretend für alle Heizkreise (siehe Bild3).

define 03_Fussboden readingsGroup <>,<%sani_floor_heating@yellow>,<Ist>,<>,<aktuell<br>neu>
heizung:<Schaltprogr.>,<>,<>,<switch>
heizung:<Tag>,/heatingCircuits/hc2/roomtemperature,<>,<sollsetz>
heizung:<Nacht>,<>,<>,<sollsetz2>
<>,<aktuell>,<Auto>,<Tag>,<Nacht>
heizung:/heatingCircuits/hc2/operationMode,<%time_automatic@lightgreen>,<%scene_day@yellow>,<%scene_night@royalblue>

attr 03_Fussboden alias Fußbodenkreis

attr 03_Fussboden cellStyle { 'r:1'=>'style="font-weight:bold;;;;font-size:18px"','r:2,c:1'=>'style="color:white;;;;font-weight:bold;;;;font-size:14px"','r:5'=>'style="color:white;;;;font-weight:bold;;;;font-size:14px"'}

attr 03_Fussboden commands { '03_Fussboden.switch'=>'/heatingCircuits/hc2/activeSwitchProgram:Eigen1,Familie,Senioren,Single','03_Fussboden.sollsetz'=>'/heatingCircuits/hc2/temperatureLevels/day:10,11,12,13,14,15,16,17,18,19,20,20.5,21,21.5,22,22.5,23,23.5,24,25,26,27,28,29,30','03_Fussboden.sollsetz2'=>'/heatingCircuits/hc2/temperatureLevels/night:10,11,12,13,14,15,16,17,18,19,20,20.5,21,21.5,22,22.5,23,23.5,24,25,26,27,28,29,30','03_Fussboden.time_automatic@lightgreen'=>'set %DEVICE /heatingCircuits/hc2/operationMode auto','03_Fussboden.scene_day@yellow'=>'set %DEVICE /heatingCircuits/hc2/operationMode day','03_Fussboden.scene_night@royalblue'=>'set %DEVICE /heatingCircuits/hc2/operationMode night'}

attr 03_Fussboden group Ein2

attr 03_Fussboden mapping { heizung=>""}

attr 03_Fussboden nameStyle style="color:white;;;;text-align:left"

attr 03_Fussboden room Einstellungen

attr 03_Fussboden style style="border:0px"

attr 03_Fussboden valueFormat { '/heatingCircuits/hc2/temperatureLevels/day'=>'%.1f &deg;;C','/heatingCircuits/hc2/temperatureLevels/night'=>'%.1f &deg;;C','/heatingCircuits/hc2/suWiThreshold'=>'%.1f &deg;;C','/heatingCircuits/hc2/roomtemperature'=>'%.1f &deg;;C'}

attr 03_Fussboden valueIcon {'/heatingCircuits/hc2/operationMode.day' => 'scene_day@yellow','/heatingCircuits/hc2/operationMode.auto' => 'time_automatic@lightgreen','/heatingCircuits/hc2/operationMode.night' => 'scene_night@royalblue'}

attr 03_Fussboden valueStyle {if($READING eq "/heatingCircuits/hc2/roomtemperature"){my $t=$VALUE;;;;my $d=ReadingsVal($DEVICE,'/heatingCircuits/hc2/temperatureLevels/day',0);;;;if($d-$t>=2){'style="color:royalblue;;;;text-align:center;;;;font-weight:bold;;;;"'}elsif($t-$d>=2){'style="color:red;;;;text-align:center;;;;font-weight:bold;;;;"'}else{'style="color:lightgreen;;;;text-align:center;;;;font-weight:bold;;;;"'}}else{'style="color:white;;;;text-align:left";;;;'}}


Mit diesem Reading stellst du das Heizprogramm ein ( hier Eigen1), die Soll-Temperatur für den Tagbetrieb und die Soll-Temperatur für den Nachtbetrieb (ist bei mir irrelevant, da ich die Heizung auf Abschaltbetrieb für die Absenkung gesetzt habe). Ferner kannst Du über die Icons die Operation-Modi einstellen (Auto, Tag, Nacht).
Klickt man auf das Icon "Nacht", so fährt bei mir der Brenner herunter und alle Pumpen werden mit einer definierten Nachlaufzeit ausgeschaltet. Dies muss man natürlich bei jedem Heizkreis tun.

Für die automatische Abschaltung habe ich keine Funktion in myUtils.pm, da ich für die Heizkreise keinen Sinn sehe. Wenn ich die Heizung zeitgesteuert abschalten möchte, dann würde ich das Heizprogramm anpassen.

Bei der Warmwasseraufbereitung hat mich genervt, dass der Brenner bereits ab einer Differenztemperatur von 5°C nachheizt und dass kann sehr viele Starts bedeuten. Deshalb steuer ich die Aufheizung über eine Routine in myUtils.

Zitatsub setOpMode($) {
  my ($VALUE) = @_;
  my $Time = strftime "%H:%M", localtime;
  my $DESIRED = ReadingsVal("heizung", "/dhwCircuits/dhw1/setTemperature", 65);
  my $Mode = ReadingsVal("heizung", "/dhwCircuits/dhw1/operationMode", "off");
  my $DiffTemp = ($DESIRED - 12); // Differenttemp 12°
  ############# Protokoll schreiben ###########################
      open (DATEI, ">>/opt/fhem/privat/WarmWater.txt") or return $VALUE;
      print DATEI "$Time:$Mode|$DESIRED|$VALUE\n";
      close (DATEI); 

############## nur in der Zeit zw. 07:00 und 21:00 Uhr heizen #####################
  if ( $Time lt "07:00" || $Time gt "21:00") {
       return $VALUE;
  }

################### wenn Ist-Temp < Soll-Temp - 12°, dann einschalten. ###########
  if ( $VALUE lt $DiffTemp && $Mode eq "off" ) {
      fhem('set heizung /dhwCircuits/dhw1/operationMode auto');  // Setze auf Auto statt auf On, damit sich bei einem crash von Fhem die Heizung nicht totheizt   
      open (DATEI, ">>/opt/fhem/privat/WarmWater.txt") or return $VALUE;
      print DATEI "set to 'On' at $Time:$VALUE\n";
      close (DATEI); 
}
############ Schalte Warmwasseraufheizung bei Erreichen der Soll-Temp wieder ab. ########################
  if ( $VALUE gt $DESIRED && $Mode ne "off" ) {
      fhem('set heizung /dhwCircuits/dhw1/operationMode off');
      open (DATEI, ">>/opt/fhem/privat/WarmWater.txt") or return $VALUE;
      print DATEI "set to 'Off' at $Time:$VALUE\n";
      close (DATEI); 
  } 
  return $VALUE;   
}

Das Reading dazu sieht folgendermaßen aus:
Zitat
define 029Temperaturen readingsGroup heizung:<Warmwasser-Ist>,/dhwCircuits/dhw1/actualTemp\

attr 029Temperaturen alwaysTrigger 1
attr 029Temperaturen room Trigger
attr 029Temperaturen valueFormat {if($READING eq "/dhwCircuits/dhw1/actualTemp"){ setOpMode($VALUE);;}}

Hier ein Auszug aus der Protokolldatei:
Zitat06:34:off|65|54.8
06:40:off|65|54.8
06:45:off|65|54.7
06:50:off|65|54.6
06:55:off|65|52.9
07:01:off|65|51.7
set to 'On' at 07:01:51.7
07:06:auto|65|52.7
07:11:auto|65|59.6
07:16:auto|65|63.2
07:21:auto|65|66
set to 'Off' at 07:21:66
07:27:off|65|66.6
07:32:off|65|66.7
07:37:off|65|66.7
07:42:off|65|66.6
07:47:off|65|66.6

grossi33

Hallo Sailor,

danke für die neue Version 044 - viele neue Readings - kein Einfrieren, (da
jetzt "FullResponse" auf OK anstatt ERROR).... ;D

aber  ???
Abstürze: FHEM Weboberfläche ohne Bild , hier die fragliche Stellen im Logauszug:
1.)
2015.03.20 13:29:30 0: Server started with 13 defined entities (version $Id: fhem.pl 8207 2015-03-14 13:01:30Z rudolfkoenig $, os linux, user fhem, pid 2104)
2015.03.20 13:32:11 2: mykm200 : ERROR: Service: /dhwCircuits/dhw1/extraDhw/stopTemp: No proper Communication with Gateway: read from http://192.168.178.36:

2.)
2015.03.20 13:29:30 0: Server started with 13 defined entities (version $Id: fhem.pl 8207 2015-03-14 13:01:30Z rudolfkoenig $, os linux, user fhem, pid 2104)
2015.03.20 13:32:11 2: mykm200 : ERROR: Service: /dhwCircuits/dhw1/extraDhw/stopTemp: No proper Communication with Gateway: read from http://192.168.178.36:80 timed out
2015.03.20 15:57:35 1: Including fhem.cfg

.... :-[

Kann das am Raspi liegen? Auf diesem läuft bei mir rasbian mit FHEM, über eine FB7490 am Homenetz, wie auch das KM200....

Grüsse.

grossi33


grossi33

noch `ne Ergänzung:
- Fehlerbild laut Anhang
- nur Neustart von FHEM bringt nichts, ebenso restart Raspi.

Vorgehensweise:
1. KM200 stromlos
2. Raspi restart
3. fhem restart

mm.................