mschlenstedt / LoxBerry-Plugin-Smartmeter

Apache License 2.0
3 stars 7 forks source link

Kompatibilität Loxberry 1.0 #7

Open Shaquille23 opened 6 years ago

Shaquille23 commented 6 years ago

Nach dem Update auf Loxberry 1.0 und der Installation des Plugins sowie Anlage der Zähler mit den gleichen Werten kam immer:

Setting up port /dev/serial/smartmeter/01304DED: Baudrate:9600/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
Sending D0 Starting Sequence
Send: 
Write failed.

Ich habe mir die entsprechende Datei sm_logger.pl angeschaut und diese wie folgt angepasst:

--- sm_logger_old.pl    2018-02-22 11:51:10.790044647 +0100
+++ sm_logger.pl    2018-02-22 11:05:41.300998347 +0100

@@ -493,16 +493,23 @@ sub D0_STARTINGSEQUENZE
    my $request = pack(\'H*\',$init);
    my $requestlog = "$request";
    $requestlog =~ s/\r\n\z//; # chomp doesn\'t work here...
-   my $num_out = $port->write($request);
+   #my $num_out = $port->write($request);
+   
+   $output="/?!\r\n";
+   $num_out=$port->write($output);
+   sleep(2);
+   $output="\x06\x30\x30\x30\r\n";
+   $num_out=$port->write($output); 

    ### Debug
    &LOG ("Send: $requestlog", "INFO");
+   
    if ( !$num_out ) {
        $verbose = 1;
        &LOG ("Write failed.", "FAIL");
        exit;
    }
-   if ( $num_out ne length($request) ) {
+   if ( $num_out ne length($output) ) {
        $verbose = 1;
        &LOG ("Write incomplete.", "FAIL");
        exit;
@@ -1037,3 +1044,4 @@ sub LOG
    return();

 }
+

Ob das jetzt generell die Lösung ist, weiß ich nicht, aber zumindest funktioniert mein Zähler so wieder.

mschlenstedt commented 6 years ago

Danke!

Michaa85 commented 6 years ago

Gibts die Möglichkeit dass Du deine config nochmal komplett postest?

Mit der Standard sm_logger.pl bekomm ich die gleiche "Fehlermeldung" wie bei Dir. Allerdings mit dem Unterschied, dass die Baudrate auf 300 eingestellt ist. Mit deinen Änderungen bleibt er nach der zweiten Zeile hängen.

##: Found configuration for ##
##: Presetting: pafal20ec3grd0.

vielen Dank!