Autor Thema: Buderus KM200 Kommunikationsmodul  (Gelesen 402248 mal)

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #15 am: 29 Juli 2014, 09:15:28 »
Hi
mit Windows hat es funktionier, die Fehlermeldung kommt zwar auch aber im Logfile steht was drin
Zitat
2014.07.29 09:13:26 5: Cmd: >define km200T km200test 192.168.0.0<
2014.07.29 09:13:26 5: Loading ./FHEM/73_km200test.pm
2014.07.29 09:13:26 4: km200: Init HASH(0x3280ec8)
2014.07.29 09:13:26 3: km200_crypt_key_initial: ߳*GP���6���cS���П�/��ȟ�;��+
2014.07.29 09:13:26 3: km200_crypt_key_private: ߳*GP���6���cS�6+3�jҼ�����Ҫc

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

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1690
  • und es werden immer mehr...
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #16 am: 29 Juli 2014, 12:29:43 »
Prima,

somit wissen wir schon mal, dass nicht alle repositories in deiner nativen fhem Umgebung installiert sind.
Darf ich fragen auf welcher Basis du fhem betreibst? (Raspberry Pi, FritzBox, BBB, ...)

Bezüglich Passwort kommt jetzt der kompliziertere Teil: Kannst Du irgendwie aus dem PHP Skirpt die gleichnamigen Variablen ausgelesen kriegen?
Achtung: Gleiches GatewayPassWord und PrivatePassWord verwenden.

Mich interessiert nur, ob die trotz Steuerzeichen in etwa gleich aussehen.
Dann gehe ich vorsichtig von der Vermutung aus, dass die bisherige Routine funktioniert.

ToDo bzw. Blocking-Point List: 2014-07-29
1) Mcrypt-Repository von CPAN in Raspberry und ActivePerl einbinden.
2) Attribute aus der Initialize()-Funktion Variablen zuweisen - Wie macht man das
3) Rausfinden wie man ausstehende Repositories für "Digest::MD5 qw(md5 md5_hex md5_base64); base qw( Exporter ); MIME::Base64;" in Raspberry etc installiert.

Mann, ich fühl mich wie ein blutiger Anfänger... Wie damals als ich meinen ersten C64 geschenkt bekam.  ;D


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

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #17 am: 29 Juli 2014, 12:47:24 »
Hallo Sailor
mein FHEM läuft auf dem RaspberryPi.
Ich hab aber auch eine Test FHEM auf der Fritzbox und auf dem BBB.

Hi Hi C64 hatte ich damals auch.

Ich werde mal schauen ob ich was hinbekomme.

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

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1690
  • und es werden immer mehr...
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #18 am: 29 Juli 2014, 12:53:05 »
Ich hab aber auch eine Test FHEM auf der Fritzbox und auf dem BBB.

Donnerwetter! Die volle Breitseite!  :D

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

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #19 am: 29 Juli 2014, 13:11:50 »
Hi
auf de RasberryPi geht es jetzt nach einem kompletten Reboot auch.

2014.07.29 13:09:08 4: km200: Init HASH(0x14d24f8)
2014.07.29 13:09:08 3: km200_crypt_key_initial: ߳*GP���6���cS���П�/��ȟ�;��+
2014.07.29 13:09:08 3: km200_crypt_key_private: ߳*GP���6���cS�6+3�jҼ�����Ҫc

Wenn ich nicht ganz den Überblick verloren habe, laufen gerade 5 FHEM Instanzen in meinem Netzwerk. ;-)

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

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #20 am: 29 Juli 2014, 13:18:08 »
Hi
lass uns erstmal versuchen das Modul in FHEM einzubinden und dann Schritt für Schritt dran arbeiten.

Hast Du es schon mal geschafft das das Modul richtig eingebunden ist ohne Fehlermeldung Unknown module km200test  ?

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

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #21 am: 29 Juli 2014, 13:52:41 »
Hi
ich habe mal das Modul so angepasst das geladen wird.


