2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-05-03 13:45:36 +00:00

47_OBIS: Fixed some error-messages

Added E350USB-Device

git-svn-id: https://svn.fhem.de/fhem/trunk@12586 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
icinger 2016-11-15 18:59:13 +00:00
parent 2f862307e4
commit c9079f812f

View File

@ -142,6 +142,7 @@ sub OBIS_Define($$)
"Standard" => ["", -1, ""], "Standard" => ["", -1, ""],
"VSM102" => ["/?!".chr(13).chr(10), 600, chr(6)."0".$hash->{helper}{SPEED}."0".chr(13).chr(10)], "VSM102" => ["/?!".chr(13).chr(10), 600, chr(6)."0".$hash->{helper}{SPEED}."0".chr(13).chr(10)],
"E110" => ["/?!".chr(13).chr(10), 600, chr(6)."0".$hash->{helper}{SPEED}."0".chr(13).chr(10)], "E110" => ["/?!".chr(13).chr(10), 600, chr(6)."0".$hash->{helper}{SPEED}."0".chr(13).chr(10)],
"E350USB" => ["/?!".chr(13).chr(10), 600, chr(6)."0".$hash->{helper}{SPEED}."0".chr(13).chr(10)],
); );
if (!$devs{$type}) {return 'unknown meterType. Must be one of <nothing>, SML, Standard, VSM102, E110'}; if (!$devs{$type}) {return 'unknown meterType. Must be one of <nothing>, SML, Standard, VSM102, E110'};
$devs{$type}[1] = $hash->{helper}{DEVICES}[1] // $devs{$type}[1]; $devs{$type}[1] = $hash->{helper}{DEVICES}[1] // $devs{$type}[1];
@ -526,7 +527,7 @@ sub OBIS_Parse($$)
} }
if (AttrVal($name,"unitReadings","off") eq "off") { if (AttrVal($name,"unitReadings","off") eq "off") {
$v1=~s/(.*)\*.*/$1/; $v1=~s/(.*)\*.*/$1/;
if (length $v2) {}$v2=~s/(.*)\*.*/$1/; if ($v2) {$v2=~s/(.*)\*.*/$1/};
} }
$v1+=0 if (looks_like_number($v1)); $v1+=0 if (looks_like_number($v1));
$v2+=0 if (looks_like_number($v2)); $v2+=0 if (looks_like_number($v2));
@ -735,28 +736,30 @@ sub OBIS_decodeTL($){
my $lt=""; my $lt="";
my $tmp=""; my $tmp="";
# Log 3,"In: $msg"; # Log 3,"In: $msg";
$msgType =hex(substr($msg,0,2)) & 0b01110000; if ($msg) {
do { $msgType =hex(substr($msg,0,2)) & 0b01110000;
$lt=hex(substr($msg,0,2)); do {
$msg=substr($msg,2); $lt=hex(substr($msg,0,2));
$msgLength=($msgLength*16) + ($lt & 0b00001111); $msg=substr($msg,2);
} while ($lt & 0b10000000); $msgLength=($msgLength*16) + ($lt & 0b00001111);
if ($msgType == 0b01110000) { } while ($lt & 0b10000000);
for (my $i=0;$i<$msgLength;$i++) { if ($msgType == 0b01110000) {
my $tmp2=""; for (my $i=0;$i<$msgLength;$i++) {
# Log 3,"--> $msg"; my $tmp2="";
(undef,undef,undef,$msg,$tmp2)=OBIS_decodeTL($msg); # Log 3,"--> $msg";
# Log 3,"<-- $tmp2 $msg"; (undef,undef,undef,$msg,$tmp2)=OBIS_decodeTL($msg);
$tmp.=$tmp2; # Log 3,"<-- $tmp2 $msg";
$tmp.=$tmp2;
}
$msgLength-=1;
} }
$msgLength-=1; $msgLength-=1;
} my $valu=substr($msg,0,$msgLength*2);
$msgLength-=1; $tmp.=$valu;
my $valu=substr($msg,0,$msgLength*2); $msg=substr($msg,$msgLength*2);
$tmp.=$valu; # Log 3," Split Msg: $tmp $msg";
$msg=substr($msg,$msgLength*2);
# Log 3," Split Msg: $tmp $msg";
return $msgLength,$msgType,$valu,$msg,$tmp; return $msgLength,$msgType,$valu,$msg,$tmp;
};
} }
"Cogito, ergo sum."; "Cogito, ergo sum.";
@ -781,6 +784,7 @@ sub OBIS_decodeTL($){
Optional:MeterType can be of Optional:MeterType can be of
<ul><li>VSM102 -&gt; Voltcraft VSM102</li> <ul><li>VSM102 -&gt; Voltcraft VSM102</li>
<li>E110 -&gt; Landis&&;Gyr E110</li> <li>E110 -&gt; Landis&&;Gyr E110</li>
<li>E350USB -&gt; Landis&&;Gyr E350 USB-Version</li>
<li>Standard -&gt; Data comes as plainText</li> <li>Standard -&gt; Data comes as plainText</li>
<li>SML -&gt; Smart Message Language</li></ul> <li>SML -&gt; Smart Message Language</li></ul>
<br> <br>
@ -852,6 +856,7 @@ sub OBIS_decodeTL($){
Optional:MeterType kann sein: Optional:MeterType kann sein:
<ul><li>VSM102 -&gt; Voltcraft VSM102</li> <ul><li>VSM102 -&gt; Voltcraft VSM102</li>
<li>E110 -&gt; Landis&&;Gyr E110</li> <li>E110 -&gt; Landis&&;Gyr E110</li>
<li>E350USB -&gt; Landis&&;Gyr E350 USB-Version</li>
<li>Standard -&gt; Daten kommen als plainText</li> <li>Standard -&gt; Daten kommen als plainText</li>
<li>SML -&gt; Smart Message Language</li></ul> <li>SML -&gt; Smart Message Language</li></ul>
<br> <br>