Autor Thema: Buderus KM200 Kommunikationsmodul  (Gelesen 469966 mal)

Offline Ruckzuck

  • New Member
  • *
  • Beiträge: 17
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #1800 am: 15 September 2021, 09:51:00 »
Bezüglich des Setzens von Uhrzeit und Datum habe ich zwischenzeitlich herausgefunden, dass das KM100 die Übergabe von Zeit und Datum mit einem "No Content" quittiert:

No.     Time           Source                Destination           Protocol Length Info                                                            Dest_Port
   1881 46.706104      192.168.2.207         192.168.2.209         HTTP     99     POST /gateway/DateTime HTTP/1.0  (application/x-www-form-urlencoded) 80

No.     Time           Source                Destination           Protocol Length Info                                                            Dest_Port
   1883 46.743371      192.168.2.209         192.168.2.207         HTTP     82     HTTP/1.0 204 No Content Continuation                            49298

das wird vom FHEM-Modul wohl nicht erwartet und erzeugt eine Fehlermeldung:

Zitat
ERROR - The service /gateway/DateTime could not changed.

Gesetzt wird das neue Datum im KM100 aber trotzdem...man merkt es nur erstmal nicht.

Evtl. wäre auch hier eine Anpassung möglich?

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1978
  • und es werden immer mehr...
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #1801 am: 17 September 2021, 11:21:23 »
ja, das habe ich gemacht und so die Kommunikation mit der Buderus App und FHEM verglichen. Ich würde meine obige Aussage aber auch zurückziehen wollen. Die neue Buderus App kommuniziert über den Bosch Server, via XMPP Port 5222, mit meinem KM100. Fhem nutzt abweichend den Port 80. Ich möchte also nicht behaupten, dass an Port 80 zwingend die selben Services angeboten werden, wie an Port 5222.

Ja, das habe ich mir schon gedacht.

BOSCH versucht die Open - Smarthome - schon seit der Aufdeckung des Zugangsmöglichkeit durch dritte Anbieter (fhem 73_km200.pm, Symbios etc.) diese durch regelmäßige Updates und den damit verbundenen Verschlimmbesserungen regelrecht raus zu eckeln.

Vielleicht wird da mal ein entsprechender Artikel bei heise oder einem Fachmagazin fällig.
Das grenzt schon an unlauterem Wettbewerb die ursprünglich erworbenen Funktionsumfänge nach ein paar Jahren nach und nach einzuschränken...

Gruß
    Sailor

******************************
Man wird immer besser...

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1978
  • und es werden immer mehr...
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #1802 am: 17 September 2021, 11:22:39 »
Moin Ruckzuck

Bezüglich des Setzens von Uhrzeit und Datum habe ich zwischenzeitlich herausgefunden, dass das KM100 die Übergabe von Zeit und Datum mit einem "No Content" quittiert:
Gesetzt wird das neue Datum im KM100 aber trotzdem...man merkt es nur erstmal nicht.
Evtl. wäre auch hier eine Anpassung möglich?

Das schau ich mir mal an sobald ich Zeit habe...

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

Offline Ruckzuck

  • New Member
  • *
  • Beiträge: 17
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #1803 am: 20 September 2021, 13:56:06 »
Moin Ruckzuck

Das schau ich mir mal an sobald ich Zeit habe...

Gruß
    Sailor

Für mich doppelt sich das Fehlerhandling ohnehin, muss ich gestehen.
- Es wird die Fehlerrückgabe aus dem Modul HttpUtils ausgewertet.
- Steht hier kein Fehler an, wird der zuvor gesetzte Wert zurück gelesen und verglichen.

Somit geht die erste Prüfung in der Zweiten mit auf. Wobei die Uhrzeit ja durch die Signallaufzeit kein statischer Wert ist. Das Rücklesen und Prüfen auf den gesetzten Wert wird dadurch sicher zu einer Herausforderung. Man stelle sich nur vor, die Uhrzeit wird auf 23:59:59 Uhr gesetzt.

Ich habe bei mir jetzt ein at definiert, welches die Uhr jetzt zyklisch aktualisiert/synchron hält:

*00:30:00 {fhem("set buderus /gateway/DateTime ".strftime("%FT%T", localtime()))}
Das führt zwar zu einer Fehlermeldung im logfile, damit kann ich vorerst aber gut leben.


Darf ich den Fokus noch einmal auf das Auslesen der Energiedaten lenken? Ich vermute, sowas wie im angefügten Screenshot könnte helfen.

 

« Letzte Änderung: 20 September 2021, 14:02:45 von Ruckzuck »

Offline Ruckzuck

  • New Member
  • *
  • Beiträge: 17
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #1804 am: 20 September 2021, 14:46:13 »
Ja, das habe ich mir schon gedacht.

BOSCH versucht die Open - Smarthome - schon seit der Aufdeckung des Zugangsmöglichkeit durch dritte Anbieter (fhem 73_km200.pm, Symbios etc.) diese durch regelmäßige Updates und den damit verbundenen Verschlimmbesserungen regelrecht raus zu eckeln.

Vielleicht wird da mal ein entsprechender Artikel bei heise oder einem Fachmagazin fällig.
Das grenzt schon an unlauterem Wettbewerb die ursprünglich erworbenen Funktionsumfänge nach ein paar Jahren nach und nach einzuschränken...