# $Id: 73_km200test.pm 0001 2014-07-25 10:17:00Z sailor $
########################################################################################################################
#
#     73_km200test.pm
#     Creates the possibility to access the Buderus central heating system via
#     KM200 Communication module
#
#     Copyright by Sailor, Stefan M.
#     e-mail: Contat via http://forum.fhem.de
#
#     This file is part of fhem.
#
#     Fhem is free software: you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation, either version 2 of the License, or
#     (at your option) any later version.
#
#     Fhem is distributed in the hope that it will be useful,
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#     GNU General Public License for more details.
#
#     You should have received a copy of the GNU General Public License
#     along with fhem.  If not, see <http://www.gnu.org/licenses/>.
#
########################################################################################################################



###START###### Initialize module ##############################################################################START####
package main;

use strict;
use warnings;
use Blocking;
use Time::HiRes qw(gettimeofday sleep);
use HttpUtils;
use Digest::MD5 qw(md5 md5_hex md5_base64);
use base qw( Exporter );
use MIME::Base64;
#use Mcrypt;

#sub km200_Get($@);
sub km200_Define($$);
#sub km200_GetStatus($;$);
sub km200_Undefine($$);
#sub km200_GetIPS($);

my $Version = "V 1.0.0";
my $FW ="V 1.0.x";
my $SN ="123456";

my $Interval = "10";

sub
km200_Define($$)
{
    my ($hash, $def) = @_;
    my @a = split("[ \t][ \t]*", $def);
    my $name = $hash->{NAME};

$hash->{FirmWare} = $FW;
$hash->{Version} = $Version;
$hash->{SerialNr} = $SN;

$hash->{STATE}="define";
   
    Log3 $name, 4, "km200 : Define H $hash";
    Log3 $name, 4, "km200 : Define D $def";
    Log3 $name, 4, "km200 : Define A @a";

$attr{$name}{INTERVAL}="25";
$attr{$name}{room}="KM200";
$attr{$name}{disable}="0";
$attr{$name}{verbose}="3";

    my $address = $a[2];
    $name = $a[0];

    $hash->{helper}{ADDRESS} = $address;
    $hash->{helper}{NAME} = $name;
   
    $Interval = $attr{$name}{INTERVAL};
   
    Log3 $name, 4, "km200 : Define Adr $address";
    Log3 $name, 4, "km200 : Define Name $name";
    Log3 $name, 4, "km200 : Define Interval: $Interval";
       
    $hash->{helper}{INTERVAL}=$Interval;
   
    # start the status update timer

# RemoveInternalTimer($hash);
#    InternalTimer(gettimeofday()+5, "km200_GetStatus", $hash, 0);

  km200test_Initialize($hash);
 
  return undef;
}

#############################
sub
km200_Undefine($$)
{
  my($hash, $name) = @_;
   
   $name = $hash->{helper}{NAME};
 
   Log3 $name, 4, "km200: Undefine $name";

  # Stop the internal GetStatus-Loop and exit
  RemoveInternalTimer($hash);
  return undef;
}

