Buderus KM200 Kommunikationsmodul

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

Vorheriges Thema - Nächstes Thema

furban

Ja das geht. Was mich etwas stutzig macht ist z.B: das

root@raspberrypi:/var/www# dpkg --get-selections | grep php
libapache2-mod-php5                             install
php5                                            install
php5-cli                                        install
php5-common                                     install
php5-mcrypt                                     install

root@raspberrypi:/var/www# apt-get install php5-json
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'php5-common' instead of 'php5-json'
php5-common is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Ob das also so ok ist mit diesem "JSON"?

furban

OK. Ich Depp habe wirklich das falsche persönliche Passwort eingeben.....
Der Tipp mit der App war also goldrichtig. Da habe ich das erst gemerkt.
Dann baue ich mal weiter ob ich das jetzt auch in mein FHEM eingebaut bekomme

furban

OK. Jetzt habe ich die Daten auf in FHEM

Stefan M.

Das ist schon mal der erste Erfolg. Alles andere kommt dann auch noch. Irgendwann werden wir ohne dem PHP Skript zurecht kommen dauert aber noch.
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

furban

Habe auch mal das 73_km200test.pm bei mir eingebaut und bekomme da ein

InitialKey km200_crypt_key_initial: Č�ہ�mËB �5�~���П�/��ȟ�;��+ 2014-10-12 18:22:12
PrivateKey km200_crypt_key_private: Č�ہ�mËB �5�~��4�=��h�w���3{D 2014-10-12 18:22:12

Tja und das wars dann wohl Mangels neuer Versionen die Sailor wohl inzwischen gebaut hat. Wäre schon wenn man da einfach mal was Aktuelles wieder bekommen könnte. Auch ich hatte mal eine C64 einen VC20 und einen ZX81.... Man ist das lange her. Vielleicht finde ich also auch ein Korn und kann mich ein wenig beteiligen.

Sailor

#80
Hallo zusammen

wenn Ihr schon mal weiter experimentieren wollt, anbei meine letzte Version.

Im Augenblick hapert es an der Auslesung des JSON Wertes.

Kaempfe im Augenblick an mehreren Baustellen daher schleift dies etwas...v :(

Aufruf in fhem.cfg mit
define <devicename> km200 <IPv4-address> <interval/[s]> <GatewayPassword> <PrivatePassword>


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

furban

Super. Habe ich mir gleich mal geschnappt und sehe direkt:
Zeile 93
    if (int(@a) == 6) )
Zwei Klammern auf und drei Klammern zu......


furban

Zeile 467
  Log3 3, "km200_GetData: " .$data;
soll wohl
Log3 $name, 3, "km200_GetData: " .$data;
sein

furban

Zeile 467 streikt weiter. Habe die erst mal raus genommen
Nun passt ihm meine IPV4 nicht.
Habe das
if ($address =~ m/^((\d\d\d[01]\d\d2[0-4]\d25[0-5])\.){3}(\d\d\d[01]\d\d2[0-4]\d25[0-5])$/)
ersetzt durch
if ($address =~ m/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
Quelle: https://www.safaribooksonline.com/library/view/regulare-ausdrucke-kochbuch/9783868993219/ch07s16.html

Zeile 124 und 135
lenght statt length

if ( length($km200_gateway_password) == 12)
Das stimmt aber gar nicht. Wenn man das Passwort inklusive "-" eingibt, komme ich auf 19 Zeichen. Auch ohne die "-" sind es noch 16. Würde sagen man muss die "-" einfach mit eingeben. Die werden ja jetzt auch schon einfach entfernt und somit sollte da 16 statt 12 stehen
Entsprechend
\"aaaabbbbccccdddd\" or \"aaaa-bbbb-cccc-dddd\" statt
\"aaabbbcccddd\" or \"aaa-bbb-ccc-ddd\"



So jetzt lässt sich das Modul zumindest mal starten.

Sailor

Hallo Furban,

es wäre gut, wenn Du am Ende des Tages die letzte Version in Netz stellst.

Dann können wir zusammen zum Ende hin arbeiten...

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

furban

#85
Ja ich wollte jetzt nicht deinen Code anpassen.  Die Hoheit solltest du haben.
Hier also mal meine soweit "lauffähige" Version (damit anfangen kann man so noch nichts) mit
Zeile 467
Log3 $name, 3, "km200_GetData: " .$data;
auskommentiert
und mit der anderen Variante zur Prüfung der IPV4 Adresse wobei deine Version nur auskommentiert ist.

Sailor

#86
Hallo Furban,

keine falsche Bescheidenheit, sonst kommen wir nicht vorwärts.  ;D

Wie imer bei kollaborierender Arbeit, braucht man ein wenig Bürokratie zur Nachverfolgbarkeit.

Ich habe ein enstrpechendes CHANGELOG angefügt. Bite einfach pflegen, und dann behalten wir den Überblick.
Bitte einfach jeweils das Datum in Zeile 1 ändern und das ChangeLog weiterführen.

Zum Standpunkt... Genau um diese Zeile 475 (War bei Dir "467") geht es.
Sie soll den Inhalt anzeigen, welche von der decode_json - function zurückgegeben wird.

Hierzu noch meine Parallelanfrage im Perl-Forum: http://www.perl-community.de/bat/poard/thread/19221

Ich bin aber schlichtweg noch nicht dazu gekommen den Vorschlag umzusetzen...  :'(

Gruss
   Sailor





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

furban

Habe mir das in dem Perl Forum mal angeschaut und den letzten Vorschlag umgesetzt. Das kam dabei heraus:
Zitat
Bedeutet das als nun das aus dieser Zeile
$data = decode_json(encode( "utf8", $response->decoded_content ));
diese hier wird:
$data = decode_json($response->decoded_content );
und die Antwort dazu war "ja"
Aber wie geht es nun weiter? So ganz blicke ich da in dem Kode nicht durch wie ich denn nun einen Wert mal abfrage.

furban

So wie ich das sehe sind die km200_Decrypt und km200_Encrypt noch nicht fertig
Ich habe das mal angefangen nach
http://stackoverflow.com/questions/20051412/php-mcrypt-perl-cryptcbc-generating-different-ciphertext
umzubauen, bin mir aber nicht sicher ob ich hier auf dem richtigen Weg bin.
Damit die dort vorhanden encode.pl und decode.pl auf meinem RaspberryPi laufen musste ich noch

cpanm Crypt::CBC.pm
apt-get install libssl-dev
cpanm Crypt::OpenSSL::AES

installieren.

Ich bin dann auch mal zwei Wochen im Urlaub.

Sailor

Hallo Furban

kannst Du deine letzte kommentierte Version in Forum stellen?

Danke und schoenen Urlaub!!!  8)

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