Gruß
    Sailor

Wenn das alles wäre....bei mir funktioniert noch nicht einmal das, was eigentlich sollte.

Ich habe mir einen Funk Außentemperaturfühler gegönnt...leider der letzte Dreck. Der Temperaturwert für diesen Fühler wird scheinbar in einer anderen Variablen gespeichert und somit gar nicht über das KM100 übertragen. APP und FHEM zeigen dauerhaft -32768. Dazu habe ich jetzt kürzlich erfahren, dass es bei diesen Sensoren wohl ein Qualitätsproblem gibt/gab und Funk-Module (Zigbee) mit sehr geringer Funkreichweite (2-4 Meter) im Umlauf sind. Jedes Funkpaket, was es nicht zum Boiler schafft, wird mit einem Fehler A11/1037 (Außentemperaturfühlerfehler) quittiert...eigentlich steht dieser Fehler dauerhaft an. Das führt dazu, dass die Anlage ständig in den Notbetrieb wechselt.

Hilfestellung vom Service: " Ja, können Sie denn kein Kabel nach außen legen, dann funktioniert alles. Frage von mir: "Ja, habe ich denn dafür ein Funk-Modul für teuer Geld von Buderus erworben?

Weiter zeigt mein RC310 eine völlig falsche IP-Adresse an (siehe Bild). Die eigentliche IP-Adresse in meinem Netzwerk lautet 192.168.2.209.

Der Service erklärte mir hierzu, dass die im RC310 angezeigte IP-Adresse eine andere sei....für ein künftiges Wlan Modul, oder ähnliches. Kann ich mir ja kaufen, dann stimmt die angezeigte IP Adresse auch wieder :-)

Lustig war auch das Gespräch mit dem Service zur APP: Sie merken doch wahrscheinlich selbst, dass die Umsetzung der Details an vielen Stellen schlecht ist. Antwort: Ja, wem sagen Sie das. Wir vom Service wurden damals extra zu einem Workshop eingeladen um über die Funktionalität der App zu sprechen. Von unseren Wünschen und Anregungen wurde aber nichts berücksichtigt.


« Letzte Änderung: 20 September 2021, 14:51:23 von Ruckzuck »

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1978
  • und es werden immer mehr...
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #1805 am: 20 September 2021, 15:08:34 »
Hallo Ruckzuck

Darf ich den Fokus noch einmal auf das Auslesen der Energiedaten lenken? Ich vermute, sowas wie im angefügten Screenshot könnte helfen.

Leider kann ich das nicht testen, geschweige umsetzen weil ich die "/recordings/.*" gar nicht bei mir auftauchen...
Und auf blauen Dunst hin programmieren ist echt übel...

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

Offline Ruckzuck

  • New Member
  • *
  • Beiträge: 17
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #1806 am: 20 September 2021, 15:33:49 »
Hallo Ruckzuck

Leider kann ich das nicht testen, geschweige umsetzen weil ich die "/recordings/.*" gar nicht bei mir auftauchen...
Und auf blauen Dunst hin programmieren ist echt übel...

Gruß
    Sailor

Ja, das ist absolut nachvollziehbar, aber ich könnte dir ja die Payload verschlüsselt oder unverschlüsselt zur Verfügung stellen. Also in der Form, wie hier
https://forum.fhem.de/index.php/topic,25540.msg1174746.html#msg1174746
schon dargelegt.

Für das Absetzen der Gets habe ich, testweise, schon dein Modul missbraucht:

sub GetService()
{

     my $Service            =  '/recordings/dhwCircuits/dhw1/actualTemp?interval=2021' ;
    'my $Service            =  '/recordings/dhwCircuits/dhw1/actualTemp?interval=2021-09' ;
    'my $Service            =  '/recordings/dhwCircuits/dhw1/actualTemp?interval=2021-09-01';
     my $km200_gateway_host =  '192.168.2.209' ;   
     my $name               =  'test' ;       
     my $PollingTimeout      = '10'   ;     

     my $err;
     my $data;

### Log entries for debugging purposes
         Log3 $name, 0, $name. " : km200 - GetSingleService - service            : " .$Service;

### Create full URL of the current Service to be read
my $url ="http://" . $km200_gateway_host . $Service;

### Log entries for debugging purposes
        Log3 $name, 0, $name. " : km200 - GetSingleService - url                : " .$url;

### Create parameter set for HttpUtils_BlockingGet
my $param = {
url        => $url,
timeout    => $PollingTimeout,
method     => "GET",
header     => "agent: TeleHeater/2.2.3\r\nUser-Agent: TeleHeater/2.2.3\r\nAccept: application/json",
    };
### Retrieve data from km200
($err, $data) = HttpUtils_BlockingGet($param);

### Log entries for debugging purposes
        Log3 $name, 0, $name. " : km200 - GetSingleService - err                : " .$err;
Log3 $name, 0, $name. " : km200 - GetSingleService - data               : " .$data;

### If error message has been reported
if($err ne "")
{
Log3 $name, 0, $name . " : ERROR: Service: ".$Service. ": No proper Communication with Gateway: " .$err;

}
} ### If NO error message has been reported