sub
km200test_Initialize($)
{
  my ($hash) = @_;

# require "$attr{global}{modpath}/FHEM/HttpUtils.pm";
 
#  $hash->{GetFn}     = "km200_Get";
#  $hash->{SetFn}     = "km200_Set";
  $hash->{DefFn}     = "km200_Define";
  $hash->{UndefFn}   = "km200_Undefine";
 
#  $hash->{FirmWare} = 1;
#  $hash->{Version} = 0.1;
#  $hash->{SerialNr} = 123456;

  $hash->{STATE}="Init";

  my $name = $hash->{helper}{NAME};

  Log3 $name, 4, "km200: Init $hash";
     
  $hash->{AttrList}  = "km200GateLoginName km200GatePassword km200PrivatePassword km200GateIP do_not_notify:1,0 loglevel:0,1,2,3,4,5,6 INTERVAL disable:0,1 ".$readingFnAttributes;

  #$hash->{AttrList}  = "do_not_notify:1,0 loglevel:0,1,2,3,4,5,6 INTERVAL disable:0,1 ".$readingFnAttributes;
 
#  RemoveInternalTimer($hash);
#  InternalTimer(gettimeofday()+5, "km200_GetStatus", $hash, 0);

# To be changed to fhem module attributes
  # IP Adresse oder DNS-Hostname des KM200
  my $km200_gateway_host = "192.168.178.200";

  # Gerätepasswort. Achtung: Ohne Bindestriche und in ASCII!
  my $km200_gateway_password = "tjZvrnJicB8DpJyZ";

  # Eigenes Passwort wie in der App vergeben
  my $km200_private_password = "Hm4711";
# To be changed to fhem module attributes
   
###START###### Create the secret SALT of the MD5-Hash for AES-encoding #####################################START####
  my $Buderus_MD5Salt = pack(
    'c*',
    0x86, 0x78, 0x45, 0xe9, 0x7c, 0x4e, 0x29, 0xdc,
    0xe5, 0x22, 0xb9, 0xa7, 0xd3, 0xa3, 0xe0, 0x7b,
    0x15, 0x2b, 0xff, 0xad, 0xdd, 0xbe, 0xd7, 0xf5,
    0xff, 0xd8, 0x42, 0xe9, 0x89, 0x5a, 0xd1, 0xe4
  );
  ####END####### Create the secret SALT of the MD5-Hash for AES-encoding ######################################END#####

  ###START###### Create keys with MD5 ########################################################################START####
  # Copy Salt
  my $km200_crypt_md5_salt = $Buderus_MD5Salt;
 
  # First half of the key: MD5 of (km200GatePassword . Salt)
  my $key_1 = md5($km200_gateway_password . $km200_crypt_md5_salt); 
 
  # Second half of the key: - Initial: MD5 of ( Salt)
  my $key_2_initial = md5($km200_crypt_md5_salt);
 
  # Second half of the key: -  private: MD5 of ( Salt . km200PrivatePassword)
  my $key_2_private = md5($km200_crypt_md5_salt . $km200_private_password);
 
  # Create keys
  my $km200_crypt_key_initial = ($key_1 . $key_2_initial);
  my $km200_crypt_key_private = ($key_1 . $key_2_private);
  ####END####### Create keys with MD5 #########################################################################END#####
 
# For testing prupose only - To be deleted   
my $InitialKey = "km200_crypt_key_initial: " . $km200_crypt_key_initial;
my $PrivateKey = "km200_crypt_key_private: " . $km200_crypt_key_private;

Log 3, $InitialKey;
Log 3, $PrivateKey;

# For testing prupose only - To be deleted   

readingsBeginUpdate($hash);
readingsBulkUpdate( $hash, "InitialKey", $InitialKey );
readingsBulkUpdate( $hash, "PrivateKey", $PrivateKey );
readingsEndUpdate( $hash, 1 );

#readingsBulkUpdate( $hash, "CSV-Laenge", $valL );

}
####END####### Initialize module ###############################################################################END#####

###START####### More or less replicates the equivalent PHP function ###########################################START####
sub str_repeat
{
    my $string = shift;
    my $count = shift;
    return( ${string}x${count} );
}
####END######## More or less replicates the equivalent PHP function ############################################END#####


###START###### Subroutine Encrypt Data ########################################################################START####
#function km200_Encrypt( $encryptData )
#{
# # add PKCS #7 padding
# my $blocksize = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
# my $encrypt_padchar = $blocksize - ( strlen( $encryptData ) % $blocksize );
# $encryptData .= str_repeat( chr( $encrypt_padchar ), $encrypt_padchar );
#
# # encrypt
# return base64_encode(
# mcrypt_encrypt(
# MCRYPT_RIJNDAEL_128,
# km200_crypt_key_private,
# $encryptData,
# MCRYPT_MODE_ECB,
# ''
# )
# );
#}
####END####### Subroutine Encrypt Data #########################################################################END#####

