FHEM Forum

FHEM - Anwendungen => Heizungssteuerung/Raumklima => Thema gestartet von: Sailor am 21 Juli 2014, 12:39:47

Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 21 Juli 2014, 12:39:47
Die neuste Version des km200 Moduls kommt seit dem 07.01.2015 per update-Befehl automatisch in das fhem-System geliefert.

Das zugehörige WIKI ist hier zu finden:
http://www.fhemwiki.de/wiki/Buderus_Web_Gateway#Aktivierung_und_Definition_in_FHEM (http://www.fhemwiki.de/wiki/Buderus_Web_Gateway#Aktivierung_und_Definition_in_FHEM Link)





Ein herzerfrischendes "Moin" vom hinterm-Deich vorweg

Ich habe eine Frage/Bitte an jene die der Programmiersprache Perl und PHP gleichermaßen mächtig sind.

Da sich meine Programmier - Kenntnisse nicht so weit erstrecken, ein eigenes Modul zu schreiben, brauche ich Eure Unterstützung.

Ich bin seit kurzem stolzer Besitzer einer nagelneuen Gasheizung von Buderus, welche das Kommunikationsmodul "Buderus KM200" als Schnittstelle zum Netz hat.
Dies funktioniert so weit auch recht gut mit der Buderus App "EasyControl", jedoch vermisse ich die Anbindung an fhem.

Die Kollegen von IP-SymCon haben diese Nuss offensichtlich für sich schon "geknackt": http://www.ip-symcon.de/forum/threads/25103-Buderus-Logamatic-Web-KM200 (http://www.ip-symcon.de/forum/threads/25103-Buderus-Logamatic-Web-KM200)

Der Code, den sie dafür verwenden lautet

// IP Adresse oder DNS-Hostname des KM200
define( "km200_gateway_host", '192.168.0.7', true );
// Achtung: Gerätepasswort ohne Bindestriche und in ASCII!
define( "km200_gateway_password", 'aaaBBBcccDDD', true );
// Achtung: Eigenes Passwort in ASCII!
define( "km200_private_password", '0000', true );
// Salt der MD5-Hashes zur AES-Schlüsselerzeugung
$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
);
define( "km200_crypt_md5_salt", $Buderus_MD5Salt, true );
// Erste Hälfte des Schlüssels: MD5 von ( Gerätepasswort . Salt )
$key_1 = md5( km200_gateway_password . km200_crypt_md5_salt, true );
// Zweite Hälfte des Schlüssels - initial: MD5 von ( Salt )
$key_2_initial = md5( km200_crypt_md5_salt, true );
// Zweite Hälfte des Schlüssels - privat: MD5 von ( Salt . privates Passwort )
$key_2_private = md5( km200_crypt_md5_salt . km200_private_password, true );
define( "km200_crypt_key_initial", $key_1 . $key_2_initial, true );
define( "km200_crypt_key_private", $key_1 . $key_2_private, true );

function km200_Encrypt( $encryptData )
{
// add PKCS #7 padding
$blocksize = mcrypt_get_block_size(
MCRYPT_RIJNDAEL_128,
MCRYPT_MODE_ECB
);
$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,
''
)
);
}

function km200_Decrypt( $decryptData )
{
$decrypt = (mcrypt_decrypt( MCRYPT_RIJNDAEL_128, km200_crypt_key_private, base64_decode($decryptData), MCRYPT_MODE_ECB, '' ) );
// remove zero padding
$decrypt = rtrim( $decrypt, "\x00" );
// remove PKCS #7 padding
$decrypt_len = strlen( $decrypt );
$decrypt_padchar = ord( $decrypt[ $decrypt_len - 1 ] );
for ( $i = 0; $i < $decrypt_padchar ; $i++ )
{
if ( $decrypt_padchar != ord( $decrypt[$decrypt_len - $i - 1] ) )
break;
}
if ( $i != $decrypt_padchar )
return $decrypt;
else
return substr(
$decrypt,
0,
$decrypt_len - $decrypt_padchar
);
}

function km200_GetData( $REST_URL )
{
$options = array(
'http' => array(
    'method' => "GET",
    'header' => "Accept: application/json\r\n" .
                "User-Agent: TeleHeater/2.2.3\r\n"
)
);
$context = stream_context_create( $options );
$content = @file_get_contents(
'http://' . km200_gateway_host . $REST_URL,
false,
$context
);
if ( false === $content )
return false;
return json_decode(
km200_Decrypt(
$content
)
);
}

function km200_SetData( $REST_URL, $Value )
{
$content = json_encode(
array(
"value" => $Value
)
);
$options = array(
'http' => array(
    'method' => "PUT",
    'header' => "Content-type: application/json\r\n" .
                "User-Agent: TeleHeater/2.2.3\r\n",
'content' => km200_Encrypt( $content )
)
);
$context = stream_context_create( $options );
@file_get_contents(
'http://' . km200_gateway_host . $REST_URL,
false,
$context
);
}
Refer: http://www.ip-symcon.de/forum/threads/25103-Buderus-Logamatic-Web-KM200?p=230031#post230031 (http://www.ip-symcon.de/forum/threads/25103-Buderus-Logamatic-Web-KM200?p=230031#post230031)

Scheinbar liegen alle Werte (Readings) in einer Art Verzeichnisstruktur: http://www.ip-symcon.de/wiki/Buderus_KM200 (http://www.ip-symcon.de/wiki/Buderus_KM200)


Da ich weder der dort verwendeten Programmiersprache (Ist es PHP?) mächtig bin, noch ausreichend Erfahrung in der Programmierung von fhem Modulen habe, meine Frage an die Community:
Hat Jemand Lust mich dabei zu unterstüzen (oder gar es zu übernehmen) ein fhem Modul für das Buderus KM200-Modul zu schreiben?  ::)

Kann doch schließlich nicht sein, dass uns die Mitbewerber etwas voraus haben, oder?  ;D

Vielen Dank für Eure Anregungen vorweg!

Beste Grüsse
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 21 Juli 2014, 16:51:39
Hallo zusammen
ich hab mir da was zusammengezimmert.

km200.php
<?php
// km200.php
// Buderus KM 200
// Slash, Perseus
// http://www.ip-symcon.de/forum/threads/25103-Buderus-Logamatic-Web-KM200
// V 1.3

// IP Adresse oder DNS-Hostname des KM200
define"km200_gateway_host"'192.168.0.xx'true );
// Gerätepasswort. Achtung: Ohne Bindestriche und in ASCII!
define"km200_gateway_password"'xxxxx'true );
// Eigenes Passwort wie in der App vergeben
define"km200_private_password"'xxx'true );
// Dreh- und Angelpunkt: Der geheime Salt der MD5-Hashes zur AES-Schlüsselerzeugung

$Buderus_MD5Salt pack(
    
"c*",
    
0x860x780x450xe90x7c0x4e0x290xdc,
    
0xe50x220xb90xa70xd30xa30xe00x7b,
    
0x150x2b0xff0xad0xdd0xbe0xd70xf5,
    
0xff0xd80x420xe90x890x5a0xd10xe4
);
define"km200_crypt_md5_salt"$Buderus_MD5Salttrue );
// Erste Hälfte des Schlüssels: MD5 von ( Gerätepasswort . Salt )
$key_1 md5km200_gateway_password km200_crypt_md5_salttrue );
// Zweite Hälfte des Schlüssels - initial: MD5 von ( Salt )
$key_2_initial md5km200_crypt_md5_salttrue );
// Zweite Hälfte des Schlüssels - privat: MD5 von ( Salt . privates Passwort )
$key_2_private md5km200_crypt_md5_salt km200_private_passwordtrue );
define"km200_crypt_key_initial"$key_1 $key_2_initialtrue );
define"km200_crypt_key_private"$key_1 $key_2_privatetrue );

function 
km200_Encrypt$encryptData )
{
// add PKCS #7 padding
$blocksize mcrypt_get_block_size(
MCRYPT_RIJNDAEL_128,
MCRYPT_MODE_ECB
);
$encrypt_padchar $blocksize - ( strlen$encryptData ) % $blocksize );
$encryptData .= str_repeatchr$encrypt_padchar ), $encrypt_padchar );
// encrypt
return base64_encode(
mcrypt_encrypt(
MCRYPT_RIJNDAEL_128,
km200_crypt_key_private,
$encryptData,
MCRYPT_MODE_ECB,
''
)
);
}

function 
km200_Decrypt$decryptData )
{
$decrypt = (mcrypt_decryptMCRYPT_RIJNDAEL_128km200_crypt_key_privatebase64_decode($decryptData), MCRYPT_MODE_ECB'' ) );
// remove zero padding
$decrypt rtrim$decrypt"\x00" );
// remove PKCS #7 padding
$decrypt_len strlen$decrypt );
$decrypt_padchar ord$decrypt$decrypt_len ] );
for ( $i 0$i $decrypt_padchar $i++ )
{
if ( $decrypt_padchar != ord$decrypt[$decrypt_len $i 1] ) )
break;
}
if ( $i != $decrypt_padchar )
return $decrypt;
else
return substr(
$decrypt,
0,
$decrypt_len $decrypt_padchar
);
}

function 
km200_GetData$REST_URL )
{
  
$options = array(
    
'http' => array(
      
'method' => "GET",
      
'header' => "Accept: application/json\r\n" .
                  
"User-Agent: TeleHeater/2.2.3\r\n"
    
)
  );
  
$context stream_context_create$options );
  return 
json_decode(
    
km200_Decrypt(
      
file_get_contents(
        
'http://' km200_gateway_host $REST_URL,
        
false,
        
$context
      
)
    ),
    
true //Achtung! Hier das true (und drüber das Komma) macht aus dem decodierten Objekt ein Array zur weiteren Bearbeitung)
  
);
}

#function km200_SetData( $REST_URL, $Value )
#{
# $content = json_encode(
# array(
# "value" => $Value
# )
# );
# $options = array(
# 'http' => array(
#     'method' => "PUT",
#      'header' => "Content-type: application/json\r\n" .
#                  "User-Agent: TeleHeater/2.2.3\r\n",
# 'content' => km200_Encrypt( $content )
# )
# );
# $context = stream_context_create( $options );
# @file_get_contents(
# 'http://' . km200_gateway_host . $REST_URL,
# false,
# $context
# );
#} 
 
// Beispielaufruf
#$REST_Service = '/system';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/system/sensors/temperatures/outdoor_t1';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/system/sensors/temperatures/hotWater_t2';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/system/sensors/temperatures/supply_t1';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/system/sensors/temperatures/return';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/system/sensors/temperatures/switch';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/system/sensors/temperatures/chimney';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/heatingCircuits/hc1/status';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/heatSources';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/heatSources/systemPressure';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );


#$REST_Service = '/heatingCircuits/hc1/roomtemperature';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/gateway/versionFirmware';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#$REST_Service = '/gateway/versionHardware';
#$json = km200_GetData( $REST_Service );
#echo "Service: " . $REST_Service . "\n";
#var_dump( $json );

#hier werden die nicht benötigten Variablen auskommentiert.

$REST_services = array(
#"/system/sensors/temperatures/outdoor_t1",
#"/system/sensors/temperatures/hotWater_t2",
#"/heatingCircuits/hc1/roomtemperature",
#"/heatSources/systemPressure",
#"/heatingCircuits/hc1/status",

"/system/brand",
#"/system/systemType",
#"/system/bus",
#"/gateway/uuid",
"/gateway/DateTime",
"/gateway/versionFirmware",
#"/gateway/versionHardware",
"/gateway/instAccess",

#"/heatingCircuits",
#"/heatingCircuits/hc1",
#"/heatingCircuits/hc1/currentRoomSetpoint",
#"/heatingCircuits/hc1/actualSupplyTemperature",
"/heatingCircuits/hc1/operationMode",
#"/heatingCircuits/hc1/temperatureRoomSetpoint",
#"/heatingCircuits/hc1/manualRoomSetpoint",
#"/heatingCircuits/hc1/temporaryRoomSetpoint",
"/heatingCircuits/hc1/roomtemperature",
##"/heatingCircuits/hc1/activeSwitchProgram",
#"/heatingCircuits/hc1/switchPrograms",
#"/heatingCircuits/hc1/temperatureLevels",
#"/heatingCircuits/hc1/pumpModulation",
#"/heatingCircuits/hc1/suWiThreshold",
#"/heatingCircuits/hc1/designTemp",
#"/heatingCircuits/hc1/heatCurveMin",
#"/heatingCircuits/hc1/roomTempOffset",
#"/heatingCircuits/hc1/heatCurveMax",
#"/heatingCircuits/hc1/controlType",
#"/heatingCircuits/hc1/solarInfluence",
#"/heatingCircuits/hc1/roomInfluence",
#"/heatingCircuits/hc1/fastHeatupFactor",
#"/heatingCircuits/hc1/setpointOptimization",
#"/heatingCircuits/hc1/suWiSwitchMode",
#"/heatingCircuits/hc1/currentOpModeInfo",
"/heatingCircuits/hc1/status",

#"/solarCircuits",
"/solarCircuits/sc1/status",
"/solarCircuits/sc1/solarYield",
"/solarCircuits/sc1/collectorTemperature",
"/solarCircuits/sc1/pumpModulation",


#"/recordings",
#"/recordings/system",
#"/recordings/system/sensors",
#"/recordings/system/sensors/temperatures",
#"/recordings/system/sensors/temperatures/outdoor_t1",
#"/recordings/system/heatSources",
#"/recordings/system/heatSources/hs1",
#"/recordings/system/heatSources/hs1/actualPower",

#"/recordings/heatSources",
#"/recordings/heatSources/actualPower",
#"/recordings/heatSources/actualCHPower",
#"/recordings/heatSources/actualDHWPower",

#"/recordings/heatingCircuits",
#"/recordings/heatingCircuits/hc1",
#"/recordings/heatingCircuits/hc1/roomtemperature",

#"/heatSources",
"/heatSources/actualPower",
"/heatSources/actualCHPower",
"/heatSources/actualDHWPower",
"/heatSources/flameStatus",
"/heatSources/CHpumpModulation",
##"/heatSources/actualsupplytemperature",
##"/heatSources/powerSetpoint",
"/heatSources/gasAirPressure",
"/heatSources/systemPressure",
#"/heatSources/flameCurrent",
#"/heatSources/ChimneySweeper",
##"/heatSources/powerSetpoint",
"/heatSources/returnTemperature",
"/heatSources/systemPressure",
##"/heatSources/numberOfStarts",
##"/heatSources/nominalCHPower",
##"/heatSources/nominalDHWPower",
#"/heatSources/workingTime",

#"/notifications",

#"/system",

#"/system/info",
#"/system/minOutdoorTemp",
"/system/healthStatus",
#"/system/sensors",
#"/system/sensors/temperatures",
"/system/sensors/temperatures/outdoor_t1",
##"/system/sensors/temperatures/supply_t1_setpoint",
"/system/sensors/temperatures/supply_t1",
"/system/sensors/temperatures/hotWater_t1",
"/system/sensors/temperatures/hotWater_t2",
"/system/sensors/temperatures/return",
#"/system/sensors/temperatures/switch",
#"/system/sensors/temperatures/chimney",
#"/system/appliance",
#"/system/appliance/actualSupplyTemperature",
##"/system/appliance/powerSetpoint",
##"/system/appliance/actualPower",
##"/system/appliance/CHpumpModulation",
"/system/appliance/numberOfStarts",
##"/system/appliance/gasAirPressure",
##"/system/appliance/systemPressure",
##"/system/appliance/flameCurrent",
##"/system/appliance/ChimneySweeper",
##"/system/appliance/workingTime",
##"/system/appliance/nominalBurnerLoad",
#"/system/heatSources/hs1",
#"/system/heatSources/hs1/energyReservoir",
#"/system/heatSources/hs1/reservoirAlert",
#"/system/heatSources/hs1/nominalFuelConsumption",
#"/system/heatSources/hs1/fuelConsmptCorrFactor",
#"/system/heatSources/hs1/actualModulation",
#"/system/heatSources/hs1/actualPower",
#"/system/heatSources/hs1/fuel",
#"/system/heatSources/hs1/fuel/density",
#"/system/brand",
#"/gateway/versionFirmware",
#"/gateway/versionHardware"
);

//durch alle Services gehen, mit Wert und Einheit rausschreiben
foreach ($REST_services as $service) {
         
$json km200_GetData$service );

#         echo "<tr>
#                 <td>$service</td><td>";

echo $json["id"];
echo ";";
#  
                 
if(array_key_exists ("value"$json ))
 {
                         echo 
$json["value"];
 echo ";";
                 }
 else
 {
echo "x;";  
 }
#                 if(array_key_exists ("unitOfMeasure", $json ))
#  {
#                         echo $json["unitOfMeasure"];
#                 }
#  echo" \n ";
#         echo "</td>
#              </tr>";

}
?>


diese PHP Datei liegt auf meinem QNAP-Webserver kann aber auf jedem Webserver liegen.

Aufruf
http://192.168.0.180/km200/km200.php

Ergebnis
Zitat
/system/brand;Buderus;/gateway/DateTime;2014-07-21T16:20:59;/gateway/versionFirmware;01.09.04;/gateway/instAccess;off;/heatingCircuits/hc1/operationMode;auto;/heatingCircuits/hc1/roomtemperature;27.6;/heatingCircuits/hc1/status;ACTIVE;/solarCircuits/sc1/status;ACTIVE;/solarCircuits/sc1/solarYield;0;/solarCircuits/sc1/collectorTemperature;50.4;/solarCircuits/sc1/pumpModulation;0;/heatSources/actualPower;0;/heatSources/actualCHPower;0;/heatSources/actualDHWPower;0;/heatSources/flameStatus;off;/heatSources/CHpumpModulation;0;/heatSources/gasAirPressure;0;/heatSources/systemPressure;25.5;/heatSources/returnTemperature;44.7;/heatSources/systemPressure;25.5;/system/healthStatus;ok;/system/sensors/temperatures/outdoor_t1;25.7;/system/sensors/temperatures/supply_t1;51.4;/system/sensors/temperatures/hotWater_t1;55.8;/system/sensors/temperatures/hotWater_t2;51;/system/sensors/temperatures/return;44.7;/system/appliance/numberOfStarts;37849;

Dann habe ich mir ein FMEM Modul aus Beispielen zusammengesucht

71.km200.pm
# $Id: 71_KM200.pm
##############################################################################
#
#     71_km200.pm
#
#     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/>.
#
##############################################################################

package main;

use strict;
use warnings;
use Time::HiRes qw(gettimeofday sleep);
use HttpUtils;
 
sub km200_Get($@);
sub km200_Define($$);
sub km200_GetStatus($;$);
sub km200_Undefine($$);
sub km200_GetIPS($);

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

my $Interval = "10";



###################################
sub
km200_Initialize($)
{
  my ($hash) = @_;

  $hash->{GetFn}     = "km200_Get";
  $hash->{SetFn}     = "km200_Set";
  $hash->{DefFn}     = "km200_Define";
  $hash->{UndefFn}   = "km200_Undefine";

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

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

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

 Log3 $name, 4, "km200: Init $hash";
     
 $hash->{AttrList}  = "do_not_notify:1,0 loglevel:0,1,2,3,4,5,6 INTERVAL disable:0,1 Div1 Div2 Div3 Description1 Description2 Description3 WebSeite:0,1 Webserver IPSDev:89,91,14,23 ".$readingFnAttributes;
 
 RemoveInternalTimer($hash);
 InternalTimer(gettimeofday()+5, "km200_GetStatus", $hash, 0);

}

###################################
sub
km200_GetStatus($;$)
{
    my ($hash, $local) = @_;
   
    my $name = $hash->{helper}{NAME};
       
    $local = 0 unless(defined($local));

    return "" if(!defined($hash->{helper}{ADDRESS}) or !defined($hash->{helper}{INTERVAL}));

    my $device = $hash->{helper}{ADDRESS};
   
    my $Int = $hash->{helper}{INTERVAL};
    my $now = localtime(time);
   
    #my $Interval = $hash->{INTERVAL};
   
    $Interval = $attr{$name}{INTERVAL};
   
    my $disable = $attr{$name}{disable};
   
    my $NextI = gettimeofday() + $Interval;
    my $NextIT = localtime($NextI);
   
    #Log3 $name, 4, "km200: GetStatus $device $hash $name $local $Int $Interval $now";
    #Log3 $name, 4, "km200: GetStatus $NextI $NextIT";

    #Log3 $name, 4, "km200 GetStatus Int: $Int";
   Log3 $name, 4, "km200 GetStatus Interval: $Interval";
   Log3 $name, 4, "km200 GetStatus Disable: $disable";
   
readingsSingleUpdate($hash, "state", "OK", 1);

RemoveInternalTimer($hash);
InternalTimer($NextI, "km200_GetStatus", $hash, 0) unless($local == 1);
   
    readingsBeginUpdate($hash); 
    readingsBulkUpdate($hash, "last", $now);
    readingsBulkUpdate($hash, "next", $NextIT);     
    readingsEndUpdate($hash, 1);
       
    Log3 $name, 4, "km200 GetStatus $name: ".$hash->{STATE};

    if ($disable == 0)
   
    {
    km200_GetIPS($hash);
    $hash->{STATE}="OK $now";
    }
    else
    {
    $hash->{STATE}="Disabled";
    }
   
    Log3 $name, 4, "km200 GetStatus $name: ".$hash->{STATE};
   
    return $hash->{STATE};
}

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

}


###################################
sub
km200_Set($@)
{
    my ($hash, @a) = @_;
   
    my $name = $hash->{helper}{NAME};
    my $address = $hash->{helper}{ADDRESS};
    my $Int = $hash->{helper}{INTERVAL};
       
    $Interval = $attr{$name}{INTERVAL};
   
    Log3 $name, 4, "km200: Set $address $name $Interval";
#    Log3 $name, 4, "km200: Set Int : $Int";
#    Log3 $name, 4, "km200: Set Interval: $Interval";

# $hash->{STATE}="set";

}


#############################
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}{Div1}="1";
# $attr{$name}{Div2}="1";
# $attr{$name}{Div3}="1";

# $attr{$name}{Description1}="Descr 1";
# $attr{$name}{Description2}="Descr 2";
# $attr{$name}{Description3}="Descr 3";

# $attr{$name}{WebServer}="192.168.0.180";
# $attr{$name}{WebSeite}="1";
# $attr{$name}{IPSDev}="89";


    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;
   
#    unless(exists($hash->{helper}{AVAILABLE}) and ($hash->{helper}{AVAILABLE} == 0))
#    {
#    $hash->{helper}{AVAILABLE} = 1;
#    readingsSingleUpdate($hash, "presence", "present", 1);
#    }

    # start the status update timer

RemoveInternalTimer($hash);
    InternalTimer(gettimeofday()+5, "km200_GetStatus", $hash, 0);
 
  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 km200_GetIPS($)
{
my($hash, $name) = @_;

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

my $dev = $hash->{helper}{ADDRESS};

Log3 $name, 4, "Getkm200 $hash $name $dev";

# km200itch csv m2-0Ev,0,0,0,0,0,0,0,0,33.4,-99,0.0,0,0,0,0, 153506, 2726200, 6211815, 0,4,795, ,,, ,,, ,,, ,,, ,,,IPs01,,,<br>th 10-10-13 13:13:48.090
# /system/brand;Buderus;/system/systemType;CoreIcomGw;/system/bus;EMS1_0;/gateway/uuid;109010275;/gateway/DateTime;2014-07-14T14:36:55;/gateway/versionFirmware;01.09.04;/gateway/versionHardware;iCom_Low_v1;/gateway/instAccess;off;/heatingCircuits/hc1/operationMode;auto;/heatingCircuits/hc1/temperatureRoomSetpoint;0;/heatingCircuits/hc1/roomtemperature;24.4;/heatingCircuits/hc1/status;ACTIVE;/heatSources/flameStatus;off;/heatSources/gasAirPressure;0;/heatSources/systemPressure;25.5;;/heatSources/returnTemperature;49.9;/heatSources/systemPressure;25.5;/system/healthStatus;ok;/system/sensors/temperatures/outdoor_t1;19.7;/system/sensors/temperatures/supply_t1;50.1;/system/sensors/temperatures/hotWater_t2;54.3;/system/sensors/temperatures/return;49.9;/system/sensors/temperatures/switch;-3276.8;/system/sensors/temperatures/chimney;-3276.8;

Log3 $name, 5, "Def: " . $dev;

my $url = $dev."/km200.php";
Log3 $name, 5, "km200CSV URL: " . $url;

  my $val = GetHttpFile ($url,'');
  Log3 $name, 5, "km200CSV org: " . $val;
my $valL= length($val);
Log3 $name, 5, "Laenge: " . $valL;

readingsBeginUpdate($hash);
readingsBulkUpdate( $hash, "URL", $url );
#readingsBulkUpdate( $hash, "CSV", $val );
readingsBulkUpdate( $hash, "CSV-Laenge", $valL );
readingsEndUpdate( $hash, 1 );

if ($valL ==0)

{

$hash->{STATE}="Error";
readingsSingleUpdate($hash, "state", "Error", 1);

}

else
{   
#$val=substr($val,0,$valI);
#Log3 $name, 5, "km200CSV sub: " . $val;

my $valL= length($val);
Log3 $name, 5, "Laenge: " . $valL;
Log3 $name, 5, "km200CSV: " . $val;

my @var = split(/;/, $val);


Log3 $name, 5, "km200CSV var".@var[0]." ".@var[1]." ".@var[2];


Log3 $name, 5, "km200Felder: " . @var[0];

my $var = "";

for (my $i =0 ; $i <= 100; $i++)

{
#Log3 $name, 5, "ForCnt : " . $i;

$var=@var[$i];
Log3 $name, 5, "km200Feld $i : " . $var;

}

readingsBeginUpdate($hash);
readingsBulkUpdate( $hash, @var[0], @var[1] );
readingsBulkUpdate( $hash, @var[2], @var[3] );
readingsBulkUpdate( $hash, @var[4], @var[5] );
readingsBulkUpdate( $hash, @var[6], @var[7] );
readingsBulkUpdate( $hash, @var[8], @var[9] );
readingsBulkUpdate( $hash, @var[10], @var[11] );
readingsBulkUpdate( $hash, @var[12], @var[13] );
readingsBulkUpdate( $hash, @var[14], @var[15] );
readingsBulkUpdate( $hash, @var[16], @var[17] );
readingsBulkUpdate( $hash, @var[18], @var[19] );
readingsBulkUpdate( $hash, @var[20], @var[21] );
readingsBulkUpdate( $hash, @var[22], @var[23] );
readingsBulkUpdate( $hash, @var[24], @var[25] );
readingsBulkUpdate( $hash, @var[26], @var[27] );
readingsBulkUpdate( $hash, @var[28], @var[29] );
readingsBulkUpdate( $hash, @var[30], @var[31] );
readingsBulkUpdate( $hash, @var[32], @var[33] );
readingsBulkUpdate( $hash, @var[34], @var[35] );
readingsBulkUpdate( $hash, @var[36], @var[37] );
readingsBulkUpdate( $hash, @var[38], @var[39] );
readingsBulkUpdate( $hash, @var[40], @var[41] );
readingsBulkUpdate( $hash, @var[42], @var[43] );
readingsBulkUpdate( $hash, @var[44], @var[45] );
readingsBulkUpdate( $hash, @var[46], @var[47] );
readingsBulkUpdate( $hash, @var[48], @var[49] );
readingsBulkUpdate( $hash, @var[50], @var[51] );
readingsBulkUpdate( $hash, @var[52], @var[53] );
readingsBulkUpdate( $hash, @var[54], @var[55] );
readingsBulkUpdate( $hash, @var[56], @var[57] );
readingsBulkUpdate( $hash, @var[58], @var[59] );
readingsBulkUpdate( $hash, @var[60], @var[61] );
readingsBulkUpdate( $hash, @var[62], @var[63] );
readingsBulkUpdate( $hash, @var[64], @var[65] );
readingsBulkUpdate( $hash, @var[66], @var[67] );
readingsBulkUpdate( $hash, @var[68], @var[69] );

readingsEndUpdate( $hash, 1 );

#$hash->{FirmWare} = @var[9];

# $hash->{READINGS}{$key}{TIME} = $tn;
# $hash->{READINGS}{$key}{VAL}  = $val;
# DoTrigger( $name, "$key: $val" );


my $WS=0;
my $WebServer="192.168.0.180";
my $IPSDev="91";

$WS = $attr{$name}{WebSeite};
$WebServer = $attr{$name}{WebServer};
$IPSDev = $attr{$name}{IPSDev};

Log3 $name, 5, "Erweiterung : " . $WS ." ". $WebServer ." " . $IPSDev ;

}

}

1;

=pod
=begin html

<a name="km200"></a>
<h3>IP-Switch</h3>
<ul>
<a name="IP-Switchdefine"></a> <b>Define</b>
</ul>



=end html

=begin html_DE

<a name="km200"></a>
<h3>km200</h3>
<ul>
<a name="km200define"></a> <b>Definition</b>
<ul>
<code>define &lt;name&gt; km200 &lt;IP-Addresse&gt; [&lt;Zone&gt;]
[&lt;Status_Interval&gt;]</code> <br>
<br>
Modul zur Abfrage eines IP-Switch von http://www.sms-guard.org/ <br>
<br>
Beispiel:<br>
<br>
<ul>
<code> define mykm200_1 km200 192.168.0.10<br>
<br>
attr mykm200_1 </code>
</ul>
<br>
<br>
</ul>
<a name="km200get"></a> <b>Get-Kommandos</b>
<ul>
<code>get &lt;Name&gt; &lt;Parameter&gt;</code> <br>
<br>
Aktuell stehen folgende Parameter zur Verfügung welche den aktuellen
Status des Receivers zurück geben.<br>
<br>
<ul>
<li><code>power</code> - Betriebszustand des Receiveres/Zone (on
oder off)</li>
<li><code>presence</code> - Empfangsbereitschaft des Receivers
(absent oder present)</li>
<li><code>input</code> - Gewählter Eingang</li>
<li><code>inputName</code> - Bezeichnung des gewählten Einganges
wie im Display des Receivers</li>
<li><code>mute</code> - Lautlos an oder aus (on oder off)</li>
<li><code>volume</code> - Lautstärkepegel in %</li>
<li><code>volumeStraight</code> - Lautstärkepegel in dB</li>
</ul>
</ul>
<br>
<a name="km200attr"></a> <b>Attribute</b>
<ul>
<li><a href="#do_not_notify">do_not_notify</a></li>
<br>
<li><a name="volume-smooth-change">disable</a></li>
Stopen der <br>
<br>
Mögliche Werte: 0 =&gt; deaktiviert , 1 =&gt; aktiviert<br>
<br>
<li><a name="volume-smooth-steps">INTERVAL</a></li>
In welchem Zeitinterval (sec) abgefragt wird <br>
</ul>
<b><br>
Generierte Readings/Events:</b><br>
<ul>
<li><b>CSV </b></li>
- Der CSV String
<li><b>CSV-Laenge</b> - Länge des Strings</li>
<li><b>Name</b> - Name des Gerätes</li>
<li><b>iSo1</b> - </li>
<li><b>iSo1x</b> - </li>
<li><b>iSo2</b> - </li>
<li><b>iSo2x</b> - </li>
<li><b>iSo3</b> - </li>
<li><b>iSo3x</b> - </li>
<li><b>iTe</b> - </li>
<li><b>iTi</b> - </li>
<li><b>last</b> - </li>
<li><b>next</b> - </li>
<li><b>state </b> - </li>
</ul>
<b> </b> <b> <br>
<br>
</b>
</ul>
=end html_DE

=cut


Dieses Modul muss im Verzeichnis ../fhem/FHEM liegen.

Aufruf mit
reload 71_km200
define myKM200 km200 192.168.0.180/km200

Ist zwar nicht schön programmiert aber funktioniert.

Wenn jemand bessere Ideen hat nur her damit.
Die beiden Dateien hänge ich mit dran.

LG
Stefan


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 22 Juli 2014, 12:49:19
Hallo Stefan


das sieht ja schon mal gar nicht schlecht aus.

Jetzt müesste man nur noch den php-Teil mit in die .pm Datei bekommen und schon hätte man es etwas homogener.  8)

Frage: Was macht eigentlich der Webseiten-Teil ganz am Ende des Scriptes. Kann man dort die Einstellungen vornehmen. Und wenn ja, wie ruft man diese auf?  :o

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 22 Juli 2014, 12:53:51
Hi
der Webseiten-Teil  macht eigentlich gar nichts, der ist noch Übrig von einem vorherigen Modul, hab ich vergessen raus zu nehmen.
das werde ich mal bereinigen.

lg
Stefan

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 22 Juli 2014, 13:27:39
Hallo zusammen, der PHP Teil sollte auf einem Webserver liegen? Wenn man sowas nun nicht hat. Kann man das direkt in fhem bringen? Fhem hat doch auch soweit ich es verstehe einen eigenen webserverteil?
Gruß
Jens


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 22 Juli 2014, 21:37:40
Moin zusammen

Ich versuche mal Jemanden zu finden, der den PHP Teil in Perl umschreiben kann.
Das kann ja schliesslich kein Ding der Unmoeglichkeit sein.  :-\

Wenn Ihr Jemanden kennt, der beide Sprachen beherrscht, dann immer nur her damit.
Ich moechte naemlich auch keinen extra Webserver dafuer einrichten muessen.  ;)

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Puschel74 am 23 Juli 2014, 16:48:11
Hallo,

@Sailor
Keine Angst, ich verfolge auch Beiträge die nicht im Anfängerbereich angesiedelt sind  ;)
Aber für dieses Vorhaben bin ich auf alle Fälle der gänzlich falscheste da ich weder Perl noch PHP beherrsche.
Tut mir leid das ich euch hierbei nicht weiterhelfen kann.

Grüße
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 23 Juli 2014, 19:57:07
Schade, Schade  :'(

Hast auch keine Idee wer so etwas koennte, oder?

Gruss
    Sailor

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 25 Juli 2014, 15:13:19
Hallo Stefan


habe jetzt einfach mal angefangen das PHP modul in ein fhem-Modul umzuschreiben...

Kannst Du bitte mal überprüfen ob mit deinem aktiven PHP file die gleichen MD5 Schlüssel rauskommen:.

Diese werden ins Log File geschrieben:
2014.07.25 15:01:33 3: km200_crypt_key_initial:
2014.07.25 15:01:33 3: km200_crypt_key_private:

Die Namen der Variablen sind im PHP modul identisch. Ich habe aber keine Ahnung wie du diese explizit sichtbar machen kannst.

Mein Modul bezieht sich auf folgende Werte:
  # Gateway Passwort as printed on the label of the KM200. Without hyphen "-" and in ASCII!
  my $km200_gateway_password = "tjZvrnJicB8DpJyZ";

  # Private Password as defined in the "Buderus - EasyControl" - App
  my $km200_private_password = "Hm4711";


# $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($);



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 Div1 Div2 Div3 Description1 Description2 Description3 WebSeite:0,1 Webserver IPSDev:89,91,14,23 ".$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   

}
####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;



Folgende Probleme stellen zur Zeit eine Blockade dar:
a) Wie bekomme ich die Werte der Attribut-$hashs ausgelesen???  >:(
b) Ich bin auf der Suche nach dem "MyCrypt" package für "ActivePerl" und dem debian linux (Raspberry Pi)  :o

Wenn Jemand Abhilfe weiss, dann nur her damit...
 
Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 26 Juli 2014, 10:52:49
Hi
kannst Du mir bitte genauer erklären was ich testen soll.

Ich kann Dein Modul bei mir nicht in FHEM einbinden. Ich bekomme immer Unknown module km200test, obwohl das Modul vorhanden ist.

lg
Stefan
 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Puschel74 am 27 Juli 2014, 11:27:46
Hallo,

hast du auch ein
reload km200testeingegeben?

Grüße
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 27 Juli 2014, 13:51:21
Ja habe ich.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 27 Juli 2014, 18:16:37
Hallo Stefan

Ein reload sollte ausreichen um die besagten Einträge im fhem log zu erzeugen.

Ich schau mir das morgen mal An und werde berichten...


Matthias


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 27 Juli 2014, 19:28:52
Hi
bisher hatte ich auch noch nie ein Problem Module einzubinden, aber mit diesem will es einfach nicht funktionieren.
Ich werde es morgen nochmal versuchen.

lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 28 Juli 2014, 10:08:57
Hallo Stefan

Also ich führe fhem zur Entwicklung in einer Windows Umgebung mit ActivePerl aus.

Ich vermute, dass die Repositories in Deiner perl Umgebung (Raspberry, Fritzbox?) noch nicht installiert sind.
use Digest::MD5 qw(md5 md5_hex md5_base64);
use base qw( Exporter );
use MIME::Base64;

Da ich kein Linux Experte bin (In fact Ich habe gerade mal fundiertes Halbwissen) weiss ich nicht, mit welchem Befehl man sich die bereits installierten Pakete anzeigen lassen kann.

Du kannst ja mal versuchen eine Windows fhem-Test-Umgbung zu installieren: http://www.fhemwiki.de/wiki/Windows_-_FHEM_installieren (http://www.fhemwiki.de/wiki/Windows_-_FHEM_installieren)

Wobei ich sagen muss, dass ich einfach nur ActivePerl installiert habe und das fhem Paket  http://fhem.de/fhem-5.5.tar.gz (http://fhem.de/fhem-5.5.tar.gz) einfach in das Perl-Verzeichnis reinkopiert habe.
Dann einfach „perl fhem.pl fhem.cfg“ eingeben und schon hast Du eine lokale Test-Umgebung unter   http://localhost:8083/fhem (http://localhost:8083/fhem)


Mein Stand der Entwicklung:
Aufgrund der besagten Wissenslücken, hadere ich zur Zeit mit dem Problem sowohl unter dem Raspberry als auch unter dem ActivePerl das CPAN-Paket "Mcrypt" http://search.cpan.org/~fkuo/MCrypt-0.92/MCrypt.pm (http://search.cpan.org/~fkuo/MCrypt-0.92/MCrypt.pm) zu installieren.

Ich habe es unter dem Raspberry mit CPAN Minusversucht, aber es bricht mit einer Fehlermeldung ab: http://www.raspberrypi.org/forums/viewtopic.php?f=34&t=13410 (http://www.raspberrypi.org/forums/viewtopic.php?f=34&t=13410)
Unter ActivePerl komme ich gar nicht weiter... :'(


An diesem Problem beisse ich mir zur Zeit die Zähne aus und trägt nicht gerade zur Motivation bei!  >:(


Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. 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

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor 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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. 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

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor 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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. 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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. 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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. 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;


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B 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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. 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;


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 29 Juli 2014, 14:28:29
Hi
mit PHP kommen diese Key raus

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

lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 29 Juli 2014, 14:47:47
Hi diese Artikel könnte von Interesse sein wenn wir soweit sind.

http://stackoverflow.com/questions/20051412/php-mcrypt-perl-cryptcbc-generating-different-ciphertext
http://stackoverflow.com/questions/2608234/encrypting-with-perl-cbc-and-decrypting-with-php-mcrypt

lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor 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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. 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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor 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.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B 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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 29 Juli 2014, 16:37:34
Hi Jens
ein KM200 oder KM50 brauchst Du aber auch dazu.

lg
Stefan
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 29 Juli 2014, 17:04:36
Ja den hab ich auch(KM200)... Der Post war eigentlich nicht fertig... Aber da hatte ich schon versehentlich senden gedrückt...;)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 29 Juli 2014, 19:03:40
Hi zusammen
bei mir schaut die Fehlermeldung jetzt so aus.

wenn ich

use MCrypt; im Modul verwende

Zitat
Can't locate loadable object for module Crypt::MCrypt in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/73_km200test.pm line 42
Compilation failed in require at ./FHEM/73_km200test.pm line 42.
BEGIN failed--compilation aborted at ./FHEM/73_km200test.pm line 42.

Vor dem manuellen kopieren der MCrypt.pm kam diese Fehlermeldung

Zitat
Can't locate Mcrypt.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/73_km200test.pm line 42.
BEGIN failed--compilation aborted at ./FHEM/73_km200test.pm line 42.



lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 29 Juli 2014, 19:41:30
Wie kann ich MCrypt in Perl installieren (CPAn install MCrypt (Crypt::MCrypt) funktionier aber beim testen werden die Dateien nicht gefunden)

So, ein Problem weniger:

Erstens: sudo apt-get install libmcrypt4 libmcrypt-devZweitens sudo cpanm Mcrypt
Getestet auf Raspberry Pi

Hasta la vista Baby!
 ;D
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 29 Juli 2014, 21:28:47
Hi
die MCrypt Installation ist bei mir leider bei keinem meiner Rasperry's und auf Windows nicht erfolgreich.

lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 Juli 2014, 08:07:04
Nanu,  :o

mgst Du mir die Fehlermeldung posten?

Danke

Matthias
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 30 Juli 2014, 08:51:58
Hi
hier meine Logs

Raspberry_16
Zitat
i@RaspBerrzPi-17 /home/perl-Crypt-MCrypt/lib/Crypt $ sudo cpan Mcrypt
Going to read '/root/.cpan/Metadata'
  Database was generated on Mon, 28 Jul 2014 21:41:02 GMT
Running install for module 'Mcrypt'
Running make for J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz
Checksum for /root/.cpan/sources/authors/id/J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz ok

  CPAN.pm: Going to build J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz

Writing Makefile for Mcrypt
Writing MYMETA.yml
cp Mcrypt.pm blib/lib/Mcrypt.pm
AutoSplitting blib/lib/Mcrypt.pm (blib/lib/auto/Mcrypt)
/usr/bin/perl /usr/share/perl/5.14/ExtUtils/xsubpp  -typemap /usr/share/perl/5.14/ExtUtils/typemap -typemap typemap  Mcrypt.xs > Mcrypt.xsc && mv Mcrypt.xsc Mcrypt.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"2.5.7.0\" -DXS_VERSION=\"2.5.7.0\" -fPIC "-I/usr/lib/perl/5.14/CORE"   Mcrypt.c
Running Mkbootstrap for Mcrypt ()
chmod 644 Mcrypt.bs
rm -f blib/arch/auto/Mcrypt/Mcrypt.so
cc  -shared -L/usr/local/lib -fstack-protector Mcrypt.o  -o blib/arch/auto/Mcrypt/Mcrypt.so    \
      -lltdl -lmcrypt     \
    
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/Mcrypt/Mcrypt.so] Fehler 1
  JESUS/Mcrypt-2.5.7.0.tar.gz
  /usr/bin/make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
pi@RaspBerrzPi-17 /home/perl-Crypt-MCrypt/lib/Crypt $

Raspberry_15
Zitat
Going to read '/root/.cpan/Metadata'
  Database was generated on Tue, 29 Jul 2014 17:06:21 GMT
Running install for module 'Mcrypt'
Running make for J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz
Checksum for /root/.cpan/sources/authors/id/J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz ok

  CPAN.pm: Going to build J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz

Writing Makefile for Mcrypt
Writing MYMETA.yml
cp Mcrypt.pm blib/lib/Mcrypt.pm
AutoSplitting blib/lib/Mcrypt.pm (blib/lib/auto/Mcrypt)
/usr/bin/perl /usr/share/perl/5.14/ExtUtils/xsubpp  -typemap /usr/share/perl/5.14/ExtUtils/typemap -typemap typemap  Mcrypt.xs > Mcrypt.xsc && mv Mcrypt.xsc Mcrypt.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"2.5.7.0\" -DXS_VERSION=\"2.5.7.0\" -fPIC "-I/usr/lib/perl/5.14/CORE"   Mcrypt.c
Running Mkbootstrap for Mcrypt ()
chmod 644 Mcrypt.bs
rm -f blib/arch/auto/Mcrypt/Mcrypt.so
cc  -shared -L/usr/local/lib -fstack-protector Mcrypt.o  -o blib/arch/auto/Mcrypt/Mcrypt.so    \
      -lltdl -lmcrypt     \
    
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/Mcrypt/Mcrypt.so] Fehler 1
  JESUS/Mcrypt-2.5.7.0.tar.gz
  /usr/bin/make -- NOT OK
'YAML' not installed, will not store persistent state
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible


Raspberry_17
Zitat
pi@RaspBerrzPi-17 ~ $ sudo cpan Mcrypt
Going to read '/root/.cpan/Metadata'
  Database was generated on Mon, 28 Jul 2014 23:53:02 GMT
Running install for module 'Mcrypt'
Running make for J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz
Checksum for /root/.cpan/sources/authors/id/J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz ok

  CPAN.pm: Going to build J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz

Writing Makefile for Mcrypt
Writing MYMETA.yml
cp Mcrypt.pm blib/lib/Mcrypt.pm
AutoSplitting blib/lib/Mcrypt.pm (blib/lib/auto/Mcrypt)
/usr/bin/perl /usr/share/perl/5.14/ExtUtils/xsubpp  -typemap /usr/share/perl/5.14/ExtUtils/typemap -typemap typemap  Mcrypt.xs > Mcrypt.xsc && mv Mcrypt.xsc Mcrypt.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"2.5.7.0\" -DXS_VERSION=\"2.5.7.0\" -fPIC "-I/usr/lib/perl/5.14/CORE"   Mcrypt.c
Running Mkbootstrap for Mcrypt ()
chmod 644 Mcrypt.bs
rm -f blib/arch/auto/Mcrypt/Mcrypt.so
cc  -shared -L/usr/local/lib -fstack-protector Mcrypt.o  -o blib/arch/auto/Mcrypt/Mcrypt.so    \
      -lltdl -lmcrypt     \
    
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/Mcrypt/Mcrypt.so] Fehler 1
  JESUS/Mcrypt-2.5.7.0.tar.gz
  /usr/bin/make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
pi@RaspBerrzPi-17 ~ $

Raspberry_44
Zitat
pi@rasberry2 /opt/fhem/backup $ sudo cpan Mcrypt
Going to read '/root/.cpan/Metadata'
  Database was generated on Mon, 28 Jul 2014 23:53:02 GMT
Running install for module 'Mcrypt'
Running make for J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz
Checksum for /root/.cpan/sources/authors/id/J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz ok

  CPAN.pm: Going to build J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz

Writing Makefile for Mcrypt
Writing MYMETA.yml
cp Mcrypt.pm blib/lib/Mcrypt.pm
AutoSplitting blib/lib/Mcrypt.pm (blib/lib/auto/Mcrypt)
/usr/bin/perl /usr/share/perl/5.14/ExtUtils/xsubpp  -typemap /usr/share/perl/5.14/ExtUtils/typemap -typemap typemap  Mcrypt.xs > Mcrypt.xsc && mv Mcrypt.xsc Mcrypt.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"2.5.7.0\" -DXS_VERSION=\"2.5.7.0\" -fPIC "-I/usr/lib/perl/5.14/CORE"   Mcrypt.c
Running Mkbootstrap for Mcrypt ()
chmod 644 Mcrypt.bs
rm -f blib/arch/auto/Mcrypt/Mcrypt.so
cc  -shared -L/usr/local/lib -fstack-protector Mcrypt.o  -o blib/arch/auto/Mcrypt/Mcrypt.so    \
      -lltdl -lmcrypt     \
    
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/Mcrypt/Mcrypt.so] Fehler 1
  JESUS/Mcrypt-2.5.7.0.tar.gz
  /usr/bin/make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible

lg
Stefan

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 Juli 2014, 09:15:45
Hallo Stefan, die Fehlermeldung
Zitat
Make had returned bad status, install seems impossible
hatte ich auch.

Nur um eine gemeinsame Basis zu haben, gehe mal Bitte einem Deiner (17?) :o Raspberries wie folgt vor:

1) sudo apt-get update
2) sudo apt-get upgrade
3) sudo apt-get install rpi-update
4) sudo apt-get install curl gcc-4.7 Da kann es passieren, das er sagt er hat schon eine neuere Version

5) sudo curl -L http://cpanmin.us | perl - --sudo App::cpanminus
6) sudo apt-get install libmcrypt4 libmcrypt-dev
6a) sudo apt-get install libltdl*Nach - Editiert aufgrund von Stefans Erfahrung

7) sudo cpanm Mcrypt
8) *Neu!sudo cpanm JSON

Was passiert dann?

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 30 Juli 2014, 09:52:39
Hi
so hab alles der Reihe nach abgearbeitet

Einen Unterschied konnte ich schon feststellen ich habe cpan anstelle von cpanm verwendet. Ergebnis ist aber gleich

Interessant dürfte der letzte Block sein mit den -lltdl

Zitat
i@RaspBerrzPi-17 ~ $ sudo apt-get update
Holen: 1 http://raspberrypi.collabora.com wheezy Release.gpg [836 B]
Holen: 2 http://archive.raspberrypi.org wheezy Release.gpg [490 B]                                                                     
Holen: 3 http://mirrordirector.raspbian.org wheezy Release.gpg [490 B]                                                                           
Holen: 4 http://raspberrypi.collabora.com wheezy Release [7.532 B]                                                                       
Holen: 5 http://archive.raspberrypi.org wheezy Release [7.227 B]                                                                       
Holen: 6 http://mirrordirector.raspbian.org wheezy Release [14,4 kB]                                                                           
OK   http://repository.wolfram.com stable Release.gpg                                                                 
Holen: 7 http://archive.raspberrypi.org wheezy/main armhf Packages [18,0 kB]                                         
OK   http://repository.wolfram.com stable Release   
Holen: 8 http://mirrordirector.raspbian.org wheezy/main armhf Packages [6.891 kB]     
Holen: 9 http://raspberrypi.collabora.com wheezy/rpi armhf Packages [2.214 B]                                               
OK   http://repository.wolfram.com stable/non-free armhf Packages                                                                     
Ign http://archive.raspberrypi.org wheezy/main Translation-de_DE                                             
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-de_DE                                             
Ign http://archive.raspberrypi.org wheezy/main Translation-de                                                 
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-de                                               
Ign http://archive.raspberrypi.org wheezy/main Translation-en                                                 
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en                       
Ign http://repository.wolfram.com stable/non-free Translation-de_DE                   
Ign http://repository.wolfram.com stable/non-free Translation-de
Ign http://repository.wolfram.com stable/non-free Translation-en
OK   http://mirrordirector.raspbian.org wheezy/contrib armhf Packages                                                                                                 
OK   http://mirrordirector.raspbian.org wheezy/non-free armhf Packages                                                                                               
OK   http://mirrordirector.raspbian.org wheezy/rpi armhf Packages                                                                                                     
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-de_DE                                                                                               
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-de                                                                                                 
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en                                                                                                 
Ign http://mirrordirector.raspbian.org wheezy/main Translation-de_DE                                                                                                 
Ign http://mirrordirector.raspbian.org wheezy/main Translation-de                                                                                                     
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en                                                                                                     
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-de_DE                                                                                             
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-de                                                                                                 
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en                                                                                                 
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-de_DE                                                                                                   
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-de                                                                                                     
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en                                                                                                     
Es wurden 6.942 kB in 41 s geholt (169 kB/s).                                                                                                                         
Paketlisten werden gelesen... Fertig
pi@RaspBerrzPi-17 ~ $


pi@RaspBerrzPi-17 ~ $ sudo apt-get upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete werden aktualisiert (Upgrade):
  apt apt-utils base-files cups-bsd cups-client cups-common dpkg dpkg-dev libapt-inst1.5 libapt-pkg-dev libapt-pkg4.12 libc-bin libc-dev-bin libc6 libc6-dev libcups2
  libcupsimage2 libdpkg-perl libssl1.0.0 locales multiarch-support openssl python-picamera python-rpi.gpio python3-picamera python3-rpi.gpio
26 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 25,1 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 55,3 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? j
Holen: 1 http://archive.raspberrypi.org/debian/ wheezy/main python-rpi.gpio armhf 0.5.6-1 [39,0 kB]
Holen: 2 http://archive.raspberrypi.org/debian/ wheezy/main python3-rpi.gpio armhf 0.5.6-1 [23,2 kB]
Holen: 3 http://archive.raspberrypi.org/debian/ wheezy/main python-picamera armhf 1.6-1 [74,7 kB]
Holen: 4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libc-dev-bin armhf 2.13-38+rpi2+deb7u3 [223 kB]
Holen: 5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main base-files armhf 7.1wheezy6+rpi1 [81,2 kB]
Holen: 6 http://archive.raspberrypi.org/debian/ wheezy/main python3-picamera armhf 1.6-1 [74,5 kB]         
Holen: 7 http://mirrordirector.raspbian.org/raspbian/ wheezy/main dpkg armhf 1.16.15+rpi1 [2.594 kB]                       
Holen: 8 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libc6-dev armhf 2.13-38+rpi2+deb7u3 [2.428 kB]
Holen: 9 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libc-bin armhf 2.13-38+rpi2+deb7u3 [1.204 kB]                                                       
Holen: 10 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libc6 armhf 2.13-38+rpi2+deb7u3 [4.103 kB]                                                         
Holen: 11 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libapt-pkg-dev armhf 0.9.7.9+rpi1+deb7u2 [186 kB]                                                 
Holen: 12 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libapt-inst1.5 armhf 0.9.7.9+rpi1+deb7u2 [164 kB]                                                 
Holen: 13 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libssl1.0.0 armhf 1.0.1e-2+rvt+deb7u11 [1.051 kB]                                                 
Holen: 14 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libapt-pkg4.12 armhf 0.9.7.9+rpi1+deb7u2 [858 kB]                                                 
Holen: 15 http://mirrordirector.raspbian.org/raspbian/ wheezy/main apt armhf 0.9.7.9+rpi1+deb7u2 [1.242 kB]                                                           
Holen: 16 http://mirrordirector.raspbian.org/raspbian/ wheezy/main multiarch-support armhf 2.13-38+rpi2+deb7u3 [151 kB]                                               
Holen: 17 http://mirrordirector.raspbian.org/raspbian/ wheezy/main locales all 2.13-38+rpi2+deb7u3 [5.711 kB]                                                         
Holen: 18 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libcupsimage2 armhf 1.5.3-5+deb7u4 [132 kB]                                                       
Holen: 19 http://mirrordirector.raspbian.org/raspbian/ wheezy/main cups-common all 1.5.3-5+deb7u4 [903 kB]                                                           
Holen: 20 http://mirrordirector.raspbian.org/raspbian/ wheezy/main cups-bsd armhf 1.5.3-5+deb7u4 [46,1 kB]                                                           
Holen: 21 http://mirrordirector.raspbian.org/raspbian/ wheezy/main cups-client armhf 1.5.3-5+deb7u4 [175 kB]                                                         
Holen: 22 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libcups2 armhf 1.5.3-5+deb7u4 [238 kB]                                                             
Holen: 23 http://mirrordirector.raspbian.org/raspbian/ wheezy/main apt-utils armhf 0.9.7.9+rpi1+deb7u2 [371 kB]                                                       
Holen: 24 http://mirrordirector.raspbian.org/raspbian/ wheezy/main dpkg-dev all 1.16.15+rpi1 [1.357 kB]                                                               
Holen: 25 http://mirrordirector.raspbian.org/raspbian/ wheezy/main openssl armhf 1.0.1e-2+rvt+deb7u11 [700 kB]                                                       
Holen: 26 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libdpkg-perl all 1.16.15+rpi1 [959 kB]                                                             
Es wurden 25,1 MB in 40 s geholt (615 kB/s).                                                                                                                         
Vorkonfiguration der Pakete ...
(Lese Datenbank ... 73962 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von base-files 7.1wheezy5+rpi1 (durch .../base-files_7.1wheezy6+rpi1_armhf.deb) ...
Ersatz für base-files wird entpackt ...
Trigger für man-db werden verarbeitet ...
Trigger für install-info werden verarbeitet ...
base-files (7.1wheezy6+rpi1) wird eingerichtet ...
Neue Version der Konfigurationsdatei /etc/debian_version wird installiert ...
(Lese Datenbank ... 73962 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von dpkg 1.16.14+rpi1 (durch .../dpkg_1.16.15+rpi1_armhf.deb) ...
Ersatz für dpkg wird entpackt ...
Trigger für man-db werden verarbeitet ...
dpkg (1.16.15+rpi1) wird eingerichtet ...
(Lese Datenbank ... 73963 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von libc-dev-bin 2.13-38+rpi2+deb7u1 (durch .../libc-dev-bin_2.13-38+rpi2+deb7u3_armhf.deb) ...
Ersatz für libc-dev-bin wird entpackt ...
Vorbereitung zum Ersetzen von libc6-dev:armhf 2.13-38+rpi2+deb7u1 (durch .../libc6-dev_2.13-38+rpi2+deb7u3_armhf.deb) ...
Ersatz für libc6-dev:armhf wird entpackt ...
Vorbereitung zum Ersetzen von libc-bin 2.13-38+rpi2+deb7u1 (durch .../libc-bin_2.13-38+rpi2+deb7u3_armhf.deb) ...
Ersatz für libc-bin wird entpackt ...
Trigger für man-db werden verarbeitet ...
libc-bin (2.13-38+rpi2+deb7u3) wird eingerichtet ...
(Lese Datenbank ... 73962 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von libc6:armhf 2.13-38+rpi2+deb7u1 (durch .../libc6_2.13-38+rpi2+deb7u3_armhf.deb) ...
Ersatz für libc6:armhf wird entpackt ...
libc6:armhf (2.13-38+rpi2+deb7u3) wird eingerichtet ...
(Lese Datenbank ... 73962 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von libapt-pkg-dev:armhf 0.9.7.9+rpi1+deb7u1 (durch .../libapt-pkg-dev_0.9.7.9+rpi1+deb7u2_armhf.deb) ...
Ersatz für libapt-pkg-dev:armhf wird entpackt ...
Vorbereitung zum Ersetzen von libapt-inst1.5:armhf 0.9.7.9+rpi1+deb7u1 (durch .../libapt-inst1.5_0.9.7.9+rpi1+deb7u2_armhf.deb) ...
Ersatz für libapt-inst1.5:armhf wird entpackt ...
Vorbereitung zum Ersetzen von libapt-pkg4.12:armhf 0.9.7.9+rpi1+deb7u1 (durch .../libapt-pkg4.12_0.9.7.9+rpi1+deb7u2_armhf.deb) ...
Ersatz für libapt-pkg4.12:armhf wird entpackt ...
libapt-pkg4.12:armhf (0.9.7.9+rpi1+deb7u2) wird eingerichtet ...
(Lese Datenbank ... 73962 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von apt 0.9.7.9+rpi1+deb7u1 (durch .../apt_0.9.7.9+rpi1+deb7u2_armhf.deb) ...
Ersatz für apt wird entpackt ...
Trigger für man-db werden verarbeitet ...
apt (0.9.7.9+rpi1+deb7u2) wird eingerichtet ...
gpg: Schlüssel 90FDDD2E: "Mike Thompson (Raspberry Pi Debian armhf ARMv6+VFP) <mpthompson@gmail.com>" nicht geändert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
gpg:                             unverändert: 1
Warning: removed keys keyring  /usr/share/keyrings/raspbian-archive-removed-keys.gpg missing or not readable
(Lese Datenbank ... 73962 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von libssl1.0.0:armhf 1.0.1e-2+rvt+deb7u10 (durch .../libssl1.0.0_1.0.1e-2+rvt+deb7u11_armhf.deb) ...
Ersatz für libssl1.0.0:armhf wird entpackt ...
Vorbereitung zum Ersetzen von libcupsimage2:armhf 1.5.3-5+deb7u2 (durch .../libcupsimage2_1.5.3-5+deb7u4_armhf.deb) ...
Ersatz für libcupsimage2:armhf wird entpackt ...
Vorbereitung zum Ersetzen von cups-common 1.5.3-5+deb7u2 (durch .../cups-common_1.5.3-5+deb7u4_all.deb) ...
Ersatz für cups-common wird entpackt ...
Vorbereitung zum Ersetzen von cups-bsd 1.5.3-5+deb7u2 (durch .../cups-bsd_1.5.3-5+deb7u4_armhf.deb) ...
Ersatz für cups-bsd wird entpackt ...
Vorbereitung zum Ersetzen von cups-client 1.5.3-5+deb7u2 (durch .../cups-client_1.5.3-5+deb7u4_armhf.deb) ...
Ersatz für cups-client wird entpackt ...
Vorbereitung zum Ersetzen von libcups2:armhf 1.5.3-5+deb7u2 (durch .../libcups2_1.5.3-5+deb7u4_armhf.deb) ...
Ersatz für libcups2:armhf wird entpackt ...
Vorbereitung zum Ersetzen von multiarch-support 2.13-38+rpi2+deb7u1 (durch .../multiarch-support_2.13-38+rpi2+deb7u3_armhf.deb) ...
Ersatz für multiarch-support wird entpackt ...
Trigger für man-db werden verarbeitet ...
multiarch-support (2.13-38+rpi2+deb7u3) wird eingerichtet ...
(Lese Datenbank ... 73962 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Ersetzen von apt-utils 0.9.7.9+rpi1+deb7u1 (durch .../apt-utils_0.9.7.9+rpi1+deb7u2_armhf.deb) ...
Ersatz für apt-utils wird entpackt ...
Vorbereitung zum Ersetzen von locales 2.13-38+rpi2+deb7u1 (durch .../locales_2.13-38+rpi2+deb7u3_all.deb) ...
Ersatz für locales wird entpackt ...
Vorbereitung zum Ersetzen von dpkg-dev 1.16.14+rpi1 (durch .../dpkg-dev_1.16.15+rpi1_all.deb) ...
Ersatz für dpkg-dev wird entpackt ...
Vorbereitung zum Ersetzen von libdpkg-perl 1.16.14+rpi1 (durch .../libdpkg-perl_1.16.15+rpi1_all.deb) ...
Ersatz für libdpkg-perl wird entpackt ...
Vorbereitung zum Ersetzen von openssl 1.0.1e-2+rvt+deb7u10 (durch .../openssl_1.0.1e-2+rvt+deb7u11_armhf.deb) ...
Ersatz für openssl wird entpackt ...
Vorbereitung zum Ersetzen von python-rpi.gpio 0.5.5-1 (durch .../python-rpi.gpio_0.5.6-1_armhf.deb) ...
Ersatz für python-rpi.gpio wird entpackt ...
Vorbereitung zum Ersetzen von python3-rpi.gpio 0.5.5-1 (durch .../python3-rpi.gpio_0.5.6-1_armhf.deb) ...
Ersatz für python3-rpi.gpio wird entpackt ...
Vorbereitung zum Ersetzen von python-picamera 1.5-1 (durch .../python-picamera_1.6-1_armhf.deb) ...
Ersatz für python-picamera wird entpackt ...
Vorbereitung zum Ersetzen von python3-picamera 1.5-1 (durch .../python3-picamera_1.6-1_armhf.deb) ...
Ersatz für python3-picamera wird entpackt ...
Trigger für man-db werden verarbeitet ...
libc-dev-bin (2.13-38+rpi2+deb7u3) wird eingerichtet ...
libc6-dev:armhf (2.13-38+rpi2+deb7u3) wird eingerichtet ...
libapt-inst1.5:armhf (0.9.7.9+rpi1+deb7u2) wird eingerichtet ...
libapt-pkg-dev:armhf (0.9.7.9+rpi1+deb7u2) wird eingerichtet ...
libssl1.0.0:armhf (1.0.1e-2+rvt+deb7u11) wird eingerichtet ...
libcups2:armhf (1.5.3-5+deb7u4) wird eingerichtet ...
libcupsimage2:armhf (1.5.3-5+deb7u4) wird eingerichtet ...
cups-common (1.5.3-5+deb7u4) wird eingerichtet ...
cups-client (1.5.3-5+deb7u4) wird eingerichtet ...
cups-bsd (1.5.3-5+deb7u4) wird eingerichtet ...
apt-utils (0.9.7.9+rpi1+deb7u2) wird eingerichtet ...
locales (2.13-38+rpi2+deb7u3) wird eingerichtet ...
Generating locales (this might take a while)...
  de_DE.ISO-8859-1... done
  de_DE.UTF-8... done
  de_DE.ISO-8859-15@euro... done
  en_GB.UTF-8... done
Generation complete.
libdpkg-perl (1.16.15+rpi1) wird eingerichtet ...
dpkg-dev (1.16.15+rpi1) wird eingerichtet ...
openssl (1.0.1e-2+rvt+deb7u11) wird eingerichtet ...
python-rpi.gpio (0.5.6-1) wird eingerichtet ...
python3-rpi.gpio (0.5.6-1) wird eingerichtet ...
python-picamera (1.6-1) wird eingerichtet ...
python3-picamera (1.6-1) wird eingerichtet ...
pi@RaspBerrzPi-17 ~ $


pi@RaspBerrzPi-17 ~ $ sudo apt-get install rpi-update
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
rpi-update ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.


pi@RaspBerrzPi-17 ~ $ sudo apt-get install curl gcc-4.7
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
curl ist schon die neueste Version.
Vorgeschlagene Pakete:
  gcc-4.7-locales libmudflap0-4.7-dev gcc-4.7-doc libgcc1-dbg libgomp1-dbg libitm1-dbg libquadmath-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7 binutils-gold
Die folgenden NEUEN Pakete werden installiert:
  cpp-4.7 gcc-4.7
0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 10,1 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 24,3 MB Plattenplatz zusätzlich benutzt.
Holen: 1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main cpp-4.7 armhf 4.7.2-5+rpi1 [4.762 kB]
Holen: 2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main gcc-4.7 armhf 4.7.2-5+rpi1 [5.327 kB]                                                               
Es wurden 10,1 MB in 15 s geholt (668 kB/s).                                                                                                                         
Vormals nicht ausgewähltes Paket cpp-4.7 wird gewählt.
(Lese Datenbank ... 73964 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von cpp-4.7 (aus .../cpp-4.7_4.7.2-5+rpi1_armhf.deb) ...
Vormals nicht ausgewähltes Paket gcc-4.7 wird gewählt.
Entpacken von gcc-4.7 (aus .../gcc-4.7_4.7.2-5+rpi1_armhf.deb) ...
Trigger für man-db werden verarbeitet ...
cpp-4.7 (4.7.2-5+rpi1) wird eingerichtet ...
gcc-4.7 (4.7.2-5+rpi1) wird eingerichtet ...


pi@RaspBerrzPi-17 ~ $ sudo curl -L http://cpanmin.us |perl - --sudo App::cpanminus
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   314    0   314    0     0    509      0 --:--:-- --:--:-- --:--:--  1082
100  262k  100  262k    0     0   196k      0  0:00:01  0:00:01 --:--:--  196k
--> Working on App::cpanminus
Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7004.tar.gz ... OK
Configuring App-cpanminus-1.7004 ... OK
Building and testing App-cpanminus-1.7004 ... OK
Successfully installed App-cpanminus-1.7004
1 distribution installed
pi@RaspBerrzPi-17 ~ $


pi@RaspBerrzPi-17 ~ $ sudo apt-get install libmcrypt4 libmcrypt-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
libmcrypt-dev ist schon die neueste Version.
libmcrypt4 ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
pi@RaspBerrzPi-17 ~ $


pi@RaspBerrzPi-17 ~ $ sudo cpanm  Mcrypt
--> Working on Mcrypt
Fetching http://www.cpan.org/authors/id/J/JE/JESUS/Mcrypt-2.5.7.0.tar.gz ... OK
Configuring Mcrypt-2.5.7.0 ... OK
Building and testing Mcrypt-2.5.7.0 ... FAIL
! Installing Mcrypt failed. See /root/.cpanm/work/1406706164.19249/build.log for details. Retry with --force to force install it.
pi@RaspBerrzPi-17 ~ $ tail -f

i@RaspBerrzPi-17 ~ $ sudo tail -f /root/.cpanm/work/1406706164.19249/build.log
Running Mkbootstrap for Mcrypt ()
chmod 644 Mcrypt.bs
rm -f blib/arch/auto/Mcrypt/Mcrypt.so
cc  -shared -L/usr/local/lib -fstack-protector Mcrypt.o  -o blib/arch/auto/Mcrypt/Mcrypt.so    \
      -lltdl -lmcrypt     \
    
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/Mcrypt/Mcrypt.so] Fehler 1
-> FAIL Installing Mcrypt failed. See /root/.cpanm/work/1406706164.19249/build.log for details. Retry with --force to force install it.


lg
Stefan

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 30 Juli 2014, 10:38:22
Hi
nach der Installation von libtool geht es jetzt auf der 17 bei den anderen kämpfe ich noch

Zitat
sudo apt-get install libltdl*

Jetzt funktioniert es auf alles System bis auf dem Windows FHEM System. Hast Du es da zum laufen bekommen ?

lg
Stefan

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 Juli 2014, 10:46:10
nach der Installation von libtool geht es jetzt auf der 17 bei den anderen kämpfe ich noch

Na siehste!  ;D

PS: Glückwunsch zum Dritten Stern. Ich brauche noch 10 Posts!  ;)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 Juli 2014, 13:43:59
Habe folgende Datei im Anhang so weit editiert.

Konnte sie aber noch nicht testen. Mal schauen wieviele Fehlermeldungen heute Abend entstehen...

Langsam aber sicher wird es was...

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 Juli 2014, 13:54:46
Jetzt funktioniert es auf alles System bis auf dem Windows FHEM System. Hast Du es da zum laufen bekommen ?

Nein noch nicht, ich kriege dort nicht einmal den entsprechenden Windows-Pedanten für

sudo apt-get install libmcrypt4 libmcrypt-dev
gefunden.

Und ohne diesen funktioniert die Mcrypt-Installation bekanntermaßen nicht.

Darüber hinaus brauche ich dafür ohnehin erstmal eine gcc-Version installiert...

Man kommt vom Hundertsten ind Tausendste...

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 30 Juli 2014, 14:06:28
Hi

so viele

Zitat
Global symbol "$REST_services" requires explicit package name at ./FHEM/73_km200test.pm line 316.
Too many arguments for main::rtrim at ./FHEM/73_km200test.pm line 385, near ""\x00")"
Global symbol "@decrypt" requires explicit package name at ./FHEM/73_km200test.pm line 389.
Global symbol "$i" requires explicit package name at ./FHEM/73_km200test.pm line 391.
Global symbol "$i" requires explicit package name at ./FHEM/73_km200test.pm line 391.
Global symbol "$i" requires explicit package name at ./FHEM/73_km200test.pm line 391.
syntax error at ./FHEM/73_km200test.pm line 393, near "$decrypt("
Global symbol "$i" requires explicit package name at ./FHEM/73_km200test.pm line 393.
Global symbol "$i" requires explicit package name at ./FHEM/73_km200test.pm line 399.
Global symbol "$decrypt_padchar" requires explicit package name at ./FHEM/73_km200test.pm line 399.
Global symbol "$decrypt" requires explicit package name at ./FHEM/73_km200test.pm line 401.
Global symbol "$decrypt" requires explicit package name at ./FHEM/73_km200test.pm line 405.
Global symbol "$decrypt_len" requires explicit package name at ./FHEM/73_km200test.pm line 405.
Global symbol "$decrypt_padchar" requires explicit package name at ./FHEM/73_km200test.pm line 405.
syntax error at ./FHEM/73_km200test.pm line 407, near "}"
./FHEM/73_km200test.pm has too many errors.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 31 Juli 2014, 11:18:17
Hallo Stefan,

kann aufgrund der neuen Mcrypt Pakete nur spät abends testen.  ::)

Werde mich mit Neuigkeiten hoffentlich in Kürze melden.  8)

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 31 Juli 2014, 11:19:53
Hallo zusammen, was brauche ich um das km200 von meinem mit fhem ausgestatteten raspberry aus auszulesen?
Kann das vielleicht jemand kurz zusammenfassen?
Das wäre ein Traum:)
Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 31 Juli 2014, 12:09:44
Hallo Jens,

erstmal brauchst du Geduld bis Stefan und ich das Modul fertig geschrieben haben. ;)

Dann brauchst Du nur eine Heizungssteuerung mit dem entsprechenden Einschub der mit dem KM200 kommuniziert, ein Netzwerkkabel zum Router an dem auch der Raspi hängt und das wars.

Naja, wenn dann das Modul irgendwann mal funktioniert...  ;D

Gruss
    Sailor
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 31 Juli 2014, 15:33:05
Mein km200 hängt an meiner Heizung der Buderus, damit werden mir über die Buderus app Easy Control ja diverse Dinge angezeigt (unter anderem ob der Brenner gerad an ist, ob die Solaranlage gerad warme liefert etc) also das km200 ist wie gesagt schon an meiner Buderus Therme angebunden.
Gruß
Jrns
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 31 Juli 2014, 16:18:46
Dann brauchst Du nur ein wenig Geduld...  ;D
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 31 Juli 2014, 18:30:39
@sailor : das klingt gut:) das wäre echt super, wenn ihr das hinbekommen würdet:)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 02 August 2014, 23:08:11
Hallo Stefan,

anbei der letzte Stand mit einigen Fehlermeldungen weniger.

Hast Du eine Ahnung wie man die Nullbytes "/x00" am Ende eines Strings zu loeschen vermag?  ???

Gruss Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 03 August 2014, 10:22:24
Hallo Sailor
leider nein, hast Du schon mal in einem perl-Forum oder Google gefragt.

evtl hilft das :
http://www.perl-community.de/bat/poard/thread/5903

oder das
#NUL suchen und entfernen
$string =~ s/\x00//g;

habe es nicht getestet!
lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 04 August 2014, 10:27:56
Hallo Stefan

So weit war ich schon.

Leider löschen diese Funktionen auch alle Leerbytes innerhalb des Strings.  :'(
Ich vermute genau das sollte nicht sein.

Ich suche eben einen genauen Ersatz für die PHP-Codezeile:$decrypt = rtrim( $decrypt, "\x00" );
http://php.net/manual/de/function.rtrim.php (http://php.net/manual/de/function.rtrim.php)

Ich suche... (Warum gibt es hier im Forum keinen Smiley mit ner Lupe...  ;))

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 04 August 2014, 10:52:07
Wie wÄre es mit
$str =~ s/\s+$//;


Das löscht in perl meine ich alles rechts

Grus
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 04 August 2014, 11:00:02
So würde das als unterfunktion im Programm gehen :
sub rtrim { my $s = shift; $s =~ s/\s+$//;       return $s };



Benutzen würde man es dann so:
my $z = " abc ";
printf "<%s>\n", rtrim($z);  # < abc>

Vielleicht hilfst weiter?
Gruß
Je s
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 04 August 2014, 12:05:10
Hallo Jens,

Danke, allerdings bin ich mir nicht sicher ob "\s" also whitespaces im Allgemeinen gelöscht werden sollen.

Ich denke ich werde es mal mit $decrypt =~ s/\x00+$//; versuchen.

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 04 August 2014, 21:46:53
Hi
hast Du das schon gelesen ?
http://www.fhemwiki.de/wiki/DevelopmentModuleIntro

Ich habe es gerade erst gefunden.

lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: l3skon3 am 04 August 2014, 21:50:57
Hallo, werden die Werte über das LAN abgerufen oder über Internet (kann mein Fhem-Server auch an einem anderen Standort sein)?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 04 August 2014, 22:07:24
Hi
die Daten werden direkt vom KM200(KM50) geholt.

lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 August 2014, 10:04:38
hast Du das schon gelesen ?
http://www.fhemwiki.de/wiki/DevelopmentModuleIntro

Hallo Stefan,

habe ich gefunden. Bin gerade dabei die letzte Subroutine von PHP in Perl zu verwandeln.
Danach, so hoffe ich, musst Du nur noch Deinen Teil hinzufügen.

Abschließend machen wir noch alles hübsch (Kommentierungen, Modulaufruf etc.)

PS: Gehe am Ende der Woche in den Urlaub. Da ist erstmal 2 Wochen Schaffenspause!

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 August 2014, 19:59:26
Moin zusammen

So, die letzte Subroutine habe ich mit Hilfe der Perl community ebenfalls ohne Syntaxfehler uebersetzt. :)
Ob das alles funktioniert... warten wir es ab.

Ich fange jetzt an mittels des Modul-Wikis, die Anbindung an fhem hinzubekommen.
Zwischendurch bin ich allerdings mal fuer 2 Wochen im Urlaub... 8)

Im September geht es weiter...

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 29 August 2014, 17:07:53
Hallo Gemeinde,

ich möchte an dieser Stelle nur mein Interesse an dem Modul anmelden  :P da ich seit kurzem ebenfalls stolzer Besitzer eines Buderus mit der KM200 bin.

Viele Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 08 September 2014, 15:17:05
Super,

war erst im Urlaub und bin jetzt auf Dienstreise...
Daher schleift das Ganze etwas!   >:(

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 09 September 2014, 22:47:01
Hallo zusammen, wir haben nun auch ein KM200 an der Wand hängen. In Verbindung mit dem Kessel GB172 quasseln noch fröhlich mit: RC35, UBA4, BC20 und ein Mischer MM10.
Würde mich gerne im Rahmen meiner Möglichkeiten zum Testen anbieten.

Gruß Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Ralli am 21 September 2014, 07:26:34
Hallo,

super Sache. Auch ich melde mein Interesse an. Werde mir jetzt eine KM200 für meinen GB135, an dem eine RC35 hängt, zulegen.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: l3skon3 am 01 Oktober 2014, 04:53:20
Hallo zusammen,

Gibt's etwas Neues vom Modul ?

Gruss


Gesendet von iPad mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 01 Oktober 2014, 10:19:23
Habe noch nicht weitermachen können, da ich an der JSON - Übergabe scheitere...   :-\

Aber ich habe es noch nicht ganz aufgegeben...

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: l3skon3 am 05 Oktober 2014, 07:40:23
Hallo, schade hoffe du findest eine Lösung, helfen kann ich leider nicht hab selbst kein bisschen Ahnung davon. Viel Glück;-)


Gesendet von iPad mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 05 Oktober 2014, 23:20:48
Hi all,

besitze seit gestern ein KM50 Modul für meine Buderus. Bin auch Perl &/ JSON mächtig, würde also gern helfen, da meine Heizung dringend mehr Kontrolle braucht. Hab ein erwachsenes FHEM Szenario laufen und hatte bis vor kurzem eine Vaillant, die ich gut im Griff hatte. Nun eine Buderus Öl-Heizung, die nach Management ruft. Daher würde ich gern helfen, sofern konkreter Handlungsbedarf bestehe.
Wo gibt es die aktuelle Version eures Moduls?

Vielen Dank,
lieben Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 09 Oktober 2014, 13:36:07
Sehr interessant das hier alles. Habe das mal eben auf die schnelle Versucht einzubauen und komme bis zu

Character in 'c' format wrapped in pack at ./FHEM/73_km200test.pm line 113, <$fh> line 87.

Jetzt muss ich leider weg aber ich versuche das noch weiter.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 11 Oktober 2014, 13:27:31
Welche Version hast Du denn verwendet?

Die, die textuell auf Seite 4 hier im Thread stand? Habe im SVN noch keine gefunden.

LG
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 11 Oktober 2014, 22:19:38
Nachdem ich das alles nochmal in Ruhe gelesen habe, hänge ich inzwischen wieder auf Seite 1
Ich habe auf meinen RaspberryPi einen Apache Webserver eingebaut und versuche diese km200.php erst mal zum fliegen zu bekommen. Daran scheitere ich aktuell aber schon.
Da kommt nur das:
;x;;x;;x;;x;;x;;x;;x;;x;;x;;x;;x;;x;;x;;x;;x;
und somit bekomme ich wohl noch keine Werte aus meinem KM200.
Leider habe ich keine Ahnung von php und versuche gerade den Code ein wenig zu verstehen.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 12 Oktober 2014, 11:14:32
Hi hast Du auch die IP Adresse und die Userdaten(Passwort) im PHP Skript angepasst?

// IP Adresse oder DNS-Hostname des KM200
define( "km200_gateway_host", '192.168.0.xx', true );
// Gerätepasswort. Achtung: Ohne Bindestriche und in ASCII!
define( "km200_gateway_password", 'xxxxx', true );
// Eigenes Passwort wie in der App vergeben
define( "km200_private_password", 'xxx', true );



lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 12 Oktober 2014, 11:29:46
Ja das habe ich angepasst und es auch schon mit der Version von Andreas Hahn versucht wo man Key ja über dessen Webseite generiert und einträgt. Das Ergebnis ist aber leider das selbe
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 12 Oktober 2014, 11:54:29
Hi die Kommunikation über die Smartphone App funktioniert aber oder ?
lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 12 Oktober 2014, 12:10:48
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"?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 12 Oktober 2014, 12:17:17
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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 12 Oktober 2014, 12:44:51
OK. Jetzt habe ich die Daten auf in FHEM
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 12 Oktober 2014, 13:44:11
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.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 12 Oktober 2014, 18:32:45
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.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 12 Oktober 2014, 23:36:09
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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 13 Oktober 2014, 09:58:22
Super. Habe ich mir gleich mal geschnappt und sehe direkt:
Zeile 93
    if (int(@a) == 6) )
Zwei Klammern auf und drei Klammern zu......

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 13 Oktober 2014, 10:03:25
Zeile 467
  Log3 3, "km200_GetData: " .$data;
soll wohl
Log3 $name, 3, "km200_GetData: " .$data;
sein
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 13 Oktober 2014, 10:46:34
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.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 13 Oktober 2014, 14:11:04
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
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 13 Oktober 2014, 14:34:58
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.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 13 Oktober 2014, 15:03:16
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 (http://www.perl-community.de/bat/poard/thread/19221)

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

Gruss
   Sailor





Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 14 Oktober 2014, 15:16:40
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.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 15 Oktober 2014, 16:12:16
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.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 15 Oktober 2014, 21:23:46
Hallo Furban

kannst Du deine letzte kommentierte Version in Forum stellen?

Danke und schoenen Urlaub!!!  8)

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 16 Oktober 2014, 19:22:27
Na ob die Version nun was bringt? Wie schon gesagt ich bin mir nicht sicher ob ich überhaupt auf dem richtigen Weg bin. Ich habe keine Ahnung von dieser ganzen Ver- und Endschlüsselei und diesem "JOSM". Das ist erst mal nur ein Copy/Paste aus der Webseite von oben.
Hier auch mal die decrypt.pl und encrypt.pl mit der man schon etwas ver- und entschlüsseln kann. Das funktioniert mal. Nur wie man das jetzt ganz genau eingebaut bekommt so das auch die richtigen Werte übergeben werden ist mir derzeit noch nicht ganz klar.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 18 Oktober 2014, 23:18:15
Hallo zusammen,

ich würde gern das Modul testen, scheitere aber schon an Mcrypt.
FHEM betreibe ich auf einem Synolgy NAS, kann mir jemand vermitteln wie ich (und ob überhaupt) Mcrypt darauf installiere?

Viele Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 Oktober 2014, 11:33:33
Hallo egerd

M typt bekommst du nur von CPAN.

Um CPAN repositories zu bekommen musst du vorher CPANM installieren.
Dann kannst du mit CPANM das Mcrypt herunterladen und installieren.

Sailor


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 19 Oktober 2014, 19:24:00
Hallo Sailor,

das scheint auf der Synology nicht so einfach bzw. unmöglich zu sein.
Ich habe vieles versucht, bin auch bis dahin gekommen, das ich über CPANM Mcrypt installieren konnte, erhalte bei einem "reload 73_km200.pm" jedoch folgende Fehler:

Can't locate loadable object for module Mcrypt in @INC (@INC contains: /usr/local/perl/lib/5.16.0/armv5tel-linux /usr/local/perl/lib/5.16.0 /usr/local/perl/lib/site_perl/5.16.0/armv5tel-linux /usr/local/perl/lib/site_perl/5.16.0 /usr/local/perl/lib/site_perl/5.16.0/armv5tel-linux /usr/local/perl/lib/site_perl/5.16.0 /usr/local/perl/lib/5.16.0/armv5tel-linux /usr/local/perl/lib/5.16.0 . /usr/local/FHEM/share/fhem/FHEM /usr/local/FHEM/share/fhem/FHEM/lib) at /usr/local/FHEM/share/fhem/FHEM/73_km200.pm line 62.
Compilation failed in require at /usr/local/FHEM/share/fhem/FHEM/73_km200.pm line 62.
BEGIN failed--compilation aborted at /usr/local/FHEM/share/fhem/FHEM/73_km200.pm line 62.

An der Stelle weis ich nicht mehr weiter.

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 Oktober 2014, 21:39:48
Hallo ergerd

Schau mal bei Antwort Nr. 32. und dann Nummer 33.  ;D

Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 19 Oktober 2014, 22:36:53
Hallo Sailor,

ich sehe bei mir keine Nummern zu den Antworten, aber ich denke du meinst
sudo apt-get install libmcrypt4 libmcrypt-dev
apt-get gibt es auf der Synology nicht, daher bin ich so vorgegangen:
cd /usr/src
wget ftp://mcrypt.hellug.gr/pub/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
tar xvfz libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install

Aber cpan Mcrypt leifert nur Fehlermeldungen beim Test:
Running make test
PERL_DL_NONLAZY=1 /usr/local/perl/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/destruct.t ..... Can't load '/root/.cpan/build/Mcrypt-2.5.7.0-1P1tO8/blib/arch/auto/Mcrypt/Mcrypt.so' for module Mcrypt: /root/.cpan/build/Mcrypt-2.5.7.0-1P1tO8/blib/arch/auto/Mcrypt/Mcrypt.so: undefined symbol: mcrypt_enc_get_block_size at /usr/local/perl/lib/5.16.0/armv5tel-linux/DynaLoader.pm line 190.
 at t/destruct.t line 6.
Compilation failed in require at t/destruct.t line 6.
BEGIN failed--compilation aborted at t/destruct.t line 6.
# Looks like your test exited with 2 before it could output anything.
t/destruct.t ..... Dubious, test returned 2 (wstat 512, 0x200)
Failed 1/1 subtests

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 Oktober 2014, 22:43:21
Hallo Rainer,

auweia, da bin ich auch ueberfragt!

Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 19 Oktober 2014, 23:22:30
Hi all,

an ähnlicher Stelle bin ich auch gerade mit meiner Linkstation. Auch hier kein apt-get, aber ipkg. SSL ist bereits drauf, mcrypt habe ich auch selbst übersetzt.
Obendrein: kein cpanm sondern nur per Hand Installation der CPAN Module.

Werde berichten.
Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 20 Oktober 2014, 12:51:52
Aloha! Ich will auch mitspielen! :-)
Modul installiert, "Buderus" definiert, sieht für mich gut aus:
2014-10-20 12:43:07 km200 Buderus Interval: 60
2014-10-20 12:43:07 km200 Buderus Address: 192.168.1.92
2014-10-20 12:43:07 km200 Buderus REST_services: 27
Leider bin ich zu doof zu kapieren, wie es nun weitergeht.
Wie komme ich denn jetzt z.B. an den Wert von "/system/sensors/temperatures/supply_t1"?

Dank für Aufs-Pferd-Helfing!
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Oktober 2014, 16:32:27
Moin zusammen!

Die gute Nachricht vorweg: Ich habs geschafft: Der Zugang zum KM200 ist offen!!!!!!

Mein System spukt folgendes aus:
2014.10.20 16:18:29 3: decryptData : deciphertext     : {"id":"/system/sensors/temperatures/outdoor_t1","type":"floatValue","writeable":0,"recordable":1,"value":15.1,"unitOfMeasure":"C"}

und das ganz ohne MCrypt!!! Sondern nur mit: http://search.cpan.org/~bdfoy/Crypt-Rijndael-1.12/Rijndael.pm (http://search.cpan.org/~bdfoy/Crypt-Rijndael-1.12/Rijndael.pm)

Damit waere der Meilenstein geschafft!!!!!!

Die schlechte Nachricht: Jetzt geht es an die Fussarbeit daraus ein brauchbares fhem modul zu machen!
Das kann noch dauern und braucht die Hilfe erfahrener Modulprogrammierer!

Augenblickliches Problem: Stoesst mein Modul auf einen Heizungsparameter den es nicht gibt spukt er die Linux-Befehlszeilenfehlermeldung
404 Not Found at ./FHEM/73_km200.pm line 493, <$fh> line 16.obwohl ich glaubte, dies mit einem die-Befehl abgefangen zu haben!

489: if ($response->is_success) {     
490:       $data = decode_json(km200_Decrypt( $response->decoded_content , $km200_crypt_key_private));
491:    }
492:   else {
493:        die $response->status_line;
494:   }

aus und fhem stuerzt ab... Aber mit vorhandenen Parametern klappts und ich arbeite daran!!!

Ha, aber fuer heute ist Feierabend... Mann, hat das NERVEN gekostet!!!

(Warum gibt es eigentlich keinen Bier-Trink-Smiley in diesem Forum?  ;D ;D ;D

Gruss heute mal vom "aufm-Deich"!
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 20 Oktober 2014, 16:59:05
HI all,

das ist auch die Lösung für alle NAS-Nutzer die KEIN OpenSSL in Developer-Version nachinstallieren können.

Die Crypt::Rijndael (-1.12) braucht dies nicht, und realisiert AES. Bei mir auf derLinkstation ist das Perl aber zu alt, daher habe ich die Crypt-Rijndael-1.11 isntalliert.
Man muß im Code allerdings die Erzeugeung des Ciphers ändern:

Jeweils statt:

   my $cipher = Crypt::CBC->new(
      -literal_key    => 1,
      -key            => $key,
      -header         => 'none',
      -iv             => $iv,
      -cipher         => 'Crypt::OpenSSL::AES');

folgendes:

   my $cipher = Crypt::CBC->new(
      -literal_key    => 1,
      -key            => $key,
      -header         => 'none',
      -iv             => $iv,
      -cipher         => 'Crypt::Rijndael');

Und Crypt::CBC und Crypt::Rijndael lassen sich auch OHNE CPAN-Minus (cpanm) direkt als TGZ ziehen und lokal ins Perl installieren.

Soweit mein Stand bis dato. Am Rest bin ich ähnlich dran wie Sailor.
Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Oktober 2014, 17:39:21
Hallo Olaf, komme sogar ohne Crypt::CBC aus


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 20 Oktober 2014, 18:08:23
HI Sailor,

klingt gut, und wie hast Du das im Code glöst? Kannst Du Deine Version vom Modul mal hochladen?

Danke,
Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 21 Oktober 2014, 10:18:22
So Nachtrag,

da ich ein KM50 besitze und kein KM200 hat sich folgendes herausgestellt:
Der HEADER des HTTP-GET ist beim KM50 unterschiedlich, daher antwortet mein Gateway immer, dass es die "Files" nicht kennt.
Bin gerade dran herauszufinden, wo die Unterschiede liegen. Dies wurde im Juli des Jahres schon einmal in einem anderen Board gelöst, allerdings ohne die Lösung zu posten.
Werde also nachher mal nen Sniffer dran hängen.
Die Unterschiede sind vermutlich marginal, allerdings ausreichend, dass mein KM50 die Antwort verweigert. Alles andere (SALT, REST_Baum, etc.) sollen wohl gleich sein.

Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 21 Oktober 2014, 13:55:37
Hallo Olaf,

deine Frage nach der Entschlüsselung scheinst Du schon rausbekommen zu haben.  8)


Zwei Fragen an Dich:

1)
Wie übertrage ich den entschlüsselten String
{"id":"/system/sensors/temperatures/outdoor_t1","type":"floatValue","writeable":0,"recordable":1,"value":15.1,"unitOfMeasure":"C"}in den hash welches die (unter) Spalten "id" , "type", "writeable", "recordeable", "value" und "unitOfMeasure" für sämtliche Einträge hat


2)
Wie wandle ich die in den hash geschriebenen Daten in Readings um, wobei
"id" Der Name des Readings ist
"type" verworfen werden kann
"writeable" verworfen werden kann
"recordeable" verworfen werden kann
"value" der Wert des Readings
"unitOfMeasure" die EInheit des Readings
ist?

Danke für deine Hilfe.

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 21 Oktober 2014, 15:17:54
Hi nochmal,

also, entschlüsselt bekommen habe ich noch nichts, denn die Nachricht, dass mein Gateway die "Files" nicht hat, kommt unverschlüsselt.
Deshalb geht auch Deine Abfrage:
   if ($response->is_success)
nicht, denn HTML kommt in jedem Falle zurück, aber eben keine Fehlernachricht gemäß RFC (wie es in Perl durch HTTP:STATUS ausgewertet wird).
Hier müssten wir den Content wohl per Hand auf folgenden String parsen, bevor wir das zum entschlüsseln geben:

<HTML><HEAD><TITLE>Gateway webserver</TITLE></HEAD><DIV ALIGN=CENTER><FONT SIZE=+4><BR><BR><BR>Sorry, the requested file does not exist on this server.</FONT></DIV></HTML>

Ein Substring davon würde ja reichen.

Die Anfrage dazu, die unsere Software absetzt, mit REST-String, ist ja auch zunächst unverschlüsselt. Nur die Antwort, die vom Gateway kommt, ist entsprechend verschlüsselt, wenn es denn die Daten hat und bereitstellen will, womit dies also der 2. Schritt ist.

Aber zu Deiner ersten Frage:
Man kann dem HASH in Perl beliebige Elemente anhängen. Ein Beispiel aus dem CUL_IR-Modul, welches ich vor Jahren geschrieben habe:

$hash->{irLearn} = 1;

Du könntest also dem HASH die Elemente zuordnen:
$hash->{id} = ....

Allerdings sind diese Klassen (id, type, ...) ja je nach REST-String mit völlig anderen Werten belegt, daher macht es aus meiner Sicht keinen Sinn, diese Klassen selbst an den HASH zu hängen.

Und zu den Readings, dies steht auf der ersten Seite in unserem Thread, im simplen Modul 71_km200:

man nimmt:
   readingsBeginUpdate($hash);
   readingsBulkUpdate( $hash, @var[0], @var[1] );   
        ......
          readingsEndUpdate( $hash, 1 );
wobei die beiden Elemente jeweils: NAME, VALUE sind.

Damit erzeugst Du die gesamte Liste der Readings.

Aber meine Frage nach der Entschlüsselung bleibt, wie hast Du es ohne CBC gemacht? Habe auch irgendwo gelesen, dass EBC und nicht CBC genutzt wird.
Kannst Du Deinen Code dazu mal posten?

Danke,
Gruß,
Olaf

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 21 Oktober 2014, 19:35:17
Hallo Olaf,

anbei meine Subroutine:

###START###### Subroutine Decrypt Data ########################################################################START####
sub km200_Decrypt($$$)
{
    my $decryptData             = $_[0];
    my $km200_crypt_key_private = $_[1];
my $name                    = $_[2];
       
    # Remove additional encoding with base64
    $decryptData = decode_base64($decryptData);
       
    # Create Rijndael decryption object and do the decryption
    my $cipher = Crypt::Rijndael->new($km200_crypt_key_private, Crypt::Rijndael::MODE_ECB() );
    my $deciphertext = $cipher->decrypt( $decryptData );
       
    # Remove zero padding
    $deciphertext =~ s/\x00+$//;
       
    # Remove PKCS #7 padding   
    my $decipher_len = length($deciphertext);
        my $decipher_padchar = ord(substr($deciphertext,($decipher_len - 1),1));
   
    my $i = 0;
   
    for ( $i = 0; $i < $decipher_padchar ; $i++ )
    {
        if ( $decipher_padchar != ord( substr($deciphertext,($decipher_len - $i - 1),1)))
        {
            last;
        }
    }
   
    # Return decrypted text
    if ( $i != $decipher_padchar )
    {
### Log entries for debugging purposes
Log3 $name, 5, ": km200 - decryptData1 : decipher_padchar: " .$decipher_padchar;
Log3 $name, 5, ": km200 - decryptData1 : decipher_len    : " .$decipher_len;
Log3 $name, 5, ": km200 - decryptData1 : deciphertext    : " .$deciphertext;
### Log entries for debugging purposes
        return $deciphertext;
    }
   
else
    {
$deciphertext = substr($deciphertext,0,$decipher_len - $decipher_padchar);
### Log entries for debugging purposes
Log3 $name, 5, ": km200 - decryptData2 : decipher_padchar: " .$decipher_padchar;
Log3 $name, 5, ": km200 - decryptData2 : decipher_len    : " .$decipher_len;
Log3 $name, 5, ": km200 - decryptData2 : deciphertext    : " .$deciphertext;
### Log entries for debugging purposes
        return $deciphertext;
    }
}
####END####### Subroutine Decrypt Data #########################################################################END#####

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 21 Oktober 2014, 22:31:15
Mein letzter Stand: Siehe Anhang

Jetzt ist Feierabend... Fuer heute!  ;D

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Ralli am 22 Oktober 2014, 06:37:46
Das sieht doch sehr vielversprechend aus  :)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 22 Oktober 2014, 08:45:58
Sailor, kannst Du nochmal Deine letzte Version posten? Danke!
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 24 Oktober 2014, 12:50:34
HI all,

so, ein Update meiner Situation mit dem KM50:

Ich habe vorhin mal nen Sniffer in den Verkehr gehängt, und festgestellt, dass nicht das KM50 das Problem ist, sondern mein Perl.

Wir nutzen zur Zeit folgenden Code, um den HTTP-Request zu bauen:

   my $ua = LWP::UserAgent->new;
   my $options = HTTP::Headers->new(
     Accept => 'application/json'
   );
   $options->user_agent('TeleHeater/2.2.3');
   $ua->default_headers($options);

Da wir aber den LWP::UserAgent von Perl nutzen, erzeugt der HEADER über Options bei mir KEINEN korrekten User-Agent String.
Im Request steht sowas drin, wie "libwww-perl/5.08...".

Ich habe daraufhin den Code wie folgt geändert:
   my $ua = LWP::UserAgent->new;
   my $options = HTTP::Headers->new(
     Accept => 'application/json'
   );
   $ua->default_headers($options);
   $ua->agent('TeleHeater/2.2.3');

und siehe da ... mein KM50 redet nun auch mit mir.
Werde mich nun mit der Decrypt von SAILOR befassen, und die Readings passend aufbauen.
Gibt's dazu bereit Sample-Code aus deinem obigen Beispiel?

Ich plädiere dafür, dass ihr auch mal meinen obigen USER-AGENT Code versucht, um evtl. auf eine einheitliche Version zu kommen.

Danke,
Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 24 Oktober 2014, 16:58:15
Und noch ein Update,

nach momentanem Stand stürzt FHEM beim Versuch des Entschlüsselns ab. Ich habe noch nicht genau gefunden wo, aber die Decrypt läuft bei mir so nicht.
Werde auch dies mal debuggen.

LG
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 25 Oktober 2014, 21:34:08
Hi all,

so, ich habs nun noch nicht ganz soweit wie Sailor, und der Code ist extrem hässlich, aber ich kann was zum testen anbieten:

Was macht das Modul?
Es fragte EINIGE Werte bei der Definition ab, und schreibt die Antworten ins LOG.
Ich habe in den REST-Services die Sammel-Übersichten auskommentiert, da diese URIs zurück liefern, und keine Werte. Diese kann man aber mit abfragen, die Routine gibt die Daten korrekt aus.
Der EINZIGE Wert, bei dem mein System noch abstürzt ist: "/heatSources/flameCurrent"
Den habe ich auch auskommentiert. Wo das Problem liegt, weiss ich noch nicht.
SOLAR habe ich nicht, daher auskommentiert.

Was das Modul alles NICHT macht:
Es schreibt keine Readings, es macht kein Intervall, es unterstützt weder SET noch GET.

Momentan ging es mir darum, beim DEFINE, einmal alle Werte zu holen.
Das Dingen läuft für meine KM50 mit einem Heizkreis und Öl-Brenner.

Was solltet ihr testen:
a) läuft es bei euch überhaupt (define <name> km200 <ip-address> <interval> <Geräte-PW> <persönliches-PW>)
b) mit welchen REST-Services könnt ihr arbeiten
c) was gibt eure Anlage zurück
d) was hättet ihr gern noch

Soviel zum Stand. Ich weiss, dass es vom Code her übel ist. Ich räume auf, sobald ich mehr weiß, und ob es bei anderen geht. Dann kann ich System in den Code bringen. Ich plane einzelne RESTs per GET zu unterstützen, ähnlich auch für SETs, und ein "ALL" für alle Werte.
INTERVAL sollte für alle Werte gelten, allerdings kann man eigene ATs schreiben, der nur einzelne Werte dann holt.

Danke,
Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 25 Oktober 2014, 22:30:48
Super-Olaf! Danke!

Neu ist ja "Crypt::Rijndael", musste ich noch installieren.

Beim define keine Probleme, auf der Leitung ist dann erst mal gut Verkehr
(via tcpdump ganz viel/oft:
0x0020:  5010 3fce 1ab6 0000 4854 5450 2f31 2e30  P.?.....HTTP/1.0
0x0030:  2032 3030 2054 6865 2072 6571 7565 7374  .200.The.request
0x0040:  2068 6173 2073 7563 6365 6564 6564 0d0a  .has.succeeded..
0x0050:  436f 6e74 656e 742d 5479 7065 3a20 6170  Content-Type:.ap
0x0060:  706c 6963 6174 696f 6e2f 6a73 6f6e 0d0a  plication/json..
0x0070:  0d0a 0d0a 4d6d 394d 6f4c 6554 5a62 4c49  ....Mm9MoLeTZbLI
0x0080:  7051 6f4b 4c2b 2b43 7a43 4d6e 4d2b 3138  pQoKL++CzCMnM+18
usw. usw.
Leider weiß ich nicht, wie ich prüfen kann, ob die Entschlüsselung klappt. :-(

Im Log habe ich 21 mal
2014.10.25 22:24:24 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200.pm line 307.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 25 Oktober 2014, 23:03:42
Danke fürs Feedback,

das zeigt, dass die Request korrekt sind, und Dein Web-Modul passend antwortet. Aber leider Dein Perl den PACK Befehl (zusammenstellen des MD-Salts für die Entschlüsselung) so nicht durchführt.

Daher noch keine Entschlüsselung. Wie das kommt, muss ich erst recherchieren.

Danke trotzdem, ich bleibe dran.

Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 25 Oktober 2014, 23:08:02
So,

jetzt aber mal meine Version.

Bitte den Kasten "List of open Problems" beachten:

########################################################################################################################
# List of open Problems
#
# *Reading KM200 service "/heatSources/flameCurrent" or "/system/appliance/flameCurrent" causes fhem to crash
# *Set function: missing and seems not to hand over values to central heating system
# *Get function: dropdown list does not show all services
# *Many values in readings make no sense at all
# *Cannot read or change attribute for example in order to change interval to other values than default value of 300s
#
########################################################################################################################

Es werden wegen der laufenden Entwicklungsphase noch jede Menge Logs auf Verbose Level 5 erzeugt.
Ausserdem auch auf der Konsole.

Ansonsten geht alles ausser die set-Funktion.

Da beiss ich mir zur Zeit die Zaehne aus...

Fuer heute ist schluss.

Gruss vom "hintern-Deich" mit viel Sturmflutwasser davor!
    Sailor

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 25 Oktober 2014, 23:33:02
HI all,

danke an Sailor. Ein paar Unterschiede kann man schon sehen:

Bei Sailor wir PACK bereits mit C* verwendet (unsigned char), bei mir "nur" "c*". Mag ein Grund sein.
Darüber hinaus baut Sailor den HTTP-Header anders als ich. Das funzt bei meiner KM50 nicht, wohin gegen bei seiner KM200 das wohl geht (mag aber auch am Perl liegen).

Die Probleme mit Flame/current sind gleich.
Super, dass wir Versionen zum Vergleich haben. So können wir auf verschiedene Weisen testen, und schauen, was geht.

Bei Sailor fällt auf:
Wenn eine REST-Anfrage NICHTS zurück liefert (NO-Success), so schlägt die Abfrage nach JSON->{"value"} fehl.
Zumindest bei mir steigt FHEM dann aus. Hier brauchen wir ein robustes, universelles Vorgehen.

Freue mich auf weitere Debugs anderer User.

LG,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 26 Oktober 2014, 01:13:58
HI all,
habe auf Sailors Version weiter gearbeitet, da sie einfach viel weiter entwickelt ist.
Habe Fail-Safes eingebaut, den Header für KM50 integriert und INTERVAL im Define wieder aufgenommen.

Sollte jetzt auch korrekt aussteigen, wenn keine Kommunikation mit dem Gateway geht, oder wenn ein Dienst nicht verfügbar ist.

Siehe ChangeLog. Bitte um Tests allerseits.

Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 26 Oktober 2014, 08:03:24
Hallo an alle,

ich bin begeistert, auch bei mir funktioniert es jetzt!

Vielen Dank an die Entwickler!

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 26 Oktober 2014, 09:56:03
Hallo an alle,

ich bin begeistert, auch bei mir funktioniert es jetzt!

Vielen Dank an die Entwickler!

Grüße
Rainer

Hallo Rainer

keine Ursache! Aber Vorsicht, viele Werte sind irgendwie trotz Lesbarkeit einfach nur Bockmist.

Ich arbeite dran!

M
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 26 Oktober 2014, 11:11:55
Hallo Olaf

habe auf Sailors Version weiter gearbeitet, da sie einfach viel weiter entwickelt ist.
Na das geht runter wie Oel!  :)

Habe Fail-Safes eingebaut
Super! Habe es entsprechend kommentiert und hervorgehoben

Habe den Header für KM50 integriert

Habe diesen leicht veraendert. Wenn es nicht klappt, kannste Zeile 682 loeschen und Zeile 685 reaktivieren.
Bin mal gespannt ob das geht.
Mein KM hat jedenfalls nicht ueber Deinen Zusatz gemeckert.


Habe INTERVAL im Define wieder aufgenommen.

Ja, daran arbeite ich auch noch. Irgendwie kriege ich das Attribute
attr myKm200 interval 90nicht eingelesen. (Zeile 263 und Zeile 265)

Habe daueber hinaus die Konsolenausgabe etwas verbessert und den Commandref - Textabschnitt hinter "=pod" angefuegt.

Mit der Bitte um Test.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 26 Oktober 2014, 11:22:01
Hi zusammen
könnt Ihr bitte nochmal kurz zusammen fassen was alles zusätzlich installiert werden muss, ich bekomme auf beiden FHEM zwei unterschiedliche Fehlermledungen.

Ansonsten Danke für die Mühe.

Zitat

Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/73_km200test.pm line 69.
BEGIN failed--compilation aborted at ./FHEM/73_km200test.pm line 69.

Zitat

Can't locate Crypt/Rijndael.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM ./FHEM/lib) at ./FHEM/73_km200test.pm line 70.
BEGIN failed--compilation aborted at ./FHEM/73_km200test.pm line 70.

lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 26 Oktober 2014, 11:28:03
Hi all,

@Stefan: Du mußt JSON.pm und Crypt::Rijndael installieren. Das ist genau das, was Dein System anmeckert.

@Sailor: Danke fürs Update. Deine AGENT funktioniert bei mir nicht; es scheint also nicht das gleiche zu sein, ob man dem LWP::UserAgent den Parameter mitgibt, oder dem Header. Darüber hinaus stürzt mein FHEM jetzt in CompleteDataInit ab .... werde das mal debuggen.

Gruß,
Olaf

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 26 Oktober 2014, 14:05:11
So die Fehlermeldungen sind weg, aber jetzt stürzt FHEM beim define ohne Logeintrag ab.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 26 Oktober 2014, 15:05:34
Hi Stefan,

kannst Du bitte mal meine letzte Version versuchen.
Sailors letzte Version stürzt bei mir auch ab, ich bin dran, habe es aber noch nicht gefunden.

Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 26 Oktober 2014, 16:08:22
Hi Nobody

da kommt gleich die Fehlermeldung:
Zitat
Can't locate Crypt/CBC.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/73_km200nb.pm line 450.
BEGIN failed--compilation aborted at ./FHEM/73_km200nb.pm line 450.

Nachinstallation war noch nicht erfolgreich

LG
Stefan


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 26 Oktober 2014, 16:27:36
Hallo Olaf

anbei die Aenderungen fuer den Header rueckgaengig gemacht.

Die Define hatte ich gar nicht geaendert... Aber ich habe ein paar Debugging print Befehle eingegeben.

Bis wohin kommt er denn.

Am besten fhem von der Konsole stoppen und dannach starten...


Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 26 Oktober 2014, 16:53:07
Hallo Nobody

hat funktioniert hier der Logauszug

Zitat
2014.10.26 15:18:28 5: Cmd: >define mykm200nb km200nb 192.168.0.48 60 uB5tLkHZPuCQNUkV 12stefan34<
2014.10.26 15:18:28 3: km200nb : Define H        : HASH(0x26c2b70)
2014.10.26 15:18:28 3: km200nb : Define D        : mykm200nb km200nb 192.168.0.48 60 uB5tLkHZPuCQNUkV 12stefan34
2014.10.26 15:18:28 3: km200nb : Define A        : 6
2014.10.26 15:18:28 3: km200nb : Define Name     : mykm200nb
2014.10.26 15:18:28 3: km200nb : Define Adr      : 192.168.0.48
2014.10.26 15:18:28 3: km200nb : Define interval : 60
2014.10.26 15:18:28 5: km200nb : IPv4-address: 192.168.0.48is valid
2014.10.26 15:18:28 5: km200nb : Provided GatewayPassword has the correct length at leasT lenght was : 16
2014.10.26 15:18:28 5: km200nb : Provided PrivatePassword exists at least
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 1: PERL WARNING: Character in 'c' format wrapped in pack at ./FHEM/73_km200nb.pm line 307.
2014.10.26 15:18:28 5: Triggering mykm200nb (5 changes)
2014.10.26 15:18:28 5: Notify loop for mykm200nb InitialKey: Aߎe?ǜד틗Vߏ
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 26 Oktober 2014, 16:59:38
Hi Sailor,

so, Deine letzte Version tut bei mir auch wieder. Du hattest in der vorherigen in der json->Writeable den ELSE-Case getötet. Daran hat sich mein Perl erhängt.
Scheint, dass meine Perl-Installation deutlich zickiger ist, als Deine. Habe Perl 5.8.8 auf einer Linkstation (ARM) laufen.

@Stefan, kannst DU Sailors letzte Version auch mal testen?

Danke,
Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 26 Oktober 2014, 17:06:42
Hi zusammen
so habe nun alle drei Versionen inclusive meiner PHP Version am laufen.

Werde mal die Werte vergleichen.

lg
Stefan

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 26 Oktober 2014, 18:31:39
Tut auch bei mir, ganz viel
2014.10.26 18:15:03 3: Buderus Answer:
Mm9MoLeTZbLIpQoKL++CzCpaTYPz1GS/KHpDmJkfEpemUXPszNoPaz3T8RGmksgzul80Kxm1buXc3yt4lLBRrwPh4udbhdVggmXew/y+J0LX16L6JEwIXzJIFQpEDwRukiNaj9rQvR1ogWb1SBNqvCUd83QePttn5IpebaOpefY=
2014.10.26 18:15:03 3: Buderus decrypt2: {"id":"/heatSources/systemPressure","type":"floatValue","writeable":0,"recordable":1,"value":25.5,"unitOfMeasure":"bar"}
2014.10.26 18:15:03 3: km200 - value found:/heatSources/systemPressure: 25.5
Und sogar:
2014.10.26 18:15:02 3: Buderus Answer:
Mm9MoLeTZbLIpQoKL++CzDOWG1vLg2Yty4mbVA/RXT1L6y7ZO3O9TPgL3ecug7jSX990ORsTfp7z+zCHrCksr03S4/xNAmb42QzrFMM8vuz5tzHI4uq5x0Yi1pGPNuyvINFor67qKno/C3anJ+H2eQ4zcqjHBLcBHPc8E/w+Dnk=
2014.10.26 18:15:02 3: Buderus decrypt2: {"id":"/heatSources/flameStatus","type":"stringValue","writeable":0,"recordable":0,"value":"off","allowedValues":["off","on"]}
2014.10.26 18:15:02 3: km200 - value found:/heatSources/flameStatus: off
Aber meine Readings sind bis auf Address,InitialKey,Interval,PrivateKey und REST_services leer! Wie macht Ihr das, dass da die ausgelesenen Werte erscheinen?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 26 Oktober 2014, 18:55:37
Hi all,

die letzte Version von Sailor ist bis dato echt super, und am mächtigsten. Nutzt die, meine waren nur Vor-Versionen zum Test.
Bin gerade dran, das Interval in die Attribute zu übernehmen, und auch die per Interval zu holenden Werte per Attribut modifizierbar zu machen.
Denn: den ganzen Quatsch brauchen wir nicht regelmäßig abfragen. Das meiste ist statisch und nur einmal interessante.
Es gibt ne handvoll Werte, die regelmäßig spannend sind.
Damit das aber jeder selbst entscheiden kann, baue ich die in die Attribute.

Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 26 Oktober 2014, 19:01:20
Und bei mir meckert er bei der letzten Version
Not enough arguments for main::km200_GetData at ./FHEM/73_km200.pm line 372, near "$hash)"
Not enough arguments for main::km200_GetData at ./FHEM/73_km200.pm line 387, near "$hash)"
Not enough arguments for main::km200_GetData at ./FHEM/73_km200.pm line 485, near "$hash)"
Not enough arguments for main::km200_Decrypt at ./FHEM/73_km200.pm line 703, near "$hash)"
Not enough arguments for main::km200_GetData at ./FHEM/73_km200.pm line 746, near "$hash)"
Not enough arguments for main::km200_GetData at ./FHEM/73_km200.pm line 811, near "$hash)"
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 26 Oktober 2014, 19:10:58
Bitte ein Neustart von FHEM.

Ein Reload geht nicht, wenn man die Anzahl der Argumente einer Funktion ändert. Versuch dies mal. Sollte danach behoben sein.
Falls nicht, bitte nochmal posten. Danke
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 26 Oktober 2014, 19:15:53
Ein Reload geht nicht, wenn man die Anzahl der Argumente einer Funktion ändert.
Oh, sorry, das wusste ich nicht!

Und schon hab ich auch Readings bis der Arzt kommt! ;D
Super! Danke!!!
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 26 Oktober 2014, 20:06:04
Und schon hab ich auch Readings bis der Arzt kommt! ;D

Un schon haben wir ganz nebenbei eine neue Krankheit geschaffen: Akute Readingseritis!  ;D

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 26 Oktober 2014, 20:42:54
Hallo Olaf

Bin gerade dran, das Interval in die Attribute zu übernehmen, und auch die per Interval zu holenden Werte per Attribut modifizierbar zu machen.

OK, dann lege ich mich diesbezueglich erstmal zurueck. Man muss ja auch mal Anderen den Vortritt lassen...  ;)
In den Zeilen 263 bis 271 hatte ich ja schon einen zarten Versuch gemacht, aber irgendwie kommt das Attribut nicht rein


Denn: den ganzen Quatsch brauchen wir nicht regelmäßig abfragen. Das meiste ist statisch und nur einmal interessante.
Es gibt ne handvoll Werte, die regelmäßig spannend sind.
Damit das aber jeder selbst entscheiden kann, baue ich die in die Attribute.

FULL ACK"
Genau das war auch der Grund fuer die unterschiedlichen Subroutinen "km200_CompleteData" und "km200_CompleteDataInit" 8)

km200_CompleteDataInit soll am Anfang alle bekannten Services versuchen und dann zwei Tabellen (HASH oder ARRAY) anlegen:
a) Alle Services die lesbar sind.
b) Alle Services die darueberhinaus auch schreibar sind.

Eine Tabelle ist bekannt:
c) Alle Services die statische Werte liefern und nicht in der Intervallschleife erneut geprueft werden muessen.

Ich habe also die Idee aus den Tabellen a) und c) zwei neue Tabellen zu generieren:
d) Vorhandene statische Werte: a){n} && c){n}.
e) Vorhandene dynamische Werte a) - (a){n} && c){n}). Soll heissen: Alle vorhandenen Werte minus vorhandene statische Werte = vorhandene dynamische Werte.

Und dann werden nur Tabelle
d) im Rahmen des Intervalls fuer statische Werte abgefragt
attr myKM200 statValInterval 600
e) im Rahmen des Intervalls fuer dynamische Werte abgefragt
attr myKM200 dynValInterval 60
So weit meine Idee. An der Umsetzung hapert es wie du an den Kommentarzeilen in der "km200_CompleteDataInit" sehen kannst.

Der Hintergrund ist, dass ich in PERL nicht ganz so bewandert bin und ich an dieser Stelle wirklich die Hilfe eines PERL-Experten brauche, der sich mit HASHs auskennt.

In den Zeilen 823 bis 831 hate ich die Idee dem globalen HASH alle vorhandenen Werte mit allen individuellen keys anzuhaengen.
Sozusagen ein HASH im HASH...

Es eruebrigt sich wohl zu sagen, dass ich nicht einmal eine Ahnung habe, ob die Werte ueberhaupt reingekommen sind, da ich sie nicht auslesen kann.

Wenn du diesbezuglich eine Idee hast... Dann bitte her damit! Ich bin diesbezueglich scheinbar in eine Sackgasse geraten.

Mein Vorschlag:
Lass uns erstmal das Problem mit dem Einlesen der Attribute loesen. Das wuerde mich schon ein Stueck weiterbringen.
Dann koennte ich mich schon mal an die von fhem geforderte Subroutine "km200_Attr" machen.

Gib mir die entsprechenden CodeZeilen und ich werde sie in meine Version einfuegen. Wohlkommentiert und formatiert versteht sich!  ;)

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 26 Oktober 2014, 22:21:51
Moinsen!

Warum zum Henker funktioniert AttrVal nicht  >:(

fhem.cfg
define myKm200 km200 192.168.178.200 120 aaaa-bbbb-cccc-dddd KM200PW
attr myKm200 room Central Heating
attr myKm200 IntervalDynVal 90
attr myKm200 IntervalStatVal 900


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

    $hash->{Version}  = "V 1.0.8";
    $hash->{STATE}    = "Init";
    $hash->{DefFn}    = "km200_Define";
    $hash->{UndefFn}  = "km200_Undefine";
    #$hash->{SetFn}    = "km200_Set";
    $hash->{GetFn}    = "km200_Get";
    #$hash->{AttrFn}   = "km200_Attr";
    $hash->{AttrList} = "do_not_notify:1,0 " .
"passwords_encoded:1,0 " .
"loglevel:0,1,2,3,4,5,6 " .
"IntervalDynVal " .
"IntervalStatVal " .
$readingFnAttributes;
}

km200_Define:
my $tempval = AttrVal($name, "IntervalDynVal", 5);
print ("IntervalDynVal: $tempval \n");

Und die Ausgabe ist 5 statt 90 obwohl der Wert in der fhem.cfg mit 90 definiert ist.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 26 Oktober 2014, 23:06:55
Hi Sailor,

anbei ein Aufschlag. Mit den Attributen muß man "gequoted" umgehen, nicht wie im HASH direkt.
Habe Interval nun im Attribut, kann dies auch ändern, es wird aber dem HASH weiterhin übergeben.
Finde die Idee, es doppelt zu halten nicht verkehrt, weil:
a) der User kann Attribute löschen
b) dann würden die Routinen fehlschlagen, die sich drauf verlassen.

Daher würde ich die Attribute nutzen wollen, um die Werte zu ändern, aber die eigentlichen Werte (falls Attribute gelöscht werden) trotzdem am Hash hängen lassen. Und die Routinen selbst, ob nun Timer, GetData, etc. auf den Hash-Values operieren lassen.

Schau mal, ob Du damit was anfangen kannst.
Habe AttrFN in Betrieb genommen, und Interval im Define direkt mit in die Attribute gehängt.

LG,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 27 Oktober 2014, 08:29:19
Hallo Olaf,


Die angehängte hat gar kein AttrFN im gesamten Text.
Darüber hinaus kann ich auch keine Änderungen gegenüber meiner letzten Version feststellen.

Ich fürchte du fast hast aus Versehen die falsche Datei angehängt. 
23:06:55 - War wohl en bisschen spät gestern... ;D

M
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 27 Oktober 2014, 08:34:17
Hi Sailor,

schau mal in Zeilen 459-479 zzgl. Zeile 264 & 270;

Ist nicht viel, aber wirkungsvoll.

LG,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 27 Oktober 2014, 08:54:43
Oh Mann, ich habe deine Datei runtergeladen und dann eine von meinen geöffnet.

War wohl eher spät bei mir...  :o

Ich versuchs heute Abend mal...

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 27 Oktober 2014, 22:53:41
Auch Version 1.08 funktioniert soweit ohne Fehlermeldungen.
Mir ist aber aufgefallen, dass es manche Werte bei meinem KM200 nicht gibt, wie z.B.
2014.10.27 22:39:43 3: Buderus : km200 - Service: /heatingCircuits/hc1/controlType NOT available
2014.10.27 22:39:43 3: Buderus : km200 - Service: /heatingCircuits/hc1/currentOpModeInfo NOT available
2014.10.27 22:39:44 3: Buderus : km200 - Service: /heatingCircuits/hc1/designTemp NOT available
2014.10.27 22:39:44 3: Buderus : km200 - Service: /heatingCircuits/hc1/heatCurveMax NOT available
2014.10.27 22:39:44 3: Buderus : km200 - Service: /heatingCircuits/hc1/heatCurveMin NOT available
2014.10.27 22:39:45 3: Buderus : km200 - Service: /heatingCircuits/hc1/roomInfluence NOT available
2014.10.27 22:39:46 3: Buderus : km200 - Service: /heatingCircuits/hc1/roomTempOffset NOT available
2014.10.27 22:39:46 3: Buderus : km200 - Service: /heatingCircuits/hc1/setpointOptimization NOT available
2014.10.27 22:39:46 3: Buderus : km200 - Service: /heatingCircuits/hc1/solarInfluence NOT available
2014.10.27 22:39:46 3: Buderus : km200 - Service: /heatingCircuits/hc1/suWiSwitchMode NOT available
2014.10.27 22:39:46 3: Buderus : km200 - Service: /heatingCircuits/hc1/suWiThreshold NOT available
wohl aber
/heatingCircuits/hc1/activeSwitchProgram  A
/heatingCircuits/hc1/actualSupplyTemperature  42.4
/heatingCircuits/hc1/currentRoomSetpoint   0
/heatingCircuits/hc1/fastHeatupFactor   0
/heatingCircuits/hc1/manualRoomSetpoint   21
/heatingCircuits/hc1/operationMode   auto
/heatingCircuits/hc1/pumpModulation   0
/heatingCircuits/hc1/roomtemperature  -3276.8
/heatingCircuits/hc1/status  ACTIVE 
/heatingCircuits/hc1/temperatureRoomSetpoint   21
/heatingCircuits/hc1/temporaryRoomSetpoint   -1
Liegt wahrscheinlich am Unterschied KM50 vs. KM200?
Ich habe laut Readings versionFirmware 01.05.04 und versionHardware iCom_Low_NSC_v1

@Sailor, Du hattest aber doch auch eine KM200, oder?

Und ich habe z.B. einen zweiten Heizkreis (Fußbodenheizung); die Werte kann ich natürlich problemlos mit "hc2" abfragen.
Da müsste das Modul ja auch irgendwie "user customizable" sein.

Schon wieder neue Krankheit: Akute Attributis!  ;D
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 27 Oktober 2014, 23:08:59
Hi all,

das ist super, so wollten wir das sehen.
Meine KM50 hat eine neuere Firmware (zumindest die Version) aber inhaltlich ist es wohl gleich. Auch meine Hardware-Version ist eine andere.
Die Werte, die abfragbar sind, sind aber alle gleich, eben nur anders/nicht belegt. Das liegt aber nicht am Gateway sondern an der Frage, was die Komponenten am EMS-Bus hergeben. Also die eigentliche Heizung und ihre Elemente.

Und ja, das ist eine Frage der Attribute. Habe gerade in einer Debug-Version mal eingebaut, dass die Values, die ein RETURN liefern, in eine zweite Liste als Attribute geschrieben werden. Diese kann ich dann modifizieren und per Interval abholen lassen.
Somit hat ein User, der Atributitis hat, die Möglichkeit zu bestimmen, welche Werte abgeholt werden.

Sobald da keine 3000 Debug-Meldungen mehr drin sind, stelle ich sie online.
Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 28 Oktober 2014, 08:46:20
Die Werte, die abfragbar sind, sind aber alle gleich, eben nur anders/nicht belegt. Das liegt aber nicht am Gateway sondern an der Frage, was die Komponenten am EMS-Bus hergeben. Also die eigentliche Heizung und ihre Elemente.
Bei dem Solarkram ist mir das auch grundsätzlich klar (hab ich nicht).
Aber warum es einen
/heatingCircuits/hc1/operationMode gibt, aber einen
/heatingCircuits/hc1/controlType nicht, erschließt sich mir natürlich nicht.

Die spannende Frage ist ja: Wie finde ich heraus, welche spannenden Werte ich verpasse? Gibt es eine Idee herauszufinden, welche noch abfragbar sind, die Du z.B. nicht hast?
Mittelfristig würde ich natürlich gerne mal das Heißwasserprogramm feiertags wie sonntags laufen lassen. Das kann meine sündhaft teure, aber leider blöde Kiste nämlich nicht.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 28 Oktober 2014, 09:56:18
Hi,
soweit ich weiß, fragen wir mit den REST Strings alles ab, was das Gateway über den EMS-Bus überhaupt hinkriegt. Daher kommen bei manchen Anfragen die Antworten, dass der Dienst nicht verfügbar ist.
Erst daraus wollen Sailor und ich eine Liste der Abfragen bauen, die die jeweilige Heizung tatsächlich unterstützt.
Die Liste der MÖGLICHEN Abfragen haben wir aus dem IPS-Forum übernommen, da es ja keine interne Doku von dem Gateway gibt. Ich habe aber bis dato auch keine weiteren Abfragemöglichkeiten gefunden. bzw. beim Sniffen an der APP gesehen.

Wenn aber einer unserer User mehr Infos hat, immer gern, dann bauen wir mehr mit ein.
Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 28 Oktober 2014, 10:20:22
Moinsen zusammen

soweit ich weiß, fragen wir mit den REST Strings alles ab, was das Gateway über den EMS-Bus überhaupt hinkriegt.

Korrekt - Die Quelle des Strings hat ein Kollege aus dem ip-symcon Bereich ermittelt: http://www.ip-symcon.de/wiki/Buderus_KM200 (http://www.ip-symcon.de/wiki/Buderus_KM200)
Woher er diese hat, erschließt sich mir zwar nicht, aber er hält mich bisher auf dem Laufenden!
Wenn Ihr noch was habt, dann her damit!

bzw. beim Sniffen an der APP gesehen.

Korrekt - Aber da wir immer nur die User-APP sniffen können und nicht die viel interessantere Wartungs-Variante der Heizungs-Installationsbetriebe wo auch interne/versteckte Werte abgefragt werden.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 28 Oktober 2014, 10:48:16
So,

und wieder eine neue Version...

In der derzeitigen Version 1.09 habe ich das Interval aus der Definitionszeile rausgeschmissen.

Daher: Vorsicht, neuer Aufruf:
define <name> km200 <IPv4-address> <GatewayPassword> <PrivatePassword>
Zwei neue Atrtribute für ein unterschiedliches Interval der statischen Werte und der dynamischen sollen eingelesen werden:
attr <name> IntervalDynVal
attr <name> IntervalStatVal
Sind diese nicht übergeben worden, werden default-Werte gesetzt. (Zeile 305 & 316)
Ist IntervalStatVal auf 0, werden die statischen Werte nur nach fhem-Neustart oder neuem Laden der fhem.cfg eingelesen.


Am Anfang werden alle bekannten Services "abgeklopft" (Zeile 482) und alle antwortenden Services in ein hash geschrieben.
Von dieser Liste werden dann die bekannten statischen Werte abgezogen und übrig bleiben die antwortenden dynamischen Werte.

Statische und dynamische Werte können dann mit einem unterschiedlichen Intervall abgefragt werden.

Das spart extrem CPU-Ressourcen, da für den Zeitraum der Abfrage das fhem System leider komplett blockiert ist.

Probleme:

Die Aktivierung der Zeile 112 $hash->{AttrFn}   = "km200_Attr"; sorgt für eine Endlosschleife, aus welcher man nur noch mit "shutdown -h now" entkommen kann.

Kurz bevor fhem krepiert gibt es noch den Log-Eintrag
2014.10.27 22:32:04 5: Cmd: >attr myKm200 room Central Heating<
2014.10.27 22:32:04 5: Cmd: >attr myKm200 IntervalDynVal 60<

Die entsprechende Funktion lautet:

###START###### Handle attributes after changes via fhem GUI ###################################################START####
sub km200_Attr(@)
{
my @a = @_;
my $name = $a[1];
my $hash = $defs{$name};

if($a[2] eq "IntervalDynVal")
{
my $IntervalDynVal = $a[3];
RemoveInternalTimer($hash);
$hash->{INTERVALDYNVAL} = $IntervalDynVal;

###START###### Re-Start the timer #####################################START####
InternalTimer(gettimeofday()+$hash->{INTERVALDYNVAL}, "km200_CompleteDynData", $hash, 1);
####END####### Re-Start the timer ######################################END##### 
}
elsif($a[2] eq "IntervalStatVal")
{
my $IntervalStatVal = $a[3];
RemoveInternalTimer($hash);
$hash->{INTERVALSTATVAL} = $IntervalStatVal;
   
###START###### Re-Start the timer #####################################START####
# InternalTimer(gettimeofday()+$hash->{INTERVALSTATVAL}, "km200_CompleteStatData", $hash, 1);
####END####### Re-Start the timer ######################################END##### 
}

return undef;
}
####END####### Handle attributes after changes via fhem GUI ####################################################END#####

Daher könen auch die entsprechenden Attribute nicht eingelesen werden und es werden die o.g. Default-Werte verwendet.

Wenn Jemand weisss warum, dann immer her damit!  ???

Wie immer lautet die Devise: Mit der Bitte um Testeritis

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 28 Oktober 2014, 13:32:26
erstaunlich was sich da alles in meinem Urlaub getan hat....
IN dem Code ist ja kein Stein auf dem anderen geblieben.

Für die neuste Version musste ich erst mal wieder ein Perl Modul auf dem Raspberrypi installieren

cpanm List::MoreUtils

Dann sieht das aber nicht schlecht aus
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 28 Oktober 2014, 13:38:47
Hallo Furban

Willkommen zurück... Hoffe Du hattest einen schönen Urlaub!

Dann sieht das aber nicht schlecht aus

Aber nur solange du den #-Kommentator vor Zeile 112 lässt wo er ist.  ;)

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 28 Oktober 2014, 19:15:29
Hm,

habe das Kommentarzeichen in Zeile 112 mal raus genommen und FHEM neu gestartet. Bisher läuft es ohne Probleme. Oder dauert das eine Weile bis er in die Endlosschleife läuft?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 28 Oktober 2014, 19:35:11
So auf Anhieb sehe ich keinen Grund für eine Endlosschleife.
Habe das mit meinem Test-Code verglichen, und es sieht, bis auf Kommentare und VAR_Names eigentlich gleich aus.

Werde es auch mal testen.
Gruß
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 28 Oktober 2014, 19:49:09
Hallo zusammen

Versucht mal fehm zu beenden.
Das hat bei mir nicht hingehauen...

Wenn das bei Euch klappt, dann hauts mich vom Hocker!  :o

Gruss
     Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 28 Oktober 2014, 20:22:20
Also es lief bei mir bis eben ohne Probleme und ich habe dann auch gerade mal fhem erfolgreich gestoppt und wieder gestartet.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 29 Oktober 2014, 08:52:20
Hallo Furban

Also es lief bei mir bis eben ohne Probleme und ich habe dann auch gerade mal fhem erfolgreich gestoppt und wieder gestartet.

Keine Ahnung warum das geklappt hat.


Ist inzwischen auch egal, da ich die Attribute endlich einlesen und auswerten kann. Sollte es keine geben, werden default Werte angenommen.

Stelle ich morgen ins Netz da ich noch ein paar Feinheiten ausbügeln muss.

Nächster Schritt: Forken der Pollinge-Subroutinen um fhem nicht mehr während des downloads komplett zu blocken.

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 29 Oktober 2014, 20:29:47
Und fast taeglich gruesst das Murmeltier.

anbei die Version 1.10.

a) Jetzt mit der Moeglichkeit die Attribute auch wirklich zu setzen
b) Jetzt mit der Moglichkeit die Passwoerter in der fhem.cfg wahlweise auch base64 kodiert abzulegen.

Der Aufruf kann jetzt folgendermassen erfolgen:
define myKm200 km200 192.168.178.58 RnVlciB3aWUgYmxvZWQgaGFsdGV0IElociBtaWNoIGVpZ2VudGxpY2g/Cg== V2lya2xpY2ggc28gYmxvZWQ/Cg==
attr myKm200 room Central Heating
attr myKm200 IntervalDynVal 50
attr myKm200 IntervalStatVal 800

Das Forken des Downloads entpuppt sich als Kopfschmerz reinsten Wassers.

Zur Zeit blockiert das km200 - Modul den fhem Hauptprozess beim Download der Services komplett.

Viel Spass damit mit der Bitte um Testeritis.

Versucht mal ein paar Fehler zu provozieren (Falsches Passwort, kein oder nur ein Attribut gesetzt etc.)
Habe da im Augenblick keine Zeit zu.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 29 Oktober 2014, 21:12:32
Sehr schön :)

Eingespielt habe ich die Version und sie brummt.
Mir ist in den letzten zwei Nächten jeweils FHEM abgestürzt. Mal sehen ob das weiterhin vorkommt.

Ich frage mich aber so langsam wohin denn die Reise geht.
So langsam müsste man mal herausfinden was welche Werte genau bedeuten und welche überhaupt sinnvoll sind auszulesen. So viele scheinen das ja auf den ersten Blick nicht zu sein. Oder es fehlen auch noch welche...
Wenn man dann irgendwann nur noch die Werte ausliest, die man auch gebrauchen kann, ist es vielleicht auch nicht mehr so schlimm wenn FHEM in dieser Zeit mal blockiert ist.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 29 Oktober 2014, 21:35:17
Hallo Furban,

ich hoffe das mit dem "Brummen" ist nur sprichwoertlch gemeint...  ;D

Ansonsten oeffne mal ein Putty-Fenster und gebe

sudo service fhem stop
sudo service fhem start

ein und lass die Konsole mal laufen bis die Fehlereldung auftaucht mit der fhem abstuerzt.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 29 Oktober 2014, 23:10:13
Super, vielen Dank!  :-*

Ich hab zwei Heizkreise, daher noch den ganzen Rotz für
/heatingCircuits/hc2/*
hinzugefügt.

Ich bekomme Werte, die für mich halbwegs Sinn machen für:
/gateway/instAccess: off
/gateway/uuid: 453092217
/gateway/versionFirmware: 01.05.04
/gateway/versionHardware: iCom_Low_NSC_v1
/heatingCircuits/hc1/activeSwitchProgram: A
/heatingCircuits/hc1/actualSupplyTemperature: 35.3
/heatingCircuits/hc1/manualRoomSetpoint: 21
/heatingCircuits/hc1/operationMode: auto
/heatingCircuits/hc1/status: ACTIVE
/heatingCircuits/hc1/temperatureRoomSetpoint: 21
/heatingCircuits/hc2/activeSwitchProgram: A
/heatingCircuits/hc2/actualSupplyTemperature: 25.6
/heatingCircuits/hc2/manualRoomSetpoint: 21
/heatingCircuits/hc2/operationMode: auto
/heatingCircuits/hc2/pumpModulation: 0
/heatingCircuits/hc2/status: ACTIVE
/heatingCircuits/hc2/temperatureRoomSetpoint: 21
/heatSources/actualCHPower: 0
/heatSources/actualDHWPower: 0
/heatSources/actualPower: 0
/heatSources/actualsupplytemperature: 35.3
/heatSources/ChimneySweeper: 0
/heatSources/CHpumpModulation: 0
/heatSources/flameStatus: off
/heatSources/gasAirPressure: -0.1
/heatSources/nominalCHPower: 0
/heatSources/nominalDHWPower: 0
/heatSources/numberOfStarts: 1101
/heatSources/powerSetpoint: 100
/heatSources/systemPressure: 25.5
/system/appliance/actualSupplyTemperature: 35.3
/system/appliance/ChimneySweeper: 0
/system/appliance/CHpumpModulation: 0
/system/appliance/gasAirPressure: -0.1
/system/appliance/nominalBurnerLoad: 0
/system/appliance/numberOfStarts: 1101
/system/appliance/powerSetpoint: 100
/system/appliance/systemPressure: 25.5
/system/brand: Buderus
/system/bus: EMS2_0
/system/healthStatus: ok
/system/heatSources/hs1/actualModulation: 0
/system/heatSources/hs1/actualPower: 0
/system/heatSources/hs1/fuel/density: 0.82
/system/heatSources/hs1/fuelConsmptCorrFactor: 1
/system/heatSources/hs1/nominalFuelConsumption: 1.8
/system/heatSources/hs1/reservoirAlert: 0
/system/sensors/temperatures/chimney: 25.5
/system/sensors/temperatures/outdoor_t1: 10.4
/system/sensors/temperatures/supply_t1: 35.3
/system/sensors/temperatures/supply_t1_setpoint: 11
/system/systemType: NSC_ICOM_GATEWAY

Ich verstehe leider nicht, ob und wie ich bestimmen kann, was für mich Dyn und was für mich Stat ist? Also z.B. system/appliance/nominalBurnerLoad muss ich nicht minütlich wissen...

Sexy fänd ich ja noch Warmwasser-Temperatur und natürlich (gerade für die hoffentlich kommende Set-Funktion!) die Punkte für die Zeitprogramme.
Sailor, vielleicht kann ja "Dein IP-Symcon-Kumpel" da noch was leaken? ;-)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 29 Oktober 2014, 23:20:13
Hallo zusammen,

erst einmal recht herzlichen Dank für die Zeit und Arbeit die Ihr in das neue Modul investiert.

bei mir schmiert fhem ab sobald der Brenner anspringt.
Klingt komisch, ist aber so :-)

Es kommt an der Konsole der Fehler:
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c4}#","allow...") at ./FHEM/73_km200.pm line 846

Ich hab es mehrfach ausprobiert, mein FHEM läuft solange der Brenner aus ist.
Sobald der Brenner anspringt, egal ob wegen Heizkreis oder Warmwasser, kommt der Fehler und FHEM schmiert ab.

FHEM starten während der Brenner läuft sieht dann so aus:
IntervalDynVal: 60
IntervalStatVal: 90
The following Service can be read and is writeable: /gateway/DateTime
The following Service can be read and is writeable: /gateway/instAccess
The following Service can be read                 : /gateway/uuid
The following Service can be read                 : /gateway/versionFirmware
The following Service can be read                 : /gateway/versionHardware
The following Service can be read and is writeable: /heatingCircuits/hc1/activeSwitchProgram
The following Service can be read and is writeable: /heatingCircuits/hc1/operationMode
The following Service can be read                 : /heatingCircuits/hc1/roomtemperature
The following Service can be read                 : /heatingCircuits/hc1/status
The following Service can be read and is writeable: /heatingCircuits/hc1/temperatureRoomSetpoint
The following Service can be read and is writeable: /heatingCircuits/hc2/activeSwitchProgram
The following Service can be read and is writeable: /heatingCircuits/hc2/operationMode
The following Service can be read                 : /heatingCircuits/hc2/pumpModulation
The following Service can be read                 : /heatingCircuits/hc2/roomtemperature
The following Service can be read                 : /heatingCircuits/hc2/status
The following Service can be read and is writeable: /heatingCircuits/hc2/temperatureRoomSetpoint
The following Service can be read                 : /heatSources/actualCHPower
The following Service can be read                 : /heatSources/actualDHWPower
The following Service can be read                 : /heatSources/actualPower
The following Service can be read                 : /heatSources/CHpumpModulation
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c4}#","allow...") at ./FHEM/73_km200.pm line 846

...auch ich habe teilweise erfolgreich mit Heizkreis 2 und WarmWasser2 herungespielt...

Gruss
  Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 29 Oktober 2014, 23:47:11
Hallo,

dann auch mal mein Senf dazu. Habe gerade zum ersten mal ausprobiert und funktioniert sofort. Perfekt. Super Arbeit von euch.
Um diese Zeit läuft mein Brenner nicht mehr, aber ich werde beobachten wie sich FHEM morgen verhält.

Übrigens habe ich ein KM50 und auch eine Warmwasser Temperatur:
/system/sensors/temperatures/hotWater_t1
-3276.8
2014-10-29 23:44:36
/system/sensors/temperatures/hotWater_t2
25.3
2014-10-29 23:44:36


Die 25.3 Grad passen. Habs grade noch einmal kontrolliert.

Viele Grüße
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 Oktober 2014, 17:26:39
Ich verstehe leider nicht, ob und wie ich bestimmen kann, was für mich Dyn und was für mich Stat ist?

Hallo Rocko

Statische Services sind solche dessen Werte sich theoretisch nicht verändern dürften. Zum Beispiel deine ID oder deinen Gateway Typ. Daher habe ich diese Werte als statisch festgelegt.

Die dynamischen Services sind die Services, die bei der Initialisierung geantwortet und einen Wert zurückgegeben haben minus die statischen Services. Dies sind Werte zum Beispiel Temperaturen, die sich laufend ändern.

Das heißt, wenn ich deinen hc2 jetzt mit in den Code einfüge und diese bei mir während der Initialisierung keinen Wert zurückliefen, kommen diese Services auch nicht mit auf meine Liste der abzufragenden dynamischen Sercices.

Alles klar?

Danke für den Hinweis mit hc2. Nehme ich mit auf!

Gruß Sailor
 

Gesendet mit Tapatalk
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 Oktober 2014, 17:44:19
/system/sensors/temperatures/hotWater_t1
-3276.8

Hallo Fred

Das ist kein Fehler.

Du hast an deiner Heizung einen Anschluss für hot water t1 aber an diesem Anschluss hängt kein Sensor. Wenn du da auch einen sinnvollen Wert stehen haben willst, dann musst du dir noch einen zweiten Wasserspeicher kaufen.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 31 Oktober 2014, 14:08:32

Es kommt an der Konsole der Fehler:
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c4}#","allow...") at ./FHEM/73_km200.pm line 846
Ich hab es mehrfach ausprobiert, mein FHEM läuft solange der Brenner aus ist.
Sobald der Brenner anspringt, egal ob wegen Heizkreis oder Warmwasser, kommt der Fehler und FHEM schmiert ab.

Hallo Peter,

das muss nicht komisch sein.
Ich hatte den Fehler auch und musste vorübergehend die zwei Services rausnehmen.
Siehe

########################################################################################################################
# List of open Problems
#
# *Reading KM200 service "/heatSources/flameCurrent" or "/system/appliance/flameCurrent" causes fhem to crash.

Kommentier mal nach und nach alle Zeilen mit "#"aus die zwischen

###START###### Define provided services of gateway #####################################################START####und
####END###### Define provided services of gateway ######################################################END#####stehen und die was mit dem Brenner zu schaffen haben könnten.

Dann schau mer mal weiter...

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 03 November 2014, 21:30:24
Na wieder etwas ruhig geworden hier....
Also ich schreiben nun die ganze Zeit alle 5min die Daten mit und habe diese mir schon mal in eine Excel Grafik gezogen und spielen mit meiner Vorlauftemperatur. Das ganze hat also schon einen praktischen Wert.

Was mich auch interessieren würde:
Zitat
Übrigens habe ich ein KM50 und auch eine Warmwasser Temperatur:
/system/sensors/temperatures/hotWater_t1
-3276.8
2014-10-29 23:44:36
/system/sensors/temperatures/hotWater_t2
25.3

Ich habe nur ein /system/sensors/temperatures/hotWater_t2 der konstant bei 3200 steht und kein /system/sensors/temperatures/hotWater_t1
Ich sehe auch keinen anderen Wert der auf meine Warmwassertemperatur passen könnte.
Wie sind da so die Erfahrungen?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Rockojfonzo am 03 November 2014, 22:09:09
Ist bei mir genau so. Leider kein Wert für Warmwasser.

Und für die Schaltzeiten is auch nix in Sicht, oder?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 03 November 2014, 22:34:28
Hi all,

Schaltzeiten sind drin, allerdings nicht als Values, sondern als URI, denen man folgen müsste. Also Rekursion über die Pfade der URIs.
Soweit sind wir aber leider noch nicht.

Und die Temp-Werte sind von Gerät zu Gerät unterschiedlich. Ich habe z.B. auf dem EMS keine RaumTemp, obwohl mein RC30 das anzeigt. Eben selbiges für Zirkulationspumpe und WarmWasser. Da gibt es REST-Strings, soviel ist mir schon klar. Allerdings sind die genauen Syntax-Beschreibungen davon noch unbekannt. Für Zirkulation habe ich den Pfad durch Zufall gefunden, aber auch das sind URIs, denen man folgen muß.

Und das KM300 Modul kann direkte SQL-Abfragen, im Gegensatz zum KM50 oder KM200. Da geht dann wohl noch viel mehr.

Ist ganz viel im Nebel und Re-Engineering. Daher dauert es etwas länger.
Neben den üblichen Software-Probleme, die hauptsächlich Sailor Abends/Nachts löst.
Immerhin können wir schon Dinge lesen, und seit dem könnte ich die lokale Steuerung optimieren.
Es wird also.

Mit bestem Gruß,
Olaf
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 03 November 2014, 22:54:34
Na nun  stresst mal nicht...

Oh Mist, jetzt ist der Rest vom Text weg,.
Hat TappaTalk einen Bug???

Na dann eben morgen...

Gruß Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 November 2014, 08:18:30
Ein herzerfrischendes "Moin" vom Deich

aus dem "morgen" ist ein "übermorgen" geworden, aber zumindest kann ich jetzt mit einer neuen Version aufwarten:

Version 1.12: Implementation of HttpUtils_NonblockingGet

Diese Version schafft es, die gesamten Services vom KM200 auszulesen ohne das fhem-Hauptsystem dabei zu blockieren!

Es dürfte interessant sein, ob es auch noch auf den KM50 funktioniert.

Ich bitte um Testeritis und Rückmeldung!!!



Nebenbei: Ich habe herausgefunden, warum das Auslesen der Services "/heatSources/flameCurrent" oder "/system/appliance/flameCurrent" zum Absturz führt.

Der entschlüsselte Content lautet: {"id":"/heatSources/flameCurrent","type":"floatValue","writeable":0,"recordable":1,"value":0.0,"unitOfMeasure":"▒A"}
Die Fehlermeldung lautet: "Error Code: malformed UTF-8 character in JSON string, at character offset 112 (before "\x{b5}A"}")"

Offensichtlich wollte Buderus was gutes tun indem es das grieschische "u" für Mikro dort reingeschrieben hat und der JSON "Decode_content" Befehl kommt mit diesem Sonderzeichen nicht klar.

Ich muss mal schaun, ob mir die PERL Foren helfen können.

Gruß
   Sailor

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 05 November 2014, 08:50:10
Habs aktiv. Schauen wir mal.
Ich habe übrigens noch immer so alle 24h mal einen Absturz und inzwischen eine Cronjob am laufen der FHEL einfach immer mal wieder startet.
Da ich ständig den Rechner wechsel ist es mir auch noch nicht glungen eine Konsole mal lange genug offen zu haben um in dieser FHEM zu starten und dann hoffentlich dort eine Fehlermeldung zu finden. Aber irgendwann klappt das. Solange niemand sonst so ein Problem hat, ist das wohl eher ein persönliches Problem.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 November 2014, 09:16:32
Hallo Furban,

kannst Du hierzu Testweise den CronJob mal rausnehmen um zu sehen, ob es noch aussteigt.
Mit etwas Glück haben sich die Probleme damit erledigt.  ???

Die Hoffnung stirbt zuletzt.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 05 November 2014, 09:50:42
Der Cronjob tut nicht weh.
Jedes mal wenn der Versucht FHEM zu starten, kommt eine Meldung das der Port schon belegt ist und fertig. Der macht also im Prinzip gar nichts außer FHEM wieder zu starten wenn es denn mal nicht läuft.
Den letzten Absturz hatte ich bisher gestern morgen gegen 09:00.
Mach dir da also keinen Kopf darum. Das beobachte ist erst mal selbst noch weiter und mit dem automatischen Restart kann man auch erst mal damit leben.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 05 November 2014, 10:22:19
Hallo Zusammen,
Wie ich lese ist das anbinden an das KM200 schon ziemlich weit gediegen. Gibt es irgendwas wie man helfen kann? Ist die Installation des Moduls einfach umsetzbar für jemand mit geringen Kenntnissen?
Was muss auf Linux Seite gemacht werden? Ist es notwendig einen Webserver laufen zu haben?
Vielleicht gibt es ja ein 'howto' um das KM200 an Fhem anzubinden?
Gruß
Hens


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 05 November 2014, 10:49:44
Hi,

das hat Sailor inzwischen so schön gebaut das es direkt läuft. Ohne Webserver. Man muss halt nur einige Perlmodule installiert haben.

Das steht ja im Modul welche das sind. Sollten diese hier sein.

use Time::HiRes qw(gettimeofday sleep);
use Digest::MD5 qw(md5 md5_hex md5_base64);
use List::MoreUtils qw(first_index);
use MIME::Base64;
use LWP::UserAgent;
use JSON;
use Crypt::Rijndael;
use HttpUtils;


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 November 2014, 12:09:39
Moin zusammen

Ich glaube ich muss mal langsam an ein WIKI denken...  :o

M
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 05 November 2014, 14:26:19

Es dürfte interessant sein, ob es auch noch auf den KM50 funktioniert.

Ich bitte um Testeritis und Rückmeldung!!!



Bei meiner KM50 funktioniert es. Willst du was bestimmtest sehen oder wissen?

Gruß
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 November 2014, 14:56:49
Hallo Hotte

Es wäre interessant zu erfahren, ob dass Modul auf Langzeit (3?Tage plus) stabil ist oder ob fhem mit einer Fehlermeldung abstürzt...

Gruß
  Sailor


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 05 November 2014, 15:29:53
Hallo Sailor,

ich melde mich dann wieder in drei Tagen  ;)

Gruß
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 05 November 2014, 16:02:11
OK. Ich melde mich jetzt schon.

Wenn ich das richtig sehe, wird mein fhem gerade regelmäßig neu gestartet:

2014.11.05 15:54:04 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1 NOT available
2014.11.05 15:54:04 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1/actualModulation NOT available
2014.11.05 15:54:04 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1/actualPower NOT available
2014.11.05 15:54:04 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1/energyReservoir NOT available
2014.11.05 15:54:04 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1/fuel NOT available
2014.11.05 15:54:04 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1/fuel/density NOT available
2014.11.05 15:54:04 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1/fuelConsmptCorrFactor NOT available
2014.11.05 15:54:04 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1/nominalFuelConsumption NOT available
2014.11.05 15:54:05 3: KM50 : km200_ParseHttpResponseInit: /system/heatSources/hs1/reservoirAlert NOT available
2014.11.05 15:54:05 3: KM50 : km200_ParseHttpResponseInit: /system/info NOT available
2014.11.05 15:54:05 3: KM50 : km200_ParseHttpResponseInit: /system/minOutdoorTemp NOT available
2014.11.05 15:54:40 1: Including fhem.cfg
2014.11.05 15:54:40 3: telnetPort: port 7072 opened
2014.11.05 15:54:40 3: WEB: port 8083 opened

Und zwar immer nach dem minOutdoorTemp...

Gruß
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 05 November 2014, 16:08:53
@sailor ja das wäre gut, ein kleines howto:-). Ich hab zum Beispiel keine Ahnung wie ich die fehlenden Module nachinstalliere...


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 05 November 2014, 20:59:53
Das muss ja nicht alles der arme Sailor beantworten

Von
http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=12241

sudo apt-get install curl
sudo curl -L http://cpanmin.us | perl - --sudo App::cpanminus
sudo cpanm Crypt::Rijndael
sudo cpanm List::MoreUtils
usw.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 05 November 2014, 22:44:12
Hallo,

die neue Version lässt mein fhem abstürzen:

The following Service CANNOT be read              : /system/info
The following Service CANNOT be read              : /system/minOutdoorTemp
The following Service can be read                 : /system/sensors/temperatures/chimney
The following Service can be read                 : /system/sensors/temperatures/hotWater_t1
The following Service can be read                 : /system/sensors/temperatures/hotWater_t2
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1067.

root@piplus:~# ps -ef | grep fhem
root      9311  9263  0 22:36 pts/0    00:00:00 grep fhem
root@piplus:~#


Die vorherige lief nachdem ich flamecurrent und auch flamestatus auskommentiert hatte.

Ich hatte damit auch plausible Werte für einige Temperaturen.

Werde morgen mal die Readings mit der bei mir laufenden Version Posten.

Ich habe ein KM200 mit RC35...

Gruß Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 06 November 2014, 07:58:25
Hallo zusammen,

auf meiner Synology läuft das Modul seit der Installation gestern ohne Probleme.

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 06 November 2014, 10:18:44
Das muss ja nicht alles der arme Sailor beantworten

Von
http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=12241

sudo apt-get install curl
sudo curl -L http://cpanmin.us | perl - --sudo App::cpanminus
sudo cpanm Crypt::Rijndael
sudo cpanm List::MoreUtils
usw.

Hm, ja das hab ich probiert... Allerdings kommt bei meinem Raspberry dann folgendes:
! Installing the dependencies failed: Installed version (6.57_05) of ExtUtils::MakeMaker is not in range '6.58'
! Bailing out the installation for App-cpanminus-1.7014.
1 distribution installed

wenn ich mit sudo curl -L http://cpanmin.us | perl - --sudo App::cpanminus

loslege....

?
Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 06 November 2014, 10:20:45
auf meiner Synology läuft das Modul seit der Installation gestern ohne Probleme.

Auf meinem Raspi lief die Version 1.12 auch 24h ohne Probleme bis ich mit 1.13 angefangen habe...

Dennoch, die Fehlerausgabe unten hatte ich auch am Anfang bis ich die $hash - referenz korrigiert habe:
The following Service can be read                 : /system/sensors/temperatures/hotWater_t2
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1067.
:o

Danke für diese informative Konsolen Ausgabe; DAS ist genau das was ich zum debuggen brauche!!  ;D

Aber lange Rede, kurzer Sinn... Neue Version, Neues Glück.

Ich stelle gleich die neuste Version rein.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 06 November 2014, 10:40:30
Neue Version 1.13


Das Problem mit flamecurrent wurde gelöst und steht ab sofort als zusätzliches Reading zur Verfügung!
Es lag an der fehlenden Encodierung mit UTF8 befor JSON decodiert wird.

Diese Version sollte somit auch alle fhem-Abstürze mit der Fehlermeldung "malformed JSON string" beseitigen.

Weiterhin habe ich mit dem set-Befehl angefangen.  Dieser funktioniert aber noch nicht!
Er erscheint nur im GUI und gaukelt einem eine erfolgreiche Ausführung vor!

Ich bitte wie immer um Testeritis! 8)

Danke
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 06 November 2014, 17:33:39
Hallo Sailor,

mit der neuen Version 1.13 startet fhem bei mir zunächst ohne Fehlermeldung.
Auch die Readings werden angezeigt.

Nach einiger Zeit kommt dann jedoch:

root@piplus:~# Finished static  service /gateway/uuid
Finished static  service /gateway/instAccess
Finished static  service /gateway/versionFirmware
Finished static  service /gateway/versionHardware
Finished static  service /system/brand
Finished static  service /system/bus
Can't use string ("
") as a HASH ref while "strict refs" in use at ./FHEM/73_km200.pm line 1299.
root@piplus:~#

...und fhem ist beendet.

Im fhem Log steht als letzter Eintrag:

2014.11.06 17:23:07 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/73_km200.pm line 658.


Grüße Peter

Edit: Wenn der Brenner brennt kommt beim Start direkt:

Service CANNOT be read              : /heatSources/actualsupplytemperature
The following Service CANNOT be read              : /heatSources/ChimneySweeper
The following Service can be read                 : /heatSources/CHpumpModulation
The following Service can be read                 : /heatSources/flameCurrent
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1019
root@piplus:~#
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 06 November 2014, 17:36:00
Hm, ja das hab ich probiert... Allerdings kommt bei meinem Raspberry dann folgendes:
! Installing the dependencies failed: Installed version (6.57_05) of ExtUtils::MakeMaker is not in range '6.58'
! Bailing out the installation for App-cpanminus-1.7014.
1 distribution installed

wenn ich mit sudo curl -L http://cpanmin.us | perl - --sudo App::cpanminus

loslege....

?
Gruß
Jens


Komisch. Die Version habe ich auch

sudo cpan -D ExtUtils::MakeMaker
...
        Installed: 6.57_05
...
Allerdings habe ich eine Ältere Version von cpanm

cpanm --version
cpanm (App::cpanminus) version 1.7009 (/usr/local/bin/cpanm

Probier mal nur das Kommando "cpan" und dann
install package -force ExtUtils::MakeMaker
Damit machst du einen Update

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 06 November 2014, 17:43:52
Neue Version 1.13



Ich bitte wie immer um Testeritis! 8)



sieht bei mir soweit gut aus bis auf die letzte Zeile der Ausgabe

/system/systemType  NSC_ICOM_GATEWAY     2014-11-06 17:39:35
fullResponse              ERROR                                    2014-11-06 06:28:11

Mag aber sein das ich da mal einen richtigen reboot machen. muss. Sehe ich mal eher als weniger wichtig
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 06 November 2014, 21:10:34
HI all,

bei mir stürzt FHEM mit der neuen Version beim holen der dynamischen Werte ab. Allerdings OHNE Log-Meldungen.
Ich werde das mal im Detail debuggen .... soviel zum schnellen Schuß.

Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 06 November 2014, 21:25:00
Hallo zusammen,

mit der Version 1.13 klappt es auf meiner Synology nicht mehr, ich bekomme:

2014.11.06 21:18:24 2: buderus_kessel : ERROR: No proper Communication with Gateway
FHEM ist dann nicht mehr ansprechbar.

Wenn ich FHEM von der Command-Line starte erhalte ich noch folgendes:

Can't use an undefined value as an ARRAY reference at /usr/local/FHEM/share/fhem/FHEM/73_km200.pm line 1124.
Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 07 November 2014, 10:21:50
Hallo Sailor,

Can't use string ("
") as a HASH ref while "strict refs" in use at ./FHEM/73_km200.pm line 1299.
root@piplus:~#

...und fhem ist beendet.

Habe ich soeben gefixt in Version 1.14.  DANKE!
Stelle ich nachher rein...



The following Service can be read                 : /heatSources/flameCurrent
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1019
root@piplus:~#

Das sollte eigentlich gefixt sein...  :o

Habe in Version 1.14 einen print-Befehl zur Ausgabe des strings gegeben.
Mal sehen ob wir damit ein debugging schaffen.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 07 November 2014, 10:23:11
HI all,

bei mir stürzt FHEM mit der neuen Version beim holen der dynamischen Werte ab. Allerdings OHNE Log-Meldungen.
Ich werde das mal im Detail debuggen .... soviel zum schnellen Schuß.

Gruß,
Olaf

Hi Olaf

Hast Du "verbose 5" aktiviert?

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 07 November 2014, 10:28:38

2014.11.06 21:18:24 2: buderus_kessel : ERROR: No proper Communication with Gateway
FHEM ist dann nicht mehr ansprechbar.

Wenn ich FHEM von der Command-Line starte erhalte ich noch folgendes:

Can't use an undefined value as an ARRAY reference at /usr/local/FHEM/share/fhem/FHEM/73_km200.pm line 1124.

Hallo Rainer,

wenn der erste Fall auftritt, dann muss zwangsläufig die zweite Fehlermeldung kommen, da das Modul keine dynamischen Werte ermitteln konnte.
Insoweit o.k.

Eine dumme Eigenart des Buderus KM200/KM50 ist es, sich regelmässig neue IP-Adressen zu holen.
Wenn dem Router/DHCP-Server nicht explizit gesagt wurde, der MAC-Adresse des Buderus KMxxx immer wieder und auf jeden Fall die gleiche IP-Adresse zuzuordnen, dann geht die Kommunikation in die Grütze.

Stimmt die IP noch?

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 07 November 2014, 10:37:58
VERSION 1.14: Der SET Befehl funktioniert!!!

Allerdings nur dann, wenn das Modul nicht zufällig gerade die dynamischen oder statischen Werte im Intervall abfragt...  >:(
Ich arbeite daran... Zumindest klappt das Schreiben.

Versucht mal das Intervall für beide Wertelisten (dynamisch und statisch) moeglichst groß zu wählen und dann den Wert fürs Heizungsprogram von "A" auf "B" und umgekehrt zu ändern.
Verifiziert das mal mit Eurer Heizung. Eventuell steht die Beschreibung für das Heizzeitprogram statt "A" und "B" auf "Prog 1" oder "Prog 2"

Bemerkung: Es werden in der Auswahlliste weder für den Set noch dem Get Befehl alle für diesesn Vorgang möglichen Services angezeigt.
Auch hieran arbeite ich noch...


Weiterhin habe ich print-Befehle zur Ausgabe von debugging Informationen wieder aktiviert.
Sieht ein bisschen chaotisch aus, ist aber vorübergehend notwendig um den Fehler zu finden...

Gruss
    Sailor



Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 07 November 2014, 11:27:00
Hallo zusammen,

nach Aufruf des Modules kommt bei mir folgender Log-Eintrag.

2014.11.07 11:11:17 5: myKm200 : km200_ParseHttpResponseInit: Try to parse    : /gateway/DateTime
2014.11.07 11:11:17 2: myKm200 : ERROR: No proper Communication with Gateway "IP ist immer die selbe"

Dann dauert es eine kurzen Moment und FHEM stürzt ab.   :(

Generell: Vielen Dank schon mal. Finde es echt Klasse das Ihr euch der Integration von KM200, etc. angenommen habt.  :)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 07 November 2014, 12:06:40
Hallo NewBee

Füge in version 1.14 mal zwischen der derzeitigen Zeile 1008 und 1009 folgenden Code ein und starte von Neuem

print("km200_ParseHttpResponseInit ERROR: $err\n");
Vor allem ping bitte mal deinen KM mit der in fhem definierten IP-Adresse an und schau mal. obe da überhaupt was zurück kommt.

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 07 November 2014, 12:41:50
Hallo Sailor,

Ping liefert folgendes.

64 bytes from 192.168.178.33: icmp_seq=0 ttl=64 time=23.623 ms
64 bytes from 192.168.178.33: icmp_seq=1 ttl=64 time=10.364 ms
64 bytes from 192.168.178.33: icmp_seq=2 ttl=64 time=12.981 ms
64 bytes from 192.168.178.33: icmp_seq=3 ttl=64 time=8.855 ms

Ergänzung im Modul hat keine Verbesserung gebracht.

Selbe Rückmeldung wie ohne Ergänzung.

Gruß Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 07 November 2014, 13:07:49
Hallo,

Eine weitere Fehlermeldung ist hinzu gekommen.

Allerdings auf dem PI

malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "\x{c2}\x{b1}W\x{c2}\x{a4}...") at ./FHEM/73_km200.pm line 923

Lustiges Fehler schicken:

Zwei weitere tauchen auf wenn ich "sudo service fhem start" im Pi eingebe.

Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1129.
Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 135.

Eventuell kann einer von euch damit was anfangen, I leider nicht.  :o

Gruß NewBee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 07 November 2014, 14:25:09
Hallo,

die neue Version 1.14 lädt bei mir ohne erkennbare Fehler.
Auch das Setzen von Betriebsart hc2 von auto auf day und wieder zurück hat funktioniert und der Kessel hat tatsächlich geschaltet ! Hut ab !

Sobald die Flamme angeht kommt jedoch wieder:

invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1023

Gruß
Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 07 November 2014, 15:43:45
Hallo,

Eine weitere Fehlermeldung ist hinzu gekommen.

Allerdings auf dem PI

malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "\x{c2}\x{b1}W\x{c2}\x{a4}...") at ./FHEM/73_km200.pm line 923

Lustiges Fehler schicken:

Zwei weitere tauchen auf wenn ich "sudo service fhem start" im Pi eingebe.

Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1129.
Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 135.

Eventuell kann einer von euch damit was anfangen, I leider nicht.  :o

Gruß NewBee

Also ich glaube du bist zu schnell...  ;D

Da ich noch kein StatusFlag gesetzt habe, wann die einzelnen Routinen das KM200 abfragen kann es zu Kollisionen kommen.

Mach mal folgendes auf dem Pi:

a) In der fhem.cfg ein grossen aber deutlich unterschiedlichen (Faktor 10) beim Intervall für dynamische und statisches Interval wählen
b) fhem in der Konsole starten und abwarten bis sowohl der Initial, der dynamische als auch der statische Abruf einmal durchgelaufen ist.
c) Dann erst deine Get Abfrage im GUI starten.

Ich habe das Kollisionsproblem auf die Liste "Open Problems" gesetzt.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 07 November 2014, 16:24:57
Hallo Sailor,

das mit den Intervallen hat schon was gebracht. Keine "time out" Meldung mehr.
Dennoch komme ich nicht bis zu einer GET Abfrage, da in der Konsole nach einer Zeit der Array Fehler kommt.

Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1129.

Yeah: Habe aber bis zum Fehler eine Verbindung zum KM200!  :)

NewBee (Da ist der Name Programm)   :D
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 07 November 2014, 16:53:28
Hallo NewBee

Das bedeutet, dass der Initialisierungsprozess nicht abgeschlossen wurde. Aus diesem Grund kann er das Array mit den abzufragenden Werten nicht finden.  Ich werde zunächst mal den Fehler abfangen und dann versuchen zu ergründen, warum die Kommunikation nicht klappt.

Eigentlich müsstest du die einzelnen Services beim Initialisierungsprozess durch deine Konsole Rauschen sehen...

Nicht mal das?

Gruß und Danke
   Sailor


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 07 November 2014, 18:20:20
Hallo Sailor,

hiermit ein wenig  ;) Info aus dem LOG-File.

2014.11.07 17:09:58 5: Cmd: >define myKm200 km200 192.168.178.33 XXXX YYYY usw.
2014.11.07 17:09:58 5: Loading ./FHEM/73_km200.pm
2014.11.07 17:09:59 5: myKm200 : km200 - IPv4-address is valid          : 192.168.178.33
2014.11.07 17:09:59 5: myKm200 : km200 - Provided GatewayPassword encoded with base64 has the correct length at least.
2014.11.07 17:09:59 5: myKm200 : km200 - Provided PrivatePassword exists at least
2014.11.07 17:09:59 5: myKm200 : km200 - Define H                       : HASH(0xcced30)
2014.11.07 17:09:59 5: myKm200 : km200 - Define D                       : myKm200 km200 192.168.178.33 XXXX YYYY usw.
2014.11.07 17:09:59 5: myKm200 : km200 - Define A                       : 5
2014.11.07 17:09:59 5: myKm200 : km200 - Define Name                    : myKm200
2014.11.07 17:09:59 5: myKm200 : km200 - Define Adr                     : 192.168.178.33
2014.11.07 17:09:59 5: myKm200 : km200 - Gateway Password               : XXXX
2014.11.07 17:09:59 5: myKm200 : km200 - Private Password               : YYYY
2014.11.07 17:09:59 4: HttpUtils url=http://192.168.178.33/system/brand
2014.11.07 17:10:00 4: http://192.168.178.33/system/brand: HTTP response code 200
2014.11.07 17:10:00 4: HttpUtils http://192.168.178.33/system/brand: Got data, length: 130
2014.11.07 17:10:00 5: myKm200 : km200 - decryptData1 - decipher_len    : 90
2014.11.07 17:10:00 5: myKm200 : km200 - decryptData1 - deciphertext    : {"id":"/system/brand","type":"stringValue","writeable":0,"recordable":0,"value":"Buderus"}
2014.11.07 17:10:00 5: myKm200 : km200_GetSingleService        : HASH(0xfa7a20)
2014.11.07 17:10:00 5: myKm200 : km200 - System Brand                   : Buderus
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /gateway/DateTime
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /gateway/instAccess
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /gateway/uuid
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /gateway/versionFirmware
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /gateway/versionHardware
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/activeSwitchProgram
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/actualSupplyTemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/controlType
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/currentOpModeInfo
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/currentRoomSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/designTemp
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/fastHeatupFactor
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/heatCurveMax
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/heatCurveMin
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/manualRoomSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/operationMode
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/pumpModulation
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomInfluence
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomtemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomTempOffset
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/setpointOptimization
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/solarInfluence
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/status
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/suWiSwitchMode
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/suWiThreshold
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/switchPrograms
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temperatureLevels
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temperatureRoomSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temporaryRoomSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/activeSwitchProgram
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/actualSupplyTemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/controlType
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/currentOpModeInfo
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/currentRoomSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/designTemp
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/fastHeatupFactor
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/heatCurveMax
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/heatCurveMin
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/manualRoomSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/operationMode
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/pumpModulation
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomInfluence
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomtemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomTempOffset
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/setpointOptimization
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/solarInfluence
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/status
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/suWiSwitchMode
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/suWiThreshold
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/switchPrograms
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temperatureLevels
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temperatureRoomSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temporaryRoomSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/actualCHPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/actualDHWPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/actualPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/actualsupplytemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/ChimneySweeper
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/CHpumpModulation
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/flameCurrent
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/flameStatus
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/gasAirPressure
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/nominalCHPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/nominalDHWPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/numberOfStarts
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/powerSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/powerSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/returnTemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/systemPressure
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /heatSources/workingTime
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /notifications
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/heatingCircuits
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/heatingCircuits/hc1
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/heatingCircuits/hc1/roomtemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/heatSources
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/heatSources/actualCHPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/heatSources/actualDHWPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/heatSources/actualPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/system
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/system/heatSources
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/system/heatSources/hs1
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/system/heatSources/hs1/actualPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/system/sensors
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/system/sensors/temperatures
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /recordings/system/sensors/temperatures/outdoor_t1
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /solarCircuits
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /solarCircuits/sc1/
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /solarCircuits/sc1/collectorTemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /solarCircuits/sc1/pumpModulation
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /solarCircuits/sc1/solarYield
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /solarCircuits/sc1/status
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/actualPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/actualSupplyTemperature
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/ChimneySweeper
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/CHpumpModulation
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/gasAirPressure
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/nominalBurnerLoad
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/numberOfStarts
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/powerSetpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/systemPressure
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/appliance/workingTime
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/brand
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/bus
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/healthStatus
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1/actualModulation
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1/actualPower
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1/energyReservoir
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuel
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuel/density
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuelConsmptCorrFactor
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1/nominalFuelConsumption
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/heatSources/hs1/reservoirAlert
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/info
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/minOutdoorTemp
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures/chimney
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures/hotWater_t1
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures/hotWater_t2
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures/outdoor_t1
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures/return
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures/supply_t1
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures/supply_t1_setpoint
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/sensors/temperatures/switch
2014.11.07 17:10:00 5: myKm200 : km200 - km200_define - REST_item       : /system/systemType
2014.11.07 17:10:00 4: HttpUtils url=http://192.168.178.33/gateway/DateTime
2014.11.07 17:10:00 5: myKm200 : km200 - Internal timer for dynamic values prepared with default interval.
2014.11.07 17:10:00 5: myKm200 : km200 - Internal timer for static values prepared with default interval.
2014.11.07 17:10:00 5: Cmd: >attr myKm200 room Central Heating<
2014.11.07 17:10:00 4: myKm200 : km200 - Define: InternalTimer for dynamic values started with interval of: 60
2014.11.07 17:10:00 4: myKm200 : km200 - Define: InternalTimer for static values started with interval of: 3600
2014.11.07 17:10:00 5: Cmd: >attr myKm200 IntervalDynVal 20<
2014.11.07 17:10:00 5: myKm200 : km200 - IntervalDynVal set to attribute value:20 s
2014.11.07 17:10:00 4: myKm200 : km200 - Define: InternalTimer for dynamic values started with interval of: 20
2014.11.07 17:10:00 4: myKm200 : km200 - Define: InternalTimer for static values started with interval of: 3600
2014.11.07 17:10:00 5: Cmd: >attr myKm200 IntervalStatVal 800<
2014.11.07 17:10:00 5: myKm200 : km200 - IntervalStatVal set to attribute value:800 s
2014.11.07 17:10:00 4: myKm200 : km200 - Define: InternalTimer for dynamic values started with interval of: 20
2014.11.07 17:10:00 4: myKm200 : km200 - Define: InternalTimer for static values started with interval of: 800

Nach einer Zeit kommt dann der schon bekannte Array Fehler.

Hoffe das bringt etwas Licht ins Dunkel.

Gruß NewBee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 08 November 2014, 12:39:54
HI all,

so, habe einen längeren Test gemacht. Das Modul läuft solange stabil, bis der Brenner anspringt. In der Tat ist es nach wie vor der Wert "flamestatus"; flamecurrent wird korrekt geholt, bei flamestatus geht fhem in die Knie und stürzt ab. Hier ist wohl immernoch die Codierung ein Problem.

Der Rest läuft stabil.

Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 08 November 2014, 18:13:04
Hallo zusammen,

bin an das Thema jetzt mit ein wenig mehr Rechenleistung rangegangen. INTEL-NUC. ubuntu Server, und dem ganzen anderen Dingen die man(n) braucht. ::)
Bis jetzt läuft alles ohne Probleme, warte jetzt mal auf den Brenner und melde mich dann nochmal.

Bin echt gespannt.

Gruß NewBee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 08 November 2014, 18:21:28
...mit ein wenig mehr Rechenleistung rangegangen.
Na da bin ich gespannt. Bei mir gibt es keine Probleme und mein Raspi macht Nebenberuflich noch Mailrelay mit SPAM Filter, Apache Webserver und OpenVPN Server. Langeweile hat der also eigentlich auch nicht. Oder was läuft bei die noch außer FHEM?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 08 November 2014, 23:34:07
Ein herzerfrischendes Hallo an alle

Da sporadische fhem-Abstürze wohl immer noch ein Problem sind, bitte ich nochmals um den letzten Konsolenausdruck vor genau diesem Absturz.

Den "FlameStaus" als Ursache untersuche ich gerade...

Gruß
   Sailor


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 09 November 2014, 00:06:33
Hallo Sailor,

ich bekomme auf meiner Synology  trotz attr verbose 5 nur diese Zeile:

Can't use an undefined value as an ARRAY reference at /usr/local/FHEM/share/fhem/FHEM/73_km200.pm line 1128.
FHEM ist dann weg.

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 09 November 2014, 09:46:24
Hallo zusammen
auch mal wieder eine Rückmeldung von mir.
Ich bekomme nach kurzer Zeit die gleiche Fehlermeldung wie ergerd

Ansonsten leistet Ihr gute Arbeit.

LG
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 09 November 2014, 10:00:25
Hallo,

bei mir stürzt Fehm immer genau dann ab, wenn der Brenner angeht. Meine HK1 ist schon seit Tagen aus, die Buderus macht aber jeden Samstag und Sonntag das Warmwasser ab 6:00Uhr warm :-) Genau um 6:00 Uhr stürzt Fhem dann ab.

Eine Fehlermeldung habe ich leider nicht, mein Loglevel steht aber auch nicht hoch genug. Daher kann ich hier jetzt nichts liefern.
Ich werde das jetzt genauer beobachten und den Log Level erhöhen.

Ausserdem bekomme ich noch diese Fehler:
2014.11.09 09:53:40 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/73_km200.pm line 703.

Viele Grüße
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 09 November 2014, 11:37:36
ich bekomme auf meiner Synology  trotz attr verbose 5 nur diese Zeile:
Can't use an undefined value as an ARRAY reference at /usr/local/FHEM/share/fhem/FHEM/73_km200.pm line 1128.FHEM ist dann weg.
Hallo Rainer

Wenn Du nur diese Zeile erhaelst, dann ist schon der gesamte Initialisierungsprozess schiefgelaufen.
Bevor auf das o.g. array zugegriffen werden kann, muss es erst durch den Initialisierungsprozess erzeugt werden.

Das heisst, es werden alle bekannten services abgeklopft und nur die antworten werden spaeter fuer die wiederkehrende Afrage verwendet.

Der Fehler muss also in der Kommunikation in Richtung KM Modul liegen.

Was sagt denn das LOG-File genau nach fhem start.

Es muesste etwas zeigen wie
myKm200 : km200 - System Brand                   : Buderusoder
$myKm200 : km200 - System Brand                   : NOT AVAILABLEoder folgende Meldung kommt im fhem Fenster:
myKm200 : km200 - ERROR - The communication between fhem and the Buderus KM200 failed!
                                        Please check physical connection, IP-address and  passwords!

Ich habe jetzt zunaechst diesen Fehlerfall agefangen. Sollte also zumindest nicht mehr zum Asturz fuehren.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 09 November 2014, 11:56:28
Hallo Sailor,

ja , da steht einiges im Logfile, sorry das ich es nicht gleich beigefügt habe:

2014.11.08 19:18:50 5: Cmd: >define buderus_kessel km200 192.168.48.21 xxxxxxxxxx xxxxxxxxxx<
2014.11.08 19:18:50 5: Loading /usr/local/FHEM/share/fhem/FHEM/73_km200.pm
2014.11.08 19:18:51 5: buderus_kessel : km200 - IPv4-address is valid          : 192.168.48.21
2014.11.08 19:18:51 5: buderus_kessel : km200 - Provided GatewayPassword provided as bareword has the correct length at least.
2014.11.08 19:18:51 5: buderus_kessel : km200 - Provided PrivatePassword exists at least
2014.11.08 19:18:51 5: buderus_kessel : km200 - Define H                       : HASH(0xc6ee78)
2014.11.08 19:18:51 5: buderus_kessel : km200 - Define D                       : buderus_kessel km200 192.168.48.21 xxxxxxxxxx xxxxxxxxxx
2014.11.08 19:18:51 5: buderus_kessel : km200 - Define A                       : 5
2014.11.08 19:18:51 5: buderus_kessel : km200 - Define Name                    : buderus_kessel
2014.11.08 19:18:51 5: buderus_kessel : km200 - Define Adr                     : 192.168.48.21
2014.11.08 19:18:51 5: buderus_kessel : km200 - Gateway Password               : xxxxxxxxxx
2014.11.08 19:18:51 5: buderus_kessel : km200 - Private Password               : xxxxxxxxxx
2014.11.08 19:18:51 4: HttpUtils url=http://192.168.48.21/system/brand
2014.11.08 19:18:51 4: http://192.168.48.21/system/brand: HTTP response code 200
2014.11.08 19:18:51 4: HttpUtils http://192.168.48.21/system/brand: Got data, length: 130
2014.11.08 19:18:51 5: buderus_kessel : km200 - decryptData1 - decipher_len    : 90
2014.11.08 19:18:51 5: buderus_kessel : km200 - decryptData1 - deciphertext    : {"id":"/system/brand","type":"stringValue","writeable":0,"recordable":0,"value":"Buderus"}
2014.11.08 19:18:51 5: buderus_kessel : km200_GetSingleService        : HASH(0x9cf020)
2014.11.08 19:18:51 5: buderus_kessel : km200 - System Brand                   : Buderus
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/DateTime
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/instAccess
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/uuid
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/versionFirmware
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/versionHardware
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/activeSwitchProgram
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/actualSupplyTemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/controlType
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/currentOpModeInfo
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/currentRoomSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/designTemp
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/fastHeatupFactor
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/heatCurveMax
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/heatCurveMin
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/manualRoomSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/operationMode
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/pumpModulation
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomInfluence
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomtemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomTempOffset
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/setpointOptimization
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/solarInfluence
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/status
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/suWiSwitchMode
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/suWiThreshold
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/switchPrograms
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temperatureLevels
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temperatureRoomSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temporaryRoomSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/activeSwitchProgram
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/actualSupplyTemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/controlType
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/currentOpModeInfo
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/currentRoomSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/designTemp
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/fastHeatupFactor
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/heatCurveMax
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/heatCurveMin
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/manualRoomSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/operationMode
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/pumpModulation
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomInfluence
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomtemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomTempOffset
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/setpointOptimization
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/solarInfluence
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/status
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/suWiSwitchMode
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/suWiThreshold
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/switchPrograms
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temperatureLevels
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temperatureRoomSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temporaryRoomSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/actualCHPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/actualDHWPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/actualPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/actualsupplytemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/ChimneySweeper
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/CHpumpModulation
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/flameCurrent
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/flameStatus
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/gasAirPressure
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/nominalCHPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/nominalDHWPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/numberOfStarts
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/powerSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/powerSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/returnTemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/systemPressure
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/workingTime
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /notifications
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatingCircuits
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatingCircuits/hc1
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatingCircuits/hc1/roomtemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatSources
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatSources/actualCHPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatSources/actualDHWPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatSources/actualPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/heatSources
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/heatSources/hs1
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/heatSources/hs1/actualPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/sensors
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/sensors/temperatures
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/sensors/temperatures/outdoor_t1
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/collectorTemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/pumpModulation
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/solarYield
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/status
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/actualPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/actualSupplyTemperature
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/ChimneySweeper
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/CHpumpModulation
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/gasAirPressure
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/nominalBurnerLoad
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/numberOfStarts
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/powerSetpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/systemPressure
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/workingTime
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/brand
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/bus
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/healthStatus
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/actualModulation
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/actualPower
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/energyReservoir
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuel
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuel/density
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuelConsmptCorrFactor
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/nominalFuelConsumption
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/reservoirAlert
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/info
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/minOutdoorTemp
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/chimney
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/hotWater_t1
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/hotWater_t2
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/outdoor_t1
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/return
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/supply_t1
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/supply_t1_setpoint
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/switch
2014.11.08 19:18:51 5: buderus_kessel : km200 - km200_define - REST_item       : /system/systemType
2014.11.08 19:18:51 4: HttpUtils url=http://192.168.48.21/gateway/DateTime
2014.11.08 19:18:51 5: buderus_kessel : km200 - Internal timer for dynamic values prepared with default interval.
2014.11.08 19:18:51 5: buderus_kessel : km200 - Internal timer for static values prepared with default interval.
2014.11.08 19:18:51 5: Cmd: >attr buderus_kessel IntervalDynVal 120<
2014.11.08 19:18:51 5: buderus_kessel : km200 - IntervalDynVal set to attribute value:120 s
2014.11.08 19:18:51 4: buderus_kessel : km200 - Define: InternalTimer for dynamic values started with interval of: 120
2014.11.08 19:18:51 4: buderus_kessel : km200 - Define: InternalTimer for static values started with interval of: 3600
2014.11.08 19:18:51 5: Cmd: >attr buderus_kessel IntervalStatVal 0<
2014.11.08 19:18:51 5: buderus_kessel : km200 - Polling for static values diabled
2014.11.08 19:18:51 4: buderus_kessel : km200 - Define: InternalTimer for dynamic values started with interval of: 120
2014.11.08 19:18:51 4: buderus_kessel : km200 - Define: No InternalTimer for static values since polling disabled by "attr IntervalStatVal 0" in fhem.cfg
2014.11.08 19:18:51 5: Cmd: >attr buderus_kessel room 40_keller<
2014.11.08 19:18:51 4: buderus_kessel : km200 - Define: InternalTimer for dynamic values started with interval of: 120
2014.11.08 19:18:51 4: buderus_kessel : km200 - Define: No InternalTimer for static values since polling disabled by "attr IntervalStatVal 0" in fhem.cfg
...
2014.11.08 19:19:01 5: buderus_kessel : km200_ParseHttpResponseInit: Try to parse    : /gateway/DateTime
2014.11.08 19:19:01 2: buderus_kessel : ERROR: No proper Communication with Gateway

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 09 November 2014, 15:45:15
Hallo Rainer

ich habe in der Version 1.16 die Fehlerausgabe etwas verbessert.

Laut Deinem Log File scheint der Initialisierungsprozesss nicht in die Gaenge zu kommen...

Verwende bitte mal die Version 1.16 im Anhang und sende mir bitte nochmals des Log-Auszug,

Danke

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 09 November 2014, 16:16:01
Hallo Sailor,

hier das Log:

2014.11.09 16:06:48 5: Cmd: >define buderus_kessel km200 192.168.48.21 xxxxxxxxxx xxxxxxxxxx<
2014.11.09 16:06:48 5: Loading /usr/local/FHEM/share/fhem/FHEM/73_km200.pm
2014.11.09 16:06:50 5: buderus_kessel : km200 - IPv4-address is valid          : 192.168.48.21
2014.11.09 16:06:50 5: buderus_kessel : km200 - Provided GatewayPassword provided as bareword has the correct length at least.
2014.11.09 16:06:50 5: buderus_kessel : km200 - Provided PrivatePassword exists at least
2014.11.09 16:06:50 5: buderus_kessel : km200 - Define H                       : HASH(0xc18890)
2014.11.09 16:06:50 5: buderus_kessel : km200 - Define D                       : buderus_kessel km200 192.168.48.21 xxxxxxxxxx xxxxxxxxxx
2014.11.09 16:06:50 5: buderus_kessel : km200 - Define A                       : 5
2014.11.09 16:06:50 5: buderus_kessel : km200 - Define Name                    : buderus_kessel
2014.11.09 16:06:50 5: buderus_kessel : km200 - Define Adr                     : 192.168.48.21
2014.11.09 16:06:50 5: buderus_kessel : km200 - Gateway Password               : xxxxxxxxxx
2014.11.09 16:06:50 5: buderus_kessel : km200 - Private Password               : xxxxxxxxxx
2014.11.09 16:06:50 4: HttpUtils url=http://192.168.48.21/system/brand
2014.11.09 16:06:50 4: http://192.168.48.21/system/brand: HTTP response code 200
2014.11.09 16:06:50 4: HttpUtils http://192.168.48.21/system/brand: Got data, length: 130
2014.11.09 16:06:50 5: buderus_kessel : km200 - decryptData1 - decipher_len    : 90
2014.11.09 16:06:50 5: buderus_kessel : km200 - decryptData1 - deciphertext    : {"id":"/system/brand","type":"stringValue","writeable":0,"recordable":0,"value":"Buderus"}
2014.11.09 16:06:50 5: buderus_kessel : km200_GetSingleService        : HASH(0x9d05f0)
2014.11.09 16:06:50 5: buderus_kessel : km200 - System Brand                   : Buderus
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/DateTime
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/instAccess
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/uuid
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/versionFirmware
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /gateway/versionHardware
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/activeSwitchProgram
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/actualSupplyTemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/controlType
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/currentOpModeInfo
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/currentRoomSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/designTemp
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/fastHeatupFactor
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/heatCurveMax
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/heatCurveMin
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/manualRoomSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/operationMode
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/pumpModulation
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomInfluence
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomtemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/roomTempOffset
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/setpointOptimization
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/solarInfluence
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/status
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/suWiSwitchMode
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/suWiThreshold
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/switchPrograms
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temperatureLevels
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temperatureRoomSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc1/temporaryRoomSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/activeSwitchProgram
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/actualSupplyTemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/controlType
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/currentOpModeInfo
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/currentRoomSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/designTemp
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/fastHeatupFactor
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/heatCurveMax
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/heatCurveMin
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/manualRoomSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/operationMode
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/pumpModulation
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomInfluence
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomtemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/roomTempOffset
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/setpointOptimization
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/solarInfluence
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/status
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/suWiSwitchMode
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/suWiThreshold
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/switchPrograms
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temperatureLevels
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temperatureRoomSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatingCircuits/hc2/temporaryRoomSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/actualCHPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/actualDHWPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/actualPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/actualsupplytemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/ChimneySweeper
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/CHpumpModulation
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/flameCurrent
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/flameStatus
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/gasAirPressure
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/nominalCHPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/nominalDHWPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/numberOfStarts
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/powerSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/powerSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/returnTemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/systemPressure
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /heatSources/workingTime
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /notifications
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatingCircuits
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatingCircuits/hc1
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatingCircuits/hc1/roomtemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatSources
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatSources/actualCHPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatSources/actualDHWPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/heatSources/actualPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/heatSources
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/heatSources/hs1
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/heatSources/hs1/actualPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/sensors
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/sensors/temperatures
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /recordings/system/sensors/temperatures/outdoor_t1
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/collectorTemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/pumpModulation
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/solarYield
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /solarCircuits/sc1/status
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/actualPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/actualSupplyTemperature
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/ChimneySweeper
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/CHpumpModulation
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/flameCurrent
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/gasAirPressure
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/nominalBurnerLoad
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/numberOfStarts
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/powerSetpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/systemPressure
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/appliance/workingTime
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/brand
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/bus
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/healthStatus
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/actualModulation
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/actualPower
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/energyReservoir
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuel
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuel/density
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/fuelConsmptCorrFactor
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/nominalFuelConsumption
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/heatSources/hs1/reservoirAlert
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/info
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/minOutdoorTemp
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/chimney
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/hotWater_t1
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/hotWater_t2
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/outdoor_t1
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/return
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/supply_t1
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/supply_t1_setpoint
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/sensors/temperatures/switch
2014.11.09 16:06:50 5: buderus_kessel : km200 - km200_define - REST_item       : /system/systemType
2014.11.09 16:06:50 4: HttpUtils url=http://192.168.48.21/gateway/DateTime
2014.11.09 16:06:50 5: buderus_kessel : km200 - Internal timer for dynamic values prepared with default interval.
2014.11.09 16:06:50 5: buderus_kessel : km200 - Internal timer for static values prepared with default interval.
2014.11.09 16:06:50 5: Cmd: >attr buderus_kessel IntervalDynVal 120<
2014.11.09 16:06:50 5: buderus_kessel : km200 - IntervalDynVal set to attribute value:120 s
2014.11.09 16:06:50 4: buderus_kessel : km200 - Define: InternalTimer for dynamic values started with interval of: 120
2014.11.09 16:06:50 4: buderus_kessel : km200 - Define: InternalTimer for static values started with interval of: 3600
2014.11.09 16:06:50 5: Cmd: >attr buderus_kessel IntervalStatVal 0<
2014.11.09 16:06:50 5: buderus_kessel : km200 - Polling for static values diabled
2014.11.09 16:06:50 4: buderus_kessel : km200 - Define: InternalTimer for dynamic values started with interval of: 120
2014.11.09 16:06:50 4: buderus_kessel : km200 - Define: No InternalTimer for static values since polling disabled by "attr IntervalStatVal 0" in fhem.cfg
2014.11.09 16:06:50 5: Cmd: >attr buderus_kessel room 40_keller<
2014.11.09 16:06:50 4: buderus_kessel : km200 - Define: InternalTimer for dynamic values started with interval of: 120
2014.11.09 16:06:50 4: buderus_kessel : km200 - Define: No InternalTimer for static values since polling disabled by "attr IntervalStatVal 0" in fhem.cfg
...
2014.11.09 16:06:59 5: buderus_kessel : km200_ParseHttpResponseInit: Try to parse    : /gateway/DateTime
2014.11.09 16:06:59 2: buderus_kessel : ERROR: No proper Communication with Gatewayconnect to http://192.168.48.21:80 timed out

Ich hoffe es hilft dir weiter.

Viele Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 09 November 2014, 16:22:56
Hallo Rainer

Es scheint, das dein KM Modul nicht antwortet und der timeout nach 5 Sekunden einsetzt und den Abbruf abbricht...

Gehe mal in der 73_km200.pm in Zeile 1034 und aendere mal den Timeout-Wert auf 8 Sekunden.

Mal schaun was passiert.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 09 November 2014, 16:42:07
Hallo Sailor,

es hat sich leider nichts verändert.

Grüße
Rainer

P.S. Ich habe zwischenzeitlich auch mal die Kesselsteuerung stromlos gemacht, um Probleme damit auszuschliessen.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 09 November 2014, 17:01:04
Hmm

jetzt bin ich mit meinem Latein am Ende  :(

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 09 November 2014, 18:02:56
Hallo Rainer,

kannst Du denn Dein KM200 per PING erreichen, und ist die PING-Zeit in Ordnung?

LG,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 09 November 2014, 18:25:52
Also was mich etwas irritiert:
Zitat
2014.11.09 16:06:50 4: buderus_kessel : km200 - Define: InternalTimer for static values started with interval of: 3600
...
2014.11.09 16:06:50 4: buderus_kessel : km200 - Define: No InternalTimer for static values since polling disabled by "attr IntervalStatVal 0" in fhem.cfg
Wie nun? Ist jetzt also ein Static Timer definiert, oder nicht?
Vielleicht solltest du mal deine fhem.cfg nach allem absuchen was mit dem KM200 Modul zusammen hängt. Nicht das du versehentlich das Modul an zwei Stellen startest.
Oder poste halt mal alles zum Thema KM200 aus deiner fhem.cfg, aber nicht vergessen das Passwort zu entfernen.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 09 November 2014, 18:35:53
.... und....
Auch die Kiste auf der FHEM läuft mal gebootet?
Ist sicher nur eine Version vom KM200 Modul im FHEM Modulverzeichnis liegt?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 09 November 2014, 18:52:17
Hallo zusammen,

Hallo Rainer,

kannst Du denn Dein KM200 per PING erreichen, und ist die PING-Zeit in Ordnung?

LG,
Olaf

C:\Users\Rainer>ping 192.168.48.21

Ping wird ausgeführt für 192.168.48.21 mit 32 Bytes Daten:
Antwort von 192.168.48.21: Bytes=32 Zeit=18ms TTL=64
Antwort von 192.168.48.21: Bytes=32 Zeit=7ms TTL=64
Antwort von 192.168.48.21: Bytes=32 Zeit=6ms TTL=64
Antwort von 192.168.48.21: Bytes=32 Zeit=15ms TTL=64

Ping-Statistik für 192.168.48.21:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 6ms, Maximum = 18ms, Mittelwert = 11ms

Also was mich etwas irritiert:Wie nun? Ist jetzt also ein Static Timer definiert, oder nicht?
Vielleicht solltest du mal deine fhem.cfg nach allem absuchen was mit dem KM200 Modul zusammen hängt. Nicht das du versehentlich das Modul an zwei Stellen startest.
Oder poste halt mal alles zum Thema KM200 aus deiner fhem.cfg, aber nicht vergessen das Passwort zu entfernen.

define buderus_kessel km200 192.168.48.21 xxxxxxxxx xxxxxxxxxx
attr buderus_kessel IntervalDynVal 120
attr buderus_kessel IntervalStatVal 0
attr buderus_kessel room 40_keller
define FileLog_buderus_kessel FileLog /volumeUSB1/usr/local/FHEM/var/log/buderus_kessel-%Y-%m.log buderus_kessel
attr FileLog_buderus_kessel room 90_logfiles
define 10_buderus_kessel_plot SVG FileLog_buderus_kessel:SVG_FileLog_buderus_kessel_1:CURRENT
attr 10_buderus_kessel_plot room 41_keller_grafik
define 05_aussentemp_plot SVG FileLog_buderus_kessel:temp4aussen:CURRENT
attr 05_aussentemp_plot room 41_keller_grafik

define AussenTemp2LCD notify buderus_kessel {\
 my $value = ReadingsVal("buderus_kessel","/system/sensors/temperatures/outdoor_t1","0");; \
 fhem "set Tom_lcd write 0 0 AussenTemp:$value";;\
undef\
}
define KesselTemp2LCD notify buderus_kessel {\
 my $value = ReadingsVal("buderus_kessel","/heatSources/actualsupplytemperature","0");; \
 fhem "set Tom_lcd write 3 0 KesselTemp:$value";;\
undef\
}
define error_heizung_changed notify buderus_kessel {my $wert = ReadingsVal("buderus_kessel","/system/healthStatus","0");; fhem ("set error_heizung $wert")}
define temp_aussen_nfy notify buderus_kessel {my $reading = ReadingsVal("buderus_kessel","/system/sensors/temperatures/outdoor_t1","0");; fhem ("set temp_aussen $reading")}
define temp_gaskessel_nfy notify buderus_kessel {my $reading = ReadingsVal("buderus_kessel","/heatSources/actualsupplytemperature","0");; fhem ("set temp_gaskessel $reading")}


Ich starte die Synology gleich mal durch und schau ob sich etwas verändert.

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 09 November 2014, 19:13:22
Alle Achtung. Da holt ja einer schon raus was geht....

Zitat
attr buderus_kessel IntervalStatVal 0

Da bin ich mir nicht sicher ob das so gedacht war. Ich habe den Wert auf 86400. Einmal am Tag darf er. Wäre vielleicht auch noch ein Versuch Wert

Oder halt auch mal testweise nochmal alles raus bis auf die oberste Zeile.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 09 November 2014, 19:44:00
Hallo zusammen,

ich habe jetzt folgendes gemacht:

Restart Synology
Alle Verzeichnisse absuchen nach 73_km200.pm, taucht nur einmal auf
Aus fhem.cfg alles was auf km200 verweist raus bis auf das define km200

Außer das die InternalTimer for dynamic und static jetzt auf 60 bzw. 3600 stehen kein Unterschied. Nach ein paar Sekunden ist Ende.  :'(

Kann mir jemand noch die Version vor Einsatz von NonBlocking zur Verfügung stellen (Ich glaub 1.10 oder so)? Die würde bei mir laufen, auch wenn sie FHEM eine wenig Zeit wegnimmt.

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 09 November 2014, 19:48:26
Hi all,

kann es sein, dass Dein Perl auf der Synology derart compiliert wurde, dass es weder Threads (wie bei den meisten) aber eben auch keine fork's (als mehrere Prozesse) unterstützt? Ich habe irgendwo mal gelesen, dass auf den schmalen Linux-Kisten (wie auch meiner Linkstation) das ab und an mal so gemacht wurde. Von wann ist Deine Synology und welcher Linux-Kern?

LG,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 09 November 2014, 19:55:32
Hallo nobody0472,

Hi all,

kann es sein, dass Dein Perl auf der Synology derart compiliert wurde, dass es weder Threads (wie bei den meisten) aber eben auch keine fork's (als mehrere Prozesse) unterstützt? Ich habe irgendwo mal gelesen, dass auf den schmalen Linux-Kisten (wie auch meiner Linkstation) das ab und an mal so gemacht wurde. Von wann ist Deine Synology und welcher Linux-Kern?

LG,
Olaf

Linux version 2.6.32.12 (root@build7) (gcc version 4.6.4 (Linaro GCC branch-4.6.4. Marvell GCC Dev 201309-2126.3d181f66 64K MAXPAGESIZE ALIGN) ) #4528 Mon Oct 20 22:04:41 CST 2014

Ich benutze das Perl von fischer-ner.de, was dort für meinen Prozessor zur Verfügung gestellt wurde. Wie das kompiliert wurde kann ich nicht sagen.

Meine Synology habe ich Ende 2012 gekauft.

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 09 November 2014, 21:08:47
Die perl Version ist eine 5.16 von 2012.
Von http://www.fischer-net.de/hausautomation/fhem/47-fhem-mit-perl-5-16-0-auf-synology-diskstation.html

Zitat
Damit die komplette Vielfalt von FHEM genutzt werden kann, empfehle ich zusätzlich die Installation der Pakete
The Perl Programming Language (perl-n.n.n_mfr-n.n_syno-88f628x.spk) sowie

Klingt für mich so als ob man auch ohne Leben könnte und vielleicht besser die aktuellere von Synology mitgelieferte Perlversion verwenden sollte. Das wäre dann eine Version 5.18.4
Aber ob man da ohne Probleme mal die Fischer Version entfernen kann und die von Synology installieren kann......

Ich hatte übrigens bis vor kurzem FHEM auf der Fritzbox laufen. Schweren Herzen habe ich mich dann entschlossen ein Raspberrypi zu kaufen weil auch AMV immer mehr Probleme gemacht hat. Aber die 40€ waren es Wert. Vielleicht ist das die einfachere Lösung. Weder AVM noch Synology sehen es halt gerne wenn man auf ihren Kisten Dinge treibt die nicht direkt vom Hersteller sind.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 09 November 2014, 22:04:19
Hallo zusammen,

ich muss mich aus der Testerities ausklinken  :) und kann mich wegen einer Dienstreise erste nächstes Wochenende wieder darum kümmern.

@furban: Das mit dem Raspberry ist keine schlechte Idee, habe ich auch schon dran gedacht. Was mich daran stört ist das so ein Stromverbraucher nach dem anderen dazu kommt, auch wenn der in diesem Fall nur wenig konsumiert.

Wenn man "Fremdsoftware" auf Synology o.ä. installiert sollte man sich darüber im klaren sein, das man im Falle eines Falles keinen Support von Synology erwarten kann und für die Risiken wie Datenverlust o.ä. selbst die Verantwortung trägt.

Danke für eure Hilfe!

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 10 November 2014, 08:18:30

Komisch. Die Version habe ich auch

sudo cpan -D ExtUtils::MakeMaker
...
        Installed: 6.57_05
...
Allerdings habe ich eine Ältere Version von cpanm

cpanm --version
cpanm (App::cpanminus) version 1.7009 (/usr/local/bin/cpanm

Probier mal nur das Kommando "cpan" und dann
install package -force ExtUtils::MakeMaker
Damit machst du einen Update

Hat leider nicht geklappt....
Bekomme immer noch das hier:

curl -L http://cpanmin.us | perl - --sudo App::cpanminus
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   314    0   314    0     0    509      0 --:--:-- --:--:-- --:--:--  1003
100  290k  100  290k    0     0   284k      0  0:00:01  0:00:01 --:--:--  284k
--> Working on App::cpanminus
Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7014.tar.gz ... OK
Configuring App-cpanminus-1.7014 ... OK
==> Found dependencies: ExtUtils::MakeMaker
--> Working on ExtUtils::MakeMaker
Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.02.tar.gz ... OK
Configuring ExtUtils-MakeMaker-7.02 ... OK
Building and testing ExtUtils-MakeMaker-7.02 ... OK
Successfully installed ExtUtils-MakeMaker-7.02 (upgraded from 6.57_05)
! Installing the dependencies failed: Installed version (6.57_05) of ExtUtils::MakeMaker is not in range '6.58'
! Bailing out the installation for App-cpanminus-1.7014.
1 distribution installed

Das verstehe ich eh nicht, er macht anscheinend ein Update von diesen ExtUtils-MakeMaker, aber sagt dann es wäre immer noch "not in Range".
Auch nach nem Reboot meines Raspberry keine Änderung. Muß ich die Version noch irgendwie "aktivieren"..?
Wahrscheinlich ist das eher perl spezifisch... hat nicht viel in diesem Thread verloren? Nur wohin? Wer könnte die Antwort wissen?

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 10 November 2014, 08:47:09
Hat leider nicht geklappt....
Bekomme immer noch das hier:
Hi Jens,

kann sein das du einfach nur Pech hast das da gerade sich die Versionen ändern und irgendwas buggy ist.. Ich habe gerade nochmal ein

cpan -D ExtUtils::MakeMaker
laufen lassen und bekomme ein
        Installed: 7.00
        CPAN:      7.02  Not up to date
Obwohl ich meine Version also am Donnerstag upgedatet habe, gibt es schon wieder eine neue Version.

Im Prinzip ist dieses cpanm wohl aber auch nur ein Hilfsmittel.
Du kannst die Module auch nur mit cpan installieren

Also cpan aufrufen und dann
install List::MoreUtils

um z.B. das Modul zu installieren.

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 10 November 2014, 10:41:39
Hab es jetzt hinbekommen jetzt werde ich mal Nachmittag versuchen das km200 einzubinden


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 10 November 2014, 12:40:43
Also was mich etwas irritiert:Wie nun? Ist jetzt also ein Static Timer definiert, oder nicht?
Vielleicht solltest du mal deine fhem.cfg nach allem absuchen was mit dem KM200 Modul zusammen hängt. Nicht das du versehentlich das Modul an zwei Stellen startest.
Oder poste halt mal alles zum Thema KM200 aus deiner fhem.cfg, aber nicht vergessen das Passwort zu entfernen.

Hallo Furban,

nein, da ist alles richtig!!!

Zunächst wird der Wert 3600 in der km200_define auf default=3600 gesetzt. Erst dann wird in der km200_attr dein eigentliches Attribut (0=disabled) eingelesen und entsprechend disabled.

Das ist die Reihenfolge die das fhem mir vorgibt.

Also alles in Ordnung.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 10 November 2014, 13:03:17
Hi all,

kann es sein, dass Dein Perl auf der Synology derart compiliert wurde, dass es weder Threads (wie bei den meisten) aber eben auch keine fork's (als mehrere Prozesse) unterstützt? Ich habe irgendwo mal gelesen, dass auf den schmalen Linux-Kisten (wie auch meiner Linkstation) das ab und an mal so gemacht wurde. Von wann ist Deine Synology und welcher Linux-Kern?

LG,
Olaf

Hallo Olaf,

daran habe ich Trottel noch gar nicht gedacht!!!  :o

Also ich kann den RasPi nur empfehlen.

Allerdings nur mit vernünftigem Gehäuse, starkem Netzteil (>3000mA) und Kühlkörper-Set.

Damit ist es wenigstens getestet.

Gruss
    Sailor



Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 10 November 2014, 18:36:20
oh je, jetzt hab ich das Modul installiert und als definition in FHEM eingefügt... Das hat auch kurz geklappt... Aber nun ist fhem abgestürzt und kommt nicht wieder.... :(


Ah nicht ganz richtig... Hab den Raspi neu gebotet. Aber die Definition vom KM200 ist natürlich weg ... Das Logfile aus fhem schmeißt folgendes raus:
2014.11.10 18:31:20 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/actualSupplyTemperature NOT available
2014.11.10 18:31:20 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/controlType NOT available
2014.11.10 18:31:20 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/currentOpModeInfo NOT available
2014.11.10 18:31:20 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/currentRoomSetpoint NOT available
2014.11.10 18:31:21 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/designTemp NOT available
2014.11.10 18:31:21 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/fastHeatupFactor NOT available
2014.11.10 18:31:21 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/heatCurveMax NOT available
2014.11.10 18:31:21 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/heatCurveMin NOT available
2014.11.10 18:31:21 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/manualRoomSetpoint NOT available
2014.11.10 18:31:21 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/pumpModulation NOT available
2014.11.10 18:31:22 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/roomInfluence NOT available
2014.11.10 18:31:22 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/roomTempOffset NOT available
2014.11.10 18:31:22 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/setpointOptimization NOT available
2014.11.10 18:31:22 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/solarInfluence NOT available
2014.11.10 18:31:22 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/suWiSwitchMode NOT available
2014.11.10 18:31:22 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/suWiThreshold NOT available
2014.11.10 18:31:23 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/temporaryRoomSetpoint NOT available
2014.11.10 18:31:24 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/actualSupplyTemperature NOT available
2014.11.10 18:31:24 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/controlType NOT available
2014.11.10 18:31:24 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/currentOpModeInfo NOT available
2014.11.10 18:31:24 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/currentRoomSetpoint NOT available
2014.11.10 18:31:25 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/designTemp NOT available
2014.11.10 18:31:25 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/fastHeatupFactor NOT available
2014.11.10 18:31:25 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/heatCurveMax NOT available
2014.11.10 18:31:25 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/heatCurveMin NOT available
2014.11.10 18:31:25 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/manualRoomSetpoint NOT available
2014.11.10 18:31:26 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/roomInfluence NOT available
2014.11.10 18:31:26 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/roomTempOffset NOT available
2014.11.10 18:31:26 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/setpointOptimization NOT available
2014.11.10 18:31:26 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/solarInfluence NOT available
2014.11.10 18:31:26 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/suWiSwitchMode NOT available
2014.11.10 18:31:26 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/suWiThreshold NOT available
2014.11.10 18:31:27 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc2/temporaryRoomSetpoint NOT available
2014.11.10 18:31:28 3: Heizung : km200_ParseHttpResponseInit: /heatSources/actualsupplytemperature NOT available
2014.11.10 18:31:28 3: Heizung : km200_ParseHttpResponseInit: /heatSources/ChimneySweeper NOT available
2014.11.10 18:31:35 2: Heizung : ERROR: No proper Communication with Gatewayconnect to http://192.168.178.30:80 timed out

gerad noch mal probiert... wieder das Gleiche. Ich bekomme zunächst in dem Device readings angezeigt... Aber plötzlich ist fhem abgestürzt. Manuelles starten über sudo /etc/init.d/fhem start
erweckt fhem wieder zum leben. Da ich keine Möglichkeit hatte ein "save" zu machen ist die Definition natürlich wieder weg.. (vielleicht gut?, sonst würde fhem möglicherweise gar nicht mehr starten?).
Irgendwas scheint währen der Abfragen zu Km200 Gateway zu passieren? Vielleicht zuviel Abfragen, in zu kurzer Abfolge?

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 10 November 2014, 20:27:13
Guten Abend km50/200 Gemeinde,

hatte gerade folgendes Event:

Brenner hat Warmwasser erzeugt.

/heatSources/CHpumpModulation 100 2014-11-10 20:18:41
/heatSources/actualCHPower                 100 2014-11-10 20:18:40
/heatSources/actualDHWPower              100 2014-11-10 20:18:40
/heatSources/actualPower                     100 2014-11-10 20:18:40
/heatSources/flameCurrent                    5.2 2014-11-10 20:18:41
/heatSources/flameStatus                      off 2014-11-10 14:43:19

Interessant ist das er mit der Synchronisation in FHEM nicht hinterher kommt.

Flamme war aber am Gerät selber auf an.

Grüße NewBee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 11 November 2014, 12:04:17
Das Logfile aus fhem schmeißt folgendes raus:
2014.11.10 18:31:20 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/actualSupplyTemperature NOT available
2014.11.10 18:31:20 3: Heizung : km200_ParseHttpResponseInit: /heatingCircuits/hc1/controlType NOT available
...
2014.11.10 18:31:28 3: Heizung : km200_ParseHttpResponseInit: /heatSources/actualsupplytemperature NOT available
2014.11.10 18:31:28 3: Heizung : km200_ParseHttpResponseInit: /heatSources/ChimneySweeper NOT available
2014.11.10 18:31:35 2: Heizung : ERROR: No proper Communication with Gatewayconnect to http://192.168.178.30:80 timed out

gerad noch mal probiert... wieder das Gleiche. Ich bekomme zunächst in dem Device readings angezeigt... Aber plötzlich ist fhem abgestürzt. Manuelles starten über sudo /etc/init.d/fhem start
erweckt fhem wieder zum leben. Da ich keine Möglichkeit hatte ein "save" zu machen ist die Definition natürlich wieder weg.. (vielleicht gut?, sonst würde fhem möglicherweise gar nicht mehr starten?).
Irgendwas scheint währen der Abfragen zu Km200 Gateway zu passieren? Vielleicht zuviel Abfragen, in zu kurzer Abfolge?

Hallo Jens


Neue Abfragen werden erst wieder gestartet, wenn die laufende Abfrage abgeschlossen ist.
Daher gibt es keinen Clash.

Sende mal bitte das komplette LOG verbose 5 ab fhem start (Achtung Passwörter löschen, bzw. durch xxxxxxx und yyyy-yyyy-yyyy-yyyy unkenntlich machen!!!) sowie deine Konsole nach "sudo service fhem stop" und "sudo service fhem start"

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 11 November 2014, 12:08:40
/heatSources/flameStatus                      off 2014-11-10 14:43:19

Interessant ist das er mit der Synchronisation in FHEM nicht hinterher kommt.

Flamme war aber am Gerät selber auf an.

Hallo NewBee

fhem bzw. das km200 Modul kann nicht wissen, dass sich was am Brenner geändert hat.

Das modul macht stur nur ein update in dem von dir unter IntervalDyVal vorgegebenen Intervall.

Im schlimmsten Fall taucht die Anzeige "ON" erst mit genau diesem Zeitraum verspätet in fhem auf.
Ist eben ein "Polling" von Daten.

Wenn Du es schneller brauchst, musst du das dynamische Interval entsprechend verkürzen.


Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 11 November 2014, 12:32:23
Hallo Jens


Neue Abfragen werden erst wieder gestartet, wenn die laufende Abfrage abgeschlossen ist.
Daher gibt es keinen Clash.

Sende mal bitte das komplette LOG verbose 5 ab fhem start (Achtung Passwörter löschen, bzw. durch xxxxxxx und yyyy-yyyy-yyyy-yyyy unkenntlich machen!!!) sowie deine Konsole nach "sudo service fhem stop" und "sudo service fhem start"

Gruß
    Sailor

Hi Sailor,

ich habe jetzt mal die Ausgabe aus dem Terminal mitgeschnitten:
The following Service can be read and is writeable: /gateway/DateTime
The following Service can be read and is writeable: /gateway/instAccess
The following Service can be read                 : /gateway/uuid
The following Service can be read                 : /gateway/versionFirmware
The following Service can be read                 : /gateway/versionHardware
The following Service can be read and is writeable: /heatingCircuits/hc1/activeSwitchProgram
The following Service CANNOT be read              : /heatingCircuits/hc1/actualSupplyTemperature
The following Service CANNOT be read              : /heatingCircuits/hc1/controlType
The following Service CANNOT be read              : /heatingCircuits/hc1/currentOpModeInfo
The following Service CANNOT be read              : /heatingCircuits/hc1/currentRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc1/designTemp
The following Service CANNOT be read              : /heatingCircuits/hc1/fastHeatupFactor
The following Service CANNOT be read              : /heatingCircuits/hc1/heatCurveMax
The following Service CANNOT be read              : /heatingCircuits/hc1/heatCurveMin
The following Service CANNOT be read              : /heatingCircuits/hc1/manualRoomSetpoint
The following Service can be read and is writeable: /heatingCircuits/hc1/operationMode
The following Service CANNOT be read              : /heatingCircuits/hc1/pumpModulation
The following Service CANNOT be read              : /heatingCircuits/hc1/roomInfluence
The following Service can be read                 : /heatingCircuits/hc1/roomtemperature
The following Service CANNOT be read              : /heatingCircuits/hc1/roomTempOffset
The following Service CANNOT be read              : /heatingCircuits/hc1/setpointOptimization
The following Service CANNOT be read              : /heatingCircuits/hc1/solarInfluence
The following Service can be read                 : /heatingCircuits/hc1/status
The following Service CANNOT be read              : /heatingCircuits/hc1/suWiSwitchMode
The following Service CANNOT be read              : /heatingCircuits/hc1/suWiThreshold
The following Service can be read and is writeable: /heatingCircuits/hc1/temperatureRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc1/temporaryRoomSetpoint
The following Service can be read and is writeable: /heatingCircuits/hc2/activeSwitchProgram
The following Service CANNOT be read              : /heatingCircuits/hc2/actualSupplyTemperature
The following Service CANNOT be read              : /heatingCircuits/hc2/controlType
The following Service CANNOT be read              : /heatingCircuits/hc2/currentOpModeInfo
The following Service CANNOT be read              : /heatingCircuits/hc2/currentRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc2/designTemp
The following Service CANNOT be read              : /heatingCircuits/hc2/fastHeatupFactor
The following Service CANNOT be read              : /heatingCircuits/hc2/heatCurveMax
The following Service CANNOT be read              : /heatingCircuits/hc2/heatCurveMin
The following Service CANNOT be read              : /heatingCircuits/hc2/manualRoomSetpoint
pi@raspi-fhem ~ $ The following Service can be read and is writeable: /heatingCircuits/hc2/operationMode
pi@raspi-fhem ~ $ The following Service can be read                 : /heatingCircuits/hc2/pumpModulation
pi@raspi-fhem ~ $ The following Service CANNOT be read              : /heatingCircuits/hc2/roomInfluence
pi@raspi-fhem ~ $ The following Service can be read                 : /heatingCircuits/hc2/roomtemperature
The following Service CANNOT be read              : /heatingCircuits/hc2/roomTempOffset
The following Service CANNOT be read              : /heatingCircuits/hc2/setpointOptimization
The following Service CANNOT be read              : /heatingCircuits/hc2/solarInfluence
The following Service can be read                 : /heatingCircuits/hc2/status
The following Service CANNOT be read              : /heatingCircuits/hc2/suWiSwitchMode
The following Service CANNOT be read              : /heatingCircuits/hc2/suWiThreshold
The following Service can be read and is writeable: /heatingCircuits/hc2/temperatureRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc2/temporaryRoomSetpoint
The following Service can be read                 : /heatSources/actualCHPower
The following Service can be read                 : /heatSources/actualDHWPower
The following Service can be read                 : /heatSources/actualPower
The following Service CANNOT be read              : /heatSources/actualsupplytemperature
The following Service CANNOT be read              : /heatSources/ChimneySweeper
The following Service can be read                 : /heatSources/CHpumpModulation
The following Service can be read                 : /heatSources/flameCurrent
The following Service can be read                 : /heatSources/flameStatus
The following Service can be read                 : /heatSources/gasAirPressure
The following Service can be read                 : /heatSources/nominalCHPower
The following Service can be read                 : /heatSources/nominalDHWPower
The following Service can be read                 : /heatSources/numberOfStarts
The following Service can be read                 : /heatSources/powerSetpoint
The following Service can be read                 : /heatSources/powerSetpoint
The following Service can be read                 : /heatSources/returnTemperature
The following Service can be read                 : /heatSources/systemPressure
km200_ParseHttpResponseInit ERROR: connect to http://192.168.178.30:80 timed out
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1194.


da bleibt fhem dann stehen...
wenn ich mit sudo service fhem start
fhem wieder starte. lauft es wieder aber die Definition ist natürlich weg (kein save gemacht)
in Zeile 1194 in km200 Modul steht folgendes:
[my @KM200_DynServices            = @{$hash->{Secret}{KM200DYNSERVICES}};/code]


Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 11 November 2014, 13:08:18
Hi Sailor,

ich habe jetzt mal die Ausgabe aus dem Terminal mitgeschnitten:
CUT
The following Service can be read                 : /heatingCircuits/hc2/status
The following Service CANNOT be read              : /heatingCircuits/hc2/suWiSwitchMode
The following Service CANNOT be read              : /heatingCircuits/hc2/suWiThreshold
The following Service can be read and is writeable: /heatingCircuits/hc2/temperatureRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc2/temporaryRoomSetpoint
The following Service can be read                 : /heatSources/actualCHPower
The following Service can be read                 : /heatSources/actualDHWPower
The following Service can be read                 : /heatSources/actualPower
The following Service CANNOT be read              : /heatSources/actualsupplytemperature
The following Service CANNOT be read              : /heatSources/ChimneySweeper
The following Service can be read                 : /heatSources/CHpumpModulation
The following Service can be read                 : /heatSources/flameCurrent
The following Service can be read                 : /heatSources/flameStatus
The following Service can be read                 : /heatSources/gasAirPressure
The following Service can be read                 : /heatSources/nominalCHPower
The following Service can be read                 : /heatSources/nominalDHWPower
The following Service can be read                 : /heatSources/numberOfStarts
The following Service can be read                 : /heatSources/powerSetpoint
The following Service can be read                 : /heatSources/powerSetpoint
The following Service can be read                 : /heatSources/returnTemperature
The following Service can be read                 : /heatSources/systemPressure
km200_ParseHttpResponseInit ERROR: connect to http://192.168.178.30:80 timed out
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1194.
[/code]

Hallo Jens,

Das sieht fast gut aus.

Der Kontakt zum KM200 steht. Werte können gelesen und geparst werden.

Dann dauert der Abruf eines Wertes mehr als 5 Sekunden und das Modul bricht ab.

Aufgrund des Abbruchs wird kein Array mit dem Namen @{$hash->{Secret}{KM200DYNSERVICES}} generiert und somit kommt es vollkommen richtig zu der Fehlermeldung.
Scheinbar hast du noch eine ältere Version, denn die Neue gibt dann die Fehlermeldung
No dynamic values available to be read. Skipping download.aus und stürzt nicht mehr das fhem ab.

Die Frage ist also, warum dauert plötzlich ein Wert so lange.

Versuchsweise kannst Du mal in der Subroutine
sub km200_GetInitService($)die Zeile
timeout    => 5,in Folgende ersetzen
timeout    => 10,
mal schauen was das bringt.

Hier liegt aber ein Kommunikationsproblem vor welches ich noch nicht einzuordnen vermag...

Wenn das nichts hilft, dann komentiere in der km200_Define($) für das array "@KM200_AllServices" mal die Zeile
"/heatSources/workingTime", aus zu
#"/heatSources/workingTime",
Die Neuste Version stelle ich heute Abend nach einem Testlauf in meiner Umgebung ins Netz.

Gruss
    Sailor

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 11 November 2014, 14:00:33
Hallo Jens,

Das sieht fast gut aus.

Der Kontakt zum KM200 steht. Werte können gelesen und geparst werden.

Dann dauert der Abruf eines Wertes mehr als 5 Sekunden und das Modul bricht ab.

Aufgrund des Abbruchs wird kein Array mit dem Namen @{$hash->{Secret}{KM200DYNSERVICES}} generiert und somit kommt es vollkommen richtig zu der Fehlermeldung.
Scheinbar hast du noch eine ältere Version, denn die Neue gibt dann die Fehlermeldung
No dynamic values available to be read. Skipping download.aus und stürzt nicht mehr das fhem ab.

Die Frage ist also, warum dauert plötzlich ein Wert so lange.

Versuchsweise kannst Du mal in der Subroutine
sub km200_GetInitService($)die Zeile
timeout    => 5,in Folgende ersetzen
timeout    => 10,
mal schauen was das bringt.

Hier liegt aber ein Kommunikationsproblem vor welches ich noch nicht einzuordnen vermag...

Wenn das nichts hilft, dann komentiere in der km200_Define($) für das array "@KM200_AllServices" mal die Zeile
"/heatSources/workingTime", aus zu
#"/heatSources/workingTime",
Die Neuste Version stelle ich heute Abend nach einem Testlauf in meiner Umgebung ins Netz.

Gruss
    Sailor

Also ich habe die Version aus dem Post vom 9.11.
# $Id: 73_km200.pm 0026 2014-11-09 15:00:00Z Matthias_Deeke $
Das mit dem timeout teste ich, sobald ich wieder an meine Hausautomation komme (Wohl erst Freitag wieder :()

Gruß
Jens

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 11 November 2014, 19:29:14
So, Version 1.17 kommt lediglich mit Verbesserungen fuer meine Fehlersuche raus:

# 1.17    10.11.2014 Sailor km200_Initialize Corrected DbLog entry to $hash->{DbLog_splitFn}  = "km200_DbLog_splitFn";
# 1.17    10.11.2014 Sailor km200_Define Password logging deleted. Too dangerous as soon a user posts its log seeking for help since gateway password cannot be changed
# 1.17    10.11.2014 Sailor km200_Define Adding $hash->{DELAYDYNVAL} and $hash->{DELAYSTATVAL} to delay start of timer
# 1.17    10.11.2014 Sailor km200_Attr Adding $hash->{DELAYDYNVAL} and $hash->{DELAYSTATVAL} to delay start of timer
# 1.17    10.11.2014 Sailor km200_PostSingleService Error handling
# 1.17    10.11.2014 Sailor km200_GetSingleService Error handling
# 1.17    10.11.2014 Sailor km200_Define Added additional STATE information
# 1.17    10.11.2014 Sailor km200_GetDynService Added additional STATE information
# 1.17    10.11.2014 Sailor km200_GetStatService Added additional STATE information

Mit der Bitte um Testeritis.


Eine Bitte an alle: Bitte um kurze Antwort auf die Fragen unten um Hardware-Probleme einzugrenzen:

a) Welches KM Modul (Beispiel: KM200 / KM50)
b) Welche Heizungssteuerung angeschlossen (Beispiel: RC300, RC30, etc.)
c) Welche Heizung (Beispiel: GB172, GB162, etc.)
d) Welcher fhem-Host (Beispiel: Raspberry Pi)
e) Irgendwelche fhem Abstuerze? (Bitte mit Fehlermeldung)


Danke
  Gruss
      Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 11 November 2014, 19:43:06
a) Welches KM Modul (Beispiel: KM200 / KM50)
KM200
b) Welche Heizungssteuerung angeschlossen (Beispiel: RC300, RC30, etc.)
RC300
c) Welche Heizung (Beispiel: GB172, GB162, etc.)
SB 105
d) Welcher fhem-Host (Beispiel: Raspberry Pi)
RaspberryPi
e) Irgendwelche fhem Abstuerze? (Bitte mit Fehlermeldung)
Seit längerem keinen mehr.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 11 November 2014, 20:13:41
Guten Abend,

a) Welches KM Modul (Beispiel: KM200 / KM50)
KM 200
b) Welche Heizungssteuerung angeschlossen (Beispiel: RC300, RC30, etc.)
RC30
c) Welche Heizung (Beispiel: GB172, GB162, etc.)
GB142
d) Welcher fhem-Host (Beispiel: Raspberry Pi)
Intel-Nuc
e) Irgendwelche fhem Abstuerze? (Bitte mit Fehlermeldung)

Nur die folgenden Meldungen in der syslog bis zur Einspielung der 1.17, ....... Leider auch bei der aktuellen Version vorhanden.....!  :(

Nov 11 16:38:00 Intel-NUC kernel: [73338.005246] init: fhem main process ended, respawning
Nov 11 16:38:09 Intel-NUC kernel: [73347.753257] init: fhem main process (9221) terminated with status 255

Grüße NewBee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 12 November 2014, 07:27:15
So, Version 1.17 kommt lediglich mit Verbesserungen fuer meine Fehlersuche raus:



a) Welches KM Modul (Beispiel: KM200 / KM50)
b) Welche Heizungssteuerung angeschlossen (Beispiel: RC300, RC30, etc.)
c) Welche Heizung (Beispiel: GB172, GB162, etc.)
d) Welcher fhem-Host (Beispiel: Raspberry Pi)
e) Irgendwelche fhem Abstuerze? (Bitte mit Fehlermeldung)



a: KM200
b: RC35
c: GB162
d: Raspberry
e:
Fehlermeldung kann ich nicht liefern... das wird in der letzten Zeile in der SSH Session angezeigt, kurz vor dem "stop" von fhem:
The following Service can be read                 : /heatSources/powerSetpoint
The following Service can be read                 : /heatSources/returnTemperature
The following Service can be read                 : /heatSources/systemPressure
km200_ParseHttpResponseInit ERROR: connect to http://192.168.178.30:80 timed out
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1196.

Gestern mit der alten Version, in der ich das timeout, wie du empfohlen hattest auf 10 angepasst hatte. Lief es schon weiter,
allerdings blieb dann FHEM mit folgenden letzten Worten stehen:
/heatSources/flameCurrent
/heatSources/flameStatus
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1257

Edit:
Nachdem ich den timeout auf 10 in der besagten routine erhöht habe, stürzt fhem nicht ab und ich bekomme alle readings übermittelt...
Jetzt muß ich es nur noch schaffen, die readings irgendwie schön auf eine separate FHEM Seite zu bringen, und dann zum Beispiel auch Werte anzupassen und zurückzuschreiben an die Heizung... Hm, das werde ich wohl nicht schaffen... :(
Schön wäre ja einfach auch schon bestimmte Werte einfach Frauenkompatibel auf der FHEM Oberfläche anzuzeigen...
Vielleicht hat ja einer der anwesenden sowas schon irgendwie umgesetzt?


Edit2:

Also nun ist mir fhem wieder abgestürzt. In der SSH Konsole passiert folgendes, nachdem ich fhem wieder gestartet habe.

The following Service can be read and is writeable: /gateway/DateTime
The following Service can be read and is writeable: /gateway/instAccess
The following Service can be read                 : /gateway/uuid
The following Service can be read                 : /gateway/versionFirmware
The following Service can be read                 : /gateway/versionHardware
The following Service can be read and is writeable: /heatingCircuits/hc1/activeSwitchProgram
The following Service CANNOT be read              : /heatingCircuits/hc1/actualSupplyTemperature
The following Service CANNOT be read              : /heatingCircuits/hc1/controlType
The following Service CANNOT be read              : /heatingCircuits/hc1/currentOpModeInfo
The following Service CANNOT be read              : /heatingCircuits/hc1/currentRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc1/designTemp
The following Service CANNOT be read              : /heatingCircuits/hc1/fastHeatupFactor
The following Service CANNOT be read              : /heatingCircuits/hc1/heatCurveMax
The following Service CANNOT be read              : /heatingCircuits/hc1/heatCurveMin
The following Service CANNOT be read              : /heatingCircuits/hc1/manualRoomSetpoint
The following Service can be read and is writeable: /heatingCircuits/hc1/operationMode
The following Service CANNOT be read              : /heatingCircuits/hc1/pumpModulation
The following Service CANNOT be read              : /heatingCircuits/hc1/roomInfluence
The following Service can be read                 : /heatingCircuits/hc1/roomtemperature
The following Service CANNOT be read              : /heatingCircuits/hc1/roomTempOffset
The following Service CANNOT be read              : /heatingCircuits/hc1/setpointOptimization
The following Service CANNOT be read              : /heatingCircuits/hc1/solarInfluence
The following Service can be read                 : /heatingCircuits/hc1/status
The following Service CANNOT be read              : /heatingCircuits/hc1/suWiSwitchMode
The following Service CANNOT be read              : /heatingCircuits/hc1/suWiThreshold
The following Service can be read and is writeable: /heatingCircuits/hc1/temperatureRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc1/temporaryRoomSetpoint
The following Service can be read and is writeable: /heatingCircuits/hc2/activeSwitchProgram
The following Service CANNOT be read              : /heatingCircuits/hc2/actualSupplyTemperature
The following Service CANNOT be read              : /heatingCircuits/hc2/controlType
The following Service CANNOT be read              : /heatingCircuits/hc2/currentOpModeInfo
The following Service CANNOT be read              : /heatingCircuits/hc2/currentRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc2/designTemp
The following Service CANNOT be read              : /heatingCircuits/hc2/fastHeatupFactor
The following Service CANNOT be read              : /heatingCircuits/hc2/heatCurveMax
The following Service CANNOT be read              : /heatingCircuits/hc2/heatCurveMin
The following Service CANNOT be read              : /heatingCircuits/hc2/manualRoomSetpoint
The following Service can be read and is writeable: /heatingCircuits/hc2/operationMode
The following Service can be read                 : /heatingCircuits/hc2/pumpModulation
The following Service CANNOT be read              : /heatingCircuits/hc2/roomInfluence
The following Service can be read                 : /heatingCircuits/hc2/roomtemperature
The following Service CANNOT be read              : /heatingCircuits/hc2/roomTempOffset
The following Service CANNOT be read              : /heatingCircuits/hc2/setpointOptimization
The following Service CANNOT be read              : /heatingCircuits/hc2/solarInfluence
The following Service can be read                 : /heatingCircuits/hc2/status
The following Service CANNOT be read              : /heatingCircuits/hc2/suWiSwitchMode
The following Service CANNOT be read              : /heatingCircuits/hc2/suWiThreshold
The following Service can be read and is writeable: /heatingCircuits/hc2/temperatureRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc2/temporaryRoomSetpoint
The following Service can be read                 : /heatSources/actualCHPower
The following Service can be read                 : /heatSources/actualDHWPower
The following Service can be read                 : /heatSources/actualPower
The following Service CANNOT be read              : /heatSources/actualsupplytemperature
The following Service CANNOT be read              : /heatSources/ChimneySweeper
The following Service can be read                 : /heatSources/CHpumpModulation
The following Service can be read                 : /heatSources/flameCurrent
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1089

Tja und dann war fhem wieder weg....
Die Frage nun: Wie bekomme ich es wieder zum laufen, ohne Absturz...? Immer nachdem start hängt es gleiche wieder an besagter Stelle... :( Schade das man die km200 device nicht einfach auf "Attribut disable" setzen kann... Der kurz läuft fhem ja...

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 12 November 2014, 08:26:19
Schön wäre ja einfach auch schon bestimmte Werte einfach Frauenkompatibel auf der FHEM Oberfläche anzuzeigen...

Heizungssteuerung mit WAF... Tss, Ihr habt Wünsche
Jedenfalls, das mache ich nicht zu meiner Baustelle!  ;D

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 12 November 2014, 08:27:50
Nur die folgenden Meldungen in der syslog bis zur Einspielung der 1.17, ....... Leider auch bei der aktuellen Version vorhanden.....!  :(

Nov 11 16:38:00 Intel-NUC kernel: [73338.005246] init: fhem main process ended, respawning
Nov 11 16:38:09 Intel-NUC kernel: [73347.753257] init: fhem main process (9221) terminated with status 255

Hallo Newbee

bleibt diese Fehlermeldung aus, wenn Du das km200 aus der fhem.cfg schmeisst?

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 12 November 2014, 08:37:28
Nur die folgenden Meldungen in der syslog bis zur Einspielung der 1.17, ....... Leider auch bei der aktuellen Version vorhanden.....!  :(

Nov 11 16:38:00 Intel-NUC kernel: [73338.005246] init: fhem main process ended, respawning
Nov 11 16:38:09 Intel-NUC kernel: [73347.753257] init: fhem main process (9221) terminated with status 255

Na das ist ja mal ganz was Neues.

Goggle spuckt hinsichtlich
Zitat
terminated with status 255
folgende Links aus:

http://community.linuxmint.com/tutorial/view/1597 (http://community.linuxmint.com/tutorial/view/1597)
http://www.unixmen.com/fix-process-terminated-status-255-codeblocks/ (http://www.unixmen.com/fix-process-terminated-status-255-codeblocks/)

Die Anleitungen sagen fast alle man muss xterm installieren:
sudo apt-get install xterm
Versuchs mal damit

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 12 November 2014, 08:43:18
AUFRUF zur Mitarbeit am fhem WIKI für das km200 - Modul

Wer hat Lust das fhem-WIKI namens KM200 zu schreiben?

Hintergrund, ich komme neben Job, Familie und Modulprogrammieren nicht dazu auch das noch zu machen.

Dass es jetzt an der Zeit ist ein eben solches zu erstellen, sieht man beispielsweise an den Nachfragen welche Pakete noch zu installieren sind.

Hat Jemand Interesse und Motivation?

Es ist definitiv nicht schwer!

Ich werde selbstverständlich jeden Support an Daten, Korrekturlesen etc. bereitstellen.

Danke für die vielen Meldungen!  ;)

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 12 November 2014, 08:49:03
Heizungssteuerung mit WAF... Tss, Ihr habt Wünsche
Jedenfalls, das mache ich nicht zu meiner Baustelle!  ;D

Gruß
   Sailor

Hallo Sailor,

nein das hab ich auch nicht gesagt ;-). Ich finde es schon total super wie Du /Ihr das Modul hier zusammen programmiert habt.

Ich versuche es gerad mit Hilfe von Readingsgroup zumindest in ein einigermaßen lesbares Format auf eine Seite in FHEM zu packen.
Wenn ich noch irgendwie einen Plot von Daten hinbekommen würde ... Das wäre ja auch mal was ....
Aber dafür bin ich wohl zu blöde...


Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 12 November 2014, 09:30:31
Wenn ich noch irgendwie einen Plot von Daten hinbekommen würde ... Das wäre ja auch mal was ....

Hallo Jens,

das mit den Plots ist super einfach, wenn du die Charting Frontend benutzt. Hab ich auch hinbekommen und bin auch Neuling, was Fhem betrifft.

Alles Nötige steht in diesem Thread: http://forum.fhem.de/index.php/topic,10439.0.html (http://forum.fhem.de/index.php/topic,10439.0.html)

Vorher musst du nur die Readings in eine Datei / Datenbank schreiben. Wenn du das auch noch benötigst, kann ich dir den Code heute abend nachliefern.

Viele Grüße
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 12 November 2014, 10:02:26
Hallo Jens,

das mit den Plots ist super einfach, wenn du die Charting Frontend benutzt. Hab ich auch hinbekommen und bin auch Neuling, was Fhem betrifft.

Alles Nötige steht in diesem Thread: http://forum.fhem.de/index.php/topic,10439.0.html (http://forum.fhem.de/index.php/topic,10439.0.html)

Vorher musst du nur die Readings in eine Datei / Datenbank schreiben. Wenn du das auch noch benötigst, kann ich dir den Code heute abend nachliefern.

Viele Grüße
Fred

Hallo Fred,
das hört sich doch prima an, den Thread muß ich mir mal in Ruhe ansehen.... Ich fürchte allerdings, für diese Fronten ist mein Raspberry von der Leistung her zu schwach... 
Meine Readingsgroup sieht noch  nicht so toll aus... Ich bekomme es nicht hin die Werte untereinander zu schreiben und mit Text davor ("Außentemperatur", "Kollektortemp")... Hm... Ich verstehe da leider die Anleitung zu readingsGroup auch nicht wirklich....
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 12 November 2014, 16:17:10
a) Welches KM Modul (Beispiel: KM200 / KM50)
KM200
b) Welche Heizungssteuerung angeschlossen (Beispiel: RC300, RC30, etc.)
RC35
c) Welche Heizung (Beispiel: GB172, GB162, etc.)
GB162-15
d) Welcher fhem-Host (Beispiel: Raspberry Pi)
Intel NUC
e) Irgendwelche fhem Abstuerze? (Bitte mit Fehlermeldung)
noch nicht getestet, benutze aktuell modifizierten Vorgänger
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 12 November 2014, 19:01:22
Hallo,

bei mir stürzt weiterhin fhem ab, wenn FlameStatus nicht auskommentiert ist.

Fehler:
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1089

KM200, RC35 an GB172
Fhem auf dem Raspberry

Gruß Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 12 November 2014, 19:09:34
Hallo,

bei mir stürzt weiterhin fhem ab, wenn FlameStatus nicht auskommentiert ist.

Fehler:
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1089

KM200, RC35 an GB172
Fhem auf dem Raspberry

Gruß Peter

Äh das ist ja fast wie bei mir, und die Zeile ist auch die Selbe...

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 12 November 2014, 21:59:29

AUFRUF zur Mitarbeit am fhem WIKI für das km200 - Modul

Wer hat Lust das fhem-WIKI namens KM200 zu schreiben?

Hintergrund, ich komme neben Job, Familie und Modulprogrammieren nicht dazu auch das noch zu machen.

Dass es jetzt an der Zeit ist ein eben solches zu erstellen, sieht man beispielsweise an den Nachfragen welche Pakete noch zu installieren sind.

Hat Jemand Interesse und Motivation?

Es ist definitiv nicht schwer!

Ich werde selbstverständlich jeden Support an Daten, Korrekturlesen etc. bereitstellen.

Danke für die vielen Meldungen!  ;)

Gruß
   Sailor

Also ich habe keine Erfahrung mit Wikis wurde aber zumindest mal kurz zusammenschreiben können was man braucht um das Modul zu installieren
Und wie die Definition in fhem aussehen sollte

Gruß
Jens


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 12 November 2014, 22:19:38
AUFRUF zur Mitarbeit am fhem WIKI für das km200 - Modul

Wer hat Lust das fhem-WIKI namens KM200 zu schreiben?

Hintergrund, ich komme neben Job, Familie und Modulprogrammieren nicht dazu auch das noch zu machen.

Dass es jetzt an der Zeit ist ein eben solches zu erstellen, sieht man beispielsweise an den Nachfragen welche Pakete noch zu installieren sind.

Hat Jemand Interesse und Motivation?

Es ist definitiv nicht schwer!

Ich werde selbstverständlich jeden Support an Daten, Korrekturlesen etc. bereitstellen.

Danke für die vielen Meldungen!  ;)

Gruß
   Sailor

Also ich habe keine Erfahrung mit Wikis, würde aber zumindest mal kurz zusammenschreiben können, was man braucht um das Modul zu installieren.
Und wie die Definition in fhem aussehen sollte

Gruß
Jens


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 13 November 2014, 18:57:15
Na das ist ja mal ganz was Neues.

Goggle spuckt hinsichtlich  folgende Links aus:

http://community.linuxmint.com/tutorial/view/1597 (http://community.linuxmint.com/tutorial/view/1597)
http://www.unixmen.com/fix-process-terminated-status-255-codeblocks/ (http://www.unixmen.com/fix-process-terminated-status-255-codeblocks/)

Die Anleitungen sagen fast alle man muss xterm installieren:
sudo apt-get install xterm
Versuchs mal damit

Gruß
    Sailor

Hallo Sailor,

leider hat es nichts gebracht! Ich habe aber nicht den Verdacht das damit die Funktion des Severs sowie FHEM beeinflusst ist.
Habe eine andere Frage: Im Log auf Verbose 3 zeigt er mir die Werte aus dem Model an die "Not available" sind.
Kann man die über eine Routine im Modul ausblenden, damit die nicht nach jeder abfrage in Log auftauchen.

Danke vorab

Gruß Newbee

Würde mich an der Erstellung des Wiki beteiligen!
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 14 November 2014, 10:34:40
Habe eine andere Frage: Im Log auf Verbose 3 zeigt er mir die Werte aus dem Model an die "Not available" sind.
Kann man die über eine Routine im Modul ausblenden, damit die nicht nach jeder abfrage in Log auftauchen.

Hallo NewBee

habe ich mit Version 1.19 geändert. Kommt demnächst raus.

Würde mich an der Erstellung des Wiki beteiligen!

Dann besorg Dir doch schon mal einen WIKI-Zugang und schau dir mal den Beitrag für http://www.fhemwiki.de/wiki/HMLAN_Konfigurator (http://www.fhemwiki.de/wiki/HMLAN_Konfigurator) an.

Eine gute Struktur aus Allgemeine Info zu Buderus, verfügbare KM-Module, verfügbare RC-Module, bekannte Services, Einleitung, Vorbereitung, Alternativen, Bekannte Probleme etc.

Jens_B hat mir diesbezueglich auch schon einen Vorschlag gemacht. Vielleicht setzt Ihr Euch zusammen und schreibt es zusammen direkt in Wiki.

Gruss
     Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 14 November 2014, 21:16:33
Version 1.19

Kleine Aenderungen am Log-Level
POD-Description updated.

Gruss
    Sailor

PS: Bin am WE wech...
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 15 November 2014, 07:50:33
Hallo, habe schon länger nicht mehr getestet. Aber jetzt alle Versionen mal nacheinander ausprobiert.

Leider ist die letzte Version, bei der Fhem nicht ständig neustartet die Version vom 28.10 (1.10).
-> Edit: habe alles andere aus meiner Fhem.cfg entfernt. Jetzt läuft auch die aktuelle Version bei mir <-

Meine Settings:
a) Welches KM Modul (Beispiel: KM200 / KM50)
KM50
b) Welche Heizungssteuerung angeschlossen (Beispiel: RC300, RC30, etc.)
RC35
c) Welche Heizung (Beispiel: GB172, GB162, etc.)
GB-162-15
d) Welcher fhem-Host (Beispiel: Raspberry Pi)
Hardware mit Ubuntu - Kernel 3.13
e) Irgendwelche fhem Abstuerze? (Bitte mit Fehlermeldung)
Nachdem ich alles andere aus meiner Fhem.cfg gelöscht habe, keine mehr.  :o
Juchuhhh.

Also: Daumen Hoch...

Viele Grüße
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 15 November 2014, 15:25:32
Hallo Fred
Kannst du Bitte mal die fhem.cfg Zeile für Zeile wieder herstellen bis es zu den Abstürzen kommt?
Und wenn du die Zeile gefunden hat, dann nehme mal das km200 Modul raus. Dann wissen wir ob es ein Kompatibilitätsproblem mit einem anderen Modul gibt. Und auch mit welchem.

Danke!

Sailor


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 16 November 2014, 11:54:01
Hallo KM50/200 Gemeinde,

mein LOG-File gibt mir den Anschein als startet fhem so ca. alle 10 sec. neu.
Ist das bei Euch auch so? Die stat und dyn abfrage Intervalle stehen auf 1 Tag und 5 min.

Irgend etwas im Modul veranlasst wohl eine Neustart.

2014.11.15 09:27:03 1: Including fhem.cfg
2014.11.15 09:27:03 3: telnetPort: port 7072 opened
2014.11.15 09:27:03 3: WEB: port 8083 opened
2014.11.15 09:27:03 3: WEBphone: port 8084 opened
2014.11.15 09:27:03 3: WEBtablet: port 8085 opened
2014.11.15 09:27:03 2: eventTypes: loaded 80 events from ./log/eventTypes.txt
2014.11.15 09:27:03 1: Including start.cfg
2014.11.15 09:27:03 1: Including km2.cfg
2014.11.15 09:27:03 1: Including vie.cfg
2014.11.15 09:27:03 1: Including ./log/fhem.save
2014.11.15 09:27:03 1: usb create starting
2014.11.15 09:27:03 1: usb create end
2014.11.15 09:27:03 2: SecurityCheck:  telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2014.11.15 09:27:03 0: Server started with 13 defined entities (version $Id: fhem.pl 6913 2014-11-08 10:32:44Z rudolfkoenig $, os linux, user fhem, pid 6231)
2014.11.15 09:27:12 1: Including fhem.cfg
2014.11.15 09:27:12 3: telnetPort: port 7072 opened
2014.11.15 09:27:12 3: WEB: port 8083 opened
2014.11.15 09:27:12 3: WEBphone: port 8084 opened
2014.11.15 09:27:12 3: WEBtablet: port 8085 opened
2014.11.15 09:27:12 2: eventTypes: loaded 80 events from ./log/eventTypes.txt
2014.11.15 09:27:12 1: Including start.cfg
2014.11.15 09:27:12 1: Including km2.cfg
2014.11.15 09:27:13 1: Including vie.cfg
2014.11.15 09:27:13 1: Including ./log/fhem.save
2014.11.15 09:27:13 1: usb create starting
2014.11.15 09:27:13 1: usb create end
2014.11.15 09:27:13 2: SecurityCheck:  telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2014.11.15 09:27:13 0: Server started with 13 defined entities (version $Id: fhem.pl 6913 2014-11-08 10:32:44Z rudolfkoenig $, os linux, user fhem, pid 6237)

Sobald der Wiki-Account freigeschaltet ist lege ich dort mal los und schreibe alles zusammen. Kurz Info gibt es hier im Forum wenn ich angefangen habe.

Gruß NewBee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 16 November 2014, 20:40:08
Hallo KM50/200 Gemeinde,

mein LOG-File gibt mir den Anschein als startet fhem so ca. alle 10 sec. neu.
Ist das bei Euch auch so?

Bei mir schon. Ich dachte zwar, das wäre nicht so, aber heute morgen ging der Brenner an bei der WW Bereitung und solange startet Fhem immer wieder neu.

Hier ein Auszug aus meinem Log, kurz bevor der Brenner angeht. (Loglevel 5). Man sieht an der "Including Fhem.cfg" den start von Fhem.

2014.11.16 06:01:53 5: KM50 : Parsing response of dynamic service received for: /heatSources/actualPower
2014.11.16 06:01:53 5: KM50 : km200 - decryptData1 - decipher_len           : 115
2014.11.16 06:01:53 5: KM50 : km200 - decryptData1 - deciphertext           : {"id":"/heatSources/actualPower","type":"floatValue","writeable":0,"recordable":1,"value":55.0,"unitOfMeas
ure":"%"}
2014.11.16 06:01:53 4: KM50 : km200_parseHttpResponseDyn: value found for  : /heatSources/actualPower
2014.11.16 06:01:53 5: KM50 : km200_parseHttpResponseDyn: id               : /heatSources/actualPower
2014.11.16 06:01:53 5: KM50 : km200_parseHttpResponseDyn: value            : 55
2014.11.16 06:01:53 5: Triggering KM50 (1 changes)
2014.11.16 06:01:53 5: Notify loop for KM50 /heatSources/actualPower: 55
2014.11.16 06:01:53 4: eventTypes: km200 KM50 /heatSources/actualPower: 55 -> /heatSources/actualPower: .*
2014.11.16 06:01:53 4: HttpUtils url=http://192.168.97.117/heatSources/CHpumpModulation
2014.11.16 06:01:53 4: http://192.168.97.117/heatSources/CHpumpModulation: HTTP response code 200
2014.11.16 06:01:53 4: HttpUtils http://192.168.97.117/heatSources/CHpumpModulation: Got data, length: 218
2014.11.16 06:01:53 5: KM50 : Parsing response of dynamic service received for: /heatSources/CHpumpModulation
2014.11.16 06:01:53 5: KM50 : km200 - decryptData1 - decipher_len           : 153
2014.11.16 06:01:53 5: KM50 : km200 - decryptData1 - deciphertext           : {"id":"/heatSources/CHpumpModulation","type":"floatValue","writeable":0,"recordable":1,"value":100.0,"unitOfMeasure":"%","minValue":0.0,"maxValue":100.0}
2014.11.16 06:01:53 4: KM50 : km200_parseHttpResponseDyn: value found for  : /heatSources/CHpumpModulation
2014.11.16 06:01:53 5: KM50 : km200_parseHttpResponseDyn: id               : /heatSources/CHpumpModulation
2014.11.16 06:01:53 5: KM50 : km200_parseHttpResponseDyn: value            : 100
2014.11.16 06:01:53 5: Triggering KM50 (1 changes)
2014.11.16 06:01:53 5: Notify loop for KM50 /heatSources/CHpumpModulation: 100
2014.11.16 06:01:53 4: eventTypes: km200 KM50 /heatSources/CHpumpModulation: 100 -> /heatSources/CHpumpModulation: .*
2014.11.16 06:01:53 4: HttpUtils url=http://192.168.97.117/heatSources/flameCurrent
2014.11.16 06:01:53 4: http://192.168.97.117/heatSources/flameCurrent: HTTP response code 200
2014.11.16 06:01:53 4: HttpUtils http://192.168.97.117/heatSources/flameCurrent: Got data, length: 174
2014.11.16 06:01:53 5: KM50 : Parsing response of dynamic service received for: /heatSources/flameCurrent
2014.11.16 06:01:53 5: KM50 : km200 - decryptData1 - decipher_len           : 117
2014.11.16 06:01:53 5: KM50 : km200 - decryptData1 - deciphertext           : {"id":"/heatSources/flameCurrent","type":"floatValue","writeable":0,"recordable":1,"value":26.3,"unitOfMeasure":"<B5>A"}
2014.11.16 06:01:53 4: KM50 : km200_parseHttpResponseDyn: value found for  : /heatSources/flameCurrent
2014.11.16 06:01:53 5: KM50 : km200_parseHttpResponseDyn: id               : /heatSources/flameCurrent
2014.11.16 06:01:53 5: KM50 : km200_parseHttpResponseDyn: value            : 26.3
2014.11.16 06:01:53 5: Triggering KM50 (1 changes)
2014.11.16 06:01:53 5: Notify loop for KM50 /heatSources/flameCurrent: 26.3
2014.11.16 06:01:53 4: eventTypes: km200 KM50 /heatSources/flameCurrent: 26.3 -> /heatSources/flameCurrent: .*
2014.11.16 06:01:53 4: HttpUtils url=http://192.168.97.117/heatSources/flameStatus
2014.11.16 06:01:53 4: http://192.168.97.117/heatSources/flameStatus: HTTP response code 200
2014.11.16 06:01:53 4: HttpUtils http://192.168.97.117/heatSources/flameStatus: Got data, length: 174
2014.11.16 06:01:53 5: KM50 : Parsing response of dynamic service received for: /heatSources/flameStatus
2014.11.16 06:01:53 5: KM50 : km200 - decryptData1 - decipher_len           : 127
2014.11.16 06:01:53 5: KM50 : km200 - decryptData1 - deciphertext           : {"id":"/heatSources/flameStatus","type":"stringValue","writeable":0,"recordable":1,"value":"!^F<C4>#","allowedValues":["on","off"]}
2014.11.16 06:01:54 5: Initializing Type Library:
2014.11.16 06:01:54 1: Including fhem.cfg

Einen Grund sehe ich im Log leider nicht und meine Fhem.cfg ist sonst leer.
Nach der WW Bereitung hat meine Heizung nichts mehr zu tun. Der Brenner geht aus und Fhem läuft weiter.

Gruß
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 17 November 2014, 08:08:55
#       "/heatSources/CHpumpModulation",
#       "/heatSources/flameCurrent",
#       "/heatSources/flameStatus",
#       "/heatSources/gasAirPressure",

Bei mir funktioniert das Modul nur wenn ich diese 4 Zeilen auskommentiere. Ansonsten stürzt fhem ab/bleibt stehen die Ausgabe auf der Konsole zeigt mir dann immer folgendes:
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1089
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 17 November 2014, 09:16:55
#       "/heatSources/CHpumpModulation",
#       "/heatSources/flameCurrent",
#       "/heatSources/flameStatus",
#       "/heatSources/gasAirPressure",

Bei mir funktioniert das Modul nur wenn ich diese 4 Zeilen auskommentiere. Ansonsten stürzt fhem ab/bleibt stehen die Ausgabe auf der Konsole zeigt mir dann immer folgendes:
invalid character encountered while parsing JSON string, at character offset 93 (before "\x{6}\x{c3}\x{84}#",...") at ./FHEM/73_km200.pm line 1089

Das hat was mit der UTF decodierung zu tun.

Dieses Problem, so dachte ich, hätte ich mit der UTF Encodierung beseitigt.

Ich muss mich nochmal in JSON_DECODE und UTF_ENCODE einlesen...

Nachtrag: Jens, führe mal folgendes nur zur Sicherheit auf deinem RasPi aus

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo rpi-update
sudo apt-get clean
sudo shutdown -r now

Ich will nur sichergehen, dass wir die identische RasPi Basis haben.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 18 November 2014, 13:17:23
Hallo Sailor,

also git war aktuell, ansonsten firmware des raspi ist auch aktuell (3.12.32+ #721 PREEMPT Fri Nov 7 16:50:31 GMT 2014 armv6l)
er hat mit dem apt-get upgrade einige lib geupdatet.
Leider ist fhem gerad wieder abgestürzt, als ich die Auskommentierung wieder herausgenommen habe...

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 18 November 2014, 14:28:45
Leider ist fhem gerad wieder abgestürzt, als ich die Auskommentierung wieder herausgenommen habe...

Hallo Jens,

o.k., somit koennen wir eine unterschiedliche Version von Encode_utf8 ausschliessen.

Gruss
    Matthias
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 18 November 2014, 17:12:24
Hallo Matthias,
Auf jedenfall ist das Modul auch schon mit diesen kleine n Problemen super.
Allerdings kann ich mir noch nicht alle Werte schlüssig erklären.
Wo ist zum Beispiel die Vorlauftemperatur versteckt, und wo die rucklauftemperatur?

Gruß
Jens


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 November 2014, 09:55:35
Hallo Jens

Auf jedenfall ist das Modul auch schon mit diesen kleine n Problemen super.

Danke fuer die Blumen!

Allerdings kann ich mir noch nicht alle Werte schlüssig erklären.

Willkommen im Club. Wenn Bockmist bereitgestellt wird, kannich auch nur Bockmist auslesen.

Wo ist zum Beispiel die Vorlauftemperatur versteckt, und wo die rucklauftemperatur?

Das kommt auf die Heizungsanlage an. Unter Umstaenden ist die Heiyungsanlage so klein (GB62 und GB172 ohne SOLAR), dass die Ruecklauftemperatur gar nicht erfasst wird.
Eigentlich Schade, da sie mittels PumpModulation einen Hinweis auf die Heiyungswasserleistung gibt.

Auch die Vorlauftemperatur kommt auf das jeweilige Geraet an. Meine ist unter
"/heatSouces/actualsupplytemperature"
und
"/system/appliance/actualSupplyTemperature/"
und
"/system/sensors/temperatures/supply_t1"
gleichermaßen zu finden.

Sie kann bei dir aber ganz woanders sein.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 19 November 2014, 10:26:20
Hallo Matthias,

also ich habe eine GB162 15 mit Solar, und die Vorlauftemp (=Kesseltemp?) habe ich meine ich auch unter

/system/sensors/temperatures/supply_t1gefunden zu haben.

/heatSouces/actualsupplytemperature"
und
"/system/appliance/actualSupplyTemperature/"

das finde ich aktuell gar nicht in meinen readings.

aber eine
/system/sensors/temperatures/return
Das könnte eventuell die Rücklauftemp sein... Bin aber nicht sicher...

Ich habe mir jetzt eine readingsgroup erstellt, und auch schon ein plot für einige Werte....
Das macht sich schon ganz gut ;-)

Gruß
Jens

PS: Meine Frau meint ich spinne, wozu das Ganze gut ist ;-)... Sie braucht nur die Rollladen und die Gartenbeleuchtung automatisch steuern zu können ;-)



Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 November 2014, 10:44:16
die Vorlauftemp (=Kesseltemp?) habe ich meine ich auch unter
/system/sensors/temperatures/supply_t1gefunden zu haben.

Das ist doch schon mal was...
Was ist denn der gegenwaertige Wert?

/heatSouces/actualsupplytemperature"
und
"/system/appliance/actualSupplyTemperature/"
das finde ich aktuell gar nicht in meinen readings.

Das ist durchaus moeglich, dass das System diese Readings dem KM nicht bereitstellt
Darum proboiert das modul am Anfang ja auch alle services aus, ob da ueberhaupt was hinter steht.

/system/sensors/temperatures/returnDas könnte eventuell die Rücklauftemp sein... Bin aber nicht sicher...

Das ist sie. Allerdings hast du mit Solar merere Ruecklauftemperaturen. Die vom Solarkreis und die vom Kessel und die vom Heizkoerperkreis.
Sende doch nochmal ein Bildschirmauszug.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 November 2014, 11:14:38
#       "/heatSources/CHpumpModulation",
#       "/heatSources/flameCurrent",
#       "/heatSources/flameStatus",
#       "/heatSources/gasAirPressure",

Bei mir funktioniert das Modul nur wenn ich diese 4 Zeilen auskommentiere. Ansonsten stürzt fhem ab/bleibt stehen die Ausgabe auf

Hallo Jens,

oeffne mal das modul und fuege in der sub km200_ParseHttpResponseInit($) nach der Zeile

if ($decodedContent ne "")
{

folgenden Code ein:

### Print entries for debugging purposes
print("decodedcontent: $decodedContent\n");

my $encode_utf8-content = encode_utf8($decodedContent);
print("encode_utf8-content: $encode_utf8-content\n");

my $decode_utf8-content = decode_utf8($decodedContent);
print("decode_utf8-content: $decode_utf8-content\n");

my $encodeBRACKETutf8-content = encode('UTF-8', $decodedContent);
print("encodeBRACKETutf8-content: $encodeBRACKETutf8-content\n");

my $decodeBRACKETutf8-content = decode('UTF-8', $decodedContent);
print("decodeBRACKETutf8-content: $decodeBRACKETutf8-content\n");
### Print entries for debugging purposes

und dann lass mal NUR die 4 Absturzverursacher nacheinander durchlaufen und gebe mir die Konsolemeldungen wieder.


Aber bitte
sudo service fhem stop
sudo service fhem start

nicht vergessen, sonst kommt da nix...  ;)

Gruss Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 19 November 2014, 11:48:56

Allerdings kann ich mir noch nicht alle Werte schlüssig erklären.
Wo ist zum Beispiel die Vorlauftemperatur versteckt, und wo die rucklauftemperatur?


Hallo Jens,

dieser Link hier sollte weiterhelfen: http://www.ip-symcon.de/wiki/Buderus_KM200 (http://www.ip-symcon.de/wiki/Buderus_KM200)

Gruß
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 19 November 2014, 11:55:42
...Arg, gerad eben ist fhem wieder abgestürzt/stehengeblieben... Im Log steht was von:

2014.11.19 11:23:10 2: Heizung : ERROR: No proper Communication with Gatewayconnect to http://192.168.178.30:80 timed out

Und dann gibts irgendwelche Fehler vom Km200 Modul...
km200_ParseHttpResponseInit ERROR: connect to http://192.168.178.30:80 timed out
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1226.

das mit dem Einfügen ins KM200 Modul der Zeile versuche ich später mal... Wenn ich nicht im Büro bin.

Zitat
Sende doch nochmal ein Bildschirmauszug.

Äh, gerad hab ich das KM200 erstmal Außerbetrieb genommen, da mir sonst der fhem immer abschmiert...

Mom... So hier sind sie... Eben gerad hats funktioniert.
Irgendwas passiert anscheinend wenn das KM200 nicht antwortet, vielleicht kann es die Daten die vom fhem Modul angefordert nicht so schnell liefern?


Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 19 November 2014, 12:01:47
Hallo Jens,

dieser Link hier sollte weiterhelfen: http://www.ip-symcon.de/wiki/Buderus_KM200 (http://www.ip-symcon.de/wiki/Buderus_KM200)

Gruß
Fred

Ahja, das ist doch schon mal was :)
Danke
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 21 November 2014, 12:16:57
Hallo Jens,

oeffne mal das modul und fuege in der sub km200_ParseHttpResponseInit($) nach der Zeile

if ($decodedContent ne "")
{

folgenden Code ein:

### Print entries for debugging purposes
print("decodedcontent: $decodedContent\n");

my $encode_utf8-content = encode_utf8($decodedContent);
print("encode_utf8-content: $encode_utf8-content\n");

my $decode_utf8-content = decode_utf8($decodedContent);
print("decode_utf8-content: $decode_utf8-content\n");

my $encodeBRACKETutf8-content = encode('UTF-8', $decodedContent);
print("encodeBRACKETutf8-content: $encodeBRACKETutf8-content\n");

my $decodeBRACKETutf8-content = decode('UTF-8', $decodedContent);
print("decodeBRACKETutf8-content: $decodeBRACKETutf8-content\n");
### Print entries for debugging purposes

und dann lass mal NUR die 4 Absturzverursacher nacheinander durchlaufen und gebe mir die Konsolemeldungen wieder.


Aber bitte
sudo service fhem stop
sudo service fhem start

nicht vergessen, sonst kommt da nix...  ;)

Gruss Sailor

Hallo Matthias,

habe ich probiert, aber ich stell mich wohl zu doof an. Sobald ich das einfüge, bekomme ich von Fhem die Fehlermeldung
Error messages while initializing FHEM: configfile: Cannot load module km200 define Heizung first

(wobei "Heizung" mein KM200 device wäre).

gruß
Jens

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 25 November 2014, 15:45:29
Hallo zusammen

kurze Info:
Ich habe Dank Bodencrew einen Gepäckschaden und ín dessen Folge ein beschädigtes TFT Display.  :'(
Meine Weiterentwicklungen liegen daher erstmal auf Eis.

Ich melde mich wieder sobald mein Display repariert ist und weitergeht.

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 25 November 2014, 21:04:51
Hallo, auch von mir mal eine Rückmeldung.

Ich habe lediglich noch die Zeile "/heatSources/flameStatus", auskommentiert. Soweit läuft das Modul dann bei mir durch (mit und ohne Brenner an).
Hat eigentlich mal jemand Werte für die Zirkulationspumpe anzeigen können?
 
Mir reicht dass Modul so... Danke dafür...

Viele Grüße
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 26 November 2014, 10:12:13
Hallo Matthias,

Hallo zusammen

kurze Info:
Ich habe Dank Bodencrew einen Gepäckschaden und ín dessen Folge ein beschädigtes TFT Display.  :'(
Meine Weiterentwicklungen liegen daher erstmal auf Eis.

Ich melde mich wieder sobald mein Display repariert ist und weitergeht.

Gruß
   Sailor

Ohje, na ich hoffe das sonst nix weiter passiert ist, und das der Schaden problemlos ersetzt wird.

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 26 November 2014, 14:49:18
Das hoffe ich allerdings auch. Display soll 85€ kosten. Durchschnittliche Bearbeitungszeit bei Germania laut Hotline 8 Wochen!!!


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 27 November 2014, 12:26:16
Es tut sich im Augenblick noch ein neues Problem auf... Da die readings des Moduls alle ein / enthalten, funktioniert das Ganze anscheinend in Verbindung mit ReadingsGroup nicht mehr....

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 29 November 2014, 12:52:38
..  Ist behoben, readingsgroup hat André angepasst :)


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 29 November 2014, 18:24:31
Hallo zusammen,

kann jemand einen Codeschnipsel solch einer ReadingsGroup posten?
Ich bekomme es nicht hin  >:(

Danke und Grüße
Rainer

P.S.
Meine Settings:
a) Welches KM Modul (Beispiel: KM200 / KM50)
MC100
b) Welche Heizungssteuerung angeschlossen (Beispiel: RC300, RC30, etc.)
RC300
c) Welche Heizung (Beispiel: GB172, GB162, etc.)
GB-212-15
d) Welcher fhem-Host (Beispiel: Raspberry Pi)
Synology DS212j
e) Irgendwelche fhem Abstuerze? (Bitte mit Fehlermeldung)
Ich kann FHEM nur ohne das Modul starten. Nach dem Start kann ich alles per define implementieren, läuft dann problemlos.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 30 November 2014, 10:28:46
Zitat
kann jemand einen Codeschnipsel solch einer ReadingsGroup posten?
Ich bekomme es nicht hin  >:(

Hast Du Dich schon mal mit dem Readinggroup WIKI befaßt? Dort stehen einige gute Beispiele drin, ich hab auch nur das Beispiel "wetter" angepasst.
define Wetter readingsGroup WetterXXX:<%temp_temperature>,<Temperatur>,temperature WetterXXX:<%weather_humidity>,<Luftfeuchte>,humidity WetterXXX:<%weather_baraometric_pressure>,<Luftdruck>,pressure
Statt Wetterxxx hab ich das Km200 Modul Genommen (bei mir als Heizung definiert), und dann die entsprechenden Readings welche ich haben wollte genommen.
Das hat jetzt allerdings nichts mehr mit dem KM200 Modul zu tun ;-) ...

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 30 November 2014, 11:39:09
Hallo zusammen
hat sich schon mal jemand das Timeout Problem angesehen?

2014.11.30 10:11:35 5: myKM250 : km250_ParseHttpResponseInit: Try to parse     : /gateway/DateTime
2014.11.30 10:11:35 2: myKM250 : ERROR: No proper Communication with Gatewayconnect to http://192.168.0.48:80 timed out
km250_ParseHttpResponseInit ERROR: connect to http://192.168.0.48:80 timed out

und dem damit verbundenen Absturz von FHEM

Zitat
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km250.pm line 1243.

Gibt es eine Möglichkeit den Fehler abzufangen damit FHEM nicht abstürzt ?

Nicht wundern bei mir heißt das Modul km250, da mein früheres KM200 Modul (mit PHP Abfrage) noch läuft.

Ansonsten würde das Modul gut funktionieren, nur der    #"/heatSources/flameStatus" macht bei mir auch noch Probleme. Sehr gute Arbeit von Euch.

Ist die Version 1.19 die aktuellste?

lg
Stefan

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 30 November 2014, 12:08:41
Zitat
hat sich schon mal jemand das Timeout Problem angesehen?

Das Problem habe ich auch immer wieder, dann stürzt FHEM ab.. Ich habe im Modul den Timeout auf 10 gesetzt, aber das hat nicht wirklich geholfen.

  $hash->{POLLINGTIMEOUT}                   = 10;

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 November 2014, 21:32:32
Ein herzerfrischendes MoinMoin vom Deich

Anbei die Version 1.20 mit der Moeglichkeit die Konsolemessages mittels Attribut ein- bzw. auszuschalten.

Hierzu bitte das Attribut wie folgt setzen:
attr myKm200 ConsoleMessage 1
Wer die Initialisierung der Services sehen moechte muss allerdings im 73_km200.pm die Zeile 483 auf true setzen:
$hash->{CONSOLEMESSAGE} = true;

Wer Abstuerze mit bestimmten Services hat, den moechte ich um folgendes Bitten:
a) Bitte die neue Version laden
b) Bitte das Kommentarsymbol am Anfang der Zeilen 1128 bis 1142 entfernen.
c) In der Konsole den Befehl sudo service fhem stop
d) In der Konsole den Befehl sudo service fhem start
e) Bitte den Konsolenausdruck bis zum Absturz kopieren und im Forum veroeffentlichen...

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 01 Dezember 2014, 09:12:47
Hallo Sailor,

ich habe das Ganze mal als Datei angehängt.

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 01 Dezember 2014, 15:36:11
Hallo Sailor,

ich habe das Ganze mal als Datei angehängt.

Gruß
Jens

Hallo Jens,

OK, anscheinend liegt der fehlerhafte String vor, sobald der FlameStatus auf "ON" geht.

Daher mal das Modul mit einer haerteren Gangart:

a) Bitte diese spezielle nur fuer Dich Version laden
b) In der Konsole den Befehl sudo service fhem stop
c) In der Konsole den Befehl sudo service fhem start
d) Bitte den Konsolenausdruck bis zum Absturz kopieren und im Forum veroeffentlichen...

Achtung an alle anderen: Dies ist eine Debug-Test-Version nur fuer jene, die Abstuerze mit dem Service "FlameStatus" haben.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 01 Dezember 2014, 16:15:40
Halo Matthias,

ich habe die Textdatei mal angehängt, was mit dieser Version passiert.

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 02 Dezember 2014, 10:25:13
Hallo zusammen,

ich habe auch das Problem mit dem PollingTimeout:

km200_ParseHttpResponseInit ERROR: read from http://172.18.1.112:80 timed out
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1251.

Timeout vergrößern auf 10 hat bei mir auch nichts gebracht.

Nun ist mir aufgefallen, das das Problem NICHT auftritt, sobald ich dem KM200 den Internet - Zugang sperre.
Quasselt das Teil oft und gerne mit dem Bosch-Server und lässt nur eine Kommunikation zu ?

Gruß
Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 02 Dezember 2014, 16:53:41
Halo Matthias,

ich habe die Textdatei mal angehängt, was mit dieser Version passiert.

Gruß
Jens


Hallo Jens,

OK, es scheint. als wenn Dein KM anstelle "value":"on" irgendetwas vermurkst und ein "value":"!Ä#" ausgibt.
Wobei das "!Ä#" im UTF8 Zeichensatz ein "\x{6}\x{c3}\x{84}#" bedeutet was die Texteditoren/Konsolen je nachdem als ein "!Ä#" oder "!�#" umsetzen.
Langsam kommen wir der Sache auf die Schliche.

Ich habe das mal ungetestet versucht abzufangen.

Wenn es nicht klappt, dann
a) versuche es bitte nochmal nachdem du die Zeilen 1136 und 1336 auskommentiert hast.
b) versuche es bitte nochmal nachdem du die Zeilen 1134 und 1334 durch my $find = "!Ä#";ersetzt hast.




Gruss

   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 02 Dezember 2014, 16:59:47
Nun ist mir aufgefallen, das das Problem NICHT auftritt, sobald ich dem KM200 den Internet - Zugang sperre.
Quasselt das Teil oft und gerne mit dem Bosch-Server und lässt nur eine Kommunikation zu ?

Hallo Peter,

schau mal was in der Commandref des Moduls ab Zeile 1504 steht:

Zitat
Despite the instruction of the Buderus KM200 Installation guide, the ports 5222 and 5223 should not be opened and allow access to the KM200/KM50 module from outside. You should configure (or leave) your internet router with the respective settings. If you want to read or change settings on the heating system, you should access the central heating control system via your fhem system only.
  8)

 ;D ;D ;D

An die Authoren des km200 - WIKIs: Bitte freundlicherweise einen entsprechenden Eintrag vorsehen. - Danke!

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 03 Dezember 2014, 07:18:21
Hallo Peter,

schau mal was in der Commandref des Moduls ab Zeile 1504 steht:
  8)

 ;D ;D ;D

An die Authoren des km200 - WIKIs: Bitte freundlicherweise einen entsprechenden Eintrag vorsehen. - Danke!

Gruss
   Sailor


Up, das hab ich noch gar nicht beachtet. Mein KM200 funkt ins Internet... Vielleicht ist das überhaupt mein Problem.
Wenn ich die nächsten Tage Zeit finde, werde ich das mal alles probieren.

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 09 Dezember 2014, 21:04:12
VERSION 1.21 - Jetzt mit Abfang der JSON STD-Err welche zum crash gefuehrt haben
Moin zusammen

Anbei die letzte Version. In dieser Version habe ich die Fehlermeldungen abgefangen, welche bisher das fhem-System zum Absturz gebracht haben.
Ich hoffe die Version laeuft mit allen Services stabil selbst wenn bekannte Abstuerzler wieder aktiviert werden.

Allerdings werden fehlerhafte Werte einfach verworfen. Sollten also nur bestimmte Werte der Services das fhem System zum Absturz gebracht haben, werden diese sich jetzt nicht mehr aendern und sind somit nutzlos.

Zumindest stuerzt das System nicht mehr aufgrund vom KMxxx vermurksten Werten ab!


Mit der Bitte um Langzeit-Testeritis und Rueckmeldung

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 10 Dezember 2014, 20:51:01
Hi,

wollte auch mal wieder was sagen :)
Ich bin irgendwie Mitte November aus dem Thema raus geflogen und haben keine Email mehr bekommen. Dachte also hier wäre die ganze Zeit nichts mehr passiert.
Bei mir läuft das Modul die ganze Zeit fehlerfrei.
Habe gerade die neue Version eingespielt und sehe erstaunt diese Zeile:
/gateway/versionFirmware          03.00.00              2014-12-10 20:48:02
Da gab es wohl gerade einen Firmwareupdate auf meinem KM200 von dem ich bisher noch nichts gemerkt hatte.

Gruß

Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 10 Dezember 2014, 20:54:10
Eigentlich habe ich ja eine Historie

2014-12-05_09:31:34 KM200 /gateway/versionFirmware: 01.05.04
2014-12-06_09:31:35 KM200 /gateway/versionFirmware: 03.00.00

Der Update hat also wohl am Freitag stattgefunden. Ich lese diesen Wert nur alle 24h aus.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 10 Dezember 2014, 21:20:30

Die zwei Werte werden seit dem Firmewarupdate nicht mehr upgedatet...

/heatSources/actualsupplytemperature    78     2014-12-05 21:16:22
/heatingCircuits/hc1/fastHeatupFactor      0       2014-12-05 21:16:19
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 10 Dezember 2014, 21:51:26
Moin,

das Update kann ich bestaetigen.

Was das Fehlen der Werte betrifft, so kann ich sagen, dass ich diese immer noch bzw. unter einem anderen Namen auslesen kann:

/heatingCircuits/hc1/actualSupplyTemperature 55.7 2014-12-10 20:28:05
/heatingCircuits/hc1/fastHeatupFactor 0 2014-12-10 20:28:06

Mache mal folgendes: Aendere mal die Zeile
  $hash->{CONSOLEMESSAGE} = false;in
  $hash->{CONSOLEMESSAGE} = true;
und setze das Attribut "ConsoleMessage" auf "1".

Dann gehe mal in die Console stoppe fhem und starte es neu.

Wenn der Initialisierungsprozess durchlaeuft dann suche mal nach einer Zeile die anfaengt wie
"The following Service CANNOT be parsed by JSON    : "

Wenn dort der Service auftaucht den du vermisst, dann hat das Update dein KM200/KM50 vermurkst und mein modul einen fhem - Absturz verhindert.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 10 Dezember 2014, 22:25:36
Hoppla

das ist die einzige Zeile die da ein Problem meldet:
The following Service CANNOT be parsed by JSON    : /gateway/firmware
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 10 Dezember 2014, 22:30:04
Bei den Werten die nicht mehr upgedatet werden bekomme ich beim Start eigentlich auch ein

The following Service CANNOT be read              : /heatSources/actualsupplytemperature
The following Service CANNOT be read              : /heatingCircuits/hc1/fastHeatupFactor

Warum werden die dann nicht ausgeblendet? Habe meinen Raspi sogar mal gebootet aber die erscheinen noch immer.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 10 Dezember 2014, 22:35:04
OK,

einmal alles aus der fhem.cfg raus werfen und wieder einfügen hat geholfen. Nun scheint alles wieder synchron zu sein
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 11 Dezember 2014, 09:08:28
Hallo,

ich lese hier seit ein paar Wochen mit und habe mir vor einigen Tagen ein KM200 gekauft, weil ich Euer Modul nutzen möchte. Erst einmal VIELEN herzlichen Dank, dass Ihr Euch neben der Programmierung auch so viel Mühe macht, um es bei anderen Leuten zum Laufen zu bringen!

Hier meine Systemdaten:

Raspberry Pi an Fritzbox an Km200

KM200 Firmware: 01.06.00. Dies ist die ursprüngliche Firmware, die auch auf dem Papieraufkleber auf dem großen Chip auf der Platine steht. Ein Update hat leider noch nicht stattgefunden, obwohl ich das Km200 mehrere Tage am Internet hatte (ports 5222 und 5223 offen). Jetzt sind die Ports wieder zu.

73_km200 Modul Version 1.21

Nachdem ich alle "Module", die auf Seite 3 dieses Threads nicht aufgeführt sind, installiert hatte, musste ich noch List/Moreutils.pm und Crypt/Rijndael.pm nachinstallieren.

Jetzt wird das 73_km200 Modul in FHEM geladen. Nach kurzer Zeit stürzt aber FHEM ab und zwar mit folgender Fehlermeldung im Terminal:

root@raspberrypi:/opt/fhem/FHEM# sudo /etc/init.d/fhem start
resetting 868MHz extension...
Starting fhem...
Daemon with PID 30394 started!
Can't bind socket: Address already in use
root@raspberrypi:/opt/fhem/FHEM# km200_GetSingleService ERROR: http://192.168.1.33/system/brand: empty answer received
Use of uninitialized value $Km200Info in string eq at ./FHEM/73_km200.pm line 533, <$fh> line 563.
Use of uninitialized value $Km200Info in string eq at ./FHEM/73_km200.pm line 541, <$fh> line 563.
Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm line 547, <$fh> line 563.

km200_ParseHttpResponseInit ERROR: http://192.168.1.33/: empty answer received
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1265.

Im FHEM-Logfile steht:
2014.12.11 08:13:24 2: myKM200 : ERROR: No proper Communication with Gateway: http://192.168.1.33/system/brand: empty answer received


Habt Ihr eine Idee, warum er am Parameter system/brand zu scheitern scheint?

Gruß
frankbatzen
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 11 Dezember 2014, 10:16:04
Hi,

ich denke man sollte mal ganz oben anfangen bei

Daemon with PID 30394 started!
Can't bind socket: Address already in use

Klingt für mich danach das irgenwas doppelt läuft.

Also einfach mal den Raspi neu starten. Vielleicht hilft das schon

Gruß

Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 11 Dezember 2014, 10:27:28
Hallo Frank^2

ich stimme dem zu.

Evtl. ist die SmartPhone App noch offen.

Ausserdem muss bei einem neuen KM200 erstmal einmalig ber SmartPhone APP das User-Passwort gesetzt werden.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 11 Dezember 2014, 11:11:41
Hi,

danke für die schnellen Antworten. Werde ich heute Abend probieren.
Das Userpasswort ist bereits per EasyControl-App gesetzt.

Edit: Und ich glaube, die EasyControl-App war tatsächlich gleichzeitig geöffnet...  ::)

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 11 Dezember 2014, 11:46:12
2014-12-05_09:31:34 KM200 /gateway/versionFirmware: 01.05.04
2014-12-06_09:31:35 KM200 /gateway/versionFirmware: 03.00.00

Der Update hat also wohl am Freitag stattgefunden. Ich lese diesen Wert nur alle 24h aus.

Hallo, ich muss hier mal nachfragen: Hast du die Kommunikation mit dem Gateway nach aussen nicht auf der FW gesperrt? Ich meine noch Version 1.09.04 zu haben.
Habe aber auch das KM50.
Bei gesperrten Ports sollte das KM Modul doch gar kein FW Update bekommen können, oder?

Grüße
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 11 Dezember 2014, 12:46:56
Hallo, ich muss hier mal nachfragen: Hast du die Kommunikation mit dem Gateway nach aussen nicht auf der FW gesperrt? Ich meine noch Version 1.09.04 zu haben.
Habe aber auch das KM50.
Bei gesperrten Ports sollte das KM Modul doch gar kein FW Update bekommen können, oder?

Grüße
Fred

Ich habe nichts in der Freiwall gesperrt. Warum sollte ich das auch? Von außen nach innen ist kein Zugriff möglich aber das muss man ja nicht extra sperren.
Das mit den Versionssummern habe ich auch noch nie verstanden.  Meine KM200 habe ich erst im Juli bekommen und dann hat es gleich einen Update auf 01.05.04 bekommen. Die Version 1.09.04 ist also entweder eine ältere Version als 01.05.04, oder es liegt halt daran das das die aktuelle Version für das KM50 ist.

Gruß

Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 11 Dezember 2014, 13:02:09
Ich habe nichts in der Freiwall gesperrt. Warum sollte ich das auch?

Hallo Frank,

ich Zitiere mal einen Post von Sailor, das steht auch im Modul so drin und haben aber trotzem die wenigsten gemacht (denke ich):

Zitat
Despite the instruction of the Buderus KM200 Installation guide, the ports 5222 and 5223 should not be opened and allow access to the KM200/KM50 module from outside. You should configure (or leave) your internet router with the respective settings. If you want to read or change settings on the heating system, you should access the central heating control system via your fhem system only.

Grüße
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 11 Dezember 2014, 13:10:48
the ports 5222 and 5223 should not be opened and allow access to the KM200/KM50 module from outside.

Aber was soll hier jemand gemacht haben? Standardmäßig erlaubt ein Router gar keinen Zugriff vom Internet auf irgendein internes Gerät. Warum soll denn jemand auf die Idee kommen den Port 5222 and 5223 im Router zu öffnen? Ich habe keine Ahnung für was der gut sein soll und will es auch gar nicht Wissen da mir keine Funktionalität fehlt die diese Ports benötigen würden. Das KMxx baut von sich aus eine Verbindung zum Server von Buderus auf und holt sich dann bei Bedarf eine neue Firmware ab. Dazu ist keine Verbindung von außen nach innen nötig.
Oder hast du einfach nur das "not" überlesen und warst der Meinung man müsse das einrichten?

Gruß

Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 11 Dezember 2014, 13:59:55
Ich glaube ich muss hier mal was erklären.

Die von mir beschriebene Empfehlung bezieht sich auf den Wartungszugang von außen.

Solltet ihr also entsprechende Ports freigegeben haben, kann Buderus oder ein Wartungsbetrieb Einstellungen auslesen und evtl. ändern.
DAS sollte man nicht zulassen.

Aber selbst wen die Firewall nie darauf programmiert wurde ein entsprechendes Port-Forwarding zu leisten, kann die Box immer noch von sich aus  ins Internet und die Updates automatisch ziehen.

Das Eine hat mit dem Anderen nichts zu tun.

So weit klar?

Gruß
    Sailor


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 11 Dezember 2014, 14:17:02
Wobei ich auch die Service App bei mir installiert habe und damit auch ohne diese geöffneten Ports zugreifen kann. Mir ist zumindest noch nichts aufgefallen was da nicht funktionieren würde.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 11 Dezember 2014, 16:30:26
OK, meine Firewall ist von aussen auch zu. Von innen kann das KM Modul natürlich eine Kommunikation nach extern initiieren. Macht sie ja auch und zwar mit dem Buderus Server.
Wenn ich jetzt aber meine Buderus App anstarte, kann ich ja von "extern" Einstellungen Setzen.

Weiss jemand, wie hier die Kommunikation funktioniert?

Grüße
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 11 Dezember 2014, 20:45:41
Hallo,

leider noch kein Glück...

Habe den Raspi neu gestartet
Die Konsolen-Meldung "Can't bind socket: Address already in use" ist weg. Diese kommt dann, wenn ich nach "service fhem stop" zu schnell wieder mit "service fhem start" starte.
Die EasyControl-App läuft nicht (auch nicht im Hintergrund)
Die Fehlermeldungen bezüglich des km200 bleiben:

service fhem stop
Stopping fhem...
root@raspberrypi:~# service fhem start
resetting 868MHz extension...
Starting fhem...
Daemon with PID 2612 started!
root@raspberrypi:~# km200_GetSingleService ERROR: http://192.168.1.33/system/brand: empty answer received
Use of uninitialized value $Km200Info in string eq at ./FHEM/73_km200.pm line 533, <$fh> line 563.
Use of uninitialized value $Km200Info in string eq at ./FHEM/73_km200.pm line 541, <$fh> line 563.
Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm line 547, <$fh> line 563.

km200_ParseHttpResponseInit ERROR: http://192.168.1.33/: empty answer received

root@raspberrypi:~# ping 192.168.1.33
PING 192.168.1.33 (192.168.1.33) 56(84) bytes of data.
64 bytes from 192.168.1.33: icmp_req=1 ttl=64 time=15.2 ms
64 bytes from 192.168.1.33: icmp_req=2 ttl=64 time=12.4 ms
64 bytes from 192.168.1.33: icmp_req=3 ttl=64 time=11.7 ms

Im FHEM-Log steht:
     2014.12.11 20:36:24 2: myKM200 : ERROR: No proper Communication with Gatewayhttp://192.168.1.33/: empty answer received
manchmal steht davor noch:
     2014.12.11 20:36:19 4: HttpUtils url=http://192.168.1.33/system/brand
meistens steht danach noch:
     2014.12.11 20:35:50 4: HttpUtils url=http://192.168.1.33/


Ich habe testweise mal den POLLINGTIMEOUT auf 10 gestellt - ohne Erfolg.

Habt Ihr vielleicht noch weitere Ideen?

Gruß
frank

Nachtrag: Noch einige Beobachtungen, falls das wichtig für die Problemsuche ist:
Die EasyControl-App stürzt ab, wenn ich z.B. in "Historie" irgendetwas Anzeigen lassen will (Raumtemperatur, Außentemperatur oder Solarertrag anhaken und dann "Anzeigen" klicken.) Ändern kann ich in der App gar nichts.
Das km200 ist per DLAN mit dem Router verbunden, aber pingen funktioniert ja...
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 12 Dezember 2014, 07:35:21
OK, meine Firewall ist von aussen auch zu. Von innen kann das KM Modul natürlich eine Kommunikation nach extern initiieren. Macht sie ja auch und zwar mit dem Buderus Server.
Wenn ich jetzt aber meine Buderus App anstarte, kann ich ja von "extern" Einstellungen Setzen.

Weiss jemand, wie hier die Kommunikation funktioniert?

Grüße

ich würde mal vermuten das das alles über den Buderus Server läuft. Kann ja nicht anders gehen. Buderus scheint ja sehr auf Sicherheit bedacht zu sein und wird deshalb wohl nicht wollen das man irgendwie aus dem Internet direkt auf ein KM200 zugreifen kann. Nebenbei ist es natürlich auch noch ganz schon alle Informationen was der Kunde da so treibt mitlesen zu können ;)
Das ist vielleicht auch der Grund warm es keinen direkten Zugriff per Webbrowser auf das KM200 gibt. So würde ich mir das ja eigentlich vorstellen das das Funktioniert und nicht mit einen App.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 12 Dezember 2014, 07:45:16
Hallo,

leider noch kein Glück...
...
Das km200 ist per DLAN mit dem Router verbunden


Das mit dem DLAN ist ein Tippfehler und soll WLAN heißen vermute ich mal.


Klingt zumindest erst mal nicht nach einem Problem von FHEM und dem km200 Modul.

Ich denke man könnte mal:

1. mit einem Webbrowser auf das km200 direkt zugreifen  Also in deinem Fall http://192.168.1.33
    Da sollte dann einfach nur einen leere Seite erscheinen.
2. Wenn irgendwie möglich das km200 doch mal fest per Kabel ans LAN anschließen.
3. Wenn möglich es mal mit einem anderen Handy testen

Grundsätzlich sollte man aber erst mal die App zum fliegen bringen. Sonst macht das keinen Sinn da weiter zu suchen.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 12 Dezember 2014, 08:34:43
Hi,

mit DLAN meine ich Powerlan. Also Netzwerk über die Stromleitung.

Ich glaube, Du hast Recht. Buderus konnte eben auch keine Daten über das Internet auslesen, obwohl Sie sich auf die KM200 verbinden können und alles als richtig konfiguriert und verbunden angezeigt wird.

Ich melde mich wieder, wenn die KM200 richtig funktioniert...

Gruß
Frank


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 12 Dezember 2014, 09:28:44
mit DLAN meine ich Powerlan. Also Netzwerk über die Stromleitung.


Hallo Frank,

bei DLAN hat man ja häufig eine hohe Latenzen....
In deinen Ping Zeiten sieht man schon 15ms...

Mache mal einen Dauerping und versuche die Zeiten zu verbessern. Hängt dein DLAN an einer Steckerleiste? Nann versuche eine freie Steckdose. Evtl. hilft auch schon ein drehen des Steckers.

Wenn du die möglichkeit hast, versuche eine direkt verkabelung ohne DLAN. Wenn dann die Probleme verschwinden, weisst du, wo deine Probleme liegen...

Viele Grüße
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 12 Dezember 2014, 12:46:15
Hallo,
die Buderus-Entwicklungsabteilung hat meine KM200 nochmal übers Internet "rübergeflasht" und konnte danach Werte auslesen. Es stimmte wohl etwas mit der Firmware des Gerätes nicht. Ich gehe davon aus, dass es bei mir jetzt auch funktionieren wird, ausprobieren kann ich es erst heute Abend.

Nochmal danke an alle und sorry, dass ich mit Hardwareproblemen Euren Thread zugespammt habe :-)

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Magic01 am 12 Dezember 2014, 13:59:57
Hi Frank,

die Buderus-Entwicklungsabteilung hat meine KM200 nochmal übers Internet "rübergeflasht" und konnte danach Werte auslesen.

Wie hast du das den geschafft?
Ich habe auch Probleme mit meinem KM200 und bekomme einfach kein Update. Mail an Buderus habe ich auch schon geschrieben aber da habe ich bislang nur einmal die Aufforderung bekommen noch mal einen kompletten Reset des KM200 zu machen. Hat bislang nichts gebracht, was ich dem, der mir geschrieben hatte auch gemailt habe, nun ist schon wieder 1,5 Tag Schweigen...

Grüße
Markus


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 12 Dezember 2014, 14:12:48
Hallo Markus,

ich hatte vor ca. 1 Woche bei Buderus angerufen (01806 990990). Der Mitarbeiter hat mich auch nur vertröstet, es gäbe Probleme mit dem Server, das habe er weitergeleitet und damit wäre sein Job jawohl erledigt.
Heute hatte ich einen anderen Herrn am Telefon, der sehr motiviert war, es eine halbe Stunde selbst probiert hat und nach unserem Gespräch dann in die Entwicklungsabteilung marschiert ist. Ich glaube er hat nur deshalb losgelegt, weil die App bei mir nicht richtig funktioniert hat. Für ein ausbleibendes Update der KM200 hätte auch er sich wahrscheinlich nicht so gestreckt...

viele Grüße
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Magic01 am 12 Dezember 2014, 14:17:07
Hi Frank,

ja, die App geht bei mir ja auch nicht - habe das ganze bislang nur auf ein fehlendes Update geschoben...
Wenn es sich bis Montag nicht geändert hat, werde ich auch mal telefonieren.

Grüße
Markus
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 12 Dezember 2014, 20:21:06
Hallo,

man soll den Tag nicht vor dem Abend loben.
Die Version der KM200 ist jetzt nicht mehr 01.06.00 sondern 03.00.00.
Die App funktioniert einwandfrei.
Der Raspi ist neu gestartet.
Der Fehler bleibt.

root@raspberrypi:~# service fhem stop
Stopping fhem...
Can't connect to localhost:7072
root@raspberrypi:~# service fhem start
resetting 868MHz extension...
Starting fhem...
Daemon with PID 2451 started!
root@raspberrypi:~# km200_GetSingleService ERROR: http://192.168.1.33/system/brand: empty answer received
Use of uninitialized value $Km200Info in string eq at ./FHEM/73_km200.pm line 533, <$fh> line 563.
Use of uninitialized value $Km200Info in string eq at ./FHEM/73_km200.pm line 541, <$fh> line 563.
Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm line 547, <$fh> line 563.

km200_ParseHttpResponseInit ERROR: http://192.168.1.33/: empty answer received

Im FHEM-LOG steht:
2014.12.12 20:05:10 2: myKM200 : ERROR: No proper Communication with Gateway: http://192.168.1.33/system/brand: empty answer received
2014.12.12 20:05:10 4: HttpUtils url=http://192.168.1.33/
2014.12.12 20:05:10 4: myKM200 : km200 - Define: InternalTimer for dynamic values started with interval of: 60
2014.12.12 20:05:10 4: myKM200 : km200 - Define: InternalTimer for static values started with interval of: 3600

Ich hätte Haus und Hof verwettet, dass das Problem erledigt ist. Scheint aber nicht so zu sein.
Ich werde als nächstes versuchen, das DLAN durch ein Netzwerkkabel zu ersetzen.

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 12 Dezember 2014, 20:55:23

root@raspberrypi:~# km200_GetSingleService ERROR: http://192.168.1.33/system/brand: empty answer received


Hm. Früher Stand da bei mir Buderus nun sieht das hier so aus:
 
/system/brand  unknown 2014-12-10 22:35:10

Ob das in bestimmten Fällen ein Problem sein kann?

/system/brand wird im Code als der erste Parameter genutzt um zu prüfen ob die Verbindung ok ist.
Du könntest das im Code mal ändern und einfach einen anderen Parameter mal testweise probieren. Ich habe das bei mir mal gerade auf /system/bus umgestellt und das funktioniert auch.


Ersetzte also in der  73_km200.pm mal brand durch bus so wie es hier schon passiert ist
        my $Km200Info ="";
        $hash->{temp}{service} = "/system/bus";
        $Km200Info = km200_GetSingleService($hash);
        if ($Km200Info eq "ERROR")

und schau mal ob sich was ändert.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 12 Dezember 2014, 21:13:20
VERSION 1.23 - Neuer Service zum Test der Kommunikation verwendet

/system/brand wird im Code als der erste Parameter genutzt um zu prüfen ob die Verbindung ok ist.
Du könntest das im Code mal ändern und einfach einen anderen Parameter mal testweise probieren. Ich habe das bei mir mal gerade auf /system/bus umgestellt und das funktioniert auch.


Hallo zusammen

ich gehe aufgrund des Updates davon aus, dass Buderus an den Services geschraubt hat...

Ich denke ich werde den "Brand" durch "/gateway/DateTime" ersetzen.
Ich hoffe mal, das Datum werden sie Modul-uebergreifend nicht aendern...

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 12 Dezember 2014, 22:24:03
Hallo,

vielen Dank.
Aber leider bleibt der Fehler auch mit der neuen Version 1.23, jetzt mit DateTime:

2014.12.12 22:19:14 4: HttpUtils url=http://192.168.1.33/gateway/DateTime
2014.12.12 22:19:14 2: myKM200 : ERROR: No proper Communication with Gateway: http://192.168.1.33/gateway/DateTime: empty answer received
2014.12.12 22:19:14 4: HttpUtils url=http://192.168.1.33/
2014.12.12 22:19:14 4: myKM200 : km200 - Define: InternalTimer for dynamic values started with interval of: 60
2014.12.12 22:19:14 4: myKM200 : km200 - Define: InternalTimer for static values started with interval of: 3600

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 13 Dezember 2014, 10:27:55
Hallo km200/50 Community,

bei mir hängt, bricht die Verbindung immer an der selben stelle ab.

The following Service CANNOT be read              : /heatSources/hs1/fuel
km200_ParseHttpResponseInit ERROR: read from http://192.168.178.33:80 timed out
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1268.

FHEM ist danach down.

Habe bzgl. PING Zeiten den PowerLan-Adapter schon an verschieden Steckdosen angeschlossen, etc.
Bekomme im Schnitt Zeiten zwischen 2,xx und 10,xx ms bei PING an den KM200.

Grüsse Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 13 Dezember 2014, 12:40:28
Hallo km'ler,

seit ca. 2 std. läuft alles jetzt stabil. Ursache: aktuell unbekannt.  ;)

Hallo km200/50 Community,

bei mir hängt, bricht die Verbindung immer an der selben stelle ab.

The following Service CANNOT be read              : /heatSources/hs1/fuel
km200_ParseHttpResponseInit ERROR: read from http://192.168.178.33:80 timed out
Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1268.

FHEM ist danach down.

Habe bzgl. PING Zeiten den PowerLan-Adapter schon an verschieden Steckdosen angeschlossen, etc.
Bekomme im Schnitt Zeiten zwischen 2,xx und 10,xx ms bei PING an den KM200.

Grüsse Mark

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 13 Dezember 2014, 13:12:30
Hallo,

ich habe die DLAN-Verbindung jetzt durch ein 15m Ethernetkabel (Cat6) ersetzt. die Pingzeiten reichen von 1,5-10ms. Das Problem bleibt unverändert:

root@raspberrypi:~# Use of uninitialized value $Km200Info in string eq at ./FHEM/73_km200.pm line 535, <$fh> line 563.
Use of uninitialized value $Km200Info in string eq at ./FHEM/73_km200.pm line 543, <$fh> line 563.
Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm line 549, <$fh> line 563.


FHEM-Log:
2014.12.13 13:10:06 4: HttpUtils url=http://192.168.1.33/gateway/DateTime
2014.12.13 13:10:06 2: myKM200 : ERROR: No proper Communication with Gateway: http://192.168.1.33/gateway/DateTime: empty answer received
2014.12.13 13:10:06 4: HttpUtils url=http://192.168.1.33/
2014.12.13 13:10:06 4: myKM200 : km200 - Define: InternalTimer for dynamic values started with interval of: 60
2014.12.13 13:10:06 4: myKM200 : km200 - Define: InternalTimer for static values started with interval of: 3600
2014.12.13 13:10:08 2: myKM200 : ERROR: No proper Communication with Gatewayhttp://192.168.1.33/: empty answer received

Ich würde mich freuen, wenn Ihr Vorschläge hättet, was ich noch probieren kann.

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 13 Dezember 2014, 19:52:43
Hallo Frank,

also ich verstehe das nun auch nicht mehr.
Da kommt ja ueberhaupt nichts zurueck...
Nicht einmal die /gateway/ - Services die selbst bei nicht verbundener Zentralheizung uebertragen werden sollten.


Wenn das Modul noch Garantie hat, wuerde ich versuchen es zu tauschen.

Gruss
    Sailor
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: l3skon3 am 13 Dezember 2014, 19:56:39
Hallo,

Aber ip im Netzwerk ist noch die selbe usw.?


Gesendet von iPad mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 13 Dezember 2014, 19:59:50
Hallo km'ler,

seit ca. 2 std. läuft alles jetzt stabil. Ursache: aktuell unbekannt.  ;)

Gruß Mark

Hallo Mark

immer noch stabil?

Gruss
    sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 13 Dezember 2014, 20:13:31
Hallo Sailor,

ja immer noch stabil.

Hallo Mark

immer noch stabil?

Gruss
    sailor

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 13 Dezember 2014, 20:25:52
Hallo Sailor,

ja immer noch stabil.

Gruß Mark

Glueckwunsch!

Einer weniger um den ich mich sorgen muss...

Bleibt nur noch frankbatzen seine Probleme mit den leeren Rueckgaben die ich ueberhaupt nicht erklaeren geschweige denn reproduzieren kann...  :-\

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 13 Dezember 2014, 23:19:39
Hallo,

dem Rat von Furban folgend

Zitat
Ersetzte also in der  73_km200.pm mal brand durch bus so wie es hier schon passiert ist
Code: [Auswählen]
        my $Km200Info ="";
        $hash->{temp}{service} = "/system/bus";
        $Km200Info = km200_GetSingleService($hash);
        if ($Km200Info eq "ERROR")

und schau mal ob sich was ändert.

habe ich mal Werte gesetzt, die die EasyControl-App definitiv aus dem KM200 bekommt. Nämlich /gateway/versionFirmware und /gateway/versionHardware.
Den Fehler bekomme ich auch mit diesen Parametern. Das lässt mich vermuten, dass es eher doch ein Problem der Kommunikation mit FHEM ist, als ein Hardwareproblem. Seht Ihr das auch so?

Ich werde nicht davor zurück schrecken, ein zweites KM200 zu kaufen, bevor ich aufgebe, aber vorher möchte ich mir einigermaßen sicher sein, dass es wirklich die Hardware ist.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 14 Dezember 2014, 00:00:46
Hi Frank,

bevor Du ein neues Teil anschaffst,
hast Du es mal mit einem Reset des KM200 probiert ?
War bei mir auch mal notwendig, weil auch die Android app nicht mehr klappte.

Wird Dein KM200 in der Liste der Busteilnehmer in Deiner Regelung aufgeführt ?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 14 Dezember 2014, 08:14:57
Guten Morgen Frank,

Ich hatte den Pi im Desktop-Modus laufen und auf Medium Taktfrequenz. (Zu dem Zeitpunkt ist er immer an der selben Stelle hängen geblieben) Habe dann über die Rapsi-config diesen auf nur Console und Standard Frequenz umgestellt. Seit dem läuft es bei mir ohne irgend ein Fehler. Des weiteren wie zuvor durch andere beschrieben habe ich alles was nicht benötigt wird in der FHEM config aus kommentiert. 

Hallo,

dem Rat von Furban folgend

habe ich mal Werte gesetzt, die die EasyControl-App definitiv aus dem KM200 bekommt. Nämlich /gateway/versionFirmware und /gateway/versionHardware.
Den Fehler bekomme ich auch mit diesen Parametern. Das lässt mich vermuten, dass es eher doch ein Problem der Kommunikation mit FHEM ist, als ein Hardwareproblem. Seht Ihr das auch so?

Ich werde nicht davor zurück schrecken, ein zweites KM200 zu kaufen, bevor ich aufgebe, aber vorher möchte ich mir einigermaßen sicher sein, dass es wirklich die Hardware ist.

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 14 Dezember 2014, 10:34:30
Guten Morgen,

-mein Raspi war noch nie übertaktet.
-Ich habe jetzt alles andere aus der fhem.cfg rausgenommen.
-Ich habe alle Prozesse per kill beendet, die mit anderen FHEM-Modulen zu tun haben (Onewire, hmland).

Das Problem bleibt leider. Ich hab' schon Angst, dass ich irgendetwas extrem triviales übersehen habe, und alle sich umsonst einen Kopf machen...

Weil das auch schon angemerkt wurde:
-Unter der IP-Adresse des KM200 (192.168.1.33) sehe ich eine leere Seite. Also so, wie es sein soll, oder?
-Die IP der KM200 ist immer dieselbe. Die Fritzbox ist so konfiguriert, dass sie der KM200 immer dieselbe IP gibt.

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: l3skon3 am 14 Dezember 2014, 10:39:13
Guten Morgen,

Denke ja im Router sieht mans am besten ob eine IP zugewiesen wurde und welche.

Gesendet von meinem GT-I9300 mit Tapatalk

Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: l3skon3 am 14 Dezember 2014, 13:05:27
Hallo,

hab grad gesehen du hast dein Beitrag nochmal bearbeitet.

Und hast es schon mal testweise mit DHCP versucht, das Gerät mal neu gestartet?

Leuchtet es eigentlich grün? Oder wie verhält es sich?

Ob eine weisse Seite normal ist weis ich jetzt gar nicht, da ich kein KM200 hier habe.

mfg
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 14 Dezember 2014, 14:18:23
Hallo,

- per DHCP habe ich bislang noch nicht versucht. Werde ich später versuchen (siehe unten)
- KM200 und Raspberry Pi habe ich mehrfach neu gestartet
- KM200 leuchtet grün

Ich installiere gerade ein jungfräuliches und aktuelles Raspbian. Dann werde ich FHEM installieren und nur das KM200 in FHEM einrichten. Das wird noch etwas dauern, aber dann kann ich wohl Fehlkonfigurationen ausschließen.

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 14 Dezember 2014, 17:04:19
JAAAA  :)

Nachdem ich ALLES neu installiert habe, läuft es! Ich habe scheinbar irgendetwas bei der Installation der zusätzlichen Module falsch gemacht.

Da sich die erforderlichen Module ja während der Entwicklung teilweise geändert haben und der Prozess für mich offensichtlich zu kompliziert war, schreibe ich hier jetzt nochmal, wie ich jetzt vorgegangen bin, um es auf meinem System (Raspberry Pi) zum Laufen zu bringen:

1. Image für Raspbian runterladen ( http://downloads.raspberrypi.org/raspbian_latest ) und auf die SD-Karte schreiben.

2. Raspberry Pi über Raspi-config einrichten (z.B. SSH an) und Raspberry pi neu starten.
*****AB HIER ALLES ALS ROOT****** Hierzu den Root account aktivieren per sudo passwd root und als root einloggen.
3. Ein Skript (eine Textdatei) "installfhem.sh" mit folgendem Inhalt auf dem Raspberry Pi erstellt:
rm /etc/rc.local
cd /opt

apt-get -y update
apt-get -y upgrade

wget http://fhem.de/fhem-5.6.tar.gz
tar xvf fhem-5.6.tar.gz
ln -s fhem-5.6 fhem
rm fhem-5.6.tar.gz

echo cd /opt/fhem >> /etc/rc.local
echo "perl fhem.pl fhem.cfg &" >> /etc/rc.local
echo exit 0 >> /etc/rc.local
chmod a+x /etc/rc.local

4. Die Skriptdatei installfhem.sh per chmod +x ausführbar gemacht.

5. Die Skriptdatei installfhem.sh per ./installfhem.sh ausgeführt und damit FHEM installiert.

6. Durch curl -L https://cpanmin.us | perl - --sudo App::cpanminus CPANMINUS installiert.

7. Durch apt-get install libltdl* zusätzliche Module (?) installiert, von denen ich nicht weiß, was sie machen.

8. Durch cpanm JSON JSON.pm installiert.

9. Durch cpanm List::MoreUtils List/MoreUtils.pm installiert.

10. Durch cpanm Crypt::Rijndael Crypt/Rijndael.pm installiert.

11. Durch cpanm LWP::UserAgent LWP/UserAgent.pm installiert.

12. Modul 73_km200.pm Version 1.23 in den Ordner opt/fhem-5.6/FHEM auf dem Raspberry Pi kopiert

13. In der fhem.cfg das Modul definiert: define myKm200 km200 192.168.1.33 XXXX-XXXX-XXXX-XXXX PPRIVATESPASSWORT

Vielen Dank an alle, die mir geholfen haben und tut mir Leid, dass es so lange gedauert hat.

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 14 Dezember 2014, 18:29:15
Das Timeout musste ich auf 15ms hochsetzen.
Sonst ist FHEM sporadisch abgestürzt mit Meldung
2014.12.14 17:34:03 2: KM200 : ERROR: No proper Communication with Gatewayconnect to http://192.168.1.33:80 timed out
im FHEM-Log

Gruß
Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 14 Dezember 2014, 21:44:56
Glückwunsch.
und ganz nebenbei noch eine Komplettanleitung geschrieben :)
Ich hätte das inzwischen auch nicht mehr alles zusammen bekommen. Jetzt sind wohl die gefragt, die mal "hier" geschrien haben als es darum ging eine Wiki zu schreiben. Damit muss man ja nur diesen Text jetzt nur noch übertragen.

Ein Sache würde ich aber anders machen:

Hierzu den Root account aktivieren per sudo passwd root und als root einloggen.

Ich bin auch zu faul immer "sudo" vor jeden Befehl zu schreiben. Darum mache ich das immer nur genau ein mal
sudo bash
und damit bekommt man dann halt eine Shell die als root User läuft und kann die weiteren Kommandos ohne sudo eintippen.

Gruß

Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 14 Dezember 2014, 22:57:00
Glückwunsch!!!!!!!!!!


Gesendet mit Tapatalk
Titel: )Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 15 Dezember 2014, 07:11:49
Hallo zusammen,

also bei mir funktioniert das KM200 Modul problemlos, wenn ich das Pollingtimeout auf 10 setze. (attr Pollingtimeout 10) Vielleicht mal so als Hinweis für diejenigen, welche als Fehlermeldung sowas wie "no proper communication with gateway" bekommen.

Außerdem darf mein KM200 keine Verbindung zum Internet haben (darf nicht nach draussen funken, ich habe den Zugang über meine fritzbox gesperrt). Die KM200 LED ist also immer gelb/orange.

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 15 Dezember 2014, 10:12:23
Hallo zusammen,

ein Hinweis hinsichtlich des Wartungszugangs von aussen:

Wenn die Services
/gateway/instAccess
/gateway/instWriteAccess

mit dem set-Befehl auf "off" gesetzt werden, wird der Zugang trotz offener Ports verweigert.

An die WIKI-Authoren:

Sobald ich eine Tabelle mit Service versus Wert erstellt habe, stelle ich es Euch zur Veroeffentlichung zur Verfuegung.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 15 Dezember 2014, 12:26:36

Cool, habe gar nicht mitbekommen das "set" inzwischen auch funktioniert.

Bei mir ist übrigens der Wartungszugang offen und mein KM200 darf auch nach draußen kommunizieren. Der Timeout ist auf default und meine anfänglichen Abstürze sind auch schon lange nicht mehr vorgekommen. Mein km200 ist direkt per LAN Kabel angeschlossen und läuft laut Fritzbox sogar mit 1 Gbit/s . Vielleicht ist das auch ein Grund warum es so schön klappt hier.

Jetzt müsste man noch die ganzen Parameter entschlüsseln in der Hoffnung dann z.B. auch mal eine Einmalladung für das Warmwasser anzustoßen geht.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 15 Dezember 2014, 13:29:01
Hallo,

ich habe nun auch endlich mal versucht das Modul mit meinem km200 zu starten. Ich bekomme en ganz neues Phänomen: mein fhem stürtzt nicht ab, er startet immer wieder neu, nachdem ich das km200 Modul einbeunden und in der cfg aktiviert habe. Wenn ich über die Konsole den fhem Logfile beobachte kann ich fortlaufend die Startprozedur erkennen. Ein Error wird nicht ausgegeben. fhem lässt sich dann nur noch über die Konsole stoppen und alles entsprechende aus der cfg löschen. Ales andere geht nicht mehr.

Details:
fhem 5.6 auf Intel Nuc mit Ubuntu 14.4
Buderus km200 versionFirmware 01.09.04
Zugriff über App und selbstgebautet php Frontend funktionieren problemlos
alle notwendigen perl Module sind nachinstalliert

Jemand eine Idee was das sein kann? Danke
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 15 Dezember 2014, 13:46:28
mein fhem stürtzt nicht ab, er startet immer wieder neu
Details:
fhem 5.6 auf Intel Nuc mit Ubuntu 14.4
Buderus km200 versionFirmware 01.09.04

Hallo zusammen,

ich kann mich dunkel erinnern, dass wir das Problem schon mal bei einer Nicht-Raspi/Raspbian Konfiguration hatten...

Wer war das noch gleich?
Geschweige denn wie war die Problemloesung...  8)

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 15 Dezember 2014, 13:47:49
Cool, habe gar nicht mitbekommen das "set" inzwischen auch funktioniert.

Da kannste mal sehen.

Ich stecke ja keine Minute in die Werbung sondern in den Code.  ;D

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: newjey am 15 Dezember 2014, 21:05:05
hallo Sailor,

Vielen dank für dein modul.
Sorry, too difficult to go on in german. :-)
I can already switch from auto to manual mode. I can log and graph /system/sensors/temperatures/outdoor_t1

Great that was two of my needs.
But i have a problem with : set myKm200 /heatingCircuits/hc1/manualRoomSetpoint xx
When i try to set it, it change to another value like 0 or 5 or 30 , but not what i want.

And i don't understand wich reading correspond to my day/night temperature.
Anyway, you did a great job. Thank you very much.

Jerome
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 15 Dezember 2014, 22:54:24
Hallo zusammen,

ich kann mich dunkel erinnern, dass wir das Problem schon mal bei einer Nicht-Raspi/Raspbian Konfiguration hatten...

Wer war das noch gleich?
Geschweige denn wie war die Problemloesung...  8)

Hallo in die Runde,

ich hatte das mit ähnlicher Konfig. (Ubuntu 14.04).
Allerdings nutze ich eine ältere Version vom KM200 Modul und hatte "flamestatus" auskommentiert Dann wars gut.
Das aktuelle Modul hab ich mangels Zeit noch nicht getestet. Mach ich die Tage aber mal.

Viele Grüße
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 16 Dezember 2014, 10:29:20
Hallo

welche Version nutzt Du die mit Ubuntu 14.4 bei Dir läuft?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 16 Dezember 2014, 11:44:25
welche Version nutzt Du die mit Ubuntu 14.4 bei Dir läuft?

Bin mir nicht sicher, was du genau meinst.

Fhem:
# $Id: fhem.pl 7212 2014-12-14 15:55:51Z rudolfkoenig $
Ubuntu:
3.13.0-40-generic #69-Ubuntu SMP Thu Nov 13 17:53:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
oder meinst du das KM200 Modul?
# $Id: 73_km200.pm 0027 2014-11-11 19:20:00Z Matthias_Deeke $
#               1.17    10.11.2014      Sailor                          km200_Initialize                                Corrected DbLog entry to $hash->{DbLog_splitFn}  =$
#               1.17    10.11.2014      Sailor                          km200_Define                                    Password logging deleted. Too dangerous as soon a $
#               1.17    10.11.2014      Sailor                          km200_Define                                    Adding $hash->{DELAYDYNVAL} and $hash->{DELAYSTATV$
#               1.17    10.11.2014      Sailor                          km200_Attr                                              Adding $hash->{DELAYDYNVAL} and $hash->{DE$
#               1.17    10.11.2014      Sailor                          km200_PostSingleService                 Error handling
#               1.17    10.11.2014      Sailor                          km200_GetSingleService                  Error handling
#               1.17    10.11.2014      Sailor                          km200_Define                                    Added additional STATE information
#               1.17    10.11.2014      Sailor                          km200_GetDynService                             Added additional STATE information
#               1.17    10.11.2014      Sailor                          km200_GetStatService                    Added additional STATE information

Ist das richtige dabei?

Grüße
Fred

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 16 Dezember 2014, 12:32:02
Treffer, ich meine das fhem Modul, also Dein letzter Eintrag mit Version 1.17. Ich werde ea damit mal testen. Danke
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 16 Dezember 2014, 13:40:52
Hallo Baumeister,

aber wie gesagt: ich musste im Modul dann noch
"/heatSources/flameStatus",auskommentieren. Sonst hast du den Fhem Reboot wenn der Brenner an ist.

Viele Grüße
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 16 Dezember 2014, 17:45:28
Hallo,

das löst mein problem leider nicht. Auch wenn ich das ältere Modul nehme und auch den flamestatus auskommentiere habe ich die andauernden Restarts von fhem. Das passiert schon zu einem sehr frühen Zeitpunkt, kurz nach den fhem web Instanzen.

Nochirgendwer eine Idee?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 16 Dezember 2014, 20:15:00
Hi Jerome

hallo Sailor,
Vielen dank für dein modul.


You are welcome

Sorry, too difficult to go on in german. :-)

No Problem!  ;)

I can already switch from auto to manual mode. I can log and graph /system/sensors/temperatures/outdoor_t1

Great that was two of my needs.
But i have a problem with : set myKm200 /heatingCircuits/hc1/manualRoomSetpoint xx
When i try to set it, it change to another value like 0 or 5 or 30 , but not what i want.

And i don't understand wich reading correspond to my day/night temperature.
Anyway, you did a great job. Thank you very much.

a) The Service "/heatingCircuits/hc1/manualRoomSetpoint" has a range of possible values between the minValue:5.0 and maxValue:30.0.
    The value 0 is also possible and will disable the function.

b) The Service "/heatingCircuits/hc1/manualRoomSetpoint" following my research ( I might be worng) the value is only working with a remote control for the RC300 Modul in a dedicated room (E.g. living room / bedroom)

c)  I have not yet found the Service which corresponds with the Day/Night temperature. But I have not been given up yet...  8)

Best regards
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: neolux am 17 Dezember 2014, 13:17:14
Moin zusammen,

ich hab FHEM auf meiner Synology installiert, weil ich meine MAX! Komponenten und meine Buderus unter einen Hut bekommen möchte, und hab nun auch das km200-Modul zum Laufen bekommen (Version 1.23).
Allerdings funktioniert bei mir "set" nicht? Hab ich nicht die neuste Version?

Ansonsten hab ich keine Probleme festgestellt, FHEM läuft und stürzt nicht ab, und als erstes würde ich einfach gern dahin kommen, daß auch die Heizung in den Absenkbetrieb geht, wenn ich meinen Eco-Taster drücke, nicht nur die Heizkörper. ;)

Gruß
Knut
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 17 Dezember 2014, 20:07:52
Hallo zusammen,

wer von euch hat denn die Kombination RC30/35 und KM200?
Könnt Ihr mir bitte mitteilen welche Firmware Ihr auf dem KM200 habt!?

Vielen Dank vorab.

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: neolux am 18 Dezember 2014, 14:34:42
wer von euch hat denn die Kombination RC30/35 und KM200?
Könnt Ihr mir bitte mitteilen welche Firmware Ihr auf dem KM200 habt!?
Firmware 01.09.04
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 18 Dezember 2014, 18:57:46
...01.09.04 hab ich auch...

Grüße
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 18 Dezember 2014, 19:15:21
ich auch
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Stefan M. am 18 Dezember 2014, 19:32:02
Hallo zusammen

Ich auch.

lg
Stefan
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 18 Dezember 2014, 21:06:03
Ich nicht. Habe 03.00.00 
Allerdings habe ich aber ein RC300. Kann mir aber nicht vorstellen das es da einen Zusammenhang gibt mit der Version auf dem KM200.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 18 Dezember 2014, 22:53:52
Ich nicht. Habe 03.00.00 
Allerdings habe ich aber ein RC300. Kann mir aber nicht vorstellen das es da einen Zusammenhang gibt mit der Version auf dem KM200.
Offenbar ist die Firmware, die Bosch auf das KM200 lädt abhängig vom angeschlossenen Regelsystem. Am 21.1.2014 gab es eine entsprechende Antwort von Bosch im Google PlayStore.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 19 Dezember 2014, 08:27:40
Offenbar ist die Firmware, die Bosch auf das KM200 lädt abhängig vom angeschlossenen Regelsystem. Am 21.1.2014 gab es eine entsprechende Antwort von Bosch im Google PlayStore.
Das ist ja spannend. Soweit ich mich erinnere stellt man das doch selbst ein welchen Regler man angeschlossen hat. Heißt das also nun man muss einfach mal kurz den RC300 einstellen und bekommt dann den Update? Oder lädt das KM200 dann wieder eine andere Firmware wenn man wieder auf RC30 umstellt? Schon alles sehr merkwürdig aber vielleicht auch nicht ganz so wichtig :)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 19 Dezember 2014, 08:50:45
Hallo zusammen,

Danke für die Rückmeldungen. Es ist nach Rückmeldung Buderus doch so, dass die Kombie RC und KM die Firmware auf dem KM bestimmt. Das kann man verstehen oder auch nicht. Was mir noch nicht klar ist, ob dies den Einstellungs- und Regelungsumfang beeinflusst.

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 Dezember 2014, 14:33:59
Moin zusammen!

Das mit der Firmware ist in der Tat sehr interessant und weiterer Nachforschungen wert.

Gruss
    Sailor

PS: Kennt sich Jemand gut bis sehr gut mit Wireshark aus?
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 24 Dezember 2014, 16:30:56
HAllo zusammen,
Also bei mir funktionier die aktuelle Version problemlos.
2 Dinge musste ich dabei beachten:
1. der Fernwartungszugriff auf das Km200 muss aus sein.
2. das polling timeout muss auf >=10 Sekunden eingestellt sein

Seitdem funktioniert das Modul einwandfrei.
Danke an Matthias :-)

ps: ich habe auch ein rc35 mit km200 und die Firmware ist ebenfalls 1.09.04
Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 31 Dezember 2014, 15:33:18
Hallo Leute,

kurze Info: Habe nach einer langen Testphase auf dem Pi, dass ganze jetzt auf mein Nuc übertragen. Bis jetzt (48h) keine Probleme.
"Set" funktioniert auch.

Hat einer von Euch die OperationMode (auto, day und night) als WebCmd Button schon umgestzt?

Auf diesem Wege wünsche ich euch einen Guten Rutsch in 2015!

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: YangBaxter am 02 Januar 2015, 21:13:56
Hallo an Alle und ein gutes Neues 2015,

an Hand der Anleitung in diesem Thread habe ich es geschafft Kontakt
mit unserem KM200 aufzunehmen:

KM200 und RC300
/gateway/versionFirmware  03.01.00
/gateway/versionHardware  iCom_Low_NSC_v1

Zunächst vielen Dank an die Mitwirkenden.
Wir haben 2 Heizkreise, #1: nur für Keller, #2: Wohnräume.
Damit ist die Buderus App komplett unbrauchbar, da kann ich nicht zwischen den Heizkreisen
umschalten. Es gibt zwar ein Knopf dafür tut aber bei mir nicht.
Ich habe FHEM nur wegen dem KM200 Modul auf einem Cubieboard installiert, dem KM200
ist der Zugriff ins Internet per Firewall gesperrt.

Ich würde gerne unsere Heizung von  unterwegs ein/ausschalten können.
( Tunneln des Webinterfaces von FHEM per ssh).

Das Einzigste was ich bisher geschafft habe, ist zwischen den Heizprogrammen A/B umzuschalten.
Das Ändern der Temperatur scheint aber nicht zu funktionieren.
Auch ist nicht klar, welchen Parameter ich da ändern sollte.
(Die Angaben die man auf der IP-symcom Seite findet, scheint nicht zu unserer KM200 version zu passen).
Der Parameter der mit der Regelung übereinstimmt wäre:

/heatingCircuits/hc2/currentRoomSetpoint  20

Leider kann ich keine Temperatureinstellungen vornehmen, etwa

/heatingCircuits/hc2/manualRoomSetpoint .

Im Moment habe ich in Zeitprogramm B nur Absenken eingestellt, so kann ich im Prinzip
die Heizung ausschalten in dem ich in Programm B wechsle, und durch Wechsel
in Programm A wieder einschalten.

Ist jemand schon weiter gekommen.
Ich helfe gerne mit, nur habe ich keine Perl Kentnisse.
(bin vor allem in C++ unterwegs, allerdings auch Awk und sed).

Viele Grüße
Peter



Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 03 Januar 2015, 08:26:54
Hallo zusammen,

auch von mir ein gesundes neues Jahr 2015.

@Peter: Mit ein- und ausschalten meinst Du sicherlich das reduzieren der Temp auf eine bestimmten Wert?

Ich habe es wie folgt gelöst und eventuell hilft Dir dies ja weiter.

Ich habe eine Tag Temp und eine Nacht Temp fest eingestellt.  Geht über das KM-Modul oder die Buderus App.
Bei Abwesenheit senk die Heizung auf die Nacht Temp ab. Das kann manuell per set - Befehl über FHEM an KM200 erfolgen oder automatisiert per Anwesenheitserkennung. Der entsprechende Service ist OperationMode. Sollte bei Dir zweimal vorhanden sein mit hc1 und hc2 vorangestellt.

/heatingCircuits/hc1/operationMode

Hoffe das hilft Dir bei deinen Überlegungen/Problem weiter.

Gruß
Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: YangBaxter am 03 Januar 2015, 20:50:45
Hallo Mark,


@Peter: Mit ein- und ausschalten meinst Du sicherlich das reduzieren der Temp auf eine bestimmten Wert?


Ja, bzw. überhaupt das Einstellen der Temperatur.
Das Haus hat ein Fussbodenheizung und die muss mindestens 1 Tage früher an sein.


Ich habe eine Tag Temp und eine Nacht Temp fest eingestellt.  Geht über das KM-Modul oder die Buderus App.
Bei Abwesenheit senk die Heizung auf die Nacht Temp ab. Das kann manuell per set - Befehl über FHEM an KM200 erfolgen oder automatisiert per Anwesenheitserkennung. Der entsprechende Service ist OperationMode. Sollte bei Dir zweimal vorhanden sein mit hc1 und hc2 vorangestellt.

/heatingCircuits/hc1/operationMode


Also das Umschalten zwischen Auto und Manuell funktioniert,
Es wird auch die richtige manuelle Temperatur ausgelesen, aber ändern kann ich sie  per KM200 nicht.
Wenn ich Sie an der Anlage ändere, dann zeigt wird mir die Änderung auch richtig angezeigt.

Viele Grüße
Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 04 Januar 2015, 13:15:50
Hallo Zusammen,

nachdem das Modul nun gut läuft, hab ich ein kleines problem mit dem FHEM Logfile, das Modul schreibt alles mögliche mit dort in rein... Das würde ich gern verhindern... Sämtliche Abfragen des Moduls landen mit im Haupt FHEM Log...

Was kann ich machen damit das nicht passiert?

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 04 Januar 2015, 14:27:17
Hallo Jens,

bei mir habe ich folgendes "attr mykm200 verbose 3" als lokales attr. hinzu gefügt. Damit zeigt er mir nur noch an wenn er keine Verbindung zum KM aufbaut.

Gruß Mark

PS. kannst Du auch auf globalen Level machen.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 05 Januar 2015, 11:08:53
Ja bei mir ist das verbose 3 schon global gesetzt. Das funktioniert auch grundsätzliche für alle devices. Aber bei meinem KM200 Modul landet immer im logfile (los im hauptlog von fhem) alles wenn es sich mit dem KM200 verbindet und die aktuellen werte ausliest.
das sieht dann so aus:
gateway/DateTime
/gateway/instWriteAccess
/heatingCircuits/hc1/activeSwitchProgram
/heatingCircuits/hc1/operationMode
/heatingCircuits/hc1/roomtemperature
/heatingCircuits/hc1/status
/heatingCircuits/hc1/temperatureRoomSetpoint
/heatingCircuits/hc2/activeSwitchProgram
/heatingCircuits/hc2/operationMode
/heatingCircuits/hc2/pumpModulation
/heatingCircuits/hc2/roomtemperature
/heatingCircuits/hc2/status
/heatingCircuits/hc2/temperatureRoomSetpoint
/heatSources/actualCHPower
/heatSources/actualDHWPower
/heatSources/actualPower
/heatSources/gasAirPressure
/heatSources/nominalCHPower
/heatSources/nominalDHWPower
/heatSources/numberOfStarts
/heatSources/powerSetpoint
/heatSources/powerSetpoint
/heatSources/returnTemperature
/heatSources/systemPressure
/solarCircuits/sc1/collectorTemperature
/solarCircuits/sc1/pumpModulation
/solarCircuits/sc1/solarYield
/solarCircuits/sc1/status
/system/appliance/actualPower
/system/appliance/CHpumpModulation
/system/appliance/flameCurrent
/system/appliance/gasAirPressure
/system/appliance/nominalBurnerLoad
/system/appliance/numberOfStarts
/system/appliance/powerSetpoint
/system/appliance/systemPressure
/system/healthStatus
/system/sensors/temperatures/chimney
/system/sensors/temperatures/hotWater_t1
/system/sensors/temperatures/hotWater_t2
/system/sensors/temperatures/outdoor_t1
/system/sensors/temperatures/return
/system/sensors/temperatures/supply_t1
/system/sensors/temperatures/supply_t1_setpoint
/system/sensors/temperatures/switch
Finished

Und das macht mein ganzes Logfile unübersichtlich

gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 Januar 2015, 12:54:37
Ja bei mir ist das verbose 3 schon global gesetzt. Das funktioniert auch grundsätzliche für alle devices. Aber bei meinem KM200 Modul landet immer im logfile (los im hauptlog von fhem) alles wenn es sich mit dem KM200 verbindet und die aktuellen werte ausliest.
das sieht dann so aus:
gateway/DateTime
/gateway/instWriteAccess
[CUT]
Und das macht mein ganzes Logfile unübersichtlich

gruß
Jens


Hallo Jens

Das sollte eigentlich nicht sein, aber ich schau mir das mal an...

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 05 Januar 2015, 14:38:33
Hallo Gemeinde,

habe die Version 1 des Wiki Eintrages nun erstellt. Ist unter folgendem Begriff in FHEMWiki "Buderus Web Gateway" abrufbar.
Ich bitte euch nun mich dabei zu unterstützen diesen Eintrag fertig zu bekommen. Habe bewusst noch UNDER CONSTRUCTION dran geschrieben.

Die wesentlichen Sachen sind bereits drin, es gibt aber Luft nach oben.....  ;)

Danke vorab und viel Spaß beim lesen.

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 06 Januar 2015, 21:39:46
Ja bei mir ist das verbose 3 schon global gesetzt. Das funktioniert auch grundsätzliche für alle devices. Aber bei meinem KM200 Modul landet immer im logfile (los im hauptlog von fhem) alles wenn es sich mit dem KM200 verbindet und die aktuellen werte ausliest.
das sieht dann so aus:
gateway/DateTime
/gateway/instWriteAccess
[CUT]
/sensors/temperatures/supply_t1_setpoint
/system/sensors/temperatures/switch
Finished

Und das macht mein ganzes Logfile unübersichtlich

gruß
Jens

Hallo Jens,

ich kann mir das nicht erklaeren, da diese Anzeige ausschliesslich in der Console auftauchen soll und auch nur dann, wenn das Attribut ConsoleMessage auf "1" gesetzt wurde.

Aber auf keinem Fall im LogFile

Nichts desto trotz habe ich einen Bug um dieses Attribut gefunden und bereinigt.

Schau mer mal...

Version 1.25

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 07 Januar 2015, 08:36:34
habe die Version 1 des Wiki Eintrages nun erstellt. Ist unter folgendem Begriff in FHEMWiki "Buderus Web Gateway" abrufbar.

Hallo, ich finde es gut. Der Anfang ist gemacht.

@Sailor: Kannst du dann deine aktuelle Version zukünftig im Wiki verlinken?

Gruß
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 07 Januar 2015, 10:01:39
Hallo zusammen und frohes neues Jahr!

bei mir läuft das Modul auch noch immer hervorragend. Ich musste allerdings das Pollingtimeout noch weiter erhöhen, da ich Pingzeiten bis 30ms sehe - warum auch immer. Ich habe das Pollingtimeout erstmal auf 100ms gesetzt und einen switch bestellt, weil ich eh mehr ports brauche, als meine Fritzbox bietet. Vielleicht werden die Pingzeiten ja damit besser.
Hat es eigentlich Nachteile, wenn man das Pollingtimeout so hoch setzt?

Das mit den ganzen Konsolenmessages im Logfile hatte ich vor einiger Zeit auch mal. Ich habe es aber nicht nachverfolgt und es war bald wieder weg...

Viele Grüße
frankbatzen
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 07 Januar 2015, 13:01:34
Hallo, ich finde es gut. Der Anfang ist gemacht.

@Sailor: Kannst du dann deine aktuelle Version zukünftig im Wiki verlinken?

Gruß

Hallo Fred

Viel besser: Das km200 Module ist ab soeben Teil des offiziellen fhem Repositories!!!  ;D ;D ;D

Mal schauen, ab wann das Modul heute oder morgen per Update Befehl an die user verteilt wird! 8)

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 08 Januar 2015, 11:02:56
Hallo, ich finde es gut. Der Anfang ist gemacht.

@Sailor: Kannst du dann deine aktuelle Version zukünftig im Wiki verlinken?

Gruß

Hallo Fred

habe angefangen die ersten Zusatz-Informationen einzupflegen.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 08 Januar 2015, 11:52:51
Viel besser: Das km200 Module ist ab soeben Teil des offiziellen fhem Repositories!!!  ;D ;D ;D

Hi Sailor.

Sehr geil....  ;D

Grüße
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 08 Januar 2015, 12:48:24
Hallo zusammen,

Wird set heute morgen über update angeboten.

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 08 Januar 2015, 12:54:20
Hallo Jens,

ich kann mir das nicht erklaeren, da diese Anzeige ausschliesslich in der Console auftauchen soll und auch nur dann, wenn das Attribut ConsoleMessage auf "1" gesetzt wurde.

Aber auf keinem Fall im LogFile

Nichts desto trotz habe ich einen Bug um dieses Attribut gefunden und bereinigt.

Schau mer mal...

Version 1.25

Gruss
   Sailor

Hallo Matthias,

also ich habe das Modul mal aus dem offiziellen rep. genommen und teste gerad. Was mir in dem Zusammenhang noch auffällt: Manchmal stürzt mein FHEM in Verbindung mit dem Modul immer noch ab, ich muß dann im Modul diese Zeilen auskommentieren (immer noch):

# "/heatSources/CHpumpModulation",
# "/heatSources/flameCurrent",
# "/heatSources/flameStatus",

Kann man das eventuell noch über ein Attribut lösen? So in etwa attrib dontuse heatsourde/flameStatus .... (oder ähnlich?).

Das Pollingtimeout habe ich auf 20 gesetzt, damit scheint es ansonsten zuverlässig zu funktionieren.
(Ich habe hier sonst keine Netzwerkprobleme (pingzeiten etc....)

Gruß
Jens
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 09 Januar 2015, 07:59:11
Hallo Jens

Kann man das eventuell noch über ein Attribut lösen? So in etwa attrib dontuse heatsourde/flameStatus ....

Das ist ne gute Idee!!!
Die werde ich mal umgehend umsetzen!

Damit kann man auch die ganzen überflüssigen Services aus dem Polling schmeissen.
Eine Rücklauftemperatur von -32000°C macht nun wirklich keinen Sinn!  ;D

Dadurch werden auch die Liste der Readings kleiner...

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Jens_B am 09 Januar 2015, 13:30:48
Hallo Zusammen,

ich wollte noch mal eine Rückmeldung geben:
Also das Logfile von fhem wird bei mir mit der aktuellen Modulversion (die über das rep. verteilte) nicht mehr vollgeschrieben, alles gut also :-)
Abstürze habe ich zur Zeit auch keine mehr (nachdem ich die 3 genannten Dinge auskommentiert habe).
Pollingtimeout habe ich auf 30ms gesetzt.
Ich hab die Vermutung, das mein KM200 einfach manchmal mit der "Lieferung" der Daten nicht nachkommt. Wobei ich Netzwerkseitig sonst im gesamten Netz keine Timing/Ping Probleme habe. Nur das KM200 hat manchmal zu lange Antwortzeiten (unabhängig an welchem Netzwerkanschluß her bei mir Hause).

Sehr schön, das Modul. Danke noch mal an Sailor.

Gruß
Jens

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 09 Januar 2015, 20:30:10
Hallo,

nachdem mir mein Produktivsystem immer mit dem Modul abgeschmirt ist, habe ich mir nun eine baugleiche virtuelle Maschine zum testen hochgezogen.

Ich nutze ubuntu 14 server. Alle Perl Module sind entsprechend nachinstalliert. Ich starte fhem mit einer minimalen Konfiguration (basics nach setup) und dem budus gateway. Ohne dem gateway geht fhem an und läuft problemlos. Aktivierte ich das km200 Modul stürtzt fhem ab und ist nicht erreichbar. In der Konsole erhalte ich folgemnde Fehlermeldung: encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line 904.

Zunäcchst dacchte ich an die genannten drei Zeilen, welche eventuell auch bei mir nicht laufen könnten:
#   "/heatSources/CHpumpModulation",
#   "/heatSources/flameCurrent",
#   "/heatSources/flameStatus",
auskommentiert. Das war es leider nicht.

Irgendjemand eine Idee? Kann es an den Perl Modulen liegen, da ich kein pi sondern einen ubuntu server mit den Modulen auch den apt sourcen nutze?
Danke

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 09 Januar 2015, 23:14:25
Hallo zusammen,
habe eben auch die ersten Erfahrungen mit dem km200 Modul gemacht.
Mein FHEM läuft auf einem Rasperry PI, die Installation des KM200 Moduls habe ich wie in der WIKI beschrieben gemacht.
FHEM ist danach immer abgestürzt.
Nachdem ich wie oben erwähnt die drei Zeilen aus 73_km200.pm  auskommentiert habe stürzt das System noch immer ab.

Ich bekomme auf der Kommandozeile nach Start von FHEM noch folgende Meldungen:
1. "Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm line 553, <$fh> line 65."
Diese Meldung kommt kurz nach FHEM Start
2. "Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1272."
Diese Meldung kommt einige Zeit später, ich hatte da auch schon an der FHEM Oberfläche aktivitäten mit dem KM Modul gestartet.

Ausserdem habe ich noch nicht so richtig verstanden, wie ich die eigentlichen Info's aus dem Heizungssystem an die FHEM Oberfläche bekomme, vielleicht gibt es ja irgendwo eine Beispiel Config.
Ich habe bisher nur folgende Befehle in der FHEM.cfg:
reload 73_km200.pm
define heizung km200 192.168.178.22
<und dann die beiden Passwörter>
attr heizung IntervalDynVal 90
attr heizung IntervalStatVal 3600
attr heizung PollingTimeout 5
attr heizung ConsoleMessage 0
attr heizung room Heizung


Vielleicht kann jemand helfen.

Gruß
Claus
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 10 Januar 2015, 08:34:27
Hallo,

nachdem mir mein Produktivsystem immer mit dem Modul abgeschmirt ist, habe ich mir nun eine baugleiche virtuelle Maschine zum testen hochgezogen.

Ich nutze ubuntu 14 server. Alle Perl Module sind entsprechend nachinstalliert. Ich starte fhem mit einer minimalen Konfiguration (basics nach setup) und dem budus gateway. Ohne dem gateway geht fhem an und läuft problemlos. Aktivierte ich das km200 Modul stürtzt fhem ab und ist nicht erreichbar. In der Konsole erhalte ich folgemnde Fehlermeldung: encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line 904.

Zunäcchst dacchte ich an die genannten drei Zeilen, welche eventuell auch bei mir nicht laufen könnten:
#   "/heatSources/CHpumpModulation",
#   "/heatSources/flameCurrent",
#   "/heatSources/flameStatus",
auskommentiert. Das war es leider nicht.

Irgendjemand eine Idee? Kann es an den Perl Modulen liegen, da ich kein pi sondern einen ubuntu server mit den Modulen auch den apt sourcen nutze?
Danke

Guten Morgen Baumeister,

liegt sicherlich nicht an ubuntu server, mein FHEM läuft darauf ohne Probleme.

Mach mal bitte folgendes, gebe über Terminal folgenden Befehl ein. "copy und paste"

perl -MExtUtils::Installed -e'$m=ExtUtils::Installed->new();
for($m->modules()){my$v=$m->version($_)||"-";
printf("%-10s %-50s\n",$v,$_);}'

Du solltest dann folgende Darstellung bekommen.

perl -MExtUtils::Installed -e'$m=ExtUtils::Installed->new();
> for($m->modules()){my$v=$m->version($_)||"-";
> printf("%-10s %-50s\n",$v,$_);}'

Diese " > printf(xxx" noch mit Enter bestätigen und es sollten alle installierten perl Module angezeigt werden.

Bei mir sind es die folgenden.

1.7014     App::cpanminus                                   
1.12       Crypt::Rijndael                                   
2.53       Digest::MD5                                       
0.008      ExtUtils::Config                                 
0.022      ExtUtils::Helpers                                 
0.010      ExtUtils::InstallPaths                           
0.25       Hook::LexWrap                                     
2.002      IO::Socket::SSL                                   
2.90       JSON                                             
6.08       LWP                                               
0.33       List::MoreUtils                                   
3.14       MIME::Base64                                     
0.039      Module::Build::Tiny                               
6.07       Net::HTTP                                         
v6.0.1     Net::SNMP                                         
5.18.2     Perl                                             
3.34       Test::Harness                                     
2.02       Test::Manifest                                   
1.9726     Time::HiRes                                       
0.05       use

Gruß Mark
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Whosdrunk am 10 Januar 2015, 10:33:15
Hallo. Ich bin auf das Forum gestoßen, da ich die KM 200 mit meiner neuen Heizung verbaut habe. Allerdings gibt mir das Teil oft utopische Werte in der pro App, absolut irre.
Mein laienhafte Frage... Stellt das, was ihr hier macht, auch eine Verbesserung des KM200 Moduls dar, mit welchem ich auch einen Gewinn in meiner App hätte, oder ist das nur etwas für eure FHEM Sache?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 10 Januar 2015, 13:16:06
Hallo,

ok, ich habe
perl -MExtUtils::Installed -e'$m=ExtUtils::Installed->new();
for($m->modules()){my$v=$m->version($_)||"-";
printf("%-10s %-50s\n",$v,$_);}'

probiert. Da zunächst nur per
5.18.2     Perlausgegeben wurde bin ich stutzig geworden. Ich hatte die Perl Module allerdings nur über apt und nicht über cpan installiert. Allerdings standen mir die Module strotzdem zur Verfügung. Ich das habe ich nun umgestellt (analog Wiki). Jetzt werden mir diese Module, wie angegeben angezeigt:
1.12       Crypt::Rijndael
2.53       Digest::MD5
0.042      Exporter::Tiny
7.04       ExtUtils::MakeMaker
2.90       JSON
6.08       LWP
0.402      List::MoreUtils
3.14       MIME::Base64
6.07       Net::HTTP
5.18.2     Perl
2.02       Test::Manifest
1.9726     Time::HiRes

Wenn ich fhem nun mit
define Buderus_KM200_Neu km200 <IP> <PW> <PW>
attr Buderus_KM200_Neu IntervalDynVal 50
attr Buderus_KM200_Neu IntervalStatVal 800
attr Buderus_KM200_Neu Pollingtimeout 20
 ConsoleMessage 0:aus 1:an
attr Buderus_KM200_Neu ConsoleMessage 1
starte erhalte ich trotzdem die  Fehlermeldung: encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line 904.

Hast Du noch irgendwas gemacht was nicht im Wiki steht? Das Perl Modul HttpUtils wird bei mir nicht in cpan gefunden. Kann es daran liegen? Danke
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 10 Januar 2015, 13:18:10
Ergänzung. Die Fehlermeldung ist nun etwas anders:

encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line 904, <$fh> line 40.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: frankbatzen am 11 Januar 2015, 08:55:01
Hallo Raspii,

Deine Fehlermeldung beim FHEM-Absturz liest sich wie das, was ich bekomme, wenn das KM200-Modul nicht rechtzeitig Werte liefert. Ich würde mal versuchsweise das Pollingtimeout hochsetzen. Momentan habe ich es auf übertriebenen 100ms und es läuft stabil.

Gruß
frankbatzen
(wusste gar nicht, dass man das Pollingtimeout per attr setzen kann, habe es bislang immer im KM200-Modul direkt geändert.)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Whosdrunk am 11 Januar 2015, 16:07:00
Hi, sorry wenn ich nochmal dazwischenplapper. Aber kann mirjemand ganz kur den Post gestern 10:33 beantworten? Dann bin ich auch wieder weg  :)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 11 Januar 2015, 19:23:33
Hallo frankbatzen,
habe eben das Pollingtimeout auf 200 gesetzt, bis jetzt (10min) ist nichts passiert, d.h. sieht gut aus.
Wundert mich eigentlich auch nicht, das Zusammenspiel vom KM200 Modul mit der Buderus App ist auch "Sau lahm".

So, bleibt nur noch zu hoffen, das jemand die Antwort auf meine zweite Frage kennt:
Ausserdem habe ich noch nicht so richtig verstanden, wie ich die eigentlichen Info's aus dem Heizungssystem an die FHEM Oberfläche bekomme, vielleicht gibt es ja irgendwo eine Beispiel Config.
Ich möchte im ersten Ansatz nur den Solarertrag sowie die Aussentemperatur über die Zeit darstellen, falls jemand einen Blog kennt bei dem das schon dargestellt sag ich schonmal Danke für den Link.

frankbatzen: acuh Dir schonmal vielen Dank, läuft immer noch.

Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 12 Januar 2015, 06:53:41
Guten Morgen zusammen

Hier ist ja mächtig was los!  ;D

Ich fasse mal zusammen

RaspII
Fehlermeldung: "Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm line 553, <$fh> line 65."
Lösung: Pollingtimeout auf 200 gesetzt
Ursache: Langsame Antworten seitens KM200 bzw. Langsames Heimnetz.
Status: Problem gelöst


baumeister
Fehlermeldung: "encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line 904, <$fh> line 40."
Lösung: ?
Ursache: ?
Status: Problem besteht
Frage: a) Welches Modul, b) Welche Heizungssteuerung, c) Welche Heizung

Anmerkungen: Die erwähnten Services " /heatSources/flameCurrent,   /heatSources/flameStatus" gibt es unter verschiedenen Unterverzeichnissen 2-mal. Mal suchen und ebenfalls auskommentieren.

Problemsuche: Bis zur neuen Version warten und ConsoleMessage = 1 setzen, und fhem in neuem PUTTY Fenster stoppen, neu starten und Bildschirmauszug posten.



Habe gerade die neuste Version auf der Test-Bench... Sie erlaubt mit einem neuen Attribut diverse Services gar nicht erst abzurufen.
Somit muss man nicht nach jedem neuen Update seine problematischen Services direkt im Modul erneut auskommetieren.
ETA: 15.01.2015

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 12 Januar 2015, 10:30:46
Allerdings gibt mir das Teil oft utopische Werte in der pro App, absolut irre.
Mein laienhafte Frage... Stellt das, was ihr hier macht, auch eine Verbesserung des KM200 Moduls dar, mit welchem ich auch einen Gewinn in meiner App hätte, oder ist das nur etwas für eure FHEM Sache?

Hallo Whosdrunk,

Die utopischen Werte kommen meist daher, das der EMS Bus seine Geräte abfragt und dann keinen Rückwert bekommt. Beispiel WW. Ist kein WW installiert, bekommst du hier diesen negativen Wert von -32768.
Da du dann aber kein WW hast, insteressiert dich der Wert ja auch nicht.

Zum Thema App: Damit meinst du die Buderus App, oder? Diese hat mit dem KM Modul von Sailor nichts zu tuen. Da muss Buderus ran. Hier geht es nur um Fhem.

Gruß
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 12 Januar 2015, 15:02:10
Hallo Sailer,

hier mein erstes Feedback

Frage:
a) Welches Modul, km200
b) Welche Heizungssteuerung RC 35,
c) Welche Heizung GB162-15

fhem läuft in der aktuellen version auf einem Ubuntu 14.4

Die Services habe ich testweise auskommentiert. Bringt aber keine Besserung. Der Error wird mir nur in der Console ausgegeben. Fhem ist nach dem aktivieren der Konfiguration sofort tot. Danke
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Whosdrunk am 12 Januar 2015, 17:55:03
Hallo Whosdrunk,

Die utopischen Werte kommen meist daher, das der EMS Bus seine Geräte abfragt und dann keinen Rückwert bekommt. Beispiel WW. Ist kein WW installiert, bekommst du hier diesen negativen Wert von -32768.
Da du dann aber kein WW hast, insteressiert dich der Wert ja auch nicht.

Zum Thema App: Damit meinst du die Buderus App, oder? Diese hat mit dem KM Modul von Sailor nichts zu tuen. Da muss Buderus ran. Hier geht es nur um Fhem.

Gruß
Fred

Ok Dank. Aber die komischen Werte sind auch da, wo ich die Sachen installiert habe. WW ist installiert, etc.
Schade, hatte mich schon so gefreut Hilfe zu finden.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 12 Januar 2015, 18:59:32
Hi nochmal,
Bitte habt Verständnis das ich nochmal nachhake:
Trotz Lesen des kompletten Blogs habe ich noch nicht verstanden wie ich z.B. den Temperaturverlauf des Aussenfühlers etc. In FHEM darstellen kann.
Hat mir jemand eine Beispielkonfig, einen Link auf eine Doku oder evt. ein "Schlagwort" woraus ich ersehen kann wie das funktioniert.
Bin diesbzgl. Anfänger würde mich hier künftig aber auch gerne mehr einbringen (Testen,Wiki etc).
Gruß RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 12 Januar 2015, 22:54:17
Hallo RaspII,

Hi nochmal,
Bitte habt Verständnis das ich nochmal nachhake:
Trotz Lesen des kompletten Blogs habe ich noch nicht verstanden wie ich z.B. den Temperaturverlauf des Aussenfühlers etc. In FHEM darstellen kann.
Hat mir jemand eine Beispielkonfig, einen Link auf eine Doku oder evt. ein "Schlagwort" woraus ich ersehen kann wie das funktioniert.
Bin diesbzgl. Anfänger würde mich hier künftig aber auch gerne mehr einbringen (Testen,Wiki etc).
Gruß RaspII

Ich habe meine Temperaturen in einer ReadingsGroup, der erste Eintrag (outdoor_t1) kommt vom km200:

define Klima readingsGroup buderus_kessel:<%temp_temperature>,<Aussentemp.>,/system/sensors/temperatures/outdoor_t1 wz_hms100tf:<%temp_temperature>,<Wohnzimmer>,temperature BO_Temp:<%temp_temperature>,<B&uuml;;ro>,temp Stromverbrauch:<%measure_current>,<Stromverbrauch>,state
attr Klima group _Klima_
attr Klima room 40_keller
attr Klima valueStyle style="text-align:right"

Vielleicht hilft es dir weiter.

[Edit]:
Das Logfile habe ich wie folgt definiert, daraus kann man mit dem Plotteditor schöne Plotts erzeugen:
define FileLog_buderus_kessel FileLog /volumeUSB1/usr/local/FHEM/var/log/buderus_kessel-%Y-%m.log buderus_kessel
attr FileLog_buderus_kessel room 90_logfiles

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 12 Januar 2015, 23:54:59
Hi,
danke für den Tipp.
Bei mir sieht das jetzt wie folgt aus:
reload 73_km200.pm
define heizung km200 <IP ADR> <SYS PW> <User PW>
attr heizung IntervalDynVal 90
attr heizung IntervalStatVal 3600
attr heizung PollingTimeout 200
attr heizung ConsoleMessage 0
attr heizung room Heizung

define Klima readingsGroup heizung:<%temp_temperature>,<Aussentemp.>,/system/sensors/temperatures/outdoor_t1
attr Klima group _Klima_
attr Klima room Heizung
attr Klima valueStyle style="text-align:right"


Damit bekomme ich jetzt ein schönes Icon aber noch keine Werte (siehe Anhang).
Werde mich jetzt mal in "readingsGroup" einlesen.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Dann noch was bzgl. dem ursprünglich von mir gemeldeten beiden Fehlern und FHEM Absturz.
Beides ist heute trotz hohen Timeout Werten wieder aufgetreten.
1. "Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm line 553, <$fh> line 65."
Diese Meldung kommt kurz nach FHEM Start
2. "Can't use an undefined value as an ARRAY reference at ./FHEM/73_km200.pm line 1272."
Diese Meldung kommt einige Zeit später, ich hatte da auch schon an der FHEM Oberfläche aktivitäten mit dem KM Modul gestartet.


Ich habe etwas herumgespielt.
Die Fehlermeldungen und der Absturz scheinen nur zu kommen, wenn ich FHEM mit aktivierem KM200 Modul in der CFG-Datei neu starte.
Starte ich FHEM ohne aktiviertes KM200 Modul und aktiviere es dann in der FHEM.CFG und speichere diese wieder ab, gibt es keine Fehlermeldungen und auch keinen Absturz (3x versucht).
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gruß
RaspII


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 13 Januar 2015, 10:58:06
Ok Dank. Aber die komischen Werte sind auch da, wo ich die Sachen installiert habe. WW ist installiert, etc.
Schade, hatte mich schon so gefreut Hilfe zu finden.

Hallo Whosdrunk

was steht denn für ein Wert beim Service
"/system/sensors/temperatures/hotWater_t1"
oder
"/system/sensors/temperatures/hotWater_t2"?

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 13 Januar 2015, 21:01:44
Hallo RaspII,

Hi,
danke für den Tipp.
Bei mir sieht das jetzt wie folgt aus:
reload 73_km200.pm
define heizung km200 <IP ADR> <SYS PW> <User PW>
attr heizung IntervalDynVal 90
attr heizung IntervalStatVal 3600
attr heizung PollingTimeout 200
attr heizung ConsoleMessage 0
attr heizung room Heizung

define Klima readingsGroup heizung:<%temp_temperature>,<Aussentemp.>,/system/sensors/temperatures/outdoor_t1
attr Klima group _Klima_
attr Klima room Heizung
attr Klima valueStyle style="text-align:right"


Sieht dein Reading "heizung" so ähnlich aus wie auf dem angehängten Screenshot?
Wenn ja sollte es auch /system/sensors/temperatures/outdoor_t1 geben und angezeigt werden.

Starte ich FHEM ohne aktiviertes KM200 Modul und aktiviere es dann in der FHEM.CFG und speichere diese wieder ab, gibt es keine Fehlermeldungen und auch keinen Absturz (3x versucht).

Ich habe exakt das gleich Verhalten. Mein FHEM läuft auf einem Synology NAS. Habe mich schon daran gewöhnt  :)

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 13 Januar 2015, 21:21:04
Hi,
nein, ich sehe die Reading in dieser Art gar nicht.
Mir fehlt hier irgend ein wichtiger Parameter?

An das Fehlverhalten kann ich mich nicht gewöhnen, vielleicht gibts ja noch eine Lösung :-\
Ach ja, bei mir läuft das System natürlich auf dem Raspberry PI (B+).

Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 13 Januar 2015, 23:17:45
Hallo RaspII,

Hi,
nein, ich sehe die Reading in dieser Art gar nicht.
Mir fehlt hier irgend ein wichtiger Parameter?

sieht nicht so aus als wenn gepollt wird.

Hast du FHEM schon mal von der Console gestartet, kommen da Meldungen?
Die Vorgehensweise um von der Console zu starten wurde in diesem Thread schon mal beschrieben.

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 13 Januar 2015, 23:24:23
Hi,
schau ich mir in den nächsten Tagen an (bin müde).
muss man eigentlich keinen ActionDetector wie z.b. bei Homematic Devices definieren oder wird das alles durch die ReadingsGroup getriggert?

Bei Homematic brauche ich folgende Anweisungen, damit die Infos aufbereitet werden
define ActionDetector CUL_HM 000000
attr ActionDetector event-on-change-reading .*
attr ActionDetector model ActionDetector


Gruß
Claus
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 14 Januar 2015, 09:10:34
Hallo RaspII,

sieht nicht so aus als wenn gepollt wird.

Hast du FHEM schon mal von der Console gestartet, kommen da Meldungen?
Die Vorgehensweise um von der Console zu starten wurde in diesem Thread schon mal beschrieben.

Grüße
Rainer

Hallo ergerd
Danke, dass Du mir bei dem Großteil des Supports hilfst!


Hallo RaspII,
- Führe mal den fhem Befehl "update" aus
- Setze mal in der fhem.cfg das Attribut "ConsoleMessage" auf "1",
- speicher die fhem.cfg ab
- gehe in die Console und tippe mal

sudo service fhem stopgefolgt von
sudo service fhem start
Was wird in der Console angezeigt?

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 14 Januar 2015, 11:32:45
Hallo Sailor,

Danke, dass Du mir bei dem Großteil des Supports hilfst!

ich hoffe du nimmst mir das nicht übel (nehem ich aber auch nicht an).
Dieses Modul gehört zu den Highlights in meinem FHEM, den Entwickler(n) zolle ich größten Respekt.
Da ich so ziemlich von Anfang an das Modul nutze habe ich mir erlaubt auf die unbeantworteten Fragen von RaspII zu antworten.  :)

Grüße
Rainer
 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 14 Januar 2015, 11:59:02
Hallo Sailor, ich hoffe du nimmst mir das nicht übel (nehem ich aber auch nicht an).

Hallo Rainer

das war absolut ernst gemeint.  Ich komme vor JOB und Bugfix nicht auch noch dazu.

Gruß
    Sailor

PS: Version 0036 ist im Update. Man kann jetzt auch geziehlt Services bzw. Readings ausschließen.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Magic01 am 14 Januar 2015, 15:49:49
Hi,

danke für das Update!


PS: Version 0036 ist im Update. Man kann jetzt auch geziehlt Services bzw. Readings ausschließen.

Schön wäre es noch, wenn man bei dem DoNotPoll auch einen ganzen Zweig angeben könnte wie z.b. solarCircuits - würde die Übersichtlichkeit erhöhen, wenn man z.b. kein Solar an der Buderus hat.

Grüße
Markus
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 14 Januar 2015, 20:14:10
Hallo Sailor,

auch mit der neuen Version erhalte ich weiterhin die Fehlermeldung encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line 930, <$fh> line 40. (Nur die Zeilennummern sind anders.)

line 40 die die Zeile in meiner fhem.cfg mit dem km200 define.

Wenn man die Fehlermeldung googlet gibt es ein paar infos dazu, welche dieses Problem mit dem Crypt::Rijndael beschreiben.
vgl.
http://www.perlmonks.org/?node_id=714030
http://stackoverflow.com/questions/15291176/how-can-i-decrypt-the-data-which-size-is-not-multiple-of-block-size

Mein Wissen bzgl. Verschlüsselung reicht hier leider nicht aus, um da weiter zu kommen. Eventuell kannst Du damit estwas anfangen. Danke.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 14 Januar 2015, 21:47:59
Hallo RaspII,
- Führe mal den fhem Befehl "update" aus
- Setze mal in der fhem.cfg das Attribut "ConsoleMessage" auf "1",
- speicher die fhem.cfg ab
- gehe in die Console und tippe mal

sudo service fhem stopgefolgt von
sudo service fhem start
Was wird in der Console angezeigt?

Gruß
   Sailor


Hallo Sailer,
den stop von FHEM habe ich direkt über die FHEM Oberfläche (Shutdown) gemacht, ansonsten alles wie von Dir gewünscht. Hier das Ergebnis:

pi@raspberrypi ~/culfw/code/trunk/culfw/Devices $ sudo service fhem start
Starting fhem...
pi@raspberrypi ~/culfw/code/trunk/culfw/Devices $ Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm line 570, <$fh> line 56.


Sounding and importing of services started
The following Service CANNOT be read              : /
The following Service CANNOT be parsed by JSON    : /gateway
The following Service CANNOT be parsed by JSON    : /gateway/DateTime
The following Service CANNOT be parsed by JSON    : /gateway/instAccess
The following Service CANNOT be parsed by JSON    : /gateway/instWriteAccess
The following Service CANNOT be parsed by JSON    : /gateway/uuid
The following Service CANNOT be parsed by JSON    : /gateway/versionFirmware
The following Service CANNOT be parsed by JSON    : /gateway/versionHardware
The following Service CANNOT be parsed by JSON    : /heatingCircuits
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc1
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc1/activeSwitchProgram
The following Service CANNOT be read              : /heatingCircuits/hc1/actualSupplyTemperature
The following Service CANNOT be read              : /heatingCircuits/hc1/controlType
The following Service CANNOT be read              : /heatingCircuits/hc1/currentOpModeInfo
The following Service CANNOT be read              : /heatingCircuits/hc1/currentRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc1/designTemp
The following Service CANNOT be read              : /heatingCircuits/hc1/fastHeatupFactor
The following Service CANNOT be read              : /heatingCircuits/hc1/heatCurveMax
The following Service CANNOT be read              : /heatingCircuits/hc1/heatCurveMin
The following Service CANNOT be read              : /heatingCircuits/hc1/manualRoomSetpoint
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc1/operationMode
The following Service CANNOT be read              : /heatingCircuits/hc1/pumpModulation
The following Service CANNOT be read              : /heatingCircuits/hc1/roomInfluence
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc1/roomtemperature
The following Service CANNOT be read              : /heatingCircuits/hc1/roomTempOffset
The following Service CANNOT be read              : /heatingCircuits/hc1/setpointOptimization
The following Service CANNOT be read              : /heatingCircuits/hc1/solarInfluence
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc1/status
The following Service CANNOT be read              : /heatingCircuits/hc1/suWiSwitchMode
The following Service CANNOT be read              : /heatingCircuits/hc1/suWiThreshold
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc1/switchPrograms
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc1/temperatureLevels
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc1/temperatureRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc1/temporaryRoomSetpoint
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2/activeSwitchProgram
The following Service CANNOT be read              : /heatingCircuits/hc2/actualSupplyTemperature
The following Service CANNOT be read              : /heatingCircuits/hc2/controlType
The following Service CANNOT be read              : /heatingCircuits/hc2/currentOpModeInfo
The following Service CANNOT be read              : /heatingCircuits/hc2/currentRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc2/designTemp
The following Service CANNOT be read              : /heatingCircuits/hc2/fastHeatupFactor
The following Service CANNOT be read              : /heatingCircuits/hc2/heatCurveMax
The following Service CANNOT be read              : /heatingCircuits/hc2/heatCurveMin
The following Service CANNOT be read              : /heatingCircuits/hc2/manualRoomSetpoint
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2/operationMode
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2/pumpModulation
The following Service CANNOT be read              : /heatingCircuits/hc2/roomInfluence
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2/roomtemperature
The following Service CANNOT be read              : /heatingCircuits/hc2/roomTempOffset
The following Service CANNOT be read              : /heatingCircuits/hc2/setpointOptimization
The following Service CANNOT be read              : /heatingCircuits/hc2/solarInfluence
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2/status
The following Service CANNOT be read              : /heatingCircuits/hc2/suWiSwitchMode
The following Service CANNOT be read              : /heatingCircuits/hc2/suWiThreshold
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2/switchPrograms
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2/temperatureLevels
The following Service CANNOT be parsed by JSON    : /heatingCircuits/hc2/temperatureRoomSetpoint
The following Service CANNOT be read              : /heatingCircuits/hc2/temporaryRoomSetpoint
The following Service CANNOT be parsed by JSON    : /heatSources
The following Service CANNOT be parsed by JSON    : /heatSources/actualCHPower
The following Service CANNOT be parsed by JSON    : /heatSources/actualDHWPower
The following Service CANNOT be parsed by JSON    : /heatSources/actualPower
The following Service CANNOT be read              : /heatSources/actualsupplytemperature
The following Service CANNOT be read              : /heatSources/ChimneySweeper
The following Service CANNOT be parsed by JSON    : /heatSources/CHpumpModulation
The following Service CANNOT be parsed by JSON    : /heatSources/flameCurrent
The following Service CANNOT be parsed by JSON    : /heatSources/flameStatus
The following Service CANNOT be parsed by JSON    : /heatSources/gasAirPressure
The following Service CANNOT be parsed by JSON    : /heatSources/nominalCHPower
The following Service CANNOT be parsed by JSON    : /heatSources/nominalDHWPower
The following Service CANNOT be parsed by JSON    : /heatSources/numberOfStarts
The following Service CANNOT be parsed by JSON    : /heatSources/powerSetpoint
The following Service CANNOT be parsed by JSON    : /heatSources/powerSetpoint
The following Service CANNOT be parsed by JSON    : /heatSources/returnTemperature
The following Service CANNOT be parsed by JSON    : /heatSources/systemPressure
The following Service CANNOT be parsed by JSON    : /heatSources/workingTime
The following Service CANNOT be read              : /heatSources/hs1/energyReservoir
The following Service CANNOT be read              : /heatSources/hs1/reservoirAlert
The following Service CANNOT be read              : /heatSources/hs1/nominalFuelConsumption
The following Service CANNOT be read              : /heatSources/hs1/fuelConsmptCorrFactor
The following Service CANNOT be read              : /heatSources/hs1/actualModulation
The following Service CANNOT be read              : /heatSources/hs1/actualPower
The following Service CANNOT be read              : /heatSources/hs1/fuel
The following Service CANNOT be parsed by JSON    : /notifications
The following Service CANNOT be parsed by JSON    : /recordings
The following Service CANNOT be parsed by JSON    : /recordings/heatingCircuits
The following Service CANNOT be parsed by JSON    : /recordings/heatingCircuits/hc1
The following Service CANNOT be parsed by JSON    : /recordings/heatingCircuits/hc1/roomtemperature
The following Service CANNOT be parsed by JSON    : /recordings/heatSources
The following Service CANNOT be parsed by JSON    : /recordings/heatSources/actualCHPower
The following Service CANNOT be parsed by JSON    : /recordings/heatSources/actualDHWPower
The following Service CANNOT be parsed by JSON    : /recordings/heatSources/actualPower
The following Service CANNOT be parsed by JSON    : /recordings/system
The following Service CANNOT be read              : /recordings/system/heatSources
The following Service CANNOT be read              : /recordings/system/heatSources/hs1
The following Service CANNOT be read              : /recordings/system/heatSources/hs1/actualPower
The following Service CANNOT be parsed by JSON    : /recordings/system/sensors
The following Service CANNOT be parsed by JSON    : /recordings/system/sensors/temperatures
The following Service CANNOT be parsed by JSON    : /recordings/system/sensors/temperatures/outdoor_t1
The following Service CANNOT be parsed by JSON    : /solarCircuits
The following Service CANNOT be read              : /solarCircuits/sc1/
The following Service CANNOT be parsed by JSON    : /solarCircuits/sc1/collectorTemperature
The following Service CANNOT be parsed by JSON    : /solarCircuits/sc1/pumpModulation
The following Service CANNOT be parsed by JSON    : /solarCircuits/sc1/solarYield
The following Service CANNOT be parsed by JSON    : /solarCircuits/sc1/status
The following Service CANNOT be parsed by JSON    : /system
The following Service CANNOT be parsed by JSON    : /system/appliance
The following Service CANNOT be parsed by JSON    : /system/appliance/actualPower
The following Service CANNOT be read              : /system/appliance/actualSupplyTemperature
The following Service CANNOT be read              : /system/appliance/ChimneySweeper
The following Service CANNOT be parsed by JSON    : /system/appliance/CHpumpModulation
The following Service CANNOT be parsed by JSON    : /system/appliance/flameCurrent
The following Service CANNOT be read              : /system/appliance/flameStatus
The following Service CANNOT be parsed by JSON    : /system/appliance/gasAirPressure
The following Service CANNOT be parsed by JSON    : /system/appliance/nominalBurnerLoad
The following Service CANNOT be parsed by JSON    : /system/appliance/numberOfStarts
The following Service CANNOT be parsed by JSON    : /system/appliance/powerSetpoint
The following Service CANNOT be parsed by JSON    : /system/appliance/systemPressure
The following Service CANNOT be parsed by JSON    : /system/appliance/workingTime
The following Service CANNOT be parsed by JSON    : /system/brand
The following Service CANNOT be parsed by JSON    : /system/bus
The following Service CANNOT be parsed by JSON    : /system/healthStatus
The following Service CANNOT be read              : /system/heatSources/
The following Service CANNOT be read              : /system/heatSources/hs1
The following Service CANNOT be read              : /system/heatSources/hs1/actualModulation
The following Service CANNOT be read              : /system/heatSources/hs1/actualPower
The following Service CANNOT be read              : /system/heatSources/hs1/energyReservoir
The following Service CANNOT be read              : /system/heatSources/hs1/fuel
The following Service CANNOT be read              : /system/heatSources/hs1/fuel/density
The following Service CANNOT be read              : /system/heatSources/hs1/fuelConsmptCorrFactor
The following Service CANNOT be read              : /system/heatSources/hs1/nominalFuelConsumption
The following Service CANNOT be read              : /system/heatSources/hs1/reservoirAlert
The following Service CANNOT be read              : /system/info
The following Service CANNOT be read              : /system/minOutdoorTemp
The following Service CANNOT be parsed by JSON    : /system/sensors
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures/chimney
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures/hotWater_t1
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures/hotWater_t2
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures/outdoor_t1
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures/return
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures/supply_t1
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures/supply_t1_setpoint
The following Service CANNOT be parsed by JSON    : /system/sensors/temperatures/switch
The following Service CANNOT be parsed by JSON    : /system/systemType
Sounding and importing of services is completed

___________________________________________________________________________________________________

FHEM stürzt irgendwann im Laufe dieses Proezesses ab, wie immer wenn ich FHEM mit aktiviertem km200 Modul starte.

Das Ergebnis sieht irgendwie gar nicht gut aus.

An dieser Stelle schonmal vielen Dank für die tatkräftige Unterstutzung.

RaspII

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 14 Januar 2015, 22:09:33
Hallo zusammen,
nachdem kein Service erfolg gemeldet hat, habe ich mir nochmal meine Konfiguration angeschaut.

Asche auf mein Haupt !!!!!

ich hatte im Systempasswort ein falsches Zeichen drin.

Jetzt bekomme ich auch die Readings (siehe Anhang, ich glaube die Console Message brauchen wir nicht mehr oder?):

Die Aussentemperatur bekomme ich jetzt auch wie erwartet in die Oberfläche rein.
Das Problem mit dem FHEM Absturz (incl. Fehlermeldungen beim Start von FHEM) scheint damit auch behoben zu sein.

So, für mich ist dann der nächste Schritt, dass ich mir anschaue wie ich das Ganze in eine Darstellung über die Zeit bekomme.

Gruß und nochmal Danke für die Unterstützung (und sorry für Eure verschwendete Zeit)
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: ergerd am 14 Januar 2015, 22:11:48
Hallo RaspII,

ist doch schön das es läuft!

Grüße
Rainer
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 14 Januar 2015, 22:56:36
Da hast Du recht  ;)

ich kann's nicht fassen wie gut das läuft, Ihr habt hier echt gute Arbeit gemacht.
Ich hoffe mal ich bekomme mein Kopp Modul in ähnlicher Qualität hin.

RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 15 Januar 2015, 06:15:08
ich kann's nicht fassen wie gut das läuft, Ihr habt hier echt gute Arbeit gemacht.

Danke für die Blumen!

Ich hoffe mal ich bekomme mein Kopp Modul in ähnlicher Qualität hin.

Dazu sage ich nur: Kommentarzeilen, Kommentarzeilen, Kommentarzeilen
Siehe 73_Km200.pm  ;)

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 15 Januar 2015, 10:07:46
Moin zusammen

Habe das WIKI auf den Neusten Stand gebracht inklusive der Probleme.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 15 Januar 2015, 17:59:17
Hallo zusammen,

habe seit Version 0036 jetzt folgende Meldung nach dem Neustart von FHEM im LOG.

2015.01.15 17:57:03 2: myKm200 : km200 - Unknown attribute: room
2015.01.15 17:57:03 2: myKm200 : km200 - Unknown attribute: verbose

Hat die auch einer von euch?

Gruß Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 15 Januar 2015, 21:05:31
Hallo Sailor,

ich habe es gelöst. Das Gateway war schuld. Es hat immer 2 Bytes mehr zurück gesendet, so dass es nicht mehr duch 16 teilbar war. Somit schlug der decrypt immer fehl. Ich habe es komplett resetet und neu eingerichtet. Jetzt läuft es wie bei allen anderen auch. Danke
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 15 Januar 2015, 22:00:38
Hallo,

könnt Ihr UserReadings zum KM Modul hinzufügen?
Wenn ich das mache (auch leere Readings) schmiert mein Fhem ab. Lösche ich das Attribut wieder aus dem KM Modul, gehts wieder.
Eine genaue Fehlermeldung habe ich noch nicht. Schicke ich noch nach. Ich mach jetzt erst mal ein wenig Fehlersuche. Ich meine aber, das ging vor ein paar Versionen noch...

Gruß
Fred

p.s.: Modul Version ist die 0036
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 16 Januar 2015, 08:04:13
Hallo Sailor,

ich habe es gelöst. Das Gateway war schuld. Es hat immer 2 Bytes mehr zurück gesendet, so dass es nicht mehr duch 16 teilbar war. Somit schlug der decrypt immer fehl. Ich habe es komplett resetet und neu eingerichtet. Jetzt läuft es wie bei allen anderen auch. Danke

Danke fuer die Rueckmeldung.

Nehme ich im WIKI auf.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Norbert.Roller am 16 Januar 2015, 10:13:16
@Sailor: Super Job. Danke !!!

Die Sache mit den Abstürzen scheint bei mir mit dem Abspeichern der fhem.cfg zusammen zu hängen. Nach mehrmals speichern kommt dann auch mit der neusten Version so was:
2015.01.12 18:14:47 1: Including ./log/fhem.save
2015.01.12 18:14:50 2: 303071178 : ERROR: Service: /heatSources/actualDHWPower: No proper Communication with Gateway: read from http://192.168.0.107:80 timed out
2015.01.12 18:14:55 2: 303071178 : ERROR: Service: /gateway/DateTime: No proper Communication with Gateway: http://192.168.0.107/gateway/DateTime: empty answer received
2015.01.12 18:14:56 2: 303071178 : ERROR: Service: /gateway/instWriteAccess: No proper Communication with Gateway: http://192.168.0.107/gateway/instWriteAccess: empty answer received
2015.01.12 18:14:56 2: 303071178 : ERROR: Service: /heatingCircuits/hc1/activeSwitchProgram: No proper Communication with Gateway: http://192.168.0.107/heatingCircuits/hc1/activeSwitchProgram: empty answer received
2015.01.12 18:14:57 2: 303071178 : ERROR: Service: /heatingCircuits/hc1/actualSupplyTemperature: No proper Communication with Gateway: http://192.168.0.107/heatingCircuits/hc1/actualSupplyTemperature: empty answer received

Ein "Shutdown Restart" im Fhem oder der Raspberry Console löst das Problem.

Es scheint auch schlimmer zu werden, wenn man Fehler in der config hat.

Evtl. hilft dir das ja bei der Suche nach den sporadischen Abstürzen.

Zur Vollständigkeit:
Raspberry and GB-Switch, KM200 am gleichen, Einzige wirkliche Anwendung auf dem Raspberry, Auslastung <15%

define 303071178 km200 192.168.x.xxx ...
attr 303071178 ConsoleMessage 0
attr 303071178 IntervalDynVal 60
attr 303071178 IntervalStatVal 3600
attr 303071178 PollingTimeout 200

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Norbert.Roller am 16 Januar 2015, 10:20:04
Ich versuche einzelne Werte in einem Log-File zu speichern um diese dann als Grafik anzuzeigen. Leider will mir das nicht gelingen, obwohl ich das bei anderen Geräte problemlos hinbekomme. Die Kommunikation zum KM200 klappt gut und die Werte stehen somit zur Verfügung.

Der Logfile bleibt immer noch leer  :(

define FileLog_kesseltemp FileLog ./log/kesseltemp-%Y.log BuderusEMS:/heatingCircuits/hc1/actualSupplyTemperature
attr FileLog_kesseltemp logtype text
attr FileLog_kesseltemp room Heizung

Evtl. kann mich ja jemand erleuchten ?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 16 Januar 2015, 11:42:02
Ich versuche einzelne Werte in einem Log-File zu speichern um diese dann als Grafik anzuzeigen. Leider will mir das nicht gelingen, obwohl ich das bei anderen Geräte problemlos hinbekomme. Die Kommunikation zum KM200 klappt gut und die Werte stehen somit zur Verfügung.

Der Logfile bleibt immer noch leer  :(

define FileLog_kesseltemp FileLog ./log/kesseltemp-%Y.log BuderusEMS:/heatingCircuits/hc1/actualSupplyTemperature
attr FileLog_kesseltemp logtype text
attr FileLog_kesseltemp room Heizung

Evtl. kann mich ja jemand erleuchten ?

bei mir klappts mit .* hinter der Definition:

define FileLog_buderus FileLog ./log/buderus-%Y.log mybud:/heatSources/actualCHPower.*
Log sieht dann so aus:

2015-01-16_11:26:11 mybud /heatSources/actualCHPower: 23
2015-01-16_11:29:21 mybud /heatSources/actualCHPower: 31
2015-01-16_11:32:30 mybud /heatSources/actualCHPower: 37
2015-01-16_11:35:40 mybud /heatSources/actualCHPower: 43
2015-01-16_11:38:50 mybud /heatSources/actualCHPower: 50

Gruß
Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: baumeister am 16 Januar 2015, 12:21:50
Hallo,

so nachdem das Modul nun auch endlich bei mir läuft habe ich nach knapp 24 Stunden folgendes festgestellt: Artibute für room, group, fp_Grundriss und devStateIcon sind noch unbekannt werden allerdings trotzdem korrekt berücksichtigt. Colle super, wenn ddas ergänzt werden würde

vgl Auszug aus Logfile:
2015.01.16 12:15:21 2: Buderus_KM200 : km200 - Unknown attribute: devStateIcon
2015.01.16 12:15:21 2: Buderus_KM200 : km200 - Unknown attribute: fp_Grundriss
2015.01.16 12:15:21 2: Buderus_KM200 : km200 - Unknown attribute: group
2015.01.16 12:15:21 2: Buderus_KM200 : km200 - Unknown attribute: room

Eine Frage noch: Ändert sich state automatisch auf error, wenn service /system/healthStatus einen error meldet? Danke
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 16 Januar 2015, 19:52:50
Schön wäre es noch, wenn man bei dem DoNotPoll auch einen ganzen Zweig angeben könnte wie z.b. solarCircuits - würde die Übersichtlichkeit erhöhen, wenn man z.b. kein Solar an der Buderus hat.

Hallo Markus

erledigt: Version 0038 soeben eingecheckt. Duerfte morgen drin sein.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 16 Januar 2015, 20:42:25
könnt Ihr UserReadings zum KM Modul hinzufügen?
Wenn ich das mache (auch leere Readings) schmiert mein Fhem ab. Lösche ich das Attribut wieder aus dem KM Modul, gehts wieder.
Eine genaue Fehlermeldung habe ich noch nicht. Schicke ich noch nach. Ich mach jetzt erst mal ein wenig Fehlersuche. Ich meine aber, das ging vor ein paar

Jo, sorry. Wie immer sitzt das Problem vor der Tastatur.
Semikolon vergessen  :-[ :-X

Grüße
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 17 Januar 2015, 13:42:40

Eine Frage noch: Ändert sich state automatisch auf error, wenn service /system/healthStatus einen error meldet? Danke
Hallo Baumeister
der error Status des Moduls hat nichts mit der healthstatus der Zentralheizung zu tun.

Gruß
   Sailor


Gesendet mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 17 Januar 2015, 16:46:56
Hi,
habe jetzt alles (fast) richtig gut am Laufen (stabil...).

Ich wollte jetzt noch die Warmwassertemperatur im Speicher für Solarkreis 1 abfragen. Der Sensor ist angeschlossen, ich finde den Wert in der Log nicht.
Habe dann Festgestellt, dass 73_km200.pm folgenden Wert nicht pollt:
/solarCircuits/sc1/dhwTankTemperature

Hab dann die 73_km200.pm Datei modifiziert, damit auch dieser Wert abgefragt wird.
Beim Start vom FHEM mit Console Message bekomme ich dann aber folgenden Bericht:
The following Service CANNOT be read              : /solarCircuits/sc1/dhwTankTemperature

Habe auch schon den Sensor abgeklemmt, keiner der Readings ändert sich oder wird unplausibel.
Hat jemand eine Idee welchen Parameter es hier noch geben könnte um diese Temperatur zu lesen?

Auf http://www.ip-symcon.de/wiki/Buderus_KM200 (http://www.ip-symcon.de/wiki/Buderus_KM200) habe ich keine weiteren passenden Infos gefunden.

Der Sensor ist am Solarmodul angeschlossen, ich hätte also erwartet dass man den Wert unter  "/solarCircuits/sc1/" findet.
Oder gibt es eine Möglichkeit der Anlage per Wildcard die verfügbaren Daten zu ntlocken.

Gruß
RaspII
 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 18 Januar 2015, 11:18:28
habe seit Version 0036 jetzt folgende Meldung nach dem Neustart von FHEM im LOG.

2015.01.15 17:57:03 2: myKm200 : km200 - Unknown attribute: room
2015.01.15 17:57:03 2: myKm200 : km200 - Unknown attribute: verbose

Hallo Newbee

war mein Fehler.  :o

Danke!

Habe ich ab Version 0039 korrigiert.  8)

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 18 Januar 2015, 11:23:32
Hallo RaspII

habe jetzt alles (fast) richtig gut am Laufen (stabil...).

Das hoert man gerne!

Ich wollte jetzt noch die Warmwassertemperatur im Speicher für Solarkreis 1 abfragen. Der Sensor ist angeschlossen, ich finde den Wert in der Log nicht.
Habe dann Festgestellt, dass 73_km200.pm folgenden Wert nicht pollt:
/solarCircuits/sc1/dhwTankTemperature

Wo hast Du den Service-Namen denn her?
Diese muss genaustens so im KM200/KM100/KM50 Modul auch angelegt bzw. abrufbar sein.

Ist das Solarmodul SMxxx auch per ems bus am KM Modul verbunden, bzw. duchgeschliffen?

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 18 Januar 2015, 12:41:58
Hallo Newbee

war mein Fehler.  :o

Danke!

Habe ich ab Version 0039 korrigiert.  8)

Gruss
    Sailor

Hallo Sailor,
Hatte ja keine Auswirkung auf die Funktion.
Danke und Gruß
Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 18 Januar 2015, 12:55:57
Hallo Leute,

Modul läuft ohne Probleme. Ab und Zu mal ein com Fehler zum KM200.
Über readingsGroup die wesentlichen Werte zusammengefasst inkl. Health Status System. Error oder ok.
Jetzt würde mich interessieren ob die Buderus Fehlercodes irgendwo abgefragt werden können. z.B. Low System Pressure oder ähnliches.

Ziel wäre dann über ein Reset wie am Button des Brennwertgerät die Anlage wieder zu laufen zu bringen.
oder den Systemdruck Remote zu erhöhen, zweiteres ist aktuell noch etwas Spinnerei.

Ich Glaube aber das nur die Services abgefragt und einige über FHEM geändert werden können, die bei IP-Symcon abgebildet sind.
Ausser einer von euch hat etwas mehr wissen darüber.

Gruß Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 18 Januar 2015, 15:20:23
Mit Nachtrag:

Hallo Sailor,
den Service Namen hatte ich über den Link aus dem Internet (nicht von meiner Anlage)
http://www.ip-symcon.de/wiki/Buderus_KM200 (http://www.ip-symcon.de/wiki/Buderus_KM200)
und dan einfach ausprobiert.

Ja, die Module sind korrekt verdrahtet, als Regler habe ich den RC30, als Solar Modul das SM10.
Am Solarmodul ist neben dem Temperaturfühler für die
"Warmwassertemperatur im Speicher für Solarkreis 1" = "Warmwassertemperatur unten"
noch der Kollektorfühler (/solarCircuits/sc1/collectorTemperature) angeschlossen, diese Temperatur kann ich problemlos lesen (siehe Anhang).

Ziehe ich diesen Temperaturen Sensor (Warmwasser SK1) ab, blinkt an der SM10 eine LED, schalte ich die komplette SM10 am meckert der Regler (RC30).
(soll heißen, die Verdrahtung des EMS Busses funkioniert)

anbei noch ein Auszug meiner Readings (habe ich etwas aufgearbeitet, Kommentare angefügt etc., das mit der Formatierung hat leider nicht so gut geklappt):

Sounding and importing of services started
Polling Message                                                               Pfad                                                                            Wert (Beispiel Read)   Bedeutung   
The following Service can be read and is writeable:          /gateway/DateTime                                                    2015-01-17T01:20:57     Datum und Uhrzeit des Moduls   
The following Service can be read and is writeable:          /gateway/instAccess                                            on      
The following Service can be read and is writeable:          /gateway/instWriteAccess                                    on      
The following Service can be read                 :                   /gateway/uuid                                                            109010219                   UUID des Moduls   
The following Service can be read                 :                   /gateway/versionFirmware                                    01.09.2004                   Firmwareversion des Moduls   
The following Service can be read                 :                   /gateway/versionHardware                                    iCom_Low_v1                   Hardwareversion des Moduls   
The following Service can be read and is writeable:          /heatingCircuits/hc1/activeSwitchProgram            Eigen1                           aktives Heizprogramm (A oder B) für HK1   
The following Service can be read and is writeable:          /heatingCircuits/hc1/operationMode                    auto                           Betriebsmodus (auto/man)   
The following Service can be read                 :                   /heatingCircuits/hc1/roomtemperature                    3200                           Raumtemperatur im Referenzraum für HK1   
The following Service can be read                 :                   /heatingCircuits/hc1/status                                    ACTIVE                           Betriebsanzeige HK1   
The following Service can be read and is writeable:          /heatingCircuits/hc1/temperatureRoomSetpoint    16      
The following Service can be read and is writeable:          /heatingCircuits/hc2/activeSwitchProgram            Familie                            aktives Heizprogramm (A oder B) für HK2   
The following Service can be read and is writeable:          /heatingCircuits/hc2/operationMode                    auto                           Betriebsmodus (auto/man)   
The following Service can be read                 :                   /heatingCircuits/hc2/pumpModulation                    0                                   Modulation der Heizpumpe für HK2   
The following Service can be read                 :                   /heatingCircuits/hc2/roomtemperature                    0                                   Raumtemperatur im Referenzraum für HK2   
The following Service can be read                 :                   /heatingCircuits/hc2/status                                    INACTIVE                           Betriebsanzeige HK2   
The following Service can be read and is writeable:          /heatingCircuits/hc2/temperatureRoomSetpoint    0      
The following Service can be read                 :                   /heatSources/actualCHPower                                    34                                   aktuelle genutzte Leistung des Heizsystems   
The following Service can be read                 :                   /heatSources/actualDHWPower                            34                                   aktuell genutzte Leistung des Warmwassersyst.   
The following Service can be read                 :                   /heatSources/actualPower                                    34                                   aktuelle Brennerleistung   
The following Service can be read                 :                   /heatSources/CHpumpModulation                            100                                   Modulation der Heizpumpe   
The following Service can be read                 :                   /heatSources/flameCurrent                                    6.5      
The following Service can be read                 :                   /heatSources/flameStatus                                    off                                   Brennerstatus (Flamme oder nicht)   
The following Service can be read                 :                   /heatSources/gasAirPressure                                    0                                   anliegender Gasdruck   
The following Service can be read                 :                   /heatSources/nominalCHPower                            24                                   Nominale Leistung des Heizsystems   
The following Service can be read                 :                   /heatSources/nominalDHWPower                            0                                   Nominale Leistung des Warmwassersystems   
The following Service can be read                 :                   /heatSources/numberOfStarts                                    167763                           Anzahl der Brennerstarts   
The following Service can be read                 :                   /heatSources/powerSetpoint                                    123      
The following Service can be read                 :                   /heatSources/returnTemperature                            79.5                           Rücklauftemperatur   
The following Service can be read                 :                   /heatSources/systemPressure                                    1                                   Druck im Heizsystem   
The following Service can be read                 :                   /solarCircuits/sc1/collectorTemperature                    2.8                                   Kollektortemperatur im SC1   
The following Service can be read                 :                   /solarCircuits/sc1/pumpModulation                            0                                     Modulation der Solarpumpe im SC1   
The following Service can be read                 :                   /solarCircuits/sc1/solarYield                                    0                                   Solarertrag im SC1   
The following Service can be read                 :                   /solarCircuits/sc1/status                                            ACTIVE                            Betriebsanzeige SC1   
The following Service can be read                 :                   /system/appliance/actualPower                            34                                   aktuelle Systemleistung   
The following Service can be read                 :                   /system/appliance/CHpumpModulation                    100                                   Modulation der Heizpumpe   
The following Service can be read                 :                   /system/appliance/flameCurrent                            6.5      
The following Service can be read                 :                   /system/appliance/gasAirPressure                            0                                   anliegender Gasdruck   
The following Service can be read                 :                   /system/appliance/nominalBurnerLoad                    2.4                                   Nominale Brennerlast   
The following Service can be read                 :                   /system/appliance/numberOfStarts                       167763                           Brennerstarts   
The following Service can be read                 :                   /system/appliance/powerSetpoint                           123      
The following Service can be read                 :                   /system/appliance/systemPressure                           1                                   Druck im Heizkreislauf   
The following Service can be read                 :                   /system/brand                                                           Buderus                           Herstellerbezeichnung   
The following Service can be read                 :                   /system/bus                                                           EMS1_0                           Bustyp im System   
The following Service can be read                 :                   /system/healthStatus                                           ok                                   Gesamtzustand des Systems   
The following Service can be read                 :                   /system/sensors/temperatures/chimney                   -3276.8                           Abgastemperatur   
The following Service can be read                 :                   /system/sensors/temperatures/hotWater_t1           -3276.8      
The following Service can be read                 :                   /system/sensors/temperatures/hotWater_t2           63.2                                   Warmwassertemperatur an der Entnahme   
The following Service can be read                 :                   /system/sensors/temperatures/outdoor_t1           4.1                                   Außentemperatur   
The following Service can be read                 :                   /system/sensors/temperatures/return                   79.5                                   Rücklauftemperatur   
The following Service can be read                 :                   /system/sensors/temperatures/supply_t1           80.8                                   Vorlauftemperatur   
The following Service can be read                 :                   /system/sensors/temperatures/supply_t1_setpoint 85                                   Temperaturschwelle für Heizsystem (wird im System selbst als "Kessel-Solltemperatur" angegeben)   
The following Service can be read                 :                   /system/sensors/temperatures/switch                   0      
The following Service can be read                 :                   /system/systemType                                           CoreIcomGw                   Bezeichnung des Gateways   
            
            
The following Service CANNOT be read              :            /          
The following Service CANNOT be read              :                /heatingCircuits/hc1/actualSupplyTemperature         
The following Service CANNOT be read              :            /heatingCircuits/hc1/controlType         
The following Service CANNOT be read              :            /heatingCircuits/hc1/currentOpModeInfo         
The following Service CANNOT be read              :            /heatingCircuits/hc1/currentRoomSetpoint         
The following Service CANNOT be read              :            /heatingCircuits/hc1/designTemp         
The following Service CANNOT be read              :            /heatingCircuits/hc1/fastHeatupFactor         
The following Service CANNOT be read              :            /heatingCircuits/hc1/heatCurveMax         
The following Service CANNOT be read              :            /heatingCircuits/hc1/heatCurveMin         
The following Service CANNOT be read              :            /heatingCircuits/hc1/manualRoomSetpoint         
The following Service CANNOT be read              :            /heatingCircuits/hc1/pumpModulation         
The following Service CANNOT be read              :            /heatingCircuits/hc1/roomInfluence         
The following Service CANNOT be read              :            /heatingCircuits/hc1/roomTempOffset         
The following Service CANNOT be read              :            /heatingCircuits/hc1/setpointOptimization         
The following Service CANNOT be read              :            /heatingCircuits/hc1/solarInfluence         
The following Service CANNOT be read              :            /heatingCircuits/hc1/suWiSwitchMode         
The following Service CANNOT be read              :            /heatingCircuits/hc1/suWiThreshold         
The following Service CANNOT be read              :            /heatingCircuits/hc1/temporaryRoomSetpoint         
The following Service CANNOT be read              :            /heatingCircuits/hc2/actualSupplyTemperature         
The following Service CANNOT be read              :            /heatingCircuits/hc2/controlType         
The following Service CANNOT be read              :            /heatingCircuits/hc2/currentOpModeInfo         
The following Service CANNOT be read              :            /heatingCircuits/hc2/currentRoomSetpoint         
The following Service CANNOT be read              :            /heatingCircuits/hc2/designTemp         
The following Service CANNOT be read              :            /heatingCircuits/hc2/fastHeatupFactor         
The following Service CANNOT be read              :            /heatingCircuits/hc2/heatCurveMax         
The following Service CANNOT be read              :            /heatingCircuits/hc2/heatCurveMin         
The following Service CANNOT be read              :            /heatingCircuits/hc2/manualRoomSetpoint         
The following Service CANNOT be read              :            /heatingCircuits/hc2/roomInfluence         
The following Service CANNOT be read              :            /heatingCircuits/hc2/roomTempOffset         
The following Service CANNOT be read              :            /heatingCircuits/hc2/setpointOptimization         
The following Service CANNOT be read              :            /heatingCircuits/hc2/solarInfluence         
The following Service CANNOT be read              :            /heatingCircuits/hc2/suWiSwitchMode         
The following Service CANNOT be read              :             /heatingCircuits/hc2/suWiThreshold         
The following Service CANNOT be read              :            /heatingCircuits/hc2/temporaryRoomSetpoint         
The following Service CANNOT be read              :            /heatSources/actualsupplytemperature         
The following Service CANNOT be read              :            /heatSources/ChimneySweeper         
The following Service CANNOT be read              :            /heatSources/hs1/actualModulation         
The following Service CANNOT be read              :            /heatSources/hs1/actualPower         
The following Service CANNOT be read              :              /heatSources/hs1/energyReservoir         
The following Service CANNOT be read              :            /heatSources/hs1/fuel         
The following Service CANNOT be read              :            /heatSources/hs1/fuelConsmptCorrFactor         
The following Service CANNOT be read              :            /heatSources/hs1/nominalFuelConsumption         
The following Service CANNOT be read              :            /heatSources/hs1/reservoirAlert         
The following Service CANNOT be read              :            /recordings/system/heatSources         
The following Service CANNOT be read              :             /recordings/system/heatSources/hs1         
The following Service CANNOT be read              :            /recordings/system/heatSources/hs1/actualPower         
The following Service CANNOT be read              :            /solarCircuits/sc1/         
The following Service CANNOT be read              :            /system/appliance/actualSupplyTemperature         
The following Service CANNOT be read              :            /system/appliance/ChimneySweeper         
The following Service CANNOT be read              :            /system/appliance/flameStatus         
The following Service CANNOT be read              :              /system/heatSources/         
The following Service CANNOT be read              :             /system/heatSources/hs1         
The following Service CANNOT be read              :            /system/heatSources/hs1/actualModulation         
The following Service CANNOT be read              :            /system/heatSources/hs1/actualPower         
The following Service CANNOT be read              :            /system/heatSources/hs1/energyReservoir         
The following Service CANNOT be read              :             /system/heatSources/hs1/fuel         
The following Service CANNOT be read              :            /system/heatSources/hs1/fuel/density         
The following Service CANNOT be read              :            /system/heatSources/hs1/fuelConsmptCorrFactor         
The following Service CANNOT be read              :            /system/heatSources/hs1/nominalFuelConsumption         
The following Service CANNOT be read              :            /system/heatSources/hs1/reservoirAlert         
The following Service CANNOT be read              :            /system/info         
The following Service CANNOT be read              :            /system/minOutdoorTemp         
Sounding and importing of services is completed            
            
 The following Service CANNOT be read              :           /solarCircuits/sc1/dhwTankTemperature         Warmwassertemperatur im Speicher (unten) für SC1   
                                                                                                                                                              Wird derzeit nicht gepollt, laut Internetdoku aber vorhanden,
                                                                                                                                                              habs mal getestet, geht aber bei mir nicht, wo ist bloss meine
                                                                                                                                                              untere Kesseltemperatur ??
     
 

     

Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 18 Januar 2015, 20:47:04
Hallo NewBee

Jetzt würde mich interessieren ob die Buderus Fehlercodes irgendwo abgefragt werden können. z.B. Low System Pressure oder ähnliches.

Ziel wäre dann über ein Reset wie am Button des Brennwertgerät die Anlage wieder zu laufen zu bringen.
oder den Systemdruck Remote zu erhöhen, zweiteres ist aktuell noch etwas Spinnerei.

Von dem Ziel rate ich dringend ab!

Wenn der Systemdruck gesunken ist, dann ist die Ursache eine Leckage.

Das heisst es laeuft irgendwo im Haus eine ziemlich eklige Bruehe aus.

Diese laeuft aber nur so lange, wie Ausdehnungsvolumen der Blase im Ausdehnungsgefaess vorhanden ist (Etwas mehr die Haelfte der Nenn-Groesse des Ausdehnungsgefaess).

Wenn Du also remote den Druck wieder auffuellst, schaffst Du einen imennsen Wasser- und Heizungsschlamm - Schaden, den keine Versicherung ersetzt.

Aber einer Warnung aufs Handy ist gut, dann kannst Du den Nachbarn vorbeischicken der u.U. den Sanitaerfachmann zur Fehlersuche alamiert.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 Januar 2015, 09:25:18
Mit Nachtrag:

Hallo Sailor,
den Service Namen hatte ich über den Link aus dem Internet (nicht von meiner Anlage)
http://www.ip-symcon.de/wiki/Buderus_KM200 (http://www.ip-symcon.de/wiki/Buderus_KM200)
und dan einfach ausprobiert.

Hallo RaspII

Danke für den Hinweis.

Das kommt davon, wenn man an dem Modul programmiert und frickelt... Man vergisst mal auf die Webseite mit den Ursprungs-Info zu schauen, ob inzwischen neue Parameter entdeckt wurden.

Habe in der Version 0039 insgesamt 18 neue Parameter mit aufgenommen!

Danke für den Hinweis!!!!  ;)

Gruss
    Sailor

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 19 Januar 2015, 15:09:04
Da hast Du recht  ;)

ich kann's nicht fassen wie gut das läuft, Ihr habt hier echt gute Arbeit gemacht.
Ich hoffe mal ich bekomme mein Kopp Modul in ähnlicher Qualität hin.

RaspII

Möchte mich auch mal wieder melden und mich für die super Arbeit bedanken.

Leider bin ich auch in FHEM nicht besonders fit und suche noch Beispiele wie ich da so nette Dinge wie die RaspII inzwischen eingebaut hat erzeugen kann.
Die Anzeige der Außentemperatur habe ich zwar hinbekommen aber auch nur weil ich es hier aus dem Beitrag von RaspII kopieren konnte.
Wie man da zusätzliche Werte schön formatiert, oder sogar Grafiken eingebaut bekommt ist mir noch rätselhaft  und wenn ich mir die Doku anschaue wird mir schwarz vor Augen.
Das passt dann zwar vielleicht nicht so ganz hier zu Thema aber vielleicht kann der Ein- oder Andere ja mal ein paar Codebeispiele posten.

Gruß

Frank



Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 19 Januar 2015, 15:22:16
Hi Frank,
Falls du heute Abend Zeit hast könnten wir eine Skype Session machen.
Ich kann Dir dann gerne das bißchen vermitteln, was ich bisher im Blog gelernt habe.
Melde Dich hier im Blog falls Du Zeit hast, ich schicke Dir dann meine Skype nummer.
Ich hab zwar kein Video, das macht aber nichts.


Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 Januar 2015, 20:52:04
Mit Nachtrag:

      
 The following Service CANNOT be read              :           /solarCircuits/sc1/dhwTankTemperature         Warmwassertemperatur im Speicher (unten) für SC1   
                                                                                                                                                              Wird derzeit nicht gepollt, laut Internetdoku aber vorhanden,
                                                                                                                                                              habs mal getestet, geht aber bei mir nicht, wo ist bloss meine
                                                                                                                                                              untere Kesseltemperatur ??   
 

 

Hallo RaspII

sobald die neue Version 0039 durch das update installiert ist, gebe mal folgenden Befehl ein:

get <device> /solarCircuits/sc1also beispielsweise
get myKm200 /solarCircuits/sc1
in das System ein und poste mal den output in der fhem-Oberflaeche.

Danke

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 19 Januar 2015, 20:58:45
Hi,
ich vermute mal nach dem Update hab ich die neueste Version.
Der Output ist dann:
Unknown argument /solarCircuits/sc1, choose one of /system/sensors/temperatures/hotWater_t2 /system/appliance/systemPressure /system/appliance/CHpumpModulation /heatSources/powerSetpoint /heatSources/actualDHWPower /heatingCircuits/hc2/pumpModulation /system/healthStatus /heatSources/actualPower /gateway/versionFirmware /heatingCircuits/hc1/roomtemperature /system/sensors/temperatures/hotWater_t1 /heatingCircuits/hc2/roomtemperature /heatingCircuits/hc1/operationMode /system/appliance/actualPower /solarCircuits/sc1/pumpModulation /system/bus /system/appliance/nominalBurnerLoad /system/sensors/temperatures/supply_t1_setpoint /solarCircuits/sc1/status /heatingCircuits/hc1/temperatureRoomSetpoint /heatSources/actualCHPower /system/appliance/flameCurrent /solarCircuits/sc1/solarYield /heatSources/flameCurrent /gateway/uuid /heatingCircuits/hc2/activeSwitchProgram /system/sensors/temperatures/return /heatSources/gasAirPressure /heatSources/CHpumpModulation /system/appliance/numberOfStarts /heatSources/systemPressure /heatingCircuits/hc2/operationMode /gateway/versionHardware /system/sensors/temperatures/supply_t1 /system/appliance/gasAirPressure /solarCircuits/sc1/collectorTemperature /heatSources/numberOfStarts /system/sensors/temperatures/switch /system/sensors/temperatures/outdoor_t1 /heatSources/returnTemperature /heatingCircuits/hc1/status /heatingCircuits/hc1/activeSwitchProgram /heatSources/nominalCHPower /gateway/instAccess /system/sensors/temperatures/chimney /gateway/DateTime /gateway/instWriteAccess /system/brand /heatSources/nominalDHWPower /heatingCircuits/hc2/status /heatingCircuits/hc2/temperatureRoomSetpoint /system/systemType /system/appliance/powerSetpoint

Was lernen wir daraus?
Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 19 Januar 2015, 21:07:25
Noch was,
hatte gerade einen private Korrespondens mit Frank.
Er meint, ich solle mal die Geschichte bzgl. "Wie kommt man zu Plots" irgendwo dokumentieren.
Ich mach das gerne (mit dem Risko, dass einiges nicht 100% passt). D.h. aber, ich müsste irgendwo beim km200 Modul auch den Ploteditor beschreiben.

Was meinst Du, wo gehört so eine Doku hin?

Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 19 Januar 2015, 21:09:27
Nochmal nochwas:
das FHEM Update hat mir nur die "VERSION 0038" gebracht?
(danke Frank)

Nachtrag: noch eine Frage:
Gibt es irgend eine systematische Methode wie man dem KM200 Modul die angebotene Dienste entlocken kann.
Gehen Diese in Klartext über das Ethernet? (hat man evt. mit Wireshark eine Möglichkeit an die Dienste zu kommen?)

Gruß
RapspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Januar 2015, 07:02:18
Hallo RaspII

Hi,
ich vermute mal nach dem Update hab ich die neueste Version.

Ne hast nicht

Was lernen wir daraus?

Das Du noch Version 0038 hast.
Schau mal in fhem unter den Settings bei Version nach.

Version 0039 kann erst heute oder morgen kommen.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Januar 2015, 07:07:22
Nachtrag: noch eine Frage:
Gibt es irgend eine systematische Methode wie man dem KM200 Modul die angebotene Dienste entlocken kann.
Gehen Diese in Klartext über das Ethernet? (hat man evt. mit Wireshark eine Möglichkeit an die Dienste zu kommen?)

Hallo RaspII

Das ist die große Preisfrage! Wenn ich das mal wüsste!  ;)
Die Kombinationen der Hardware sind da shier zu groß.

Immerhin habe ich nur eine gaaanz bescheidene Anlage zu Hause GB172-19 mit RC300 und das wars!  ;D
Da bekomme ich nicht die SolarCircuit - Parameter raus. Da müsst Ihr mir helfen.

Ab Version 0039 könnt Ihr Euch alle an der Suche beteiligen, in dem Ihr die Top-Level Services mit dem get-Befehl abfragt und den fhem - Output ins Forum postet.
Aber bitte nur die Services die bis dato laut WIKI noch als Unbekannt gelten.  ;D

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Januar 2015, 07:10:37
Hallo RaspII

Er meint, ich solle mal die Geschichte bzgl. "Wie kommt man zu Plots" irgendwo dokumentieren.
Ich mach das gerne (mit dem Risko, dass einiges nicht 100% passt). D.h. aber, ich müsste irgendwo beim km200 Modul auch den Ploteditor beschreiben.

Was meinst Du, wo gehört so eine Doku hin?

Also, ein Beispiel-Plot ist sicher nicht verkehrt und ich habe auch schon eine DbLog-Variante in Arbeit.

Allerdings sollte man hierbei nicht abgleiten und den Plot-Editor an sich erklären, sondern schlicht den define-Eintrag abbilden sowie den Inhalt der entsprechenden gplot-Datei.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 20 Januar 2015, 07:53:14
Guten Morgen Sailor,

Update durchgeführt! Mehr Services, Version aber immer noch 0038?

Grüße Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Januar 2015, 09:02:51
Guten Morgen Sailor,

Update durchgeführt! Mehr Services, Version aber immer noch 0038?

Grüße Newbee

Kann sein, Version 0039 habe ich erst gestern Abend eingecheckt.
So schnell ist der gute Rudi nun auch wieder nicht!  ;D

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 20 Januar 2015, 10:45:50
Kann sein, Version 0039 habe ich erst gestern Abend eingecheckt.
So schnell ist der gute Rudi nun auch wieder nicht!  ;D

Gruss
    Sailor

Hattest Du in 0038 schon zusätzliche Services aufgenommen. Bekomme seit heute Morgen die beiden folgenden mit angezeigt.
/heatSources/workingTime/centralHeating 1219456 2015-01-20 10:41:24
/heatSources/workingTime/totalSystem 1408958 2015-01-20 10:41:23
Etc.
Gruß Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Januar 2015, 12:31:54
Hallo NewBee

ja, ich hatte in 0038 bereits die zusätzlichen Services mit aufgenommen.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 20 Januar 2015, 21:07:14
Hallo,
habe eben das Update gemacht.
Die Versions Nummer ist bei mir immer noch die 0038.
Der von mir vermisste Wert ist immer noch nicht dabei (Untere Warmwassertemperatur).
Dieser Wert wird zwar von der SM10 and den RC30 kommuniziert und am RC 30 angezeigt, taucht in den km200 Readings aber nicht auf.
(macht ja nix).

So, jetzt habe ich auch noch ein ernsthaftes Problem/Anliegen:
Ich spiele jetzt seit dem Wochenende mit meiner Heizung rum, am Sonntag Abend habe ich festgestellt, dass meine Heizung Nachts nicht mehr "runterschaltet".
Ich bin mir sicher, dass das vor 2 Wochen noch funktioniert hat (ich friere nachts immer vor dem PC, die letzten paar Tage nicht mehr  :-)
Die Parameter passen, die Zeiteinstellungen auch (habe ich alles direkt am Brenner kontrolliert).

Was mich wundert ist, dass der Modulationswert der Umwälzpumpe als immer mindestens 55% anzeigt (siehe einen der Plots oben). Ich erinnere mich daran, dass ich mal in einem Handbuch gelesen habe, dass man den Mindestwert einstellen kann, ich finde den Absatz im Handbuch nicht mehr (war vielleicht ne andre Heizung).

Allerdings spiele ich parallel auch immer mit dem EasyControl App rum, d.h. kann den Fehler derzeit keiner Aktion zuordnen.

Kennt jemand von Euch dieses Phänomen (ist echt schlimm wenn die Heizung durchbollert), auf welchen Wert fährt bei Euch die Pumpenmodulation des Hk runter?.


Gruß
RaspII



Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 20 Januar 2015, 21:31:39
Also ich habe nun die 0039 per update bekommen und gleich mal oben in der Auswahl bei get /system ausgewählt.

Da kommt dann das hier.

{"id":"/system","type":"refEnum","references":[{"id":"/system/brand","uri":"http://192.168.178.21/system/brand"},{"id":"/system/systemType","uri":"http://192.168.178.21/system/systemType"},{"id":"/system/bus","uri":"http://192.168.178.21/system/bus"},{"id":"/system/info","uri":"http://192.168.178.21/system/info"},{"id":"/system/minOutdoorTemp","uri":"http://192.168.178.21/system/minOutdoorTemp"},{"id":"/system/healthStatus","uri":"http://192.168.178.21/system/healthStatus"},{"id":"/system/sensors","uri":"http://192.168.178.21/system/sensors"},{"id":"/system/appliance","uri":"http://192.168.178.21/system/appliance"},{"id":"/system/heatSources","uri":"http://192.168.178.21/system/heatSources"},{"id":"/system/holidayModes","uri":"http://192.168.178.21/system/holidayModes"}]}


Wie man auf den ersten Blick sieht  ::), habe ich da z.B /system/holidayModes was wohl noch unbekannt ist.

Oder mal anders gesagt. So sieht man da ja nix. Da muss wohl noch eine Auswertehilfe gebaut werden.  Heute wird das bei mir nix mehr, aber wenn keiner schneller ist, denke ich das ich da ein kleines Shellskript bauen kann. Oder hat jemand eine bessere Idee wie man das auswerten kann?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Januar 2015, 22:04:50
Hallo RaspII

Hallo,
habe eben das Update gemacht.
Die Versions Nummer ist bei mir immer noch die 0038.

Mist, ich habe gerade festgestellt, dass ich vergessen habe die Versionsnummer hochzuziehen

Der von mir vermisste Wert ist immer noch nicht dabei (Untere Warmwassertemperatur).
Dieser Wert wird zwar von der SM10 and den RC30 kommuniziert und am RC 30 angezeigt, taucht in den km200 Readings aber nicht auf.
(macht ja nix).

Dann wird dieser Wert vom KM200 nicht bereit gestellt. Ich kann aber (noch) nicht in die Bus Kommunikation zwischen den Einzelkomponenten schauen.
Schau mer mal...

So, jetzt habe ich auch noch ein ernsthaftes Problem/Anliegen:

[Cut]

Kennt jemand von Euch dieses Phänomen (ist echt schlimm wenn die Heizung durchbollert), auf welchen Wert fährt bei Euch die Pumpenmodulation des Hk runter?.

Sorry, da kann ich nicht helfen... Meine Programme funktionieren.
Habe ich daran festgestellt, dass ich die Zeit auf 04:00 vorziehen mustte, weil sich meine Arbeitszeiten veraendern musste. :(

Gruss
    Sailor

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Januar 2015, 22:34:23
Also ich habe nun die 0039 per update bekommen und gleich mal oben in der Auswahl bei get /system ausgewählt.

Da kommt dann das hier.

Wie man auf den ersten Blick sieht  ::), habe ich da z.B /system/holidayModes was wohl noch unbekannt ist.

Oder mal anders gesagt. So sieht man da ja nix. Da muss wohl noch eine Auswertehilfe gebaut werden.  Heute wird das bei mir nix mehr, aber wenn keiner schneller ist, denke ich das ich da ein kleines Shellskript bauen kann. Oder hat jemand eine bessere Idee wie man das auswerten kann?

Bingo

Ich habe den Service und die UnterServices mit in Version 40 aufgenommen und schwupps kommen jede Menge neuer Werte

Ich teste die Version mal ueber Nacht und dann checke ich sie ein.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 20 Januar 2015, 22:53:33
Hallo,
habe eben das Update gemacht.
Die Versions Nummer ist bei mir immer noch die 0038.
Der von mir vermisste Wert ist immer noch nicht dabei (Untere Warmwassertemperatur).
Dieser Wert wird zwar von der SM10 and den RC30 kommuniziert und am RC 30 angezeigt, taucht in den km200 Readings aber nicht auf.
(macht ja nix).

So, jetzt habe ich auch noch ein ernsthaftes Problem/Anliegen:
Ich spiele jetzt seit dem Wochenende mit meiner Heizung rum, am Sonntag Abend habe ich festgestellt, dass meine Heizung Nachts nicht mehr "runterschaltet".
Ich bin mir sicher, dass das vor 2 Wochen noch funktioniert hat (ich friere nachts immer vor dem PC, die letzten paar Tage nicht mehr  :-)
Die Parameter passen, die Zeiteinstellungen auch (habe ich alles direkt am Brenner kontrolliert).

Was mich wundert ist, dass der Modulationswert der Umwälzpumpe als immer mindestens 55% anzeigt (siehe einen der Plots oben). Ich erinnere mich daran, dass ich mal in einem Handbuch gelesen habe, dass man den Mindestwert einstellen kann, ich finde den Absatz im Handbuch nicht mehr (war vielleicht ne andre Heizung).

Allerdings spiele ich parallel auch immer mit dem EasyControl App rum, d.h. kann den Fehler derzeit keiner Aktion zuordnen.

Kennt jemand von Euch dieses Phänomen (ist echt schlimm wenn die Heizung durchbollert), auf welchen Wert fährt bei Euch die Pumpenmodulation des Hk runter?.


Gruß
RaspII
Check mal im Service Menü 3 Punkt 3.3d (minimale Nennwärmeleistung). Bei meinem Kessel GB172 ist die Leistung der Pumpe direkt mit der Brennerleistung gekoppelt.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 21 Januar 2015, 00:32:06
Hi Peter,
wer ich machen.
Das wird mein Problem aber vermutlich nicht lösen, die Nachtabsenkung muss ja auch funktionieren wenn der Brenner auf max. Leistung eingestellt ist.

Gruß


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 21 Januar 2015, 09:27:54
Hi Peter,
wer ich machen.
Das wird mein Problem aber vermutlich nicht lösen, die Nachtabsenkung muss ja auch funktionieren wenn der Brenner auf max. Leistung eingestellt ist.

Gruß

Hallo RaspII

poste mal einen Plot der Vorlauftemperatur versus Pumpenmodulation versus momentaner Leistungsmodulation.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 21 Januar 2015, 21:02:45
Hi,
anbei was ich mitschreiben konnte. Für die Leistungsmodulation habe ich keinen "Wert" gefunden, habe Dir mal einige Leistungswerte dazugepackt, hoffe Du kannst Damit was anfangen.

Zur Erläuterung:
bis ca. 1:00 Uhr habe ich noch mit den Parametern rumgespielt (Auto / Nacht Mode), zwischen 2 Uhr und 5:50 müsste die Nachtabsenkung dann im "Automatik" Mode passieren.
Auch wenn ich von Hand auf "Nacht" umschalte werden die Heizkörper geheizt, was ja nicht wundert wenn die Pumpe auf 50% bleibt (so verstehe ich die Plots zumindest).
Wie gesagt, bevor ich ich die FHEM Anpassungen gemacht habe habe ich auch die Buderus Apps (Profi/Normal) aktiviert, keine Ahnung wann der Lapsus passiert ist (oder ob nicht doch Ventile etc. defekt sind).


Gruß und Danke Hilfe
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Magic01 am 21 Januar 2015, 21:32:52
Hi RaspII,

zum vergleich hier mal Werte von meiner Buderus - siehe Bild.
Also , wie man sieht, funktioniert die automatisch Nachtabsenkung - schön an den Sollwerte im Wohnzimmer (Referenzraum) zu sehen. Solange der soll auf Nacht steht, wird es kühler, sobald der Soll wieder auf Tageswert steht wird geheizt.
Allerdings verstehe ich die Werte für die Pumpenmodulation auch nicht - Ich habe die bislang als Nonsens abgetan...

Grüße
Markus
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 21 Januar 2015, 21:56:03
Hi,
schonmal beruhigend, dass die Pumpe bei Dir identisch läuft (wie schon gesagt, ich erinnere mich auch mal gelesen zu haben, dass die Pumpe mit einem Min wert von ca. 50 % läuft (wenn dieser Wert auf 50% steht muss das ja nicht heissen, dass die Pumpe überhaupt angeschaltet ist, alles aber reine Vermutungen).
Da ich keine Raumfühler habe läuft meine Anlage vermutlich mit reiner Außensteuerung (wird vermutlich aktiviert wenn der RC 30 direkt im Brenner steckt und nicht z.B. im Wohnzimmer).
Laut Handbuch wird dann der Raumtemperatursollwert als reine Größe zum Verschieben der Heizkennlinie genommen.
Der Tagwert steht bei mir schon immer auf 18,5 Grad, der Nachtwert auf 16 Grad (hab ich gestern mal auf < 15° gesetzt).
Hab jetzt noch den Raumsollwert mitgeschrieben, der geht ab 6 Uhr automatisch von < 14° auf 18,5°, passt also auch.
Hab mal im Web gelesen, dass manchmal die "Umschaltventile" hängen, vielleicht hab ich ja tatsächlich ein wirkliches Mechanikproblem das nur anscheinend mit meinen Aktivitäten hier korreliert.

Da fällt mir noch was ein, habe vor ein Paar Tagen Wasser nachgefüllt (der Druck war nur noch 1 bar), vielleicht hats ja was damit zu tun.
(Warum hört eigentlich die Log Datei um 20:30 auf? Wir haben doch gerade 22:10, die anderen Zeiten (Umschaltung auf Tagbetrieb, Absenken der Warmwassertemp. weil ich Dusche :-) stimmen doch auch)

Bin jetzt ein paar Tage weg, melde mich dann wieder.
Gruß und Dank
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 21 Januar 2015, 22:17:43
Hallo zusammen,

habe folgenden Link zum Thema von RaspII Pumpenmodulation gefunden. Eventuell beantwortet das ja einige Fragen.

http://www.haustechnikdialog.de/Forum/t/15095/Modulation-Buderus-GB142-15

Gruss Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 21 Januar 2015, 22:26:48
Ha, klasse !!   :D

Das RC-30 Servicehandbuch isses (muss ich verlegt haben. Habs mir gerade runtergeladen und genau darin stehn die Info's wo ich meinte das hab ich schonmal gelesen.
So damit kann ich jetzt auch die Grundeinstellungen klären (man kann also die Regelart tatsächlich einstellen, das geht nicht automatisch).

Dank Dir Newbee

Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 21 Januar 2015, 22:39:11
Hallo RaspII

zwischen 2 Uhr und 5:50 müsste die Nachtabsenkung dann im "Automatik" Mode passieren.
Auch wenn ich von Hand auf "Nacht" umschalte werden die Heizkörper geheizt, was ja nicht wundert wenn die Pumpe auf 50% bleibt (so verstehe ich die Plots zumindest).
Wie gesagt, bevor ich ich die FHEM Anpassungen gemacht habe habe ich auch die Buderus Apps (Profi/Normal) aktiviert, keine Ahnung wann der Lapsus passiert ist (oder ob nicht doch Ventile etc. defekt sind).

Also so woe ich das anhand der Vorlauftemperatur sehe funktioniert die Nachtabsenkung bereits vor 2 Uhr, in diesem Fall bereits ganz links anfaengt.
Ich vermute die abgesenkte Vorlauftemperatur hat bereits am Vortag angefangen.

Gegen 06:00 steigt die Vorlauftemperatur und "pumpt" somit mehr Leistung in den Heizkreis.

Hinsichtlich der Modulation verhaelt sich die die Pumpe scheinbar normal. So wie die stark und schnell einbrechende Vorlauftemperatur aussieht (Innerhalb kuersester Zeit um 20Grad!!!) Hat die Pumpe scheinbar auch keine andere Wahl.

Mach mal die Gegenprobe: Alle Heizkoerperventile im Haus ueber 4 Stunden auf "Zu". Mal sehen wie die Pumpe darauf reagiert.
Schick deine Frau aber vorher zum Einkaufen  ;)
Wenn das immer noch so aussieht, dann zeig den Plot mal deinem Heizungsfachmann.


Anbei ein Auszug wie mein Plot aussieht:

Man kann erkennen, dass sie vornehmlich beim Heizen des Warmwasserspeichers auf 100% geht sowie Abends.

Bis 05:00 befindet sich die Heizung in der Nachhtabsenkung und erst dann schalten die Heizkoerper im Bad auf 22C. Die Zentralheizung wird aus der NAchhtabsenkung geholt. Dennoch kann man erkennen, dass ich an diesem Tag bereits um 04:20 geduscht habe und die Heizung macht aber erst um 05:00 wieder das Wasser warm.

Gegen 06:30 schaltet meine Frau den Heizkoerper im Bad auf BOOST und die Pumpe arbeitet wie eine Irre (100%)

Um 07:00 haben wir alle das Haus verlassen und unsere Mobiltelefone senden an das fhem System "Alle weg" und alle Heizkoerper gehen in "Manuell - 15C)
Die Heizung mag das zunaechst nicht glauben und probiert mit kurzen Stoessen um 2,5kW aus, was mit der Vorlauftemperatur passiert, bis sie um 09:00Uhr entnervt aufgibt und ein langes Intervall verwendet.

Zwischen 09:00 Uhr und 12:00Uhr scheint scheinbar keine Leistung abverlangt worden zu sein. Das ist aber falsch, da die Vorlauftemperatur rythmisch, zunaechst nur sehr langsam ueber Stunden faellt aber dann sehr stark innerhalb kuerzester Zeit wieder ansteigt. Hierbei ist das Polling Intervall schlicht zu gross gewaehlt worden, so dass die Brennerleistung waehrend des Heizens nicht aufgezeichnet wurde.

Um 16:00 mussten die Kinder in die Badewanne: Warmwasser knickt ein, Brenner an mit 15kW, Pumpe volle Kanne.

Wenn meine Frau gegen 1800 nach Hause kommt und die Kueche auf sauna-aehnliche Zustaende aufheizt, sieht man das die Heizung fleissig wird.

Um Punkt 22:00 werden alle Heizkoerper auf Minimum-Erhaltung bei 15C geschaltet und nur in den Schlafzimmer & Bad auf 19C.
Gegen 2200 wurde aber nochmal geduscht (blaue Linie knickt ein) und somit der Speicher wieder aufgeheizt (Ladepumpe gruen auf 100% und Leistung viloet auf 15kW).
Dannach ist aber wirklich Schluss mit der Heizerei und die Leistung sinkt auf sporadisch 2,5 kW und die Pumpenmodulation auf ca 35% bis die Heizung wieder entnervt aufgibt und ein langes Intervall verwendet.


Merke:
a) Die Zentralheizung weiss daher nur ueber die fallenden oder steigenden Flanken der Vorlauftemperatur pro Zeitintervall, ob und wieviel die Heizkoerper Leistung brauchen. Daher muss man aber Eines beachten: Die Pumpe darf niemals auf 0% gehen, ansonsten findet das System nicht heraus ob irgendwer Heizleistung benoetigt.
Den Einbruch der Pumpen-Modulation um 1420 halte ich daher fuer unnormal allerdings taucht dieser an genau diesem Zeitpunkt ueber mehrere Tage auf.
Nun, die Heizungssteuerung wird sich wohl was dabei gedacht haben... ;)

 b) Wenn man sinnvolle Fehlersuche bzw. Optimierung betreiben will braucht man kurze Pollingintervalle. Diese fuellen die Logfiles aber erheblich.
Daher das event-on-change - Attribut verwenden.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 21 Januar 2015, 22:58:45
Hi,
ja stimmt, die Absenkung fängt normalerweise um 23:30 an. Ich hatte gestern abend am Sollwert (und FHEM) gespielt, d.h. so um Mitternacht können auch Daten komplett fehlen.

Aber ich hab den Fehler jetzt vermutlich gefunden. Da ich keinen Raumfühler habe, muss eigentlich die Außentemperatursteuerung aktiv sein.
War sie aber nicht, sondern die Raumabsenkung (wonach dann geregelt wird ist mir unklar, die Raumtemperatur steht bei mir auf:
/heatingCircuits/hc1/roomtemperature  3200
Also vermutlich Schrott,
die Buderus App zeigt mir bei Raumtemperatur "-",
also auch nix wonach irgend jemand regeln kann, das wundert mich nicht, hab ja keine Remote Einheit).

Bei mir war die Absenkart "Reduziert" aktiviert, dazu steht im Handbuch:
„REDUZIERT“ (auch ohne Fernbedienung)
Dabei wird im abgesenkten Heizbetrieb auf die eingestellte
Nachttemperatur geheizt.
Die Heizkreispumpen laufen ständig.


Habs auf
– „AUSSENHALT“ (auch ohne Fernbedienung, Außenfühler erforderlich)
Bei „Außenhalt“ wird der Heizkreis in Abhängigkeit von der Außentemperatur
und der eingestellten Frostschutztemperatur
geschaltet (siehe Kapitel 5.8.10 „Frostschutz” auf Seite 40).
Oberhalb der Frostschutztemperatur wird der Heizkreis abgeschaltet.
Unterhalb dieser Temperatur wird auf die eingestellte
Solltemperatur des Nachtbetriebs geheizt.

gesetzt.

So, jetzt schau ich mal nach was passiert

Sollte jetzt alles laufen bleiben nur noch folgende Fragen  :o :

Danke an Euch alle für die Unterstützung
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 22 Januar 2015, 15:10:26
Hi all,

habe nun auch die Aktualisierung des Moduls gestern übernommen. Dabei fiel dann auf, dass meine Heizung die HK-Pumpe überhaupt nicht moduliert, und sie einfach immer laufen läßt. Da habe ich dann mit einem FS20 SA und (sumactor) über meine FHTs heute gegen gesteuert.

Zum Modul selbst, Sailor:
Erst einmal riesen Kompliment. Was noch nicht geht:
FlameStatus OFF wird erkannt, ON kommt Müll (Codierung)
DoNOTPoll funktioniert genau einmal, danach werden wieder alle Services geholt.
Mag daran liegen, dass ich ein eigenes Intervall für die dynamischen Werte eingestellt habe. Kann das sein, dass diese dann bei eigenem Intervall komplett geholt werden ?

Rest läuft wie ein Uhrwerk.

Lieben Gruß,
Olaf
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 23 Januar 2015, 07:50:24
Hi Olaf

habe nun auch die Aktualisierung des Moduls gestern übernommen. Dabei fiel dann auf, dass meine Heizung die HK-Pumpe überhaupt nicht moduliert, und sie einfach immer laufen läßt. Da habe ich dann mit einem FS20 SA und (sumactor) über meine FHTs heute gegen gesteuert.

Ich verstehe nur Bahnhof... Was machst du mit FS20 auf deiner Heizung?  :o

Zum Modul selbst, Sailor:
Erst einmal riesen Kompliment.
Das geht runter wie Öl!  :)

Was noch nicht geht:
Ich wusste es: Da kommt noch was... Wäre auch zu schön um war zu sein.  ;D

FlameStatus OFF wird erkannt, ON kommt Müll (Codierung)
Das kenne wir ja schon. Aufgrund deines Fehlers habe ich das km200 Modul ja sogar absturzsicherer machen können. Aber der gelieferte Murks liegt an deinem KM200 Gerät. Also wenn Du mich fragst: KM200 tauschen. Evtl. den RC- Einschub wenn es nach dem KM200 Tausch immer noch nicht funktioniert.

DoNOTPoll funktioniert genau einmal, danach werden wieder alle Services geholt.
Mag daran liegen, dass ich ein eigenes Intervall für die dynamischen Werte eingestellt habe. Kann das sein, dass diese dann bei eigenem Intervall komplett geholt werden ?
An dem eigenen Intervall sollte es nicht liegen.
Schalte mal die Konsolenausgabe per Attribut ein und setze in die DoNotPoll mal "/system" oder "/gateway" rein.
Dann stoppe und starte fhem in der Konsole neu und sende mal den Ausdruck.
Welche Intervalle verwendest Du?

Gruss
   Sailor

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 23 Januar 2015, 10:56:42
Hi Sailor,

also zunächst zum Modul:
Das DoNOTPoll scheint nach Neustart passend zu funktionieren. Es bedurfte wohl einfach eines kompletten Neustarts. Sorry. Läuft.
Zum FlameStatus:
Ich habe ja ein KM50, möglicherweise ist hier ein Unterschied. Das kann ich die Tage mal prüfen. Was aber in jedem Fall geht, so nutze ich es zur Zeit, ist FlameCurrent abzufragen. Bei >0 ist FlameStatus sicher ON, somit könnte man FlameStatus im Modul setzen, sofern die Abfrage tatsächlich Müll geliefert hat (was ja bei einigen der Fall zu sein schien). Wäre zumidnest ein FailSafe oberhalb von Absturzsicherheit.

Nun zu dem Zeug, was ich mit meiner Heizung treibe:
Ich habe eine Logano S125 Ölheizung, außentemperatur-geführt. Die zirkuliert 24/7 im Heizkreis, um eben auch eine Absenk-Temp realisieren zu können. Über mein RC30 kann ich Wasser-Zirkulation/Wasserbereitung/Heizprogramme steuern, aber nicht die Pumpe im Heizkreis selbst.
Da ich an allen Heizungen FHTs habe, die abends alle abdrehen, heizt meine Heizung gegen zu gedrehte Ventile des Nachts, das muß nicht sein (siehe Bild 1).
Man sieht ganzg gut (drunter ist das Wohnzimmer), dass der FHT zu ist, und die Zirkulation läuft und der Brenner anspringt.
Nun habe ich das Hilfsmodul 99_PRIV verwendet um die SUMACTOR Funktion zu realisieren, die prüft, ob einer der FHTs offen ist. Falls nicht, schalte ich damit die Heizkreis-Pumpe über einen FS20-Schalter aus (mit FailSafe, etc.). Falls es zu kalt wird, dreht einer der FHTs auf, und der Heizkreis läuft wieder an.
Siehe Bild 2 (man sieht ganz gut, dass bis 05.30 Uhr die Kruven viel langsamer fallen, und der Brenner nicht angeht.

Zur Erläuterung im Diagramm: oben die Temps, unten die Schaltzustände der Heizung inkl Brenner und eigentlicher Pumpen-Steuerung (HK-Soll) und FS20-Nachregelung  (HK).

Danke nochmals,
Gruß,
Olaf

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 23 Januar 2015, 14:05:53
Hallo Olaf

Das DoNOTPoll scheint nach Neustart passend zu funktionieren. Es bedurfte wohl einfach eines kompletten Neustarts. Sorry. Läuft.

Na da bin ich aber heilfroh!  ;)

Zum FlameStatus:
Ich habe ja ein KM50, möglicherweise ist hier ein Unterschied. Das kann ich die Tage mal prüfen. Was aber in jedem Fall geht, so nutze ich es zur Zeit, ist FlameCurrent abzufragen. Bei >0 ist FlameStatus sicher ON, somit könnte man FlameStatus im Modul setzen, sofern die Abfrage tatsächlich Müll geliefert hat (was ja bei einigen der Fall zu sein schien). Wäre zumidnest ein FailSafe oberhalb von Absturzsicherheit.
Das ist ein Workaround den ich mit ins WIKI aufnehmen werde.
Allerdings möchte ich in den Readings auch nur das ausgeben, was das KM200/100/50 -  Gerät auch tatsächlich zurückliefert.

Nun zu dem Zeug, was ich mit meiner Heizung treibe:
Ich habe eine Logano S125 Ölheizung, außentemperatur-geführt. Die zirkuliert 24/7 im Heizkreis, um eben auch eine Absenk-Temp realisieren zu können. Über mein RC30 kann ich Wasser-Zirkulation/Wasserbereitung/Heizprogramme steuern, aber nicht die Pumpe im Heizkreis selbst.
Da ich an allen Heizungen FHTs habe, die abends alle abdrehen, heizt meine Heizung gegen zu gedrehte Ventile des Nachts, das muß nicht sein (siehe Bild 1).
Man sieht ganzg gut (drunter ist das Wohnzimmer), dass der FHT zu ist, und die Zirkulation läuft und der Brenner anspringt.
Nun habe ich das Hilfsmodul 99_PRIV verwendet um die SUMACTOR Funktion zu realisieren, die prüft, ob einer der FHTs offen ist. Falls nicht, schalte ich damit die Heizkreis-Pumpe über einen FS20-Schalter aus (mit FailSafe, etc.). Falls es zu kalt wird, dreht einer der FHTs auf, und der Heizkreis läuft wieder an.
Siehe Bild 2 (man sieht ganz gut, dass bis 05.30 Uhr die Kruven viel langsamer fallen, und der Brenner nicht angeht.

OK Olaf,

lass uns zunächst mal auf folgende Begriffsdefinition einigen, sonst wird das nix mit dem Verstehen  ;)

Heizung:            Diesen Begriff gibt es alleinstehend so  nicht! Allenfalls im Bett in Form eines Lebenspartners.  ;D
Heizkörper:        Das sind die teils grossflächigen Metalteile in jedem Raum, die Wärme an die Umgebung abgeben. Wahlweise mit Wasser oder Stromanschluß.
Radiator:            Siehe Heizkörper
Zentralheizung: Das ist das gesamte System aus Mischer, Pumpe, Brenner, WW-Tank etc. welches  die Bewohner mit wohliger Wärme versorgen
Heizkörperventil: Ist das kleine, meist rechtwinklig angeodnete Teil zwischen Zulauf und Heizkörper, welche den Volumenstrom durch mehr- oder weniger eingetauchten Stift reguliert.
Ventilkopf:  Sind entweder mechanische, hydromechanische oder elektrische Stellgeber welche den Stift des Heizkörperventils treiben.
Brenner: Das Teil innerhalb eines Zentralheizungsgeräts, welches den Brennstoff (Gas oder Öl) in Wärme und Abgas verwandelt.


Also wie ich das verstanden habe, hast du auf deinen Heizkörperventilen deiner Heizkörpern elektrische Ventilköpfe mit der Bezeichnung FHT20 auf Basis des FS20 - System.

Wenn es sichergestellt ist, dass alle Ventile geschlossen sind undauch sichergestellt ist das du keinen kurzgeswchlossen Lauf im System hast. Zum Beispiel http://www.wrobel-shk.de/Honeywell-Th-2-Wege-Verteilvent-1/2-li-Rotg-V2075L0015?Elm234=ELMAR (http://www.wrobel-shk.de/Honeywell-Th-2-Wege-Verteilvent-1/2-li-Rotg-V2075L0015?Elm234=ELMAR)
Dann sollte deine Steuerung eigentlich kapieren, dass es die Pumpe runterfahren muss.

Auf Deiner Zeichnung kann ich allerdings nicht erkennen wo deine Pumpenmodulation liegt.

Die Oszillation deiner Vorlauftemperatur mit einer Periode von ca 1h bei einer Amplitude von 20°C ist aus meiner Erfahrung heraus völlig normal.
Anhand dieses Sägezahns erkennt das System an der Schnelligkeit der abfallenden Flanke ob irgendwelche Heizkörper aus dem System ziehen.
Bei diesem Vorgang sollte die niedriger liegen als die 100%. Bei mir liegt sie bei 35% im Idle und geht im Laufe des Tages auch nicht darunter.

Schu Dir mal meinen Beitrag vom 21 Januar 2015, 22:39:11 an.

Wir können gerne mal Skypen

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: nobody0472 am 23 Januar 2015, 15:00:21
Hi Sailor,

danke, Du hast völlig recht.
Allerdings scheint die Steuerung meiner Zentralheizung ;) nicht so clever zu sein, sondern eher binär. Habe irgendwo bei Buderus gelesen, dass die alten Modelle die Pumpe immer zu 100% durchlaufen lässt, was den Sägezahn mit 1h Amplitude erklärt, aber am Ende gegen geschlossene Ventile an den Heizkörpern nichts bringt. Und ja, sie sind alle zu, daher ja der verlängerte Sägezahn.

Werde nochmal meinen Fachmann fragen, ob meine Steuerung wirklich nur so binär ist. Die Pumpe sollte auf jeden Fall nicht 24/7 auf 100% laufen. Man sieht, wenn der Wasserspeicher lädt, dass die Steuerung die HeizkreisPumpe durchaus ab und an ausschaltet, aber eben nicht prozentual moduliert.

Trotzdem danke.
Mit bestem Gruß,
Olaf

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 23 Januar 2015, 15:33:08
Werde nochmal meinen Fachmann fragen, ob meine Steuerung wirklich nur so binär ist. Die Pumpe sollte auf jeden Fall nicht 24/7 auf 100% laufen. Man sieht, wenn der Wasserspeicher lädt, dass die Steuerung die HeizkreisPumpe durchaus ab und an ausschaltet, aber eben nicht prozentual moduliert.

Da gebe ich mal meine Erfahrungen zum Thema Heizungspumpe dazu.

Ich habe vor Jahren mir eine Hocheffizienzpumpe zugelegt und selbst eingebaut. Die Pumpe hat eine Anzeige für den Stromverbrauch und man konnte die Förderhöhe einstellen. Meine Heizung steht im Keller und der höchste Heizkörper steht im 1.OG. Somit hatte ich 3m Förderhöhe eingestellt und die Pumpe lief dann mit etwa 15W. Allerdings hat meine Heizungssteuerung die auch immer ein- und ausgeschaltet.

Nun habe ich eine neue Heizung bekommen und die ja nicht nicht so alte Pumpe behalten. Beim Einbau der neuen Heizung wurde ein hydraulischer Abgleich durchgeführt und die Heizkörper finden an zu rauschen. Ich bin also auf die Suche nach der Ursache gegangen und habe Hinweise gefunden das die Pumpe zu stark pumpen könnte. Weitere Nachforschungen haben dann ergeben das man als "Förderhöhe" der Pumpe nicht den Höhenunterschied zum höchste gelegenen Heizkörper einstellt, sondern sich diese "Förderhöhe aus eine total komplizierten Formel errechnet in der jeder Knick und Abzweig im Rohsystem der Heizung berücksichtigt wird. Irgendwo habe ich dann eine vereinfachte Faustformel gefunden und bin auf eine Förderhöhe von 0,60cm gekommen. Ich habe also die Pumpe auf 1m umgestellt und nun läuft sie auf 3-4W. Das Rauschen der Heizkörper ist weg und es ist weiterhin überall warm.

Bei meinen Recherchen bin ich auch auf Hinweise gestoßen das man die Hocheffizienzpumpe gar nicht durch die Heizung steuern soll, sondern lieber 24/7 laufen lassen soll, weil diese eine eigene Steuerungslogik hat, die sich dynamisch an den Wärmebedarf anpasst. Beim einschalten startet sie dann mit maximaler Leistung und regelt sich dann langsam runter. Durch diese Maximalleistung am Anfang kann man sich seine Heizungssteuerung zerschießen.

Ich habe dann bei Buderus angerufen und gefragt wie ich nun die Pumpe am besten anschließe und der Techniker dort war der Meinung das es ziemlich egal ist. Mein Steuerung kann damit umgehen. Er würde nur empfehlen diese Störungslogik per Pumpe abzuschalten da diese dann nicht benötigt wird. Ich könne sie aber auch einfach 24/7 an Strom zu hängen. Bei 3-4W spielt das keine so entscheidende Rolle.

Ich würde also sagen das man gerade bei einer etwas älteren Anlage durchaus gut damit fährt eine Hocheffizienzpumpe 24/7 fest anzuschließen zumal mein auch noch eine automatische Nachtabsenkung hat.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 26 Januar 2015, 07:24:54
Weitere Nachforschungen haben dann ergeben das man als "Förderhöhe" der Pumpe nicht den Höhenunterschied zum höchste gelegenen Heizkörper einstellt, sondern sich diese "Förderhöhe aus eine total komplizierten Formel errechnet in der jeder Knick und Abzweig im Rohsystem der Heizung berücksichtigt wird. Irgendwo habe ich dann eine vereinfachte Faustformel gefunden und bin auf eine Förderhöhe von 0,60cm gekommen. Ich habe also die Pumpe auf 1m umgestellt und nun läuft sie auf 3-4W. Das Rauschen der Heizkörper ist weg und es ist weiterhin überall warm.

Hallo Furban.

Genau das ist der Knackpunkt. Die meisten Leute hören "Förder-Höhe" und denken zwangsweise an die Anzahl der Stockwerke und multiplizieren sie mit 3m.
Dabei übersehen sie, das der antiquierte Begriff "Förderhöhe" in "Meter Wassersäule" also Druckunterschied in [bar] bzw. [mbar] angegeben wird.
Es ist eben der Druckunterschied vor und nach der Pumpe. Und da das Wasser im Vorlauf ja auch im 11ten Stock nicht in den Abfluß fließt sondern im Rücklauf vor der Pumpe endet...  *Klugscheiß 8)
Zumindest sollte es so sein.  ;D ;D ;D

Anbei ein leicht zu verstehender Artikel inklusive Beispielrechnung, die ich aber noch nicht ausprobiert habe.
http://www.haustechnikverstehen.de/was-ist-die-foerderhoehe-einer-pumpe/ (http://www.haustechnikverstehen.de/was-ist-die-foerderhoehe-einer-pumpe/)

Aussage meines Vaters (45 jahre GW-Installatuer): "Gegen Rohr-Pfeifen hilft nur Querschnitt".

(Wobei ich bis heute nicht weiß ob er mit Rohr-Pfeife nicht den  unfähigen Lehrling gemeint hat, der mit ordentlich Querschnitt über den Hof gejagt werden musste. 
Ja, das waren noch Zeiten damals! *LOL ;D)

Die Aussage stimmt übrigens, allerdings gehen dann die Leitungs-Wärmeverluste hoch.

Der Merkspruch lautet: Soviel Rohr-Querschnitt wie nötig für eine gute und leise Versorgung um Reibungsverluste klein zu halten, und so wenig wie möglich um Wärme-Verluste klein zu halten.

Mit dem Rohr-Querschnitt geht die Notwendigkeit des notwendigen Pumpendrucks (=Förderhöhe) runter und das Pfeifen im Ventil wird vermieden.
Da das Wasser dann aber langsamer fließt, hat es aber mehr Zeit sich bis zum Heizkörper abzukühlen, was die LWärmeverluste vergrößert.
Hier heisst es dann: Isolieren, Isolieren, Isolieren, Isolieren, Isolieren.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 27 Januar 2015, 08:26:59
Ein herzerfrischendes Moin Moin vom Sturmflut geplagten "hintern-Deich",

Ich habe 3 Fragen an die Nutzer des 73_km200 Moduls bzw. dem  WIKI "Buderus Web Gateway" (http://www.fhemwiki.de/wiki/Buderus_Web_Gateway#Bekannte_Probleme)



a) Habt Ihr noch undokumentierte Probleme mit dem 73_km200 Modul?

b) Hat Jemand ein Beispiel für die Abteilung Plot mit File Log  (http://www.fhemwiki.de/wiki/Buderus_Web_Gateway#Mit_FileLog) inklusive Auszug aus fhem.cfg & .gplot file?

c) Habt Ihr noch weitere Services mit dem get-Befehl gefunden? Ich kann nicht alle Hardware-Varianten abdecken wie beispielsweise Solar und wasserführender Kachelofen.


Danke für die Rückmeldung!  ;)

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 27 Januar 2015, 12:33:22
Hi,
zu a)
Ich habe noch ein Problem, dass sich FHEM nicht mehr über die Konsole stoppen lässt  (seit ich das km200 Modul nutze ). Ich muss allerdings nochmal prüfen ob der Fehler verschwindet wenn ich das km200 Modul deaktiviere.
Mal schauen ob ich heute Abend dazu komme.

zu b) ich stelle meine Beispiele hier ein (evt.schon heute Abend)
Gib mir dann ein Feed Back ob das tauglich ist

zu c)
Nein
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 27 Januar 2015, 13:24:11

a) Habt Ihr noch undokumentierte Probleme mit dem 73_km200 Modul?

b) Hat Jemand ein Beispiel für die Abteilung Plot mit File Log  (http://www.fhemwiki.de/wiki/Buderus_Web_Gateway#Mit_FileLog) inklusive Auszug aus fhem.cfg & .gplot file?

c) Habt Ihr noch weitere Services mit dem get-Befehl gefunden? Ich kann nicht alle Hardware-Varianten abdecken wie beispielsweise Solar und wasserführender Kachelofen.


a) Irgendwie habe ich mal Glück und hatte nur ganz am Anfang mal Probleme.

b) Mit den Plots habe ich auch noch immer so meine Probleme. Aktuell habe da


fhem.cfg
define FileLog_buderus FileLog ./log/buderus-%Y-%m.log KM200:.*
define SVG_FileLog_buderus_1 SVG FileLog_buderus:SVG_FileLog_buderus_1:CURRENT
attr SVG_FileLog_buderus_1 room Heizung
define SVG_FileLog_buderus_2 SVG FileLog_buderus:SVG_FileLog_buderus_2:CURRENT
attr SVG_FileLog_buderus_2 room Heizung

und dann zwei Dateien:

/opt/fhem/www/gplot/SVG_FileLog_buderus_1.gplot
mit Inhalt
# Created by FHEM/98_SVG.pm, 2015-01-27 12:47:47
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Buderus'
set ytics
set y2tics
set grid
set ylabel ""
set y2label "Temperature"

#FileLog_buderus 4:KM200./system/sensors/temperatures/outdoor_t1\x3a::
#FileLog_buderus 4:KM200./heatingCircuits/hc1/roomtemperature\x3a::
#FileLog_buderus 4:KM200./system/appliance/actualSupplyTemperature\x3a::

plot "<IN>" using 1:2 axes x1y2 title 'Aussentemp.' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Innentemp.' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Vorlauftemp.' ls l3 lw 1 with lines

und

/opt/fhem/www/gplot/SVG_FileLog_buderus_2.gplot
mit Inhalt
# Created by FHEM/98_SVG.pm, 2015-01-27 12:47:47
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Buderus'
set ytics
set y2tics
set grid
set ylabel ""
set y2label "Temperature"

#FileLog_buderus 4:KM200./system/sensors/temperatures/outdoor_t1\x3a::
#FileLog_buderus 4:KM200./heatingCircuits/hc1/roomtemperature\x3a::
#FileLog_buderus 4:KM200./system/appliance/actualSupplyTemperature\x3a::

plot "<IN>" using 1:2 axes x1y2 title 'Aussentemp.' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Innentemp.' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Vorlauftemp.' ls l3 lw 1 with lines
root@raspberrypi:/opt/fhem/www/gplot# more SVG_FileLog_buderus_2.gplot
# Created by FHEM/98_SVG.pm, 2015-01-24 22:03:35
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Buderus Brenner'
set ytics
set y2tics off
set grid
set ylabel ""
set y2label ""

#FileLog_buderus 4:KM200./heatSources/workingTime/totalSystem\x3a::
#FileLog_buderus 4:KM200./system/appliance/numberOfStarts\x3a::

plot "<IN>" using 1:2 axes x1y1 title 'Laufzeit' ls l0 lw 1 with fsteps,\
     "<IN>" using 1:2 axes x1y2 title 'Anzahl Starts' ls l1 lw 1 with fsteps

Bin leider zu doof hier mal ein Image einzufügen wie das denn dann aussieht.

c) Ja ich denke das scheitert daran das man ja nicht wirklich sieht ob man was Neues gefunden hat. Das mit den Holidaysettings war ja auch eher Zufall.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 27 Januar 2015, 20:47:56
Hallo Sailor,
ich habe jetzt mal zu Punkt a) die Tests gemacht.
Mein Problem beim Stoppen von FHEM aus der Konsole, Fehlermeldung:
Use of uninitialized value in numeric gt (>) at fhem.pl line 387.
korreliert nicht mit dem aktivieren des km200 Moduls.

Wenn ich die "define" Zeilen etc. bzw. "reload 73_km200.pm" Zeile entferne bleibt das Problem bestehen.
-> für Dich also soweit ok

Falls trotzdem jemand eine Idee hat woher die Fehlermeldung kommt, ich freu mich über jede Rückmeldung.

Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 27 Januar 2015, 22:41:00
Hallo Sailor,
ich habe jetzt mal eine Beschreibung ins "Unreine" geschrieben, vielleicht kann ja jemand hier im Blog testen ob das "Nachvollziehbar" ist.

und los gehts:

Meßwerte und Plots für die Heizung erzeugen.
Voraussetzungen:
im Verzeichnis (RaspberryPI):
/opt/fhem/www/gplot
das Plot template "temp4.gplot" 4x kopieren,  -> "temp4_01.gplot" ..... "temp4_04.gplot"
ggf. Schreibrechte setzten

Beispiel fhem.cfg:

#####################################################################################################################################################################################################################################################################################################################

# Buderus Gateway aktivieren und Parameter setzten
# =============================================
reload 73_km200.pm
define heizung km200 <IP ADR> <SYS PW> <User PW>
attr heizung IntervalDynVal 90
attr heizung IntervalStatVal 3600
attr heizung PollingTimeout 200
attr heizung ConsoleMessage 0
attr heizung room Heizung

# Im Room "Heizung" zwei Untergruppen definieren (Gruppe 1 = "Heizung"; Gruppe 2 = Temperaturen; siehe Buderus_RoomHeizung.jpg)
# =============================================================================================================================
#
# Temperaturen Gruppe 1
# ----------------------
define Temperaturen readingsGroup heizung:<%temp_temperature>,<AussenTemp.>,/system/sensors/temperatures/outdoor_t1 heizung:<%sani_solar_temp>,<SonnenkollektorTemp.>,/solarCircuits/sc1/collectorTemperature  heizung:<%sani_buffer_temp_all>,<HeißwasserTemp.>,/system/sensors/temperatures/hotWater_t2
attr Temperaturen room Heizung
attr Temperaturen valueStyle style="text-align:right"
#
# Temperaturen/Druck Gruppe 2
# ----------------------------
define Heizung readingsGroup heizung:<%sani_domestic_waterworks>,<Heizungsdruck>,/system/appliance/systemPressure heizung:<%sani_supply_temp>,<Vorlauftemp>,/system/sensors/temperatures/supply_t1 heizung:<%sani_return_temp>,<Rücklauftemp>,/heatSources/returnTemperature
attr Heizung room Heizung
attr Heizung valueStyle style="text-align:right"

# Loggen aller Daten aktivieren, Pfad/Dateiname (RaspberryPi) = /opt/fhem/log/Heizung-<Jahr>-<Monat>.log; Bsp.: "Heizung-2015-01.log"
# ===================================================================================================================================
# (was genau das Attribut logtype bewirkt erschliesst sich mir noch nicht, vieleicht kann ja jemand helfen das zu erklären)
define FileLog_heizung FileLog ./log/Heizung-%Y-%m.log heizung
attr FileLog_heizung logtype temp4:Plot,text
attr FileLog_heizung room LogFiles
attr FileLog_heizung group Heizung

# Im Room "Hz-Plots" 4 Plots erzeugen (Heizpumpen, HeizSonstiges, Heizsystem und Heiztemperaturen; siehe Buderus_RoomHz-Plots.jpg)
# ====================================================================================================================================
# Plot Heizpumpen
# ----------------
define Heizpumpen weblink fileplot FileLog_heizung:temp4_02
attr Heizpumpen room Hz-Plots

# Plotz HeizSonstiges
# --------------------
define HeizSonstiges weblink fileplot FileLog_heizung:temp4_04
attr HeizSonstiges room Hz-Plots

# Plot Heizsystem
# ----------------
define Heizsystem weblink fileplot FileLog_heizung:temp4_01
attr Heizsystem room Hz-Plots

# Plot Heiztemperaturen
# ----------------------
define Heiztemperaturen weblink fileplot FileLog_heizung:temp4_03
attr Heiztemperaturen room Hz-Plots

#####################################################################################################################################################################################################################################################################################################################

Plot Editor:
Nach Fertigstellung und abspeichern der "fhem.cfg" Datei müssen die Plots noch mit Leben gefüllt werden,
Den einzelnen Plot-Fenstern wurde in der cfg Datei jeweils eine der oben kopierten Plotdateien zugeordnet, dem Plot-Fenster "Heiztemperaturen" z.B. "temp4_03" (.gplot)
d.h. die eigentlichen Meßgrößen des Buderus Gateways zugeordnet werden. Wir gehen das am Beispiel des Plots "Heiztemperaturen" durch.

-> Link Heiztemperaturen anklicken (siehe Bild, unten links, die Plots selbst sind vor der ersten Konfiguration mit dem Plot Editor noch nicht zu sehen)
.. Es erscheint der Ploteditor (Buderus_Heiztemperaturen_Ploteditor_1.jpg)
.. Der Plot selbst (oben) erscheint beim ersten Mal noch nicht, da keine Meßgrößen selektiert wurden
-> die Beschriftung von Titel, Achsen etc. sollte selbst erklärend sein (Buderus_Heiztemperaturen_Ploteditor_2.jpg)
-> In den Zeilen unter "Diagram Label, Source..." legt man die eigentlichen Meßwerte für den Plot fest
-> "Diagram Label" = beliebige Bezeichnung des Meßwertes
-> "Source" = in diesem Auswahlfenster legt man die Logdatei fest, aus der die Daten extrahiert werden sollen, hier "FileLog_heizung"
-> "Input:Column" = vermutlich die Spalte innerhalb der Logdatei in der die Meßwerte stehen, bei uns immer "4"
-> "Regexp" = hier legt wählt man die eigentliche Meßgröße aus
-> "DefaultValue" = Defaultwert, wird angezeigt wenn es keine echten Meßdaten gibt (Man sieht dann den Default Wert, ist eher schlecht deshalb bei mir leer)
-> "Function" = vermutlich kann hier eine Umrechnungsformel angegeben werden, habe ich aber nicht nachvollziehen können
-> "Y-Axis" = hier kann die Referenzachse (rechte oder linke) ausgewählt werden
-> "Plot-Type" = hier wird festgelegt ob die Darstellung als "Linie" oder "Punkte" etc. erfolgt
-> "Style" = Farbe/Struktur der Line....
-> "Width" = Stärke der Linke....

Sind alle diese Parameter für einen Meßwert definiert ist noch der Button "Write .gplot file" zu drücken, danach wird die erste Kurve dargestellt.
Aber aufpassen: angezeigt werden in obiger Konfiguration immer nur die Meßwerte eines Tages. Erstellt man diese Konfiguration z.B. um 0:01 Uhr Nachts
sieht man gar nichts, weil es u.U. noch keine Meßwerte für diesen Tag gibt.
Weitere Meßwerte werden nach gleicher Vorgehensweise hinzugefügt.                                                                                                                       

Hinweis:
bei mir dauert das Laden der Plots richtig lange (Raspberry Pi). Das liegt vermutlich daran, dass alle Daten der Logdatei analysiert werden müssen und ich alle Daten speichere, nicht nur die Benötigten (und der Raspberry PI etwas schwach auf der Brust ist)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 28 Januar 2015, 07:49:17
Na das sieht aber bunt aus :) Ja bei der Menge an Daten dürfte der Raspi etwas schlucken. Da werde ich mir sicher noch mal was abschreiben. Danke

reload 73_km200.pm

Was soll denn die Zeile in der fhem.cfg bedeuten? So was habe ich nicht. Ist das vielleicht dein "Shutdown" Problem?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 28 Januar 2015, 07:57:06
Schade das ich da doch nicht viel abschreiben kann. Viele Werte wie z.B. den Rücklauftemp habe ich nicht. Vorlauf ist ok aber beim Rücklauf habe ich konstant -3276.8 stehen.
Hat da schon jemand eine Idee warum das so ist und wie man vielleicht an die richtigen Werte ran kommt? Mein RC300 zeit das ja an. Geben muss es den Wert also.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 28 Januar 2015, 10:28:49
Schade das ich da doch nicht viel abschreiben kann. Viele Werte wie z.B. den Rücklauftemp habe ich nicht. Vorlauf ist ok aber beim Rücklauf habe ich konstant -3276.8 stehen.
Hat da schon jemand eine Idee warum das so ist und wie man vielleicht an die richtigen Werte ran kommt? Mein RC300 zeit das ja an. Geben muss es den Wert also.

Ja auch ich bin auf den System-Druck Wert neidisch.

Der steht bei mir auf 25.5 bar!!!  :o

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 28 Januar 2015, 12:50:15
Der steht bei mir auf 25.5 bar!!!  :o

Nicht schlecht. Deswegen sind deine Rohre auch so dick  ;D
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 28 Januar 2015, 23:01:14
Hallo zusammen,
bin mir nicht sicher wie ich die Antworten interpretieren soll.
Vermutlich ist meine Anleitung noch zu komplex (zu viel drin?) oder langweilt Euch die Anleitung etwa?

Eine Frage an Sailor:
Warum findest Du die Angaben wie Systemdruck nicht.
Wenn ich das richtig verstehe hast Du kein Uralt System mit RC30 (wie ich) sondern ein modernes System mit RC300. Da sollte doch viel mehr gehen.

Wenn Du Dir meine Grafik "Buderus_Heiztemperaturen_Ploteditor_1.jpg" anschaust, gibt es in den unteren 2/3 des Fensters ab "Example lines for input" die Übersicht der Pollwerte bei denen das km200 Modul  tatsächlich Antworten liefert (die Werte selbst stehen auch gleich dabei). Gibt es da bei Deiner Steuerung tatsächlich keine Meßwerte die als Heizungsdruck durchgehen würden?

Wenn nicht habe ich ja richtig Glück gehabt, dass bei mir nur die untere Heizkesseltemperatur als wichtige Messgröße fehlt, alles andere habe ich ja gefunden.

Bei 25,5 bar Systemdruck sollte man entweder "Wasser ablassen" oder den Wert als Temperatur interpretieren  8)

Gruß
RaspII

Nachtrag:
Ach ja die Frage bzgl. "reload 73_km200.pm":
Der Befehlt erzwingt das Neuladen des km200 Moduls. War mir nicht sicher ob das nötig ist oder nicht.
Habs jetzt mal auskommentiert, die Kommunikatios zum Gateway klappt auch ohne diese Zeile (wusstet Ihr schon, denke ich).
Die Fehlermeldung beim Stoppen von FHEM bleibt  >:(


 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 28 Januar 2015, 23:25:48
Hallo RaspII

Hallo zusammen,
bin mir nicht sicher wie ich die Antworten interpretieren soll.
Vermutlich ist meine Anleitung noch zu komplex (zu viel drin?) oder langweilt Euch die Anleitung etwa?

Ganz im Gegenteil. Habe Dein Readingsgroup Beispiel sogar eben in die Hall of Fame meines Wikis verewigt!  ;)

Eine Frage an Sailor:
Warum findest Du die Angaben wie Systemdruck nicht.
Wenn ich das richtig verstehe hast Du kein Uralt System mit RC30 (wie ich) sondern ein modernes System mit RC300. Da sollte doch viel mehr gehen.

Wenn Du Dir meine Grafik "Buderus_Heiztemperaturen_Ploteditor_1.jpg" anschaust, gibt es in den unteren 2/3 des Fensters ab "Example lines for input" die Übersicht der Pollwerte bei denen das km200 Modul  tatsächlich Antworten liefert (die Werte selbst stehen auch gleich dabei). Gibt es da bei Deiner Steuerung tatsächlich keine Meßwerte die als Heizungsdruck durchgehen würden?

Wenn nicht habe ich ja richtig Glück gehabt, dass bei mir nur die untere Heizkesseltemperatur als wichtige Messgröße fehlt, alles andere habe ich ja gefunden.

Bei 25,5 bar Systemdruck sollte man entweder "Wasser ablassen" oder den Wert als Temperatur interpretieren  8)

Tja Mensch, wenn ich das mal wuesste. Der Service kann gelesen werden, aber der Inhalt des Wertes ist nur Muell!
Vielleicht versuche ich mal das Verwegene und kontaktiere den BOSCH Thermotechnik Kundenservice.
Es kann bei einem RC300 tatsaechlich nicht sein, das der Sensor fehlt.


Nachtrag:
Ach ja die Frage bzgl. "reload 73_km200.pm":
Der Befehlt erzwingt das Neuladen des km200 Moduls. War mir nicht sicher ob das nötig ist oder nicht.
Habs jetzt mal auskommentiert, die Kommunikatios zum Gateway klappt auch ohne diese Zeile (wusstet Ihr schon, denke ich).
Die Fehlermeldung beim Stoppen von FHEM bleibt  >:(

Tja, den Fehler beim Stopvorgang kenne ich auch noch nicht. Frag mal in einem entsprechenden Forum.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 29 Januar 2015, 08:01:35
Hallo zusammen,
bin mir nicht sicher wie ich die Antworten interpretieren soll.
Vermutlich ist meine Anleitung noch zu komplex (zu viel drin?) oder langweilt Euch die Anleitung etwa?
Ich war inzwischen auch schon so weit und habe das sehr ähnlich gemacht. Deshalb kam von mir kein Kommentar. Ich denke das das so schon ok ist, habe es aber nicht durchgespielt.

Zitat von: Sailor
Tja Mensch, wenn ich das mal wuesste. Der Service kann gelesen werden, aber der Inhalt des Wertes ist nur Muell!
Vielleicht versuche ich mal das Verwegene und kontaktiere den BOSCH Thermotechnik Kundenservice.
Es kann bei einem RC300 tatsaechlich nicht sein, das der Sensor fehlt.
Das mit den Mülldaten ist in der Tat noch sehr interessant heraus zu finden woher das kommt. 
Da scheinen ja auch bei jedem andere Werte betroffen zu sein.
Bei mir (SB105 mit RC300) sind das wohl die Warmwassertemperatur und die Rücklauftemperatur die Schrott sind

/heatSources/returnTemperature -3276.8
/system/sensors/temperatures/return -3276.8
/system/sensors/temperatures/hotWater_t2 3200
/system/sensors/temperatures/switch 3200

Komisch auch das diese Werte konstant bleiben. Wenn sie ja wenigstens schwanken würden, dann könnte man vermuten das man es irgendwie umrechnen muss.
Warum habe ich kein hotWater_t1 sondern nur ein hotWater_t2? ....

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 29 Januar 2015, 18:22:00
Hello all,

bei mir sind nur die beiden folgenden Müll.

/system/sensors/temperatures/chimney -3276.8 2015-01-29 18:16:27
/system/sensors/temperatures/hotWater_t1 -3276.8 2015-01-29 18:16:27

Habe aber ein Haufen Werte mit einer schlichten Null.

Den mit fullResponse ERROR 2015-01-28 07:53:42 verstehe ich nicht wirklich.

Grüße Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 30 Januar 2015, 10:40:23
Hallo NewBee

Habe aber ein Haufen Werte mit einer schlichten Null.

da bist Du wohl einer der wenigen Glücklichen!!!
Magst Du mal eine Bildschirm-Kopie senden? Am besten nur als Text.

Den mit fullResponse ERROR 2015-01-28 07:53:42 verstehe ich nicht wirklich.

Ich auch nicht. Da muss fhem irgendwie reinsteuern. Mein Code erwähnt das nicht in einer Silbe...


Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 30 Januar 2015, 13:00:21
Abrakadabra,

und drei mal .... das sind meine readings!

/gateway/DateTime   2015-01-30T12:42:08
/gateway/instAccess                               off
/gateway/instWriteAccess                       on
/gateway/uuid                        xxxxxxxxxxx
/gateway/versionFirmware             01.09.04
/gateway/versionHardware      iCom_Low_v1
/heatSources/CHpumpModulation             98
/heatSources/actualCHPower              20
/heatSources/actualDHWPower              20
/heatSources/actualPower                      20
/heatSources/flameCurrent                     1.1
/heatSources/flameStatus                     off
/heatSources/gasAirPressure               0
/heatSources/nominalCHPower             14
/heatSources/nominalDHWPower               0
/heatSources/numberOfStarts      106112
/heatSources/powerSetpoint           100
/heatSources/returnTemperature   36.3
/heatSources/systemPressure            1.6
/heatSources/workingTime/centralHeating   1223209
/heatSources/workingTime/secondBurner   0
/heatSources/workingTime/totalSystem   1413363
/heatingCircuits/hc1/activeSwitchProgram   Eigen1
/heatingCircuits/hc1/operationMode           auto
/heatingCircuits/hc1/roomtemperature   19.5
/heatingCircuits/hc1/status                           ACTIVE
/heatingCircuits/hc1/temperatureLevels/day           20.5
/heatingCircuits/hc1/temperatureLevels/night   17
/heatingCircuits/hc1/temperatureRoomSetpoint   20.5
/heatingCircuits/hc2/activeSwitchProgram           Familie
/heatingCircuits/hc2/operationMode                   auto
/heatingCircuits/hc2/pumpModulation                   0
/heatingCircuits/hc2/roomtemperature          0
/heatingCircuits/hc2/status                                 INACTIVE
/heatingCircuits/hc2/temperatureLevels/day         21
/heatingCircuits/hc2/temperatureLevels/night    17
/heatingCircuits/hc2/temperatureRoomSetpoint   0
/solarCircuits/sc1/collectorTemperature           0
/solarCircuits/sc1/pumpModulation                   0
/solarCircuits/sc1/solarYield                           0
/solarCircuits/sc1/status                                  INACTIVE
/system/appliance/CHpumpModulation                 98
/system/appliance/actualPower                         20
/system/appliance/flameCurrent                         1.1
/system/appliance/gasAirPressure                  0
/system/appliance/nominalBurnerLoad                 1.4
/system/appliance/numberOfStarts                106112
/system/appliance/powerSetpoint                100
/system/appliance/systemPressure                1.6
/system/appliance/workingTime/centralHeating   1223210
/system/appliance/workingTime/secondBurner   0
/system/appliance/workingTime/totalSystem   1413364
/system/brand                                                   Buderus
/system/bus                                                  EMS1_0
/system/healthStatus                                          ok
/system/sensors/temperatures/chimney       -3276.8
/system/sensors/temperatures/hotWater_t1       -3276.8
/system/sensors/temperatures/hotWater_t2        61.9
/system/sensors/temperatures/outdoor_t1        4.3
/system/sensors/temperatures/return                34
/system/sensors/temperatures/supply_t1        57.1
/system/sensors/temperatures/supply_t1_setpoint   61
/system/sensors/temperatures/switch                          0
/system/systemType                                     CoreIcomGw
fullResponse                                             ERROR

Glaube aber es sind noch nicht alle Werte die mit RC30 möglich sind.

Gruß Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: HotteFred am 30 Januar 2015, 16:23:11
Abrakadabra,

und drei mal .... das sind meine readings!

/heatSources/numberOfStarts      106112
/heatSources/powerSetpoint           100
/heatSources/returnTemperature   36.3
/heatSources/systemPressure            1.6
/heatSources/workingTime/centralHeating   1223209
/heatSources/workingTime/secondBurner   0
/heatSources/workingTime/totalSystem   1413363

Gruß Newbee

Hi Newbee,

mein Output sieht im Prinzip gleich aus.

Was ich aber sagen wollte: ohne deine Heizung zu kennen und dein Heizverhalten etc. würde ich trotzdem sagen, das deine Heizung etwas zu viel Taktet...

Bin aber kein Experte. Schau dock mal per .plot, wie viele Takte du so am Tag hast....

Viele Grüße
Fred
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Newbee am 30 Januar 2015, 19:25:38
Hi Newbee,

mein Output sieht im Prinzip gleich aus.

Was ich aber sagen wollte: ohne deine Heizung zu kennen und dein Heizverhalten etc. würde ich trotzdem sagen, das deine Heizung etwas zu viel Taktet...

Bin aber kein Experte. Schau dock mal per .plot, wie viele Takte du so am Tag hast....

Viele Grüße
Fred

Hallo Fred,

ja da gibt es Optimierungspotential. In der Regel sind zwischen 2000 bis 2500 Starts per anno normal. Ich habe Starts / Alter der Anlage im Schnitt somit aktuell 8800 pro Jahr.
Danke für den Hinweis!

Ein feines Modul hat der Sailor uns da zusammengebaut. :)
Bin dann mal weg, Anlage optimieren.  ;)

Grüße Newbee
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 02 Februar 2015, 23:38:52
Hi Sailor,
habe mal die Beschreibung von Plots via  FileLog + Ploteditor ins Wiki aufgenommen.
http://www.fhemwiki.de/wiki/Buderus_Web_Gateway (http://www.fhemwiki.de/wiki/Buderus_Web_Gateway)

Schau mal rein ob das für Dich ok ist.
Verbesserungsvorschläge sind herzlich willkommen, wenns Dir nicht gefällt -> löschen  :-\

Gruß
RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 03 Februar 2015, 08:46:02
Hallo RaspII

Hi Sailor,
habe mal die Beschreibung von Plots via  FileLog + Ploteditor ins Wiki aufgenommen.
http://www.fhemwiki.de/wiki/Buderus_Web_Gateway (http://www.fhemwiki.de/wiki/Buderus_Web_Gateway)

Schau mal rein ob das für Dich ok ist.
Verbesserungsvorschläge sind herzlich willkommen, wenns Dir nicht gefällt -> löschen  :-\

der Vorschlag gefaellt mir sehr gut!

Nur eine Anmerkung. Da ich bereits von Admin angesprochen wurde, schlaegt er vor, das Bild vom gplot-Editor bis knapp unter die roten Zahlen zu kuerzen.
Das spart Speicherplatz und erhoeht die Lesbarkeit.

Ansonsten wuerde ich mir diese Erklaerung im WIKI fuer den gplot-Editor wuenschen.  ;D

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 03 Februar 2015, 09:03:22

Ansonsten wuerde ich mir diese Erklaerung im WIKI fuer den gplot-Editor wuenschen.  ;D


Schöne Arbeit.
Genau diesen Gedankenvon Sailor  hatte ich auch schon. Das Plot Thema ist ja kein KM200 Thema mehr, sondern eher übergreifend auch für Andere interessant wie z.B. die vom Viessmann Modul. Dürfte sich nicht so wesentlich unterscheiden.
Vielleicht gehört das auf eine eigene WIKI Seite und sollte von der Buderusseite und anderen Seiten verlinkt werden?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: RaspII am 03 Februar 2015, 21:49:10
Hi,
das mit der Grafik Größe stand schon auf meinem Plan, wollte gestern aber noch vor Mitternacht ins Bett  8)
-> jetzt erledigt

Bzgl. "was ist die richtige Wiki".
Ich würde den Eintrag ungern zur "Ploteditor Wiki" verschieben, da mein Hintergedanke eine komplette Buderus/km200 Doku war.
Für mich war es am Beginn sehr mühsam die Zusammenhänge bzgl. LogFiles und dem Plot zu verstehen, eine derartige Beschreibung in der Buderus Wiki hätte mir viel Zeit gespart.
Ich richte mich hier aber gerne nach Sailors Wünschen, er hat in der Wiki bisher den Großteil gestaltet (wenn ich da richtig informiert bin).
Einen Link auf der "Ploteditor Wiki" zur "Buderus Wiki" werde ich gerne noch einfügen.
Nachtrag: hat Krikan schon erledigt  :)

RaspII
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 08 Februar 2015, 13:59:56
Hi Leute,

habe gerade gelesen das man aus der Brennerlaufzeit recht gut den Ölverbrauch hochrechnen können soll.
Man sollte also damit also auch einen Plot erstellen können der die Restmenge Öl im Öltank anzeigt.
Ich habe eben mal hochgerechnet das bei mir wohl 0,0322222l/min Öl durchlaufen (1450l / 45000min Laufzeit).
Man muss also eigentlich nur die aktuelle Brennerlaufzeit mit 0,032222 multiplizieren und dann immer die irgendwann mal getankte Menge Öl abziehen.
... und nun hoffe ich das so was schon jemand gebaut hat wo ich abschreiben kann :)

Gruß

Frank

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 08 Februar 2015, 14:53:15
OK. Habe es ausgetüftelt. Man trägt also einfach als "Function" ein

$fld[3]*0.0322222-1000

steht dann so in der Plotdatei
#FileLog_buderus 4:KM200./heatSources/workingTime/totalSystem\x3a:0:$fld[3]*0.0322222-1000


wobei die 1000 die neu getankten Liter sind. Ohne die bekommt man den Verbrauch der kompletten Lebenszeit der Heizungsanlage.
Jetzt bin ich mal gespannt wie gut mein Umrechenfaktor stimmt. Den muss ich vermutlich im laufe der Zeit noch ein wenig feinjustieren.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 10 Februar 2015, 12:33:21
wobei die 1000 die neu getankten Liter sind. Ohne die bekommt man den Verbrauch der kompletten Lebenszeit der Heizungsanlage.
Jetzt bin ich mal gespannt wie gut mein Umrechenfaktor stimmt. Den muss ich vermutlich im laufe der Zeit noch ein wenig feinjustieren.

Hallo Furban

das funktioniert aber nur, solange deine Heizungsanlage nicht moduliert (/heatSources/actualPower) und immer auf dem gleichen Wert heizt (ON/OFF bzw. 100%/0%)

Ansonsten musst Du fuer jeden Messpunkt den Modulationsfaktor hinzurechnen. Und ob der Verbrauch linear zur Modulation ist, weis ich auch nicht.

Aber auch das birgt eine Fehlerquelle: Ist das Pollingintervall zu gross gewaehlt und die Heizung moduliert zwischen zwei Zyklen, dann stimmt die Rechnung auch wieder nicht.

Besser waere beispielsweise so was:
http://www.r-c-t.biz/heim-standardloesungen/fuellstand-oeltank/ (http://www.r-c-t.biz/heim-standardloesungen/fuellstand-oeltank/)

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: furban am 10 Februar 2015, 12:50:07
Hallo Furban

das funktioniert aber nur, solange deine Heizungsanlage nicht moduliert (/heatSources/actualPower) und immer auf dem gleichen Wert heizt (ON/OFF bzw. 100%/0%)

Ansonsten musst Du fuer jeden Messpunkt den Modulationsfaktor hinzurechnen. Und ob der Verbrauch linear zur Modulation ist, weis ich auch nicht.

Aber auch das birgt eine Fehlerquelle: Ist das Pollingintervall zu gross gewaehlt und die Heizung moduliert zwischen zwei Zyklen, dann stimmt die Rechnung auch wieder nicht.

Besser waere beispielsweise so was:
http://www.r-c-t.biz/heim-standardloesungen/fuellstand-oeltank/ (http://www.r-c-t.biz/heim-standardloesungen/fuellstand-oeltank/)

Hi Sailor,

es geht ja nicht darum den Wert auf den Liter genau zu haben und bei den aktuellen Heizungsanlagen laufen die Brenner konstant. Meine SB105 hat zwar zwei Stufen, das ist aber auch der einzige Unterschied. Erst die GB145 moduliert dann, soweit ich das verstanden habe.

Die Laufzeitwerte für meine zwei Stufen kann ich sogar abfragen
/heatSources/workingTime/centralHeating 34858
/heatSources/workingTime/secondBurner 27177
/heatSources/workingTime/totalSystem 45943

Wobei mir noch nicht wirklich klar ist welcher Wert denn nun was genau bedeute. "secondBurner" dürfte wohl die Laufzeit der zweiten Stufe sein.
Aber so genau will ich das ja gar nicht Wissen und das schöne an meinem Umrechenwert ist ja das ich denn bei jedem Tanken wieder neu berechnen und kann und dieser somit im Laufe der Zeit immer genauer wird. Ich muss halt immer nur Wissen wie viel Öl ich jemals mit der Anlage verbraucht habe.

Gruß

Frank
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 10 Februar 2015, 13:04:03
Hallo Forumsgemeinde - speziell hallo Sailor!

Danke erstmal, das Ihr hier so freimütig Eure Erfahrungen mitteilt und auch Anfängern helft.

Ich will mich mal mit meinem Problem einklinken:
Habe versucht, meine Wärmepumpe (Buderus WPS10-1) über CAN-Bus und Gateway KM200 anzubinden. Leider liefert das FHEM-Modul 73:km200.pm "nur" folgende Daten:
/gateway/DateTime
/gateway/userpassword
/gateway/uuid
/gateway/versionFirmware
/gateway/versionHardware
/heatingCircuits/hc1/activeSwitchProgram
/heatingCircuits/hc1/operationMode
/heatingCircuits/hc1/status
/heatingCircuits/hc2/activeSwitchProgram
/heatingCircuits/hc2/operationMode
/heatingCircuits/hc2/status
/system/brand
/system/bus
/system/systemType

.... mehr nicht 
Das ist weniger, als in der "Buderus Easy Control" App, wo wenigstens zusätzlich Außen- und Warmwassertemperatur angezeigt werden.
Keine VL, RL, oder wenigstens Störmeldungen, geschweige denn Soletmperaturen. ...

Als <device> wird myKM200 angezeigt, aber immer nur in der Web-Oberfläche als "INITIALIZE".

Kann man da was machen?

Danke und bis bald.

Jörg
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 17 Februar 2015, 11:03:57
Hallo liebe Gemeinde,

ich lese seit einiger Zeit interessiert die Beiträge in diesem Forum und habe mir auch schon ein Modul zusammengebaut mit einigen Readings und Plots. Nun habe ich zwei Fragen an euch.
1. In der Definition der Services sind zwar alle möglichen Werte hinterlegt, es können aber nicht alle ausgelesen werden bzw. es wird kein Wert zurückgeliefert (beispiel: /heatingCircuits/hc2/roomTempOffset).
2. Wie kann man Werte setzen/verändern. Ich komme einfach nicht drauf.
Für ein kurzes Beispiel wäre ich sehr dankbar.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 Februar 2015, 12:15:30
ich lese seit einiger Zeit interessiert die Beiträge in diesem Forum und habe mir auch schon ein Modul zusammengebaut mit einigen Readings und Plots. Nun habe ich zwei Fragen an euch.
1. In der Definition der Services sind zwar alle möglichen Werte hinterlegt, es können aber nicht alle ausgelesen werden bzw. es wird kein Wert zurückgeliefert (beispiel: /heatingCircuits/hc2/roomTempOffset).
2. Wie kann man Werte setzen/verändern. Ich komme einfach nicht drauf.
Für ein kurzes Beispiel wäre ich sehr dankbar.

Hallo D

Services die in der Definition sind, sind nur die irgendwie durch die Gemeinda mal bekannt gemacht wurden.
Bei jeder Initialisierung warden in deinem System diese Services abgeklopft ob das KM-Modul auf diesen antwortet.

Nur wenn diese Antworten , kannst Du sie auslesen bzw. warden sie angezeigt.

Nur wenn die beim auslesen das Bit für "writeable" beinhalten, kannst du sie darüber hinaus auch beschreiben.

All das hängt von Deiner Systemkombination ab.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 19 Februar 2015, 12:19:34
Hallo Forumsgemeinde - speziell hallo Sailor!

Danke erstmal, das Ihr hier so freimütig Eure Erfahrungen mitteilt und auch Anfängern helft.

Ich will mich mal mit meinem Problem einklinken:
Habe versucht, meine Wärmepumpe (Buderus WPS10-1) über CAN-Bus und Gateway KM200 anzubinden. Leider liefert das FHEM-Modul 73:km200.pm "nur" folgende Daten:
/gateway/DateTime
/gateway/userpassword
/gateway/uuid
/gateway/versionFirmware
/gateway/versionHardware
/heatingCircuits/hc1/activeSwitchProgram
/heatingCircuits/hc1/operationMode
/heatingCircuits/hc1/status
/heatingCircuits/hc2/activeSwitchProgram
/heatingCircuits/hc2/operationMode
/heatingCircuits/hc2/status
/system/brand
/system/bus
/system/systemType

.... mehr nicht 
Das ist weniger, als in der "Buderus Easy Control" App, wo wenigstens zusätzlich Außen- und Warmwassertemperatur angezeigt werden.
Keine VL, RL, oder wenigstens Störmeldungen, geschweige denn Soletmperaturen. ...

Als <device> wird myKM200 angezeigt, aber immer nur in der Web-Oberfläche als "INITIALIZE".

Kann man da was machen?

Danke und bis bald.

Jörg

Versuche mal mit dem get-Befehl die Top-Hierarchien auszulesen. Also:

get myKm200 /
get myKm200 /heatingCircuits/
get myKm200 /heatingCircuits/hc1/
get myKm200 /System/
usw.

Dann kommt ein JSON String zurück, der die tiefer liegenden Services beinhaltet.

Sind da noch unbekannte Services dabei?

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 19 Februar 2015, 12:35:45
Hallo Sailor,

bei "get mykm200" kommt:
Unknown argument , choose one of /system/holidayModes / /heatSources/actualDHWPower /heatSources/hs1/fuel /system/heatSources/hs1/actualPower /heatSources/ChimneySweeper /heatingCircuits/hc1/temporaryRoomSetpoint /system/holidayModes/hm4/hcMode /heatingCircuits/hc2/actualSupplyTemperature /solarCircuits/sc1/actuatorStatus /heatSources/actualsupplytemperature /heatingCircuits/hc1/temperatureLevels/eco /heatingCircuits/hc1/temperatureRoomSetpoint /solarCircuits/sc1/solarYield /heatSources/flameCurrent /gateway/uuid /heatingCircuits/hc2/activeSwitchProgram /heatingCircuits/hc1/fastHeatupFactor /heatingCircuits/hc2/heatCurveMin /heatingCircuits/hc2/solarInfluence /system/sensors/temperatures/return /heatSources/gasAirPressure /heatingCircuits/hc1/roomInfluence /system/holidayModes/hm2/dhwMode /system/appliance/actualSupplyTemperature /heatingCircuits/hc2/suWiSwitchMode /heatingCircuits/hc2/setpointOptimization /heatingCircuits/hc1/suWiThreshold /system/sensors/temperatures/switch /system/heatSources/hs1/nominalFuelConsumption /recordings/heatingCircuits/hc1/roomtemperature /system/holidayModes/hm4/assignedTo /gateway/instAccess /system/holidayModes/hm1/delete /gateway/DateTime /system/holidayModes/hm3 /system/holidayModes/hm3/hcMode /system/holidayModes/hm1/assignedTo /recordings/heatingCircuits/hc1 /system/systemType /heatingCircuits/hc2/suWiThreshold /recordings/system/sensors/temperatures /heatingCircuits/hc1/heatCurveMax /system/sensors/temperatures/hotWater_t2 /system/holidayModes/hm3/delete /system/holidayModes/hm1/hcMode /system/appliance/systemPressure /system/appliance/CHpumpModulation /system/heatSources/hs1/fuelConsmptCorrFactor /gateway /solarCircuits/sc1/dhwTankTemperature /heatSources/actualPower /heatSources/workingTime/centralHeating /heatingCircuits/hc1/suWiSwitchMode /system/heatSources/hs1/energyReservoir /recordings/heatSources /heatingCircuits/hc1/currentOpModeInfo /heatingCircuits/hc2/switchPrograms /system/bus /system/appliance/nominalBurnerLoad /heatingCircuits/hc2/currentRoomSetpoint /recordings/system/heatSources/hs1/actualPower /heatingCircuits/hc2/roomTempOffset /heatingCircuits/hc1/solarInfluence /heatingCircuits /heatSources/actualCHPower /recordings/heatSources/actualDHWPower /solarCircuits/sc2/status /recordings/system/sensors/temperatures/outdoor_t1 /heatSources/CHpumpModulation /system/appliance/workingTime /heatSources/systemPressure /heatSources/hs1/nominalFuelConsumption /heatSources/numberOfStarts /heatingCircuits/hc1/temperatureLevels/comfort2 /system/holidayModes/hm4/dhwMode /heatingCircuits/hc2/roomInfluence /heatingCircuits/hc1/heatCurveMin /notifications /gateway/firmware /system/info /solarCircuits/sc2/dhwTankTemperature /solarCircuits/sc2/collectorTemperature /heatingCircuits/hc2 /heatingCircuits/hc1/status /system/sensors/temperatures/chimney /solarCircuits/sc2 /heatingCircuits/hc2/currentOpModeInfo /heatingCircuits/hc1/roomTempOffset /gateway/instWriteAccess /gateway/haiPassword /heatSources/workingTime/secondBurner /heatingCircuits/hc1/controlType /system/brand /recordings/system/heatSources/hs1 /heatingCircuits/hc1/switchPrograms/B /system/holidayModes/hm4/delete /heatSources/workingTime /heatingCircuits/hc1/currentRoomSetpoint /system/heatSources/hs1/fuel /system/minOutdoorTemp /system/appliance/powerSetpoint /heatingCircuits/hc1/temperatureLevels /heatSources/hs1/reservoirAlert /system/holidayModes/hm1 /heatingCircuits/hc2/switchPrograms/A /recordings/system/sensors /system/holidayModes/hm4/startStop /system/holidayModes/hm2/startStop /heatSources/powerSetpoint /system/heatSources /system/holidayModes/hm2/delete /system/heatSources/hs1/fuel/caloricValue /heatingCircuits/hc1/setpointOptimization /heatingCircuits/hc1/actualSupplyTemperature /heatingCircuits/hc2/designTemp /solarCircuits/sc2/pumpModulation /heatingCircuits/hc2/roomtemperature /heatSources/hs1/actualPower /solarCircuits/sc1/pumpModulation /system/sensors/temperatures/supply_t1_setpoint /heatingCircuits/hc2/controlType /recordings/heatingCircuits /system/holidayModes/hm3/dhwMode /recordings/system /heatingCircuits/hc2/temporaryRoomSetpoint /heatingCircuits/hc2/temperatureLevels /heatingCircuits/hc2/operationMode /system/holidayModes/hm3/startStop /heatingCircuits/hc1 /heatingCircuits/hc1/manualRoomSetpoint /system/sensors/temperatures/supply_t1 /system/appliance/gasAirPressure /heatingCircuits/hc2/temperatureLevels/eco /heatSources/hs1/fuelConsmptCorrFactor /system/holidayModes/hm3/assignedTo /heatSources/flameStatus /system/holidayModes/hm1/startStop /heatingCircuits/hc1/temperatureLevels/night /system/holidayModes/hm2 /system/heatSources/hs1/actualModulation /system/sensors/temperatures /system /system/heatSources/hs1/fuel/density /solarCircuits /heatingCircuits/hc2/temperatureLevels/night /recordings/heatSources/actualCHPower /heatSources/nominalDHWPower /heatingCircuits/hc2/temperatureLevels/comfort2 /heatingCircuits/hc2/status /heatingCircuits/hc2/heatCurveMax /heatingCircuits/hc2/temperatureRoomSetpoint /system/appliance/flameStatus /solarCircuits/sc1 /heatingCircuits/hc2/temperatureLevels/day /heatingCircuits/hc2/manualRoomSetpoint /system/holidayModes/hm2/hcMode /heatingCircuits/hc1/switchPrograms /system/appliance/workingTime/centralHeating /heatingCircuits/hc2/pumpModulation /system/healthStatus /heatingCircuits/hc1/designTemp /gateway/versionFirmware /gateway/userpassword /heatingCircuits/hc2/switchPrograms/B /heatingCircuits/hc1/roomtemperature /recordings /heatingCircuits/hc2/fastHeatupFactor /system/sensors/temperatures/hotWater_t1 /heatingCircuits/hc1/operationMode /system/appliance/actualPower /solarCircuits/sc2/solarYield /system/holidayModes/hm2/assignedTo /solarCircuits/sc1/status /gateway/instPassword /system/holidayModes/hm1/dhwMode /system/appliance/flameCurrent /heatingCircuits/hc1/temperatureLevels/day /system/appliance/workingTime/totalSystem /system/sensors /system/appliance /system/heatSources/hs1 /system/appliance/ChimneySweeper /system/appliance/numberOfStarts /heatSources/workingTime/totalSystem /gateway/versionHardware /heatSources /system/heatSources/hs1/reservoirAlert /solarCircuits/sc1/collectorTemperature /solarCircuits/sc2/actuatorStatus /recordings/system/heatSources /system/sensors/temperatures/outdoor_t1 /system/appliance/workingTime/secondBurner /heatingCircuits/hc1/switchPrograms/A /recordings/heatSources/actualPower /heatSources/returnTemperature /heatingCircuits/hc1/activeSwitchProgram /heatSources/nominalCHPower /system/holidayModes/hm4 /heatSources/hs1/actualModulation /heatSources/hs1/energyReservoir /heatingCircuits/hc1/pumpModulation
 :o

bei "get mykm200/ heatingCircuits "kommt:
{"id":"/heatingCircuits","type":"refEnum","references":[{"id":"/heatingCircuits/hc1","uri":"http://192.168.178.36/heatingCircuits/hc1"},{"id":"/heatingCircuits/hc2","uri":"http://192.168.178.36/heatingCircuits/hc2"}]}
 :o

bei "get mykm200/ heatingCicuits/ hc1" kommt:
{"id":"/heatingCircuits/hc1","type":"refEnum","references":[{"id":"/heatingCircuits/hc1/operationMode","uri":"http://192.168.178.36/heatingCircuits/hc1/operationMode"},{"id":"/heatingCircuits/hc1/activeSwitchProgram","uri":"http://192.168.178.36/heatingCircuits/hc1/activeSwitchProgram"},{"id":"/heatingCircuits/hc1/switchPrograms","uri":"http://192.168.178.36/heatingCircuits/hc1/switchPrograms"},{"id":"/heatingCircuits/hc1/temperatureLevels","uri":"http://192.168.178.36/heatingCircuits/hc1/temperatureLevels"},{"id":"/heatingCircuits/hc1/heatingCurveSetting","uri":"http://192.168.178.36/heatingCircuits/hc1/heatingCurveSetting"},{"id":"/heatingCircuits/hc1/holidayMode","uri":"http://192.168.178.36/heatingCircuits/hc1/holidayMode"},{"id":"/heatingCircuits/hc1/status","uri":"http://192.168.178.36/heatingCircuits/hc1/status"}]}
 :o

und bei "Get mykm200/system" kommt:
{"id":"/system","type":"refEnum","references":[{"id":"/system/brand","uri":"http://192.168.178.36/system/brand"},{"id":"/system/bus","uri":"http://192.168.178.36/system/bus"},{"id":"/system/systemType","uri":"http://192.168.178.36/system/systemType"},{"id":"/system/sensors","uri":"http://192.168.178.36/system/sensors"},{"id":"/system/appliance","uri":"http://192.168.178.36/system/appliance"}]}
 :o

....und jetzt?

Grüsse.

Jörg
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Februar 2015, 10:20:38
Hallo Joerg

bei "get mykm200" kommt:

Versuch mal
"get mykm200 /"

sowie testweise
"get mykm200 //"


bei "get mykm200/ heatingCicuits/ hc1" kommt:
{"id":"/heatingCircuits/hc1","type":"refEnum","references":[{"id":"/heatingCircuits/hc1/operationMode","uri":"http://192.168.178.36/heatingCircuits/hc1/operationMode"},{"id":"/heatingCircuits/hc1/activeSwitchProgram","uri":"http://192.168.178.36/heatingCircuits/hc1/activeSwitchProgram"},{"id":"/heatingCircuits/hc1/switchPrograms","uri":"http://192.168.178.36/heatingCircuits/hc1/switchPrograms"},{"id":"/heatingCircuits/hc1/temperatureLevels","uri":"http://192.168.178.36/heatingCircuits/hc1/temperatureLevels"},{"id":"/heatingCircuits/hc1/heatingCurveSetting","uri":"http://192.168.178.36/heatingCircuits/hc1/heatingCurveSetting"},{"id":"/heatingCircuits/hc1/holidayMode","uri":"http://192.168.178.36/heatingCircuits/hc1/holidayMode"},{"id":"/heatingCircuits/hc1/status","uri":"http://192.168.178.36/heatingCircuits/hc1/status"}]}

....und jetzt?


Weitermachen z.B.: "get mykm200 /heatingCircuits/hc1/Status" bis es nicht mehr weitergeht bzw. ein Value erscheint.

Das ist die Einzige Möglichkeit herauszufinden, was du für Services hast.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 20 Februar 2015, 12:11:32
Hallo Sailor,

bei "get mykm200 /" bzw. "get my km200 //" kommt gar nichts.
(Eingabe über den FHEM Browseroberfläche - ich nutze Mozilla).

Bei manchem Service kommen nur Sonderzeichen:
,L��f:{�&�^��ƻb� J�I�v�|r�h�Лx�   lܨ�U�E��wl���:��ovN�&�h�1s9U�C�/(��Je��+~��� �3��a<���i���X ���K�8�9���Og��Z�mV �v�WM݀���ʫ�x2����㘤.�w��J�3��H���~�K�4B1�g"t�f�+�:C�ޛ֤��H���>f   
gĎ�����m���ʵ�[�[�R"5��1b��V��l�¯Rz���u+���@j��D���}\bG7�`��Ւ��QFȥj��WV��Q@�/O���4"�I{�0�3��ea��_!����U6�v�kS�_7C�

Was mache ich falsch bzw. muss ich ändern?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 20 Februar 2015, 13:21:07
Hallo Grossi

das sieht nach codiertem Inhalt aus.

Hast Du dein privates Passwort zunächst mit der Buderus APP gesetzt und zusammen mit dem Gateway-Passwort fehlerfrei nach fhem übertragen?

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 20 Februar 2015, 13:58:31
Hallo Sailor,

Danke - ich hatte das Passwort in der APP geändert, nicht aber in der config von FHEM.
Jetzt klappt es wieder.

Ich brauche mal das Wochenende, dann kann ich alle Services mal durchprobieren.
Es scheinen aber sehr wenig zu sein, z.B. bei "get mykm200 / bus" bekomme ich nur "CAN" ....

Bis dann.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 20 Februar 2015, 18:25:35
Hallo Sailor,

folgende Services in Verbindung mit dem KM200-Modul werden unterstützt:
/gateway/DateTime
      
/gateway/userpassword
      
/gateway/uuid
      
/gateway/versionFirmware
      
/gateway/versionHardware
      
/heatingCircuits/hc1/activeSwitchProgram
      
/heatingCircuits/hc1/operationMode
      
/heatingCircuits/hc1/status
      
/heatingCircuits/hc2/activeSwitchProgram
      
/heatingCircuits/hc2/operationMode
      
/heatingCircuits/hc2/status
      
/system/brand
      
/system/bus
      
/system/systemType
      
 >:(
Nicht im KM200 Modul, aber scheinbar von der Wärmepumpe zusätzlich gelieferter Service:
/gateway/language
/recordings/system/sensors/outdoorTemperatures

Die aktuelle Warmwassertemperatur ist in der APP zu finden (und einstellbar), aber
nicht im KM200-FHEM-Modul.  :'(


Grüsse

grossi33


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 20 Februar 2015, 19:28:11
Hallo zusammen,

habe hier mal im pdf-Anhang die verfügbaren Services aufgelistet, mit Beispielen versehen und auch 2 "gefunden",
die nicht durch das aktuelle FHEM-Modul abgedeckt werden (Stand: 20.02.15).

Vielleicht kann die Forengemeinde hier noch was zur Verbesserung beitragen!?

Danke nochmal an Sailor und bis bald.

grossi33
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 20 Februar 2015, 21:37:37
Hallo Buderusheizer,

zuerst einmal ein dickes Lob und vielen Dank an Sailor uns hier ein Modul zur Verfügung zu stellen damit man mit der Heizung mal was anfangen kann.

Ich bin noch relativ frisch im FHEM Thema und hauptsächlich am Lesen und Probieren, habe aber bis jetzt schon einiges zum Laufen gebracht.  Jetzt ist der Leidensdruck aber so groß geworden, dass ich mich mit einer Frage an Euch und im speziellen an den Modulentwickler wenden muß.

Ich habe folgende Hardware:
Buderus GB152 mit RC35 und KM200 (Firmware Version 01.09.04)
Raspi B+ alle Perl-Module gemäß Wiki installiert. Lief alles glatt bis auf cpanm HttpUtils, dieses Modul wurde nicht gefunden.
Abschließendes Update/Upgrade alles aktuell.

Fhem info:
  Release  : 5.6
  OS       : linux
  Arch     : arm-linux-gnueabihf-thread-multi-64int
  Perl     : v5.14.2

73_km200.pm 0040 2015-01-20 22:15:00Z Matthias_Deeke

Bei mir treten folgende Probleme auf:
1. DoNotPoll funktioniert bei mir nur einmal. Ein Neustart (wie hier schon mal gelesen) hilft nicht. Es werden immer alle (außer den Systemdaten Version Firmware Hardware etc.) abgerufen.

2. Abstürze oder Hängenbleiben konnte ich nicht beobachten. Das Modul läuft schon fast zwei Wochen ohne zu stören. Nach einem Neustart von FHEM nimmt es aber selbständig seine Arbeit nicht auf. Ich muß immer den DEF Editor öffnen und den Definitionsknödel mit der IP und den Passworten schicken. (Passworte haben keine Leerzeichen oder Sonderzeichen) Dann ist es als ob ein Knoten platzt und die Readings kommen rein. Außerdem taucht oben nach Browseraktualisierung mit F5 der bisher nicht vorhandene set Knopf mit seiner Zeile auf.

3. Wenn ich mit set an

/heatingCircuits/hc1/temperatureLevels/day oder
/heatingCircuits/hc1/temperatureLevels/night oder
/heatingCircuits/hc1/temperatureRoomSetpoint

Änderungen vornehme werden mir diese wunderbar bestätigt, allerdings bleiben in der Heizung die Werte unverändert.

/heatingCircuits/hc1/operationMode oder /heatingCircuits/hc1/activeSwitchProgram kann ich einwandfrei manipulieren. LEDs am RC35 schalten auch entsprechend.

Mit der BuderusApp lassen sich die temperaturLevels für Tag/Nacht manipulieren. Für mehr taugt die App auch nicht. Warmwasser und Systemzustände werden dort nicht angezeigt.
 
Frage in die Runde: Gibt es hier jemand bei dem die Temperaturlevels in Verbindung mit einem RC35 über FHEM ändern lassen?

4. Dann spamt mir das Modul die Logdatei zu. Das ist eigentlich mein größtes Problem weil ich keinen Ansatz finde wo ich da suchen muß. Da eine Pfadangabe mit system/sensors enthalten ist muß es ja irgendetwas mit dem KM200-Modul zu tun haben.
 
2015.02.20 18:22:31 1: PERL WARNING: Having no space between pattern and following word is deprecated at (eval 1650) line 1.
2015.02.20 18:22:31 1: PERL WARNING: Bareword found where operator expected at (eval 1650) line 1, near "/system/sensors"
2015.02.20 18:22:31 2: syntax error at (eval 1650) line 1, near "/system/sensors"

2015.02.20 18:22:31 1: PERL WARNING: Having no space between pattern and following word is deprecated at (eval 1651) line 1.
2015.02.20 18:22:31 1: PERL WARNING: Bareword found where operator expected at (eval 1651) line 1, near "/system/sensors"
2015.02.20 18:22:31 2: syntax error at (eval 1651) line 1, near "/system/sensors"

2015.02.20 18:22:31 1: PERL WARNING: Having no space between pattern and following word is deprecated at (eval 1652) line 1.
2015.02.20 18:22:31 1: PERL WARNING: Bareword found where operator expected at (eval 1652) line 1, near "/system/sensors"
2015.02.20 18:22:31 2: syntax error at (eval 1652) line 1, near "/system/sensors"

Die Meldung werden doch recht häufig erzeugt und müllen mir die ganze Logdatei voll. Ich habe auch mal Lücken gefunden wo ein paar Stunden Ruhe war. Die Zahlen in der Klammer werden hochgezählt und kommen auch schon mal in den sechsstelligen Bereich.

5. Das die Readings auch im Eventmonitor auftauchen sollte ja auch nicht sein. Das Problem hatte auch schon mal ein anderer Nutzer. Dürfte ja eigentlich in der aktuellen Version nicht mehr vorkommen. CONSOLENMESSAGE war und ist schon immer auf Null.

Ich habe jetzt während dem Schreiben noch mal alles nachgestellt und auch die Bildschirme gesnippt und angehängt. Wäre entzückt wenn man mir helfen könnte und das Modul richtig rund laufen würde.

Grüße
Andi



Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 22 Februar 2015, 09:48:49
Hallo Grossi

Nicht im KM200 Modul, aber scheinbar von der Wärmepumpe zusätzlich gelieferter Service:
/gateway/language
/recordings/system/sensors/outdoorTemperatures

Danke, aufgenommen in Version 0041

Die aktuelle Warmwassertemperatur ist in der APP zu finden (und einstellbar), aber
nicht im KM200-FHEM-Modul.  :'(

Auch nicht unter fogelndem Service?: /system/sensors/temperatures/hotWater_t2

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 22 Februar 2015, 09:49:53
Hallo Grossi

habe hier mal im pdf-Anhang die verfügbaren Services aufgelistet, mit Beispielen versehen und auch 2 "gefunden",
die nicht durch das aktuelle FHEM-Modul abgedeckt werden (Stand: 20.02.15).

Danke aufgenommen in Version 0041

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 22 Februar 2015, 09:53:27
Hallo Buderusheizer,

zuerst einmal ein dickes Lob und vielen Dank an Sailor uns hier ein Modul zur Verfügung zu stellen damit man mit der Heizung mal was anfangen kann.
[CUT]

Gallo Andi

Danke fuer das Lob. Die beschriebenen Symptome lassen auf eine sehr alte Verison schliessen.
Mache bitte mal ein fhem-Update ("update" in der fhem-Console) und stelle sicher, dass du mindestens Version 0040 hast.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 22 Februar 2015, 10:18:44


Auch nicht unter fogelndem Service?: /system/sensors/temperatures/hotWater_t2

Gruss
   Sailor
[/quote]

Hallo,

Nein - scheint unter: /recordings/dhwCircuits
zu liegen (denke ich) ???

Zusätzlich:
1.) In der App kann ich Stunden für "Extra Warmwasser" einstellen - habe ich hier noch nicht gefunden.
2.) In der App kann ich "Holiday"-Modus (Tage, beginnend mit 0:00Uhr) einstellen - scheint hier unter Services:
/heatingCircuits/hc1/holidayMode bzw. /heatingCircuits/hc2/holidayMode

grossi



Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 22 Februar 2015, 10:23:45
Hallo Sailor,

Ich mache gerne nochmal ein Update.
Allerdings siehst Du ja auf meinem ersten angefügtem Bild unten bei Version das ich die 0040 habe.

Gruß
Andi
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 22 Februar 2015, 19:00:52
Hallo Sailor,

System ist aktuell.
KM200-Moduldatei ist letzte Version.
Die in #511 geschilderten Probleme sind vollumfänglich bestehen geblieben.

Wie gesagt das einzige was geklemmt hat waren die HttpUtils Perl Module.
(Screen im Anhang)

Könnte da das Problem liegen.
Gibt es einen anderen Weg an die HttpUtils zu kommen?

Gruß
Andi
Titel: Buderus KM200 Kommunikationsmodul
Beitrag von: KaiKr am 22 Februar 2015, 22:44:38
Hi,

ich lese hier schon länger mit, gehe allerdings nicht über FHEM an das KM200,  sondern bastele mir was mit Nodejs.

Neben den bisher Bekannten (fhemwiki) habe ich noch den Zweig für das Warmwasser gefunden. Ich habe übrigens eine GB135 mit RC30.

{ id: '/dhwCircuits/dhw1/operationMode',
  type: 'stringValue',
  writeable: 1,
  recordable: 0,
  value: 'off',
  allowedValues: [ 'auto', 'on', 'off' ] }
{ id: '/dhwCircuits/dhw1/waterFlow',
  type: 'floatValue',
  writeable: 0,
  recordable: 0,
  value: 0,
  unitOfMeasure: 'l/min',
  minValue: 0,
  maxValue: 25 }
{ id: '/dhwCircuits/dhw1/workingTime',
  type: 'floatValue',
  writeable: 0,
  recordable: 0,
  value: 221239,
  unitOfMeasure: 'minutes',
  minValue: 0,
  maxValue: 16777215 }
{ id: '/dhwCircuits/dhw1/activeSwitchProgram',
  type: 'stringValue',
  writeable: 1,
  recordable: 1,
  value: 'Eigen1',
  allowedValues: [ 'Eigen1', 'Heizkreis' ] }
{ id: '/dhwCircuits/dhw1/setTemperature',
  type: 'floatValue',
  writeable: 1,
  recordable: 1,
  value: 70,
  unitOfMeasure: 'C',
  minValue: 30,
  maxValue: 80 }
{ id: '/dhwCircuits/dhw1/actualTemp',
  type: 'floatValue',
  writeable: 0,
  recordable: 1,
  value: 52.7,
  unitOfMeasure: 'C' }
{ id: '/dhwCircuits/dhw1/status',
  type: 'stringValue',
  writeable: 0,
  recordable: 0,
  value: 'ACTIVE',
  allowedValues: [ 'INACTIVE', 'ACTIVE' ] }
{ id: '/dhwCircuits/dhw1/temperatureLevels/off',
  type: 'floatValue',
  writeable: 1,
  recordable: 1,
  value: 0,
  unitOfMeasure: 'C',
  minValue: 0,
  maxValue: 0 }
{ id: '/dhwCircuits/dhw1/temperatureLevels/on',
  type: 'floatValue',
  writeable: 1,
  recordable: 1,
  value: 70,
  unitOfMeasure: 'C',
  minValue: 30,
  maxValue: 80 }

Gruß Kai




Gesendet von meinem iPad mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: KaiKr am 23 Februar 2015, 00:48:16
Hi,

es gab ja auch noch Diskussionen zum Verbrauch. Ich habe mir dazu mal folgende Überlegungen gemacht.
Das KM200 liefert folgende Werte. Für mein Setup GB135 / RC30 ergibt sich folgendes:
/heatSources/workingTime/totalSystem    Brenner an in Minuten
/heatSources/workingTime/secondBurner   Brenner auf Stufe 2 in Minuten
=> secondBurner-totalSystem =           Brenner auf Stufe 1 in Minuten

Laut "Buderus Montage- und Wartungsanleitung" Verbraucht die GB135/18KW: Ölldurchsatz 1./2. Stufe kg/h 0,9/1,6

Mit meinen aktuellen Werten ergibt sich dann:

heatSources/workingTime/totalSystem = 463013 minutes (Stufe 1+2)
/heatSources/workingTime/secondBurner = 288177 minutes (Stufe 2)
174836 (Stufe 1)(totalSystem-secondBurner)

288177 * (1,6/60) + 174836 * (0,9/60) = 10307 l

(Ich habe mal alle Tankrechnungen überschlagen und komme so auf ca 11000 l, allerdings hat meine GB135 seit einiger Zeit eine kaputt Ölpumpe, die in der Stufe 2 mit zu hohem Druck heizt. Daher könnten bei einer korrekt eingestellter Heizung diese Schätzung stimmen)

Zusätzlich kann man aus den Zeiten
/heatSources/workingTime/totalSystem und
/dhwCircuits/dhw1/workingTime   noch das Verhältnis Wasser zu Heizen bestimmen.

Bei mir wäre das :
/heatSources/workingTime/centralHeating 240217
/dhwCircuits/dhw1/workingTime 221239 minutes
Daraus ergibt sich:
52% Heizen und 48% Wasser

Dies ist jetzt alles eine Beobachtung über die letzen 10,5 Jahre. Wenn man die Intervalle kleiner macht, kann man evt noch genauer die Zuordnung Wasser/Heizen abschätzen.

Ist diese Rechnung bei euch auch plausibel ?

Gruß Kai
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 23 Februar 2015, 20:20:15
Hi,

ich lese hier schon länger mit, gehe allerdings nicht über FHEM an das KM200,  sondern bastele mir was mit Nodejs.

Neben den bisher Bekannten (fhemwiki) habe ich noch den Zweig für das Warmwasser gefunden. Ich habe übrigens eine GB135 mit RC30.

{ id: '/dhwCircuits/dhw1/operationMode',
  type: 'stringValue',
  writeable: 1,
  recordable: 0,
  value: 'off',
  allowedValues: [ 'auto', 'on', 'off' ] }
{ id: '/dhwCircuits/dhw1/waterFlow',
  type: 'floatValue',
  writeable: 0,
  recordable: 0,
  value: 0,
  unitOfMeasure: 'l/min',
  minValue: 0,
  maxValue: 25 }
{ id: '/dhwCircuits/dhw1/workingTime',
  type: 'floatValue',
  writeable: 0,
  recordable: 0,
  value: 221239,
  unitOfMeasure: 'minutes',
  minValue: 0,
  maxValue: 16777215 }
{ id: '/dhwCircuits/dhw1/activeSwitchProgram',
  type: 'stringValue',
  writeable: 1,
  recordable: 1,
  value: 'Eigen1',
  allowedValues: [ 'Eigen1', 'Heizkreis' ] }
{ id: '/dhwCircuits/dhw1/setTemperature',
  type: 'floatValue',
  writeable: 1,
  recordable: 1,
  value: 70,
  unitOfMeasure: 'C',
  minValue: 30,
  maxValue: 80 }
{ id: '/dhwCircuits/dhw1/actualTemp',
  type: 'floatValue',
  writeable: 0,
  recordable: 1,
  value: 52.7,
  unitOfMeasure: 'C' }
{ id: '/dhwCircuits/dhw1/status',
  type: 'stringValue',
  writeable: 0,
  recordable: 0,
  value: 'ACTIVE',
  allowedValues: [ 'INACTIVE', 'ACTIVE' ] }
{ id: '/dhwCircuits/dhw1/temperatureLevels/off',
  type: 'floatValue',
  writeable: 1,
  recordable: 1,
  value: 0,
  unitOfMeasure: 'C',
  minValue: 0,
  maxValue: 0 }
{ id: '/dhwCircuits/dhw1/temperatureLevels/on',
  type: 'floatValue',
  writeable: 1,
  recordable: 1,
  value: 70,
  unitOfMeasure: 'C',
  minValue: 30,
  maxValue: 80 }

Gruß Kai




Gesendet von meinem iPad mit Tapatalk
Klasse, vielen Dank !!

Die Services funktionieren an meiner GB172-14 mit RC35 und KM200.

Jetzt rückt die ersehnte Einmalladung in greifbare Nähe...

Verrätst Du wie Du die Services herausgefunden hast ?

Gruß Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: KaiKr am 23 Februar 2015, 21:06:28
Hallo Peter,

Ich habe mit Wireshark einen Blick auf die XMPP Pakete der EasyControl Pro geworfen. In dieser App ist mir aufgefallen ist auch die Warmwasser Soll Temperatur zu sehen. In den XMPP Paketen habe ich die URLs mit dhwCircuits entdeckt und dann über die REST Api die anderen URLs erfragt.

Zur Einmalladung habe ich leider noch nichts gefunden. Evt geht es aber, wenn man die Warmwasser jeweils für ca 1h auf aktiv setzt.

Gruß Kai


Gesendet von iPad mit Tapatalk
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Peter am 23 Februar 2015, 23:12:29
Hallo zusammen,

mit den von Kai erforschten Services habe ich mir quick and dirty eine WarmWasser "Einmalladung" zusammengenagelt.

in der 73_km200.pm ergänzt:

"/dhwCircuits",
    "/dhwCircuits/dhw1",
    "/dhwCircuits/dhw1/operationMode",
"/dhwCircuits/dhw1/waterFlow",
"/dhwCircuits/dhw1/workingTime",
"/dhwCircuits/dhw1/activeSwitchProgram",
"/dhwCircuits/dhw1/switchPrograms",
"/dhwCircuits/dhw1/setTemperature",
"/dhwCircuits/dhw1/actualTemp",
"/dhwCircuits/dhw1/status",
"/dhwCircuits/dhw1/temperatureLevels",
"/dhwCircuits/dhw1/temperatureLevels/off",
"/dhwCircuits/dhw1/temperatureLevels/on",

Mein km200 ist definiert als mybud.

Im fhem zunächst ein Dummy zum aktivieren:
define WarmWasser_dummy FS20 bbcd 98
attr WarmWasser_dummy dummy 1
attr WarmWasser_dummy model fs20st

nun ein notify, das die WarmWasser Bereitung anschaltet und ein at setzt, welches 20 Minuten später die Aktion beendet:
define WW_an notify WarmWasser_dummy:on {fhem("define WarmWasser_aus at +00:20:00 set WarmWasser_dummy off");
fhem("set mybud /dhwCircuits/dhw1/operationMode on");
}

der im notify definierte at löscht sich nach getaner Arbeit von selbst.

nun noch noch ein notify welches den WarmWasser Modus wieder auf Automatik setzt:
define WW_auto notify WarmWasser_dummy:off {fhem("set mybud /dhwCircuits/dhw1/operationMode auto");
}

Funktioniert ganz gut, vielleicht hat der ein oder andere noch ein paar Ideen...

Gruß Peter
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 24 Februar 2015, 06:56:50
Hallo Andi

Wie gesagt das einzige was geklemmt hat waren die HttpUtils Perl Module.
(Screen im Anhang)

Könnte da das Problem liegen.
Gibt es einen anderen Weg an die HttpUtils zu kommen?

HttpUtils ist ein Modul, welches Rudolf König für fhem geschrieben hat. Daher sollte es auf Deinem Rechner verfügbar sein.

Ich schau mir das mal an...

Sailor

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 24 Februar 2015, 07:00:22
Hallo Andi

2015.02.20 18:22:31 1: PERL WARNING: Having no space between pattern and following word is deprecated at (eval 1650) line 1.
2015.02.20 18:22:31 1: PERL WARNING: Bareword found where operator expected at (eval 1650) line 1, near "/system/sensors"
2015.02.20 18:22:31 2: syntax error at (eval 1650) line 1, near "/system/sensors"

2015.02.20 18:22:31 1: PERL WARNING: Having no space between pattern and following word is deprecated at (eval 1651) line 1.
2015.02.20 18:22:31 1: PERL WARNING: Bareword found where operator expected at (eval 1651) line 1, near "/system/sensors"
2015.02.20 18:22:31 2: syntax error at (eval 1651) line 1, near "/system/sensors"

2015.02.20 18:22:31 1: PERL WARNING: Having no space between pattern and following word is deprecated at (eval 1652) line 1.
2015.02.20 18:22:31 1: PERL WARNING: Bareword found where operator expected at (eval 1652) line 1, near "/system/sensors"
2015.02.20 18:22:31 2: syntax error at (eval 1652) line 1, near "/system/sensors"

Die Meldung werden doch recht häufig erzeugt und müllen mir die ganze Logdatei voll. Ich habe auch mal Lücken gefunden wo ein paar Stunden Ruhe war. Die Zahlen in der Klammer werden hochgezählt und kommen auch schon mal in den sechsstelligen Bereich.


Gehe mal in die 73_km200.pm und kommentiere die Zeile
"/System/sensors", aus.

Mal schaun was passiert.

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 24 Februar 2015, 07:05:10
Hallo Kai

Ich habe mit Wireshark einen Blick auf die XMPP Pakete der EasyControl Pro geworfen. In dieser App ist mir aufgefallen ist auch die Warmwasser Soll Temperatur zu sehen. In den XMPP Paketen habe ich die URLs mit dhwCircuits entdeckt und dann über die REST Api die anderen URLs erfragt.

Ja wie geil ist das denn! Ich habe endlich Jemanden gefunden, der mit Wireshark umgehen kann!!!!  ;D ;D ;D

Kannst Du mir die Settings nennen, mit denen du in Wireshark den ganzen Kram decodiert hast?
Ich glaube, dass sind die Settings, die man bei Wireshark oben in die Kommando-Zeile einfügt.

Oooooh Happy day!  8)

Deine gefundenen Parameter werde ich ebenfalls in Version 0041 aufnehmen!

Bitte weiter so!!!

Gruss
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 24 Februar 2015, 07:14:15
Hallo Kai

Laut "Buderus Montage- und Wartungsanleitung" Verbraucht die GB135/18KW: Ölldurchsatz 1./2. Stufe kg/h 0,9/1,6

Mit meinen aktuellen Werten ergibt sich dann:

heatSources/workingTime/totalSystem = 463013 minutes (Stufe 1+2)
/heatSources/workingTime/secondBurner = 288177 minutes (Stufe 2)
174836 (Stufe 1)(totalSystem-secondBurner)

288177 * (1,6/60) + 174836 * (0,9/60) = 10307 l

Ist diese Rechnung bei euch auch plausibel ?

Ich kann in deiner Rechnung nirgendwo die Umrechnung der Dichte des Heizöls erkennen.

Die Dichte von Wald-und-Wiesen Heizöl ist: 0,820–0,860 kg/l (15 °C)
Wenn also laut Buderus Handbuch der Verbrauch in Masse (kg) angegeben ist und Du aber Volumen(l) haben willst, dann musst Du Deine Liter, die in Wirklichkeit kg sind noch mit der Dichte verrechnen um auch wirklich Liter zu bekommen.

10307kg / 0,820kg/l = 12569l
10307kg / 0,840kg/l = 12270l
10307kg / 0,860kg/l = 11984l

Schau mal auf Deine letzte Rechnung. Da müssten genauere Angaben zu deinem "Stoff" vermerkt sein.

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: KaiKr am 24 Februar 2015, 19:52:14
Hi,

Ja wie geil ist das denn! Ich habe endlich Jemanden gefunden, der mit Wireshark umgehen kann!!!!  ;D ;D ;D

Kannst Du mir die Settings nennen, mit denen du in Wireshark den ganzen Kram decodiert hast?
Ich glaube, dass sind die Settings, die man bei Wireshark oben in die Kommando-Zeile einfügt.

Hi,

dass ich mich mit Wireshark auskenne halte ich für eine Übertreibung.

Mein Wireshark Setup sieht folgendermaßen aus. Ich habe die Buderus Apps auf dem iPhone und das iPhone über ein "Remote Virtual Interfaces (rvi0:)" mit dem Mac verbunden.
(http://useyourloaf.com/blog/2012/02/07/remote-packet-capture-for-ios-devices.html)
Wenn du kein iPhone/Mac  musst du Wireshark auf anderem Wege an das KM200 hängen.
- Verbindung mit einen HUB zwischen KM200 und dem Wireshark PC (kein Switch) (siehe http://wiki.wireshark.org/HubReference)
- Andere Varianten sind noch hier http://wiki.wireshark.org/CaptureSetup/Ethernet beschrieben.

Zu meinen Wireshark Settings. Ich habe alles über die GUI konfiguriert:

Verbindung über das rvi0: Interface. Damit wird der komplette Netzwerktraffic  zwischen iPhone und dem Rest der Welt mitgeschnitten.

Nach dem Start der iPhone EasyControlPRO App sieht man direkt XMPP Pakete an einen Buderus Server. Auf diesen Server habe ich einen ip.dest Filter gesetzt.

Die Anzahl der XMPP Pakete ist jetzt übersichtlich. In den Paketen sieht man dann die REST URLS die aufgerufen werden.

Analog geht das dann mit der EasyControl App. Hier kann mann dann sich die Http Pakte anschauen.

Ich hoffe ich konnte helfen.

Gruß Kai
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 24 Februar 2015, 21:19:22
Hallo Sailor,

ich habe zwischenzeitlich die readingsGroup der Heizung für die Logfehlermeldungen
2015.02.20 18:22:31 1: PERL WARNING: Having no space between pattern and following word is deprecated at (eval 1651) line 1.
eingegrenzt. Die Logmeldung bezog sich wohl auf die erste Zeile im DEF-Bereich der readingsGroup. Ich wollte die readingsGroup erst in der Config auskommentieren. Da ich mir aber das gerade abgewöhne, habe ich mit dem Löschen der readingsGroup im Frontend die Beweise gegen mich wohl vernichtet ;)
Wenigstens ist ab da das Meldungsaufkommen im Logfile wieder normal.

Ich habe das km200 und die readingsGroups für ein paar Heizungsmeldungen wiederangelegt und das zumüllen des Logfiles ist nicht mehr aufgetreten. Das geht wohl auf meine Kappe, da muß wohl irgendein „Fehler“ im DEF-Teil der readingsGroup gewesen sein, die Augenscheinlich aber angezeigt haben was sie sollten, sehr merkwürdig.

Das waren aber auch schon die guten Nachrichten.

Drei Probleme habe ich weiterhin.

- DoNotPoll funktioniert nicht (verschmerzbar da das KM200 offenbar keine Readings hat, die schwer verdaulich sind)

-  Die Heizungs-Readings rauschen in der  Eventanzeige durch (auch verschmerzbar, gucke ich ja auch eher selten vorbei)

 - Die Set-Befehle für
/heatingCircuits/hc1/temperatureRoomSetpoint
/heatingCircuits/hc1/temperatureLevels/day
/heatingCircuits/hc1/temperatureLevels/night
betätigen mir zwar, das die Temperaturen geändert wurden.
The service /heatingCircuits/hc1/temperatureRoomSetpoint has been changed to: 20
Leider entspricht das nicht der Realität und die Werte bleiben in der Heizung unverändert. Verändere ich am RC35 die Werte werden sie in den Readings prompt angezeigt.

Betriebsmodus kann ich aber mit FHEM zwischen Auto/Nacht/Tag umschalten.  :o

Ich kann nicht nachvollziehen warum das eine geht und das andere nicht.
KM200 Firmware ist ja die gleiche wie bei anderen bei denen es offenbar funktioniert.
 

Das Perlmodul HttpUtils das laut WIKI-Artikel mit "cpanm HttpUtils" installiert werden soll, wird immer noch nicht in den weiten des www gefunden, scheint also keine temporäre Störung zu sein.
Andere Schreibweisen haben eigentlich das gleiche Ergebnis. Die Schreibweise „HttpUtils“ im WIKI-Artikel ist richtig?

Ich habe im Forum einen Zauberbefehl zur Auflistung der installierten Module gefunden evt. hilft das weiter was da bei mir fehlen könnte (Bildchen ist unten angehängt).

 
Gruß

Andi


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 25 Februar 2015, 08:29:35
Hallo Andi

ich habe zwischenzeitlich die readingsGroup der Heizung für die Logfehlermeldungen
eingegrenzt. Die Logmeldung bezog sich wohl auf die erste Zeile im DEF-Bereich der readingsGroup. Ich wollte die readingsGroup erst in der Config auskommentieren. Da ich mir aber das gerade abgewöhne, habe ich mit dem Löschen der readingsGroup im Frontend die Beweise gegen mich wohl vernichtet ;)
Wenigstens ist ab da das Meldungsaufkommen im Logfile wieder normal.

Na siehste, da lacht des Programmierers Herz!

Das Perlmodul HttpUtils das laut WIKI-Artikel mit "cpanm HttpUtils" installiert werden soll, wird immer noch nicht in den weiten des www gefunden, scheint also keine temporäre Störung zu sein.
Andere Schreibweisen haben eigentlich das gleiche Ergebnis. Die Schreibweise „HttpUtils“ im WIKI-Artikel ist richtig?

Keine Ahnung wie das ins WIKI gekommen ist... Habe ich jedenfalls gelöscht.
HttpUtils ist ein Programm von Rudolf König welches unter "/opt/fhem/FHEM"  (Linux) zu finden ist.
Daher kann es auch nicht bei CPAN liegen.

- DoNotPoll funktioniert nicht (verschmerzbar da das KM200 offenbar keine Readings hat, die schwer verdaulich sind)

Also ich habe es zu Hause nochmal probiert und es funktioniert tadellos.

Mach mal einen Versuch:

a) Fülle das Attribut "DoNotPoll" mal mit ganz viel deiner bekannten Werte und setze das Attribut "ConsoleMesage" auf 1

b) Lösche alle readings für das myKm200 device

c) In der Konsole gibst Du sudo service fhem stop und sudo service fhem start ein.

Die geblockten Werte dürften nicht mehr auftauchen und auch in fhem nicht mehr erscheinen.
Bitte mal versuchen.

- Die Set-Befehle für
/heatingCircuits/hc1/temperatureRoomSetpoint
/heatingCircuits/hc1/temperatureLevels/day
/heatingCircuits/hc1/temperatureLevels/night
betätigen mir zwar, das die Temperaturen geändert wurden.
The service /heatingCircuits/hc1/temperatureRoomSetpoint has been changed to: 20
Leider entspricht das nicht der Realität und die Werte bleiben in der Heizung unverändert. Verändere ich am RC35 die Werte werden sie in den Readings prompt angezeigt.

Betriebsmodus kann ich aber mit FHEM zwischen Auto/Nacht/Tag umschalten.  :o

Ich versuche selbst noch herauszufinden woran das liegt.

Tatsache ist, das ich den Wert erneut auslese. Warum der sich dann nicht geändert hat ist mir nach wie vor schleierhaft.
Denn alle Services die in der Liste für "set" stehen, haben vom KM-Gerät das Status-Bit für "Writeable" gesetzt bekommen.

Alles sehr seltsam... Manche werte machen keine Probleme, manche schon...

Aber ich bin dran!

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 25 Februar 2015, 08:30:28
Info an Alle: Version 0041 ist eingecheckt!

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 25 Februar 2015, 09:36:05
Hallo Sailor,

danke für Deine Mühe.
Werde deine Anleitung umgehend durchackern.
Leider habe ich einen dienstlichen Auswärtstermin und komme leider wohl erst am Do. abend dazu.

Vorab noch eine Frage, damit dann gleich loslegen kann.   :)
Mit
Zitat
b) Lösche alle readings für das myKm200 device
meinst Du das hier
http://fhem.de/commandref_DE.html#deletereading (http://fhem.de/commandref_DE.html#deletereading)
wären dann bei mir bestimmt über 30 Werte die ich wegbügeln muß.
Vorgehensweise wäre dann
deletereading myKM200 /system/sensors/temperatures/hotWater_t1
deletereading myKM200 /heatingCircuits/hc2/activeSwitchProgram
deletereading myKM200 /heatingCircuits/hc2/operationMode /heatingCircuits/hc2/pumpModulation
deletereading myKM200 /heatingCircuits/hc2/roomtemperature /heatingCircuits/hc2/status
deletereading myKM200 /heatingCircuits/hc2/temperatureLevels/day
deletereading myKM200 /heatingCircuits/hc2/temperatureLevels/night
..... und so weiter



Zitat
HttpUtils ist ein Programm von Rudolf König welches unter "/opt/fhem/FHEM"  (Linux) zu finden ist.

Ok. Da habe ich eine HttpUtils.pm vom 07.12.2014


Gruß
Andi
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 25 Februar 2015, 13:25:58
Hi Andi

Mit meinst Du das hier
http://fhem.de/commandref_DE.html#deletereading (http://fhem.de/commandref_DE.html#deletereading)
wären dann bei mir bestimmt über 30 Werte die ich wegbügeln muss.
Vorgehensweise wäre dann

[Cut]

Tja, von nischt kommt nischt und wird nischt.

Alternativ kannst Du dein Stat-File löschen. Dann sind aber alle Readings sämtlicher fhem devices weg bis zum nächsten Update-Intervall.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 25 Februar 2015, 17:00:45
Hallo an Alle, ins besondere an Sailor,

in den Beispielen für die ReadingsGroup-Wiki gibt es ja eine Menge schöner Beispiele, wie Werte eines Devices innerhalb einer ReadingsGroup geändert werden können.
Eine Mail an den Author der ReadingsGroup.pm hat zu Tage gebracht, das Slash im Set Kommando verboten sind, sodass alle DropDownboxen ausgeblendet wurden und die Definition zwar Werte lesen können aber nicht verändern.
Definition:
define 01_Heizungswerte readingsGroup <%sani_heating>,<Name>,<Ist-Temp>,<Soll-Temp>\
heizung:<SollTemp>,/dhwCircuits/dhw1/setTemperature,<sollsetz>
attr 01_Heizungswerte commands { '01_Heizungswerte.sollsetz'=>'/dhwCircuits/dhw1/setTemperature:20,30,40'}
attr 01_Heizungswerte room Übersicht

Nun habe ich folgendes gemacht:
Änderung des attr commands -> attr 01_Heizungswerte commands { '01_Heizungswerte.sollsetz'=>'-dhwCircuits-dhw1-setTemperature:20,30,40'} und eine Zeile in 73_km_200.pm eingefügt (Tschuldigung Sailor)
sub km200_Set($@)
{
        my ( $hash, @a ) = @_;

        ### If not enough arguments have been provided
        if ( @a < 2 )
        {
                return "\"set km200\" needs at least one argument";
        }

        my $name = shift @a;
        my $opt  = shift @a;
        my $value = join("", @a);
        my %km200_sets;

        ### Get the list of possible services and create a hash out of it
        my @WriteableServices = @{$hash->{Secret}{KM200WRITEABLESERVICES}};
######### Test  ################################################################
        $opt =~ s/-/\//g;    <-------------- Diese Zeile ersetzt den Bindestrich wieder durch ein Slash /
##################################################################################
        foreach my $item(@WriteableServices)
        {
                $km200_sets{$item} = ("1");
        }

Und siehe da es funktioniert alles.

Frage an Sailor: Könnte man diesen Workarround nicht dauerhaft einbinden? Da ich nicht glaube dass justme1968 (author der readingsgroup) eine Änderung auf seiner Seite vornimmt.

Gruß Dieter


Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: justme1968 am 25 Februar 2015, 18:08:06
ich kann den slash schon als erlaubtes zeichen einbauen. dieter hat schein eine nachticht zum testen. 

der slash macht aber glaube ich noch an mehr stellen potentiell probleme. userReadings gehen z.b. ziemlich sicher nicht.

gruß
  andre
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 25 Februar 2015, 19:54:14
Dann würde ich sagen, dass wir es so lassen. Wenn Sailor das replacement drinne ließe, wäre alles in Ordnung (beeinflusst ja nur Service-Strings, die mit einem Bindestich statt einem Slash daherkommen), zumal die Services des KM200-Gateways ja nur einen Unterstrich als Trenner benutzen. Wenn jemand die readingGroups lesend benutzt braucht er ja nichts machen.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 26 Februar 2015, 21:36:01
Hallo Sailor,

da bin ich wieder. Bin echt betrübt, daß ich Dir keinen richtigen Erfolg auf Deinen Test melden kann.
Zitat
Mach mal einen Versuch:

a) Fülle das Attribut "DoNotPoll" mal mit ganz viel deiner bekannten Werte und setze das Attribut "ConsoleMesage" auf 1
Hab ich gemacht. Vorher natürlich noch update auf 0041 ausgeführt.

Zitat
b) Lösche alle readings für das myKm200 device
Ausgeführt. War gar nicht so aufwendig. Konnte man mit Textverarbeitung und über Zwischenablage ratzfatz erledigen. In der Logdatei ist das Löschen der Readings auch protokolliert worden
2015.02.26 19:02:37 3: deletereading myKM200 /heatSources/actualDHWPower : Deleted reading /heatSources/actualDHWPower for device myKM200
2015.02.26 19:02:37 3: deletereading myKM200 /dhwCircuits/dhw1/actualTemp : Deleted reading /dhwCircuits/dhw1/actualTemp for device myKM200
2015.02.26 19:02:37 3: deletereading myKM200 /heatingCircuits/hc1/temperatureRoomSetpoint : Deleted reading /heatingCircuits/hc1/temperatureRoomSetpoint for device myKM200
2015.02.26 19:02:37 3: deletereading myKM200 /solarCircuits/sc1/solarYield : Deleted reading /solarCircuits/sc1/solarYield for device myKM200
2015.02.26 19:02:37 3: deletereading myKM200 /heatSources/flameCurrent : Deleted reading /heatSources/flameCurrent for device myKM200
2015.02.26 19:02:37 3: deletereading myKM200 /gateway/uuid : Deleted reading /gateway/uuid for device myKM200
........................usw.........................

Zitat
c) In der Konsole gibst Du

sudo service fhem stop

und

sudo service fhem start

ein.

Hab ich gemacht. Außer
Stopping fhem... und
Starting fhem...
Ist da nix passiert.

Zitat
Die geblockten Werte dürften nicht mehr auftauchen und auch in fhem nicht mehr erscheinen.
Bitte mal versuchen.

Leider nur wenn ich die Augen zumache :).
Nach dem Update hatte ich mit den neu entdeckten Werten 75 Readings, die auch abgefragt werden. Die Anzahl ist unverändert geblieben, unabhängig was bei DoNotPoll eingetragen wird.

Zitat
Also ich habe es zu Hause nochmal probiert und es funktioniert tadellos.
Daran habe ich nicht den geringsten Zweifel.

Bin ich eigentlich der einzige der die geschilderten Probleme hat?

Ich habe mittlerweile den Telefonmonitor, HUE-Devices, 1-wire Bus mit Temperaturmessung, Abfallkalender, FS20 und Homematic relativ problemlos einrichten können. Da sollte doch dieses Modul, das eigentlich Plug&Play ist auch zu schaffen sein.

Das die eigentlich interessanten set-Befehle nicht immer funktionieren scheint ja wohl leider öfters vorzukommen. Da hoffe ich aber inständig, daß Sailor hier was findet.

Danke für Deine Zeit die Du hier in den Support steckts, vielleicht hast Du ja eine Idee wo es hier bei mir klemmt.

Gruß
Andi

PS: Was mir noch aufgefallen ist, weil es bei mir ja keine Konsolenausgabe an der richtigen Stelle gab.
In den Internals gibt es ein CONSOLENMESSAGE, in den Attributes gibt es das ConsolenMessage. Ich vermute mal das ist das Gleiche. Hat aber zwei verschiedene Werte. (siehe 3 C-Message.JPG)

Die Screens habe ich chronologisch mit geknippst.

Nach dem Konsolenstart war CONSOLEMESSAGE noch auf 1.

Damit das km200 in Gang kommt muß ich immer den DEF-Editor öffnen und mit modify (natürlich ohne was geändert zu haben) senden. Heißt eigentlich, das nach einem Reset vom Raspi das km200-Modul steht. Ist auch so, habe ich eben mal getestet alles andere funktioniert, nur das km200 benötigt persönliche Zuwendung.
Auf dem zugehörigen Bild sieht man, das CONSOLEMESSAGE jetzt auf 0 ist. Das Attribut hab ich nicht angefasst.
Nach dem Browseraktualisieren gesellt sich auch der set Knopf nebst Zeile hinzu.
Das attr ConsolenMessage war die ganze Zeit immer auf 1.




Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 27 Februar 2015, 10:44:38

Hab ich gemacht. Außer
Stopping fhem... und
Starting fhem...
Ist da nix passiert.


Also irgendwie ist bei Dir gewaltig der Wurm drin.

a) Geb uns mal bitte eine Kopie deines fhem.cfg-Eintrags
b) Was genau musst du unter "DEF-Editor" manuell machen?

Gruss
 Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 27 Februar 2015, 18:33:18
Moin Sailor,

zu a.) hier der entsprechende km200-Teil aus der Config:

define myKM200 km200 192.168.115.101 XXXX-XXXX-XXXX-XXXX sxxxpBxx
attr myKM200 ConsoleMessage 1
attr myKM200 DoNotPoll /heatingCircuits/hc2/  /solarCircuits/sc1/  /dhwCircuits/dhw1/  /system/appliance/ChpumpModulation  /system/appliance/actualPower  /system/appliance/flameCurrent  /system/appliance/gasAirPressure
attr myKM200 loglevel 3
attr myKM200 room Heizung

zu b.)
Nach einem Neustart von FHEM muß ich den km200-DEF-Editor öffnen und klicke auf „modify myKM200“ ohne eine Änderung im Editor gemacht zu haben. Erst dann kommt Leben ins Modul und readings trudeln ein, die get- und set-Zeilen kommen hinzu. Die entsprechenden Bildschirme sind ja im Post #536 angehängt.
   
Der Raspi hat noch andere Gesprächspartner im Netz wie die Fritzbox, HUE-Bridge, Fernseher und extern noch einige Wetterdienste. Diese Module müssen aber nicht angeschoben werden und laufen nach dem Neustart problemlos an. Auch sonst läuft alles in FHEM rund.

Wenn ich zur Fehlersuche noch etwas beitragen kann einfach Bescheid sagen.

Gruß
Andi

PS: Gerade ist mir aufgefallen, daß beim aus der Config ausgeschnittenen Teil die DoNotPoll Teile mit zwei Leerzeichen getrennt sind. Muss aber anscheinend so sein weil ich ja alles nach Vorschrift übers Frontend eingegeben habe.
Ich ändere nichts in der Config.  ::) ;D
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 28 Februar 2015, 22:29:09
Mojn Andi

zu a.) hier der entsprechende km200-Teil aus der Config:

attr myKM200 DoNotPoll /heatingCircuits/hc2/  /solarCircuits/sc1/  /dhwCircuits/dhw1/  /system/appliance/ChpumpModulation  /system/appliance/actualPower  /system/appliance/flameCurrent  /system/appliance/gasAirPressure


Versuche mal dennoch die zweiten Leerzeichen in der Config rauszuschmeissen.
Schau mer mal was passiert...

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 01 März 2015, 10:20:39
Moin Sailor,

Zitat
Versuche mal dennoch die zweiten Leerzeichen in der Config rauszuschmeissen.

Habe ich gemacht. Es war leider kein Unterschied feststellbar :'(

Ich habe dann noch Werte beim DoNotPoll hinzu- und andere rausgenommen. Die Syntax in der Config war aber immer korrekt. Ein zweites Leerzeichen ist nicht mehr aufgetaucht. Configfummlerei kann ich ausschließen weil ich dieses Device wirklich ausschließlich über das Frontend bearbeite.

Was ich jetzt noch mal definitiv beobachtet habe ist folgendes.
Nochdem speichern des attr DoNotPoll über die Eingabezeile unter Attributes werden die dort gelisteten Readings für einen Abfragezyklus ausgespart sind aber in der Readingsliste noch anwesend.
Beim nächsten Abfragezyklus sind sie wieder alle dabei und haben wie alle anderen den aktuellen Zeitstempel.
Das Überspringen der Readings hab ich unter dem Screen Readings1Poll.jpg. erwischt. Schön sieht man da wie er unten die zwei sinnfreien Werte -3276.8 überspringt, ab dem nächsten Durchlauf werden sie wieder abgefragt.

Wenn ich der einzige bin bei dem das so ist, können wir das gerne unter Schönheitsfehler ablegen. Außer etwas erhöhtem Traffic passiert ja nix. Hält ja die Schaltkreise fit  ;D

Viel mehr freuen würde ich mich wenn bei mir die Set-Befehle für die Raumtemperatur funktionieren würden. Da gehen leider nur die Sachen die mich eigentlich nicht interessieren. Das neu entdeckte SetTemperature für das Warmwasser kann ich wunderbar mit Bestätigung über FHEM modifizieren, nur in der Heizung ändert sich leider nichts, da bleibt der alte Wert :'(

Schönen Sonntag noch
Andi
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 01 März 2015, 10:33:50
Hallo Sailor,

folgende Services im aktuellen Modul für die Buderus WPS-1
im Bezug auf Warmwasser sind vorhanden bzw. fehlen:

vorhanden:
/dhwCircuits/dhw1/actualTemp
/dhwCircuits/dhw1/setTemperature
dhwCircuits/dhw1/operationMode

fehlen z.Z. noch:
/dhwCircuits/dhw1/activeDhwTimeProgram
/dhwCircuits/dhw1/currentSetpoint
/dhwCircuits/dhw1/dhwTimePrograms
/dhwCircuits/dhw1/dhwSpLevels
/dhwCircuits/dhw1/extraDhw

Grüsse.

Grossi3
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: grossi33 am 01 März 2015, 10:48:48
Nochmal Hallo,

anbei die aktuellen Services für die WPS-1 (siehe pdf-Anhang).

Grüsse.

Grossi33
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 01 März 2015, 11:10:08
Wer mit Wireshark KM200 Pakete analysieren will und eine Fritzbox sein eigen nennt, kommt auch einfacher an die XMPP-Pakete.
Fritzbox mit folgender URL starten http://fritz.box/html/capture.html oder http://<IP>/html/capture.html, Routing-Schnittstelle aussuchen und den Button start drücken. Die Fritzbox zeichnet dann alle Pakete auf und speichert diese in einer Datei. Nun kann man mit der Easy Controll Aktionen starten. Anschließend auf den Button Stop und die Datei wird gespeichert.
Wireshark öffnen, Datei auswählen, unter dem Menü-Pkt. Analyse - Display-Filters und IP-Adresse der KM200 auswählen und man sieht den gesamten Traffic zwischen der KM200 und Bosch.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 01 März 2015, 21:45:29
Hallo, beim Testen ist mir etwas aufgefallen. Alle Settings, die aus einem String bestehen funktionieren, wie OperationMode auf auto, day oder night, Schaltprogramme auf Familie oder Eigen1. Settings mit numerischen Werten wie Temperatur funktionieren (noch) nicht.

Gruß Dlindner
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 02 März 2015, 08:58:59
Hallo Dlindner,

bei anderen scheint es zu funktionieren.
Teste bei Dir doch bitte mal die DoNotPoll Funktion.
Falls das auch klemmt hätten wir ein identisches Fehlerbild.

Gruß
Andi
 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 10:16:53
Hallo AndiL, ich bekomme zwar auch nicht alle services zu sehen, aber das wollte ich nicht mitteilen. In einem früheren Post kam mal zur Sprache, dass Temperaturwerte zwar übergeben werden konnten, diese sich im RC35 aber nicht änderten. Dass Sailor auf seinen anschließenden Get nachdem den Wert vom km200 zurückbekommt, sagt nicht, dass dieser auch zur Änderung in der RC35 geführt hat. Ich habe z.B. folgendes in die Konsole eingegeben: set heizung /heatingCircuits/hc2/temperatureLevels/day Teddybär. Blödsinnig aber der anschließende get Heizung /heatingCircuits/hc2/temperatureLevels/day brachte als Ergebnis Teddybär.
Die Lösung mit den Temperaturwerten (numerischen Werten) liegt darin, den String-Wert von z.B. "25" in einen numerischen zu wandeln. Dazu habe ich im 73_km200-Modul an folgender Stelle eine Änderung vorgenommen:
sub km200_Set($@)
{
...........
        ### Save chosen service and value into hash
        $hash->{temp}{service}  = $opt;
        $hash->{temp}{postdata} = $value; ---> $hash->{temp}{postdata} = $value*1;
...........
}
Nun akzeptiert die RC35 den übergebenen Wert. Kann natürlich so nicht drin stehenbleiben, da Services wie /heatingCircuits/hc2/operationMode einen String wie "auto" oder "day" erwarten.

Gruß DLindner

 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 02 März 2015, 11:44:38
Hallo Dlindner,

ich wäre erfreut wenn es so einfach wäre.
Werde die Änderung im Modul mal testen.

Würde doch bedeuten, daß das Senden von "Zahlen" auch bei anderen noch nie funktionieren konnte??????

Bin gespannt.
Gruß
Andi
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 12:08:23
Nur kann die Änderung so nicht stehen bleiben. Perl macht aus z.B. "auto" * 1 = "" bzw. "0".  wie beim setzen von operationMode. Man muss vorher herausfinden, ob der Wert rein numerisch ist (also nur Zahlen enthält) oder alpha-numerisch (Eigen1 oder Familie1, hier käme 1 heraus.) . 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 02 März 2015, 12:21:02
Ok. Dann halte ich mal zurück.

Evt. helfen Sailor deine Erkenntnisse weiter.
Geben wir Ihm doch etwas Zeit.

Heizperiode ist eh bald gelaufen.
Am Sonntag stand auf dem RC35 das erste mal dieses Jahr SOMMERBETRIEB.

Ist diese Betriebsart eigentlich auch irgendwo in einem der Readings versteckt?
In Klartext ist sie mir zumindest nicht aufgefallen.

Gruß
Andi
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 12:44:38
Habe einfach mal folgendes geändert:
        if (($value)*1 == 0) {
                $hash->{temp}{postdata} = $value;
        } else {
                $hash->{temp}{postdata} = $value*1;
        }
Scheint zu funktionieren. Ich kann alle Temperaturen über Fhem setzen und die Modi-Umschaltungen von Auto auf Day/Night funktionieren auch. Was nicht funtioniert ist das Ändert von Programmen z.B. von Eigen1 auf Familie1, wie ich bereits erwähnt habe.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 17:29:02
Meine Einschränkung war unberechtigt. Sobald in $VALUE ein  alpha-Zeichen vorkommt, ergibt die Abrage $VALUE*1 immer 0. 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 17:43:43
Kann jetzt schön meine Temperaturen einstellen  8)
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 02 März 2015, 19:03:12
Hallo DLindner,

habe mit freudiger Erwartung Deine Änderung im Modul eingegeben.
Reload 73_km200.pm und gleich mal eine Temperatur geändert.
 :'( nix gebracht.
Auto/Day/Night Umschaltung funktioniert wie gehabt. Temperaturen werden zwar quittiert aber die Heizung hat nichts geändert.

Bleibt das Restrisiko das ich im Modul was falsch eingetragen habe. Wärst Du so nett unten mal einen Blick drauf zu werfen ob ich die richtige Stelle gefunden habe.

Übrigens sehr schicke ReadingsGroup für die Heizung. Wenn es nicht unverschämt ist, würden sich bestimmt auch andere über die Definitionen als Inspiration freuen. In das Wiki zum km200 würden sie sicher auch gut passen.

Gruß
Andi
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 19:11:40
Hallo Andil, hast Du Fhem neu neu gestartet nach der Änderung?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 19:20:31
Meine ReadingGroups für das setting:

heizung müsst ihr durch eure eigene Definition ersetzen. Kesselwerte habe ich nur in der Hoffnung reingenommen, dass ich den Wert für die maximale Leistung anpassen kann ohne ans BC10 dackeln zu müssen (geht aber nicht).


######################### Heizung #########################################
define heizung km200 xxxxxxx.......
attr heizung ConsoleMessage 0
attr heizung IntervalDynVal 300
attr heizung IntervalStatVal 3600
attr heizung PollingTimeout 20
attr heizung room Übersicht


################################### Settings Warmwasser ################################################
define 00_AussenTemp readingsGroup heizung:<%temp_temperature>,/system/sensors/temperatures/outdoor_t1\

attr 00_AussenTemp alias Außentemperatur
attr 00_AussenTemp cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:20px"'}
attr 00_AussenTemp group Ein1
attr 00_AussenTemp room Einstellungen
attr 00_AussenTemp valueStyle {if($VALUE<=10){'style="color:lightblue;;;;"'}elsif($VALUE<=20){'style="color:yellow;;;;"'}else{'style="color:red;;;;"'}}
attr 00_AussenTemp valueSuffix {'/system/sensors/temperatures/outdoor_t1'=>' °C'}

define 01_Warmwasser readingsGroup <>,<Aktuell>,<%sani_water_hot@yellow>,<Ist>,<neu>,<>,<>\
 heizung:/dhwCircuits/dhw1/setTemperature,<>,/dhwCircuits/dhw1/actualTemp,<sollsetz>,<°C>\
 <>,<>,<Modi>,<Auto>,<Manuell>,<>,<>\
 heizung:/dhwCircuits/dhw1/operationMode,<>,<%time_automatic@lightgreen>,<%time_manual_mode@yellow>,<>
attr 01_Warmwasser alias Warmwasser
attr 01_Warmwasser cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:18px"',"r:3"=>'style="color:white;;;;font-weight:bold;;;;font-size:16px"'}
attr 01_Warmwasser commands { '01_Warmwasser.sollsetz'=>'-dhwCircuits-dhw1-setTemperature:50,55,60,65,70,75,80','01_Warmwasser.time_automatic@lightgreen'=>'set %DEVICE /dhwCircuits/dhw1/operationMode auto','01_Warmwasser.time_manual_mode@yellow'=>'set %DEVICE /dhwCircuits/dhw1/operationMode on'}
attr 01_Warmwasser group Ein1
attr 01_Warmwasser mapping { heizung=>""}
attr 01_Warmwasser room Einstellungen
attr 01_Warmwasser valueFormat { '/dhwCircuits/dhw1/setTemperature'=>'%.1f &deg;;C','/dhwCircuits/dhw1/actualTemp'=>'%.1f &deg;;C'}
attr 01_Warmwasser valueIcon {'/dhwCircuits/dhw1/operationMode.on' => 'time_manual_mode@yellow','/dhwCircuits/dhw1/operationMode.auto' => 'time_automatic@lightgreen'}
attr 01_Warmwasser valueStyle {if($READING eq "/dhwCircuits/dhw1/actualTemp"){my $t=$VALUE;;;;my $d=ReadingsVal($DEVICE,'/dhwCircuits/dhw1/setTemperature',0);;;;if($d-$t>=30){'style="color:lightblue;;;;text-align:center;;;;font-weight:bold;;;;"'}elsif($t-$d>=1){'style="color:yellow;;;;text-align:center;;;;font-weight:bold;;;;"'}else{'style="color:lightgreen;;;;text-align:center;;;;font-weight:bold;;;;"'}}else{'style="color:white;;;;text-align:center";;;;'}}
################################## Settings Kessel #####################################
define 02_Kessel readingsGroup <>,<%scene_stove@yellow>,<Nennleist.>,<Aktuell>,<neu>,<> \
heizung:<>,<25Kw>,/system/appliance/powerSetpoint,<sollsetz>,<'%'>
attr 02_Kessel alias Heizkessel
attr 02_Kessel cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:18px"'}
attr 02_Kessel commands { '02_Kessel.sollsetz'=>'-system-appliance-powerSetpoint:20,25,30,35,40,45,50,55,60,65,70,75,80,85,90'}
attr 02_Kessel group Ein1
attr 02_Kessel mapping { heizung=>""}
attr 02_Kessel room Einstellungen
attr 02_Kessel valueFormat {if($READING eq "/system/appliance/powerSetpoint"){$VALUE=(0.25*$VALUE)}}
attr 02_Kessel valueStyle style="color:white;;;;text-align:left"
attr 02_Kessel valueSuffix {'/system/appliance/powerSetpoint'=>' Kw'}
################################### Settings Wohnzimmer ################################################
define 03_Fussboden readingsGroup <>,<Aktuell>,<%sani_floor_heating@yellow>,<Ist>,<>,<neu>,<>\
 \
 heizung:/heatingCircuits/hc2/temperatureLevels/day,<Tag>,/heatingCircuits/hc2/roomtemperature,<>,<sollsetz>,<°C>\
 heizung:/heatingCircuits/hc2/temperatureLevels/night,<Nacht>,<>,<>,<sollsetz2>,<°C>\
 <>,<>,<Modi>,<Auto>,<Tag>,<Nacht>,<>\
 heizung:/heatingCircuits/hc2/operationMode,<>,<%time_automatic@lightgreen>,<%scene_day@yellow>,<%scene_night@lightblue>,<>
attr 03_Fussboden alias Fußbodenkreis
attr 03_Fussboden cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:18px"',"r:4"=>'style="color:white;;;;font-weight:bold;;;;font-size:16px"'}
attr 03_Fussboden commands { '03_Fussboden.sollsetz'=>'-heatingCircuits-hc2-temperatureLevels-day:15.0,16.0,17.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,25.0,26.0,27.0,28.0,29.0,30.0','03_Fussboden.sollsetz2'=>'-heatingCircuits-hc2-temperatureLevels-night:15.0,16.0,17.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,25.0,26.0,27.0,28.0,29.0,30.0','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@lightblue'=>'set %DEVICE /heatingCircuits/hc2/operationMode night'}
attr 03_Fussboden group Ein2
attr 03_Fussboden mapping { heizung=>""}
attr 03_Fussboden room Einstellungen
attr 03_Fussboden valueFormat { '/heatingCircuits/hc2/temperatureLevels/day'=>'%.1f &deg;;C','/heatingCircuits/hc2/temperatureLevels/night'=>'%.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@lightblue'}
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:lightblue;;;;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";;;;'}}

################################### Heizkoerper Sonstige ################################################
define 04_Heizkoerper readingsGroup <>,<Aktuell>,<%sani_heating@Yellow>,<>,<>,<neu>,<>\
 heizung:/heatingCircuits/hc1/temperatureLevels/day,<Tag>,<>,<>,<sollsetz>,<°C>\
 heizung:/heatingCircuits/hc1/temperatureLevels/night,<Nacht>,<>,<>,<sollsetz2>,<°C>\
 <>,<>,<Modi>,<Auto>,<Tag>,<Nacht>,<>\
 heizung:/heatingCircuits/hc1/operationMode,<>,<%time_automatic@lightgreen>,<%scene_day@yellow>,<%scene_night@lightblue>,<>
attr 04_Heizkoerper alias Heizkörperkreis
attr 04_Heizkoerper cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:18px"',"r:4"=>'style="color:white;;;;font-weight:bold;;;;font-size:16px"'}
attr 04_Heizkoerper commands { '04_Heizkoerper.sollsetz'=>'-heatingCircuits-hc1-temperatureLevels-day:15.0,16.0,17.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,25.0,26.0,27.0,28.0,29.0,30.0','04_Heizkoerper.sollsetz2'=>'-heatingCircuits-hc1-temperatureLevels-night:15.0,16.0,17.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,25.0,26.0,27.0,28.0,29.0,30.0','04_Heizkoerper.time_automatic@lightgreen'=>'set %DEVICE /heatingCircuits/hc1/operationMode auto','04_Heizkoerper.scene_day@yellow'=>'set %DEVICE /heatingCircuits/hc1/operationMode day','04_Heizkoerper.scene_night@lightblue'=>'set %DEVICE /heatingCircuits/hc1/operationMode night'}
attr 04_Heizkoerper group Ein2
attr 04_Heizkoerper mapping { heizung=>""}
attr 04_Heizkoerper room Einstellungen
attr 04_Heizkoerper valueFormat { '/heatingCircuits/hc1/temperatureLevels/day'=>'%.1f &deg;;C','/heatingCircuits/hc1/temperatureLevels/night'=>'%.1f &deg;;C'}
attr 04_Heizkoerper valueIcon {'/heatingCircuits/hc1/operationMode.day' => 'scene_day@yellow','/heatingCircuits/hc1/operationMode.auto' => 'time_automatic@lightgreen','/heatingCircuits/hc1/operationMode.night' => 'scene_night@lightblue'}
attr 04_Heizkoerper valueStyle style="color:white;;;;text-align:left"

#########################################################################################
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 19:27:38
Noch etwas:
Wenn ihr über folgendes stolpert
attr 01_Warmwasser commands { '01_Warmwasser.sollsetz'=>'-dhwCircuits-dhw1-setTemperature:50,55,60,65,70,75,80','01_Warmwasser.time_auto...
dann ist das schon richtig. Ich habe die Slash durch ein Bindestrich erstzt, denn sonst funktioniert die Funktion nicht (siehe einige Postings weiter vorne). Ihr müsst zwei z zusätzliche eine Zeile in 73_km200.pm eintragen, die die Bindestriche wieder in Slash tauscht.
Sonst funktioniert nicht.
################################################################################
sub km200_Set($@)
{
        my ( $hash, @a ) = @_;

        ### If not enough arguments have been provided
        if ( @a < 2 )
        {
                return "\"set km200\" needs at least one argument";
        }

        my $name = shift @a;
        my $opt  = shift @a;
        my $value = join("", @a);
        my %km200_sets;

        ### Get the list of possible services and create a hash out of it
        my @WriteableServices = @{$hash->{Secret}{KM200WRITEABLESERVICES}};
######### Test  ################################################################
        $opt =~ s/-/\//g;
##################################################################################
        foreach my $item(@WriteableServices)
        {
                $km200_sets{$item} = ("1");
        }

        ### If service chosen in GUI does not exist
        if(!$km200_sets{$opt})
        {
                my @cList = keys %km200_sets;
                return "Unknown argument $opt, choose one of " . join(" ", @cList);
        }

        ### Save chosen service and value into hash
        $hash->{temp}{service}  = $opt;
        if (($value*1) == 0) {
                ##### String ####################
                $hash->{temp}{postdata} = $value;
        } else {
                ##### Number ####################
                $hash->{temp}{postdata} = $value*1;
        }

.............
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 02 März 2015, 19:50:55
Hallo DLindner,

ich dachte Reload des Moduls reicht. Habe jetzt noch Restart von FHEM gemacht.
Hat sich leider nicht positiv ausgewirkt.

Was mir vor dem Restart und nach meinem letzten Post aufgefallen ist als ich frustriert mal alle Temperaturen durchprobiert habe:
z.B. set myKM200 /heatingCircuits/hc1/temperatureLevels/night 5
und set myKM200 /heatingCircuits/hc1/temperatureLevels/day 11   funktionieren 

z.B  set myKM200 /heatingCircuits/hc1/temperatureRoomSetpoint 21
und set myKM200 /dhwCircuits/dhw1/setTemperature 51  funktionieren nicht 

Das scheint ja dann kein Problem mehr von "string" und "zahl" zu sein?

Gruß
Andi

PS: Danke für die Readings, muß ich mir mal gleich ansehen. In der Hoffnung meine Heizung versteht mich irgend wann mal.....




Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 20:25:42
Hallo AndiL,
-----------------------------------------------------------------------------------------------------------
z.B  set myKM200 /heatingCircuits/hc1/temperatureRoomSetpoint 21
-----------------------------------------------------------------------------------------------------------
->temperatureRoomSetPoint ist nicht beschreibbar, kann man nur lesen. Gesetzt werden die Werte nur über temperatureLevels/day oder night.

-----------------------------------------------------------------------------------------------------------
und set myKM200 /dhwCircuits/dhw1/setTemperature 51  funktionieren nicht 
-----------------------------------------------------------------------------------------------------------
-> funktioniert bei mir einwandfrei, die neue Temperatur wird bei mir auch sofort im Reading angezeigt. Hab's auch am RC35 kontrolliert!

Dumme Frage, was für einen Controller hast Du, RC35 oder anderen? Versuchs mal mit  /dhwCircuits/dhw1/temperatureLevels/on 51, geht bei mir auch und setzt die Soll-Temperatur auf den vorgegeben Wert.

Was mir beim Setzen von /dhwCircuits/dhw1/operationMode auf "on" aufgefallen ist, dass er das Programm ändert. Hatte immer Desinfektion auf ja eingeschaltet, die nach dem Setzen von operationMode auf nein gewechselt ist und ich musste die Desinfektion neu programmieren.

Da ist noch viel zu tun, was das Protokoll angeht. :P
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 02 März 2015, 20:38:36
Hallo AndiL,

hast Du in 73_km200.pm vielleicht "use warnings" auskommentiert? Dann geht's nicht! Habe ich gerade mal ausprobiert.
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 02 März 2015, 21:46:05
Hallo DLindner,

das ist ja fast ein Buderus-Chat ;D

Zitat
hast Du in 73_km200.pm vielleicht "use warnings" auskommentiert? Dann geht's nicht! Habe ich gerade mal ausprobiert.

Nein, nur Deine If-Abfrage eingefügt, sonst noch alles original.

Zitat
was für einen Controller hast Du, RC35 oder anderen?

Ich habe einen GB152T (Gas) mit RC35 und ein KM200.

Zitat
->temperatureRoomSetPoint ist nicht beschreibbar, kann man nur lesen. Gesetzt werden die Werte nur über temperatureLevels/day oder night.

Bei mir ist der Wert in der Set-Liste der schreibbaren Befehle.
Wenn Du am RC35-Drehrad drehst und die Raumtemperatur bis zum nächsten Schaltpunkt änderst (Im RC35 steht dann Raumtemperatur geändert) steht dieser Wert im Reading temperatureRoomSetPoint.
Dieser der Wert wird beim nächsten Programmschaltpunkt z.B. Tag auf Nacht wieder auf temperatureLevels/day oder night gesetzt. Wird temperatureLevels/day über temperatureRoomSetPoint geändert rutscht temperatureRoomSetPoint natürlich automatisch mit.
Dieser Wert ist nach meiner Meinung der interessanteste von allen, weil man da von FHEM aus am einfachsten "mal kurz Gas" geben könnte.
Bei mir schiebt die Heizung eigentlich eine ruhige Kugel. Nur Warmwasser vorhalten und wenn es knacke kalt ist den Kaminofen unterstützen, ansonsten im Frostschutzbetrieb abhängen. Oder wenn ich keinen Bock auf Holz schleppen habe, mal spontan zu übernehmen. Das habe ich bis jetzt immer mir dem Drehrad am RC35 über temperatureRoomSetPoint geregelt.

Zitat
Versuchs mal mit  /dhwCircuits/dhw1/temperatureLevels/on 51, geht bei mir auch und setzt die Soll-Temperatur auf den vorgegeben Wert.

Hab ich natürlich gleich probiert, auf die Idee bin ich noch gar nicht gekommen.
Die Änderung ist mir wie sonst auch brav bestätigt worden, allerdings hat es die Heizung nicht geändert  :o

Wo Du gerade Desinfektion erwähnst. Ich hatte mir kürzlich nachmittags fast die Flossen abgekocht. Sollte sich da was verstellt haben? Sind dann wohl die berühmten Seiteneffekte  ;D

Zitat
Da ist noch viel zu tun, was das Protokoll angeht.
Mit Sicherheit, aber das Kollektiv bekommt alles hin.
In diesem Sinne bedanke ich mich schon mal für Deine Hilfe, denn ich kann jetzt schon mal zwei Werte manipulieren. Damit komme ich schon mal weiter.
Der Rest kommt vielleicht auch noch......

Gruß
Andi
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 03 März 2015, 08:23:51
Hab's nochmal verfeinert, da String * 1 ein Warning in Perl auswirft.
sub km200_Set($@)
{
        my ( $hash, @a ) = @_;

        ### If not enough arguments have been provided
        if ( @a < 2 )
        {
                return "\"set km200\" needs at least one argument";
        }

        my $name = shift @a;
        my $opt  = shift @a;
        my $value = join("", @a);
        my %km200_sets;

        ### Get the list of possible services and create a hash out of it
        my @WriteableServices = @{$hash->{Secret}{KM200WRITEABLESERVICES}};
######### Test "-" durch "/" ersetzen ############################################
        $opt =~ s/-/\//g;
##################################################################################

        foreach my $item(@WriteableServices)
        {
                $km200_sets{$item} = ("1");
        }

        ### If service chosen in GUI does not exist
        if(!$km200_sets{$opt})
        {
                my @cList = keys %km200_sets;
                return "Unknown argument $opt, choose one of " . join(" ", @cList);
        }

        ### Save chosen service and value into hash
        $hash->{temp}{service}  = $opt;
######################### test prüfen ob Wert numerisch ist #####################
        if ( $value =~ /^\d.+$/) {
                ##### Number ####################
                $hash->{temp}{postdata} = ($value*1);
        } else {
                ##### String ####################
                $hash->{temp}{postdata} = $value;
        }
################################################################################

 
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 03 März 2015, 11:04:03
Nochmal Hallo,

anbei die aktuellen Services für die WPS-1 (siehe pdf-Anhang).

Grüsse.

Grossi33
Grossi

was soll ich sagen.... DANKE!!!  :)

Wird in Version 0042 eingearbeitet.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 03 März 2015, 11:07:12
Hallo Dlindner,

ich wäre erfreut wenn es so einfach wäre.
Werde die Änderung im Modul mal testen.

Würde doch bedeuten, daß das Senden von "Zahlen" auch bei anderen noch nie funktionieren konnte??????

Bin gespannt.
Gruß
Andi

Hallo Andi,

ich fürchte da hast Du Recht.   :o
Ich werde das in Version 0042 testen und aufnehmen... Ich berichte.

Gruß
   Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 03 März 2015, 11:11:36
Habe einfach mal folgendes geändert:
        if (($value)*1 == 0) {
                $hash->{temp}{postdata} = $value;
        } else {
                $hash->{temp}{postdata} = $value*1;
        }
Scheint zu funktionieren. Ich kann alle Temperaturen über Fhem setzen und die Modi-Umschaltungen von Auto auf Day/Night funktionieren auch. Was nicht funtioniert ist das Ändert von Programmen z.B. von Eigen1 auf Familie1, wie ich bereits erwähnt habe.

Hallo

das halte ich für keine gute Idee, wenn der Wert tatsächlich numerisch 0 sein sollte übergibt er einen String und ändert wieder nix.

Aber ich bin dran...
Das muss ich mit einer schlauen Perl RegExp Abfrage ran...

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 03 März 2015, 11:15:24
Hallo DLindner,

ich dachte Reload des Moduls reicht. Habe jetzt noch Restart von FHEM gemacht.
Hat sich leider nicht positiv ausgewirkt.

Was mir vor dem Restart und nach meinem letzten Post aufgefallen ist als ich frustriert mal alle Temperaturen durchprobiert habe:
z.B. set myKM200 /heatingCircuits/hc1/temperatureLevels/night 5
und set myKM200 /heatingCircuits/hc1/temperatureLevels/day 11   funktionieren 

z.B  set myKM200 /heatingCircuits/hc1/temperatureRoomSetpoint 21
und set myKM200 /dhwCircuits/dhw1/setTemperature 51  funktionieren nicht 

Das scheint ja dann kein Problem mehr von "string" und "zahl" zu sein?

Gruß
Andi

PS: Danke für die Readings, muß ich mir mal gleich ansehen. In der Hoffnung meine Heizung versteht mich irgend wann mal.....

Achtung:
Der JSON String gibt für beschreibbare Werte einen erlaubten Wertebereich (MaxVal  / MinVal) zurück, den ich noch nicht verarbeitet habe.
Versuche außerhalb dieses Bereiches Werte zu beschreiben funktioniert nicht.

Aber auch da bin ich dran....

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: AndiL am 03 März 2015, 12:25:54
Hallo Sailor,

Zitat
...als ich frustriert mal alle Temperaturen durchprobiert habe:
Ja, war missverständlich formuliert. Meinte natürlich alle schreibbaren Temperatursettings.
Meine Eingaben bewegten sich auch in den Bereichen die mit dem RC35 einstellbar sind.
Wollte ja keine Kernfusion auslösen  ;D

Ich halte mich dann mal zurück bis die 0042 kommt.
Wünsche gutes Gelingen.

Gruß
Andi
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 03 März 2015, 12:26:19
Hallo Sailor,

Zitat
if (($value)*1 == 0) {
                $hash->{temp}{postdata} = $value;
        } else {
                $hash->{temp}{postdata} = $value*1;
        }
Funktioniert in allen Situationen: Eigen1 => 0 => String; 24 => 24 => Zahl (Auch am RC35 kontrolliert)
Löst in Perl nur eine Warning aus, was nicht gut ist.

Besser:
Zitat
        if ( $value =~ /^\d.+$/) {
                ##### Number ####################
                $hash->{temp}{postdata} = ($value*1);
        } else {
                ##### String ####################
                $hash->{temp}{postdata} = $value;
        }
Ergebnis wie oben ohne Perl-Warning, aber ein negativer Wert wird als String erkannt.
Du kannst da aber sicher noch was Besseres anbieten.

Zu der positiven Rückmeldung nach einem Set:
gib mal "set km200 /heatingCircuits/hc1/temperatureRoomSetpoint Teddibär" ein. Ergebnis "The service /heatingCircuits/hc1/temperatureRoomSetpoint has been changed to: Teddibär".
Es scheint so als ob nur der gecachte Wert zurückgegeben wird. Muss da vielleicht eine neue Http-Session aufgebaut werden???

Warum wird die ID der KM200 nicht mitübergeben? Braucht man die nicht für die ServiceTechniker-Funktionen?

Gruß DLindner
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 03 März 2015, 13:05:05
Hallo DLindner

Zu der positiven Rückmeldung nach einem Set:
gib mal "set km200 /heatingCircuits/hc1/temperatureRoomSetpoint Teddibär" ein. Ergebnis "The service /heatingCircuits/hc1/temperatureRoomSetpoint has been changed to: Teddibär".
Es scheint so als ob nur der gecachte Wert zurückgegeben wird. Muss da vielleicht eine neue Http-Session aufgebaut werden???

Mein Fehler, habe ich in 0042 korrigiert




"if ( $value =~ /^\d.+$/) {"

Funktioniert in allen Situationen: Eigen1 => 0 => String; 24 => 24 => Zahl (Auch am RC35 kontrolliert)
Löst in Perl nur eine Warning aus, was nicht gut ist.

Besser:Ergebnis wie oben ohne Perl-Warning, aber ein negativer Wert wird als String erkannt.
Du kannst da aber sicher noch was Besseres anbieten.

Ich bin dran....
3.14 würde damit auch nicht erkannt werden...

Aber die Wandlung ist ein numerisches Perl-Problem.
Es gibt leider keinen direkten RegEx dafür...

Gruß
    Matthias

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 03 März 2015, 13:18:50
Eigendlich doch:
Zitat
#!/usr/bin/perl

use strict;
use warnings;
my $number="3.14";
if ( $number =~ /^\d.+$/) {
        print "Zahl: $number\n";
} else {
        print "String: $number\n";
}
Zitat
root@MediaBox:~# perl test.pm
Zahl: 3.14
root@MediaBox:~#

Zitat
String: b3.14

Zitat
String: -3.14

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 03 März 2015, 14:02:45
Eigendlich doch:


#!/usr/bin/perl

use strict;
use warnings;
my $number="3.14";
#my $number="-3.14";
#my $number="TeddyBaer";

if ( $number =~ /^\d.+$/) {
      $number = $number*1;
      print "Zahl: $number\n";
} else {
        print "String: $number\n";
}

Beide Pi-Zahlen müssen bei " print "Zahl:" rauskommen
Nur TeddyBaer darf bei " print "String:" rauskommen.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 03 März 2015, 14:41:51
Ich denke ich habe den Ausdruck:

if ( $Value =~ /^[0-9.-]+$/ ) {
                    Zahl      }
    else {
                    String    }


Erkennt positive, wie negative Zahlen. Ein alpha-Zeichen an irgendeiner stelle ergibt String. In der letzten Version ist -3.13b boch als Zahl erkannt worden.

Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 04 März 2015, 13:03:52
H DLindner

Ich denke ich habe den Ausdruck:

if ( $Value =~ /^[0-9.-]+$/ ) {
                    Zahl      }
    else {
                    String    }


Erkennt positive, wie negative Zahlen. Ein alpha-Zeichen an irgendeiner stelle ergibt String. In der letzten Version ist -3.13b boch als Zahl erkannt worden.


Danke, probiere ich aus

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 04 März 2015, 21:39:13
nach Get km200 /notification gibt das System eine Liste von gespeicherten Fehlern der Heizung aus, werden aber derzeit nicht ausgegeben. Ist das ein Problem der readingGroups-Definition?
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 März 2015, 06:38:23
An alle:

Version 0042 ist raus.

a) Neue Services aufgenommen
b) Bug um das Zurücklesen der geschriebenen Werte gefixt. Liest jetzt wirklich nochmal aus und gibt bei Unterschied zwischen IST und SOLL eine Fehlermeldung aus.
c) Schreiben von numerischen Werten klappt jetzt.

Anmerkung:

Bei mir funktioniert das beschreiben des Services "/system/heatSources/hs1/fuel/caloricValue" mit einem numerischen Wert tadelos.
Das Beschreiben der Services
"/heatingCircuits/hc1/temperatureLevels/comfort2"
" /heatingCircuits/hc1/temperatureLevels/eco"
mit einem numerischen Wert funktioniert hingegen nicht.

Gebt mir mal Rückmeldung wie es bei Euch mit numerischen Werten aussieht.

Gruss
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 März 2015, 06:41:31
Hallo DLindner

nach Get km200 /notification gibt das System eine Liste von gespeicherten Fehlern der Heizung aus, werden aber derzeit nicht ausgegeben. Ist das ein Problem der readingGroups-Definition?

Das sieht interessant aus!

Kannst Du mir die Ausgabe noch mal als Text geben, damit ich das zwecks Lesbarkeit ein bisschen im Texteditor sortieren kann.
Die Ausgabe hat mich neugierig gemacht - Das sieht nach JSON String aus, die vom KM200 kommen...

Muss ich mal genauer unter die Lupe nehmen.

Gruß
    Sailor
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: DLindner am 05 März 2015, 08:13:33
@Sailor:
get km200 /notifications
{"id":"/notifications","type":"errorList","recordable":0,"writeable":0,"values":[{"cat":"L","act":"H","dcd":"6A","ccd":227,"orig":"0","t":"2013-10-30T09:01:00"},{"cat":"L","act":"H","dcd":"6A","ccd":227,"orig":"0","t":"2013-10-30T07:27:00"},{"cat":"L","act":"H","dcd":"6A","ccd":227,"orig":"0","t":"2013-10-29T16:26:00"},{"cat":"L","act":"H","dcd":"6A","ccd":227,"orig":"0","t":"2013-10-28T18:15:00"},{"cat":"B","act":"H","dcd":"2E","ccd":207,"orig":"0","t":"2015-01-17T15:21:00"},{"cat":"A","act":"H","dcd":"A33","ccd":816,"orig":"34","t":"2015-02-22T11:57:00"},{"cat":"A","act":"H","dcd":"A16","ccd":816,"orig":"21","t":"2015-02-18T19:17:00"},{"cat":"A","act":"H","dcd":"A16","ccd":816,"orig":"21","t":"2015-02-18T18:48:00"},{"cat":"A","act":"H","dcd":"A16","ccd":816,"orig":"21","t":"2015-02-18T18:30:00"}]}

Kommentar:
Fehler 3E / 207 = Wasserdruck im Heizkreis kleiner 0.8 (?) bar.

Wäre schon toll wenn Du das hinkriegst, denn ich halte diese Werte für einer der wichtigsten Readings im Alltagsleben um Störungen frühzeitig erkennen zu können ( z.B.  mail-Info )

Noch eine Anmerkung zur NUM-Prüfung.

my $number="--1..1";
#$number =~ s/-+/-/g;
#$number =~ s/\.+/\./g;

if ( $number =~ /^[0-9.-]+$/) {
        $number *= 1;
        print "Zahl: $number\n";
} else {
        print "String: $number\n";
}

Dieses Beispiel ergibt: Argument "--1..1" isn't numeric in multiplication (*) at test.pm line 10.
Zahl: 0

Der Vergleich ergibt zwar Zahl aber perl kann nicht multiplizieren.
Man könnte noch die beiden auskommentierten Anweisungen reinbringen, die aus beliebig vielen . oder - nur exakt einen macht (--1..1 => -1.1), oder den Wert mit einer Fehlermeldung zurückweisen.
if ($number =~ m/-{2,}/ || $number =~ m/\.{2,}/) {
        print "Fehler\n"
}



Gruß DLindner
Titel: Antw:Buderus KM200 Kommunikationsmodul
Beitrag von: Sailor am 05 März 2015, 11:15:55
Hallo DLindner

Wäre schon toll wenn Du das hinkriegst, denn ich halte diese Werte für einer der wichtigsten Readings im Alltagsleben um Störungen frühzeitig erkennen zu können ( z.B.  mail-Info )

Schau mer mal. Ich werde mir da heute Abend mal was überlegen...
Kannst Du mir Bitte mal den Auszug aus deinem Bedienerhandbuch (Oder den Link auf der Buderus Seite) geben, damit ich die Fehlercodes zuordnen kann?
Danke!


Noch eine Anmerkung zur NUM-Prüfung.

my $number="--1..1";
#$number =~ s/-+/-/g;
#$number =~ s/\.+/\./g;

if ( $number =~ /^[0-9.-]+$/) {
        $number *= 1;
        print "Zahl: $number\n";
} else {
        print "String: $number\n";
}

Dieses Beispiel ergibt: Argument "--1..1" isn't numeric in multiplication (*) at test.pm line 10.
Zahl: 0

Der Vergleich ergibt zwar Zahl aber perl kann nicht multiplizieren.
Man könnte noch die beiden auskommentierten Anweisungen reinbringen, die aus beliebig vielen . oder - nur exakt einen macht (--1..1 => -1.1), oder den Wert mit einer Fehlermeldung zurückweisen.
if ($number =~ m/-{2,}/ || $number =~ m/\.{2,}/) {
        print "Fehler\n"
}



Also wenn Jemand "--1..1" eingeben würde, wir der Wert als String belassen und das Modul gibt die Fehlermeldung an den User raus, dass der Wert nicht geschrieben w