1;


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

Offline Jens_B

  • Full Member
  • ***
  • Beiträge: 391
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #22 am: 29 Juli 2014, 13:53:09 »
Wenn das klappe würde, das  km200 über fhem zu nutzen... Das wäre ja super, die Buderus app kann einfach nix.
Leider bin ich nicht so bewandert in perl etc.
Mein Wunsch: Traum wäre, das km200 einfach als modul in fhem (welches bei mir auf einem raspberry läuft) tzu haben, wo ich einfache readings sehe, die ich über fhem Web anzeigen kann...
Oder Parameter einstellen kann.
Gruß
Jens
RaspberryPi 3 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Pilight
Fritz!Box 7590

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #23 am: 29 Juli 2014, 14:11:02 »
Hi
noch eine Kleinigkeit geändert


# $Id: 73_km200test.pm 0001 2014-07-25 10:17:00Z sailor $
########################################################################################################################
#
#     73_km200test.pm
#     Creates the possibility to access the Buderus central heating system via
#     KM200 Communication module
#
#     Copyright by Sailor, Stefan M.
#     e-mail: Contat via http://forum.fhem.de
#
#     This file is part of fhem.
#
#     Fhem is free software: you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation, either version 2 of the License, or
#     (at your option) any later version.
#
#     Fhem is distributed in the hope that it will be useful,
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#     GNU General Public License for more details.
#
#     You should have received a copy of the GNU General Public License
#     along with fhem.  If not, see <http://www.gnu.org/licenses/>.
#
########################################################################################################################



###START###### Initialize module ##############################################################################START####
package main;

use strict;
use warnings;
use Blocking;
use Time::HiRes qw(gettimeofday sleep);
use HttpUtils;
use Digest::MD5 qw(md5 md5_hex md5_base64);
use base qw( Exporter );
use MIME::Base64;
#use Mcrypt;

#sub km200_Get($@);
sub km200_Define($$);
#sub km200_GetStatus($;$);
sub km200_Undefine($$);
#sub km200_GetIPS($);

my $Version = "V 1.2.0";
my $FW ="V 1.0.x";
my $SN ="123456";

my $Interval = "10";

sub
km200_Define($$)
{
    my ($hash, $def) = @_;
    my @a = split("[ \t][ \t]*", $def);
    my $name = $hash->{NAME};

$hash->{FirmWare} = $FW;
$hash->{Version} = $Version;
$hash->{SerialNr} = $SN;

$hash->{STATE}="define";
   
    Log3 $name, 4, "km200 : Define H $hash";
    Log3 $name, 4, "km200 : Define D $def";
    Log3 $name, 4, "km200 : Define A @a";

$attr{$name}{INTERVAL}="25";
$attr{$name}{room}="KM200";
$attr{$name}{disable}="0";
$attr{$name}{verbose}="3";

    my $address = $a[2];
    $name = $a[0];

    $hash->{helper}{ADDRESS} = $address;
    $hash->{helper}{NAME} = $name;
   
    $Interval = $attr{$name}{INTERVAL};
   
    Log3 $name, 4, "km200 : Define Adr $address";
    Log3 $name, 4, "km200 : Define Name $name";
    Log3 $name, 4, "km200 : Define Interval: $Interval";
       
    $hash->{helper}{INTERVAL}=$Interval;

$attr{$name}{km200GateLoginName}="xxx";
$attr{$name}{km200GatePassword}="xxx";
$attr{$name}{km200PrivatePassword}="xxx";
$attr{$name}{km200GateIP}=$address;
   
    # start the status update timer

# RemoveInternalTimer($hash);
#    InternalTimer(gettimeofday()+5, "km200_GetStatus", $hash, 0);

# To be changed to fhem module attributes
  # IP Adresse oder DNS-Hostname des KM200
  my $km200_gateway_host = "192.168.178.200";

  # Gerätepasswort. Achtung: Ohne Bindestriche und in ASCII!
  my $km200_gateway_password = "tjZvrnJicB8DpJyZ";

  # Eigenes Passwort wie in der App vergeben
  my $km200_private_password = "Hm4711";
# To be changed to fhem module attributes
   
###START###### Create the secret SALT of the MD5-Hash for AES-encoding #####################################START####
  my $Buderus_MD5Salt = pack(
    'c*',
    0x86, 0x78, 0x45, 0xe9, 0x7c, 0x4e, 0x29, 0xdc,
    0xe5, 0x22, 0xb9, 0xa7, 0xd3, 0xa3, 0xe0, 0x7b,
    0x15, 0x2b, 0xff, 0xad, 0xdd, 0xbe, 0xd7, 0xf5,
    0xff, 0xd8, 0x42, 0xe9, 0x89, 0x5a, 0xd1, 0xe4
  );
  ####END####### Create the secret SALT of the MD5-Hash for AES-encoding ######################################END#####

  ###START###### Create keys with MD5 ########################################################################START####
  # Copy Salt
  my $km200_crypt_md5_salt = $Buderus_MD5Salt;
 
  # First half of the key: MD5 of (km200GatePassword . Salt)
  my $key_1 = md5($km200_gateway_password . $km200_crypt_md5_salt); 
 
  # Second half of the key: - Initial: MD5 of ( Salt)
  my $key_2_initial = md5($km200_crypt_md5_salt);
 
  # Second half of the key: -  private: MD5 of ( Salt . km200PrivatePassword)
  my $key_2_private = md5($km200_crypt_md5_salt . $km200_private_password);
 
  # Create keys
  my $km200_crypt_key_initial = ($key_1 . $key_2_initial);
  my $km200_crypt_key_private = ($key_1 . $key_2_private);
  ####END####### Create keys with MD5 #########################################################################END#####
 
# For testing prupose only - To be deleted   
my $InitialKey = "km200_crypt_key_initial: " . $km200_crypt_key_initial;
my $PrivateKey = "km200_crypt_key_private: " . $km200_crypt_key_private;

Log 3, $InitialKey;
Log 3, $PrivateKey;

# For testing prupose only - To be deleted   

readingsBeginUpdate($hash);
readingsBulkUpdate( $hash, "InitialKey", $InitialKey );
readingsBulkUpdate( $hash, "PrivateKey", $PrivateKey );
readingsEndUpdate( $hash, 1 );

#readingsBulkUpdate( $hash, "CSV-Laenge", $valL );

  #km200test_Initialize($hash);
 
  return undef;
}

#############################
sub
km200_Undefine($$)
{
  my($hash, $name) = @_;
   
   $name = $hash->{helper}{NAME};
 
   Log3 $name, 4, "km200: Undefine $name";

  # Stop the internal GetStatus-Loop and exit
  RemoveInternalTimer($hash);
  return undef;
}

sub
km200test_Initialize($)
{
  my ($hash) = @_;

# require "$attr{global}{modpath}/FHEM/HttpUtils.pm";
 
#  $hash->{GetFn}     = "km200_Get";
#  $hash->{SetFn}     = "km200_Set";
  $hash->{DefFn}     = "km200_Define";
  $hash->{UndefFn}   = "km200_Undefine";
 
#  $hash->{FirmWare} = 1;
#  $hash->{Version} = 0.1;
#  $hash->{SerialNr} = 123456;

  $hash->{STATE}="Init";

  my $name = $hash->{helper}{NAME};

  Log3 $name, 4, "km200: Init $hash";
     
  $hash->{AttrList}  = "km200GateLoginName km200GatePassword km200PrivatePassword km200GateIP do_not_notify:1,0 loglevel:0,1,2,3,4,5,6 INTERVAL disable:0,1 ".$readingFnAttributes;

  #$hash->{AttrList}  = "do_not_notify:1,0 loglevel:0,1,2,3,4,5,6 INTERVAL disable:0,1 ".$readingFnAttributes;
 
#  RemoveInternalTimer($hash);
#  InternalTimer(gettimeofday()+5, "km200_GetStatus", $hash, 0);


}
####END####### Initialize module ###############################################################################END#####

###START####### More or less replicates the equivalent PHP function ###########################################START####
sub str_repeat
{
    my $string = shift;
    my $count = shift;
    return( ${string}x${count} );
}
####END######## More or less replicates the equivalent PHP function ############################################END#####


###START###### Subroutine Encrypt Data ########################################################################START####
#function km200_Encrypt( $encryptData )
#{
# # add PKCS #7 padding
# my $blocksize = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
# my $encrypt_padchar = $blocksize - ( strlen( $encryptData ) % $blocksize );
# $encryptData .= str_repeat( chr( $encrypt_padchar ), $encrypt_padchar );
#
# # encrypt
# return base64_encode(
# mcrypt_encrypt(
# MCRYPT_RIJNDAEL_128,
# km200_crypt_key_private,
# $encryptData,
# MCRYPT_MODE_ECB,
# ''
# )
# );
#}
####END####### Subroutine Encrypt Data #########################################################################END#####

1;


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

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #24 am: 29 Juli 2014, 14:28:29 »
Hi
mit PHP kommen diese Key raus

Zitat
¾ÏôПÐ/ÖßÈŸ½
À¯+;¥6+3ÓjÒ¼“ßý¾ïÒªc

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

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
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

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1690
  • und es werden immer mehr...
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #26 am: 29 Juli 2014, 15:39:49 »
noch eine Kleinigkeit geändert


Bestätigt! Funktioniert jetzt auch mit Einbindung.

Danke für die Links, werde mir diese gleich mal durchlesen.

Bei den PHP Variablen hast Du die gleichen Passwörter wie in der Perl-Variante verwendet?

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

Offline Stefan M.

  • Full Member
  • ***
  • Beiträge: 262
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #27 am: 29 Juli 2014, 15:52:35 »
Ja es sind die gleichen Passwörter.

Wie kann ich MCrypt in Perl installieren (CPAn install MCrypt (Crypt::MCrypt) funktionier aber beim testen werden die Dateien nicht gefunden)

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

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1690
  • und es werden immer mehr...
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #28 am: 29 Juli 2014, 16:07:16 »
Ja es sind die gleichen Passwörter.


OK, das schiebe ich dann auf unterschiedliche Zeichensätze.
Warten wir es mal ab... Pas á Pas!


Wie kann ich MCrypt in Perl installieren (CPAn install MCrypt (Crypt::MCrypt) funktionier aber beim testen werden die Dateien nicht gefunden)

Genau das ist mein gegenwärtiges Problem!
Vermutlich muss zunächst das libmcrypt - Paket installiert werden
Ich versuche mich gerade einzulesen, bin aber zugegebenermaßen damit überfordert.



Habe mir gerade einen 2ten Rapberry bestellt um ausschließlich auf der finalen Zielumgebung zu entwicklen.


Gruss
    Sailor

PS: Habe Slash und Perseus mit in das Copyright aufgenommen, alles andere wäre nicht korrekt.
« Letzte Änderung: 05 August 2014, 09:57:15 von Sailor »
******************************
Man wird immer besser...

Offline Jens_B

  • Full Member
  • ***
  • Beiträge: 391
Antw:Buderus KM200 Kommunikationsmodul
« Antwort #29 am: 29 Juli 2014, 16:14:19 »
Wenn ich als Laie irgendwie was helfen testen kann... Meine Umgebung besteht aus eine raspi mit fhem und hmlan Adapter. Meine Heizungsanlage ist eine Buderus gb162 mit solarthermie. 4 Kollektoren
RaspberryPi 3 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Pilight
Fritz!Box 7590

 

decade-submarginal