mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-21 20:06:18 +00:00
some cleanup and minor improvement
git-svn-id: https://svn.fhem.de/fhem/trunk@4705 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
f0e23d4608
commit
b53f32cfb2
@ -195,34 +195,16 @@ sub HMLAN_Attr(@) {############################################################
|
|||||||
return "illegal number:$no" if (hex($no) < 1 || hex($no) > 255 || length($no) != 2);
|
return "illegal number:$no" if (hex($no) < 1 || hex($no) > 255 || length($no) != 2);
|
||||||
}
|
}
|
||||||
$attr{$name}{$aName} = "$no:".
|
$attr{$name}{$aName} = "$no:".
|
||||||
(($val =~ m /^[0-9A-Fa-f]{32}$/ )?
|
(($val =~ m /^[0-9A-Fa-f]{32}$/ )
|
||||||
$val:
|
? $val
|
||||||
unpack('H*', md5($val)));
|
: unpack('H*', md5($val)));
|
||||||
$retVal = "$aName set to $attr{$name}{$aName}"
|
$retVal = "$aName set to $attr{$name}{$aName}"
|
||||||
if($aVal ne $attr{$name}{$aName});
|
if($aVal ne $attr{$name}{$aName});
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
delete $attr{$name}{$aName};
|
delete $attr{$name}{$aName};
|
||||||
}
|
}
|
||||||
my ($k1no,$k1,$k2no,$k2,$k3no,$k3,$k4no,$k4,$k5no,$k5)
|
HMLAN_writeAesKey($name);
|
||||||
=( "01",AttrVal($name,"hmKey","")
|
|
||||||
,"02",AttrVal($name,"hmKey2","")
|
|
||||||
,"03",AttrVal($name,"hmKey3","")
|
|
||||||
,"04",AttrVal($name,"hmKey4","")
|
|
||||||
,"05",AttrVal($name,"hmKey5","")
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($k1 =~ m/:/){($k1no,$k1) = split(":",$k1);}
|
|
||||||
if ($k2 =~ m/:/){($k2no,$k2) = split(":",$k2);}
|
|
||||||
if ($k3 =~ m/:/){($k3no,$k3) = split(":",$k3);}
|
|
||||||
if ($k4 =~ m/:/){($k4no,$k4) = split(":",$k4);}
|
|
||||||
if ($k5 =~ m/:/){($k5no,$k5) = split(":",$k5);}
|
|
||||||
|
|
||||||
HMLAN_SimpleWrite($defs{$name}, "Y01,".($k1?"$k1no,$k1":"00,"));
|
|
||||||
HMLAN_SimpleWrite($defs{$name}, "Y02,".($k2?"$k2no,$k2":"00,"));
|
|
||||||
HMLAN_SimpleWrite($defs{$name}, "Y03,".($k3?"$k3no,$k3":"00,"));
|
|
||||||
HMLAN_SimpleWrite($defs{$name}, "Y04,".($k4?"$k4no,$k4":"00,"));
|
|
||||||
HMLAN_SimpleWrite($defs{$name}, "Y05,".($k5?"$k5no,$k5":"00,"));
|
|
||||||
return $retVal;
|
return $retVal;
|
||||||
}
|
}
|
||||||
elsif($aName eq "hmMsgLowLimit"){
|
elsif($aName eq "hmMsgLowLimit"){
|
||||||
@ -763,33 +745,19 @@ sub HMLAN_DoInit($) {##########################################################
|
|||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
my $id = AttrVal($name, "hmId", "999999");
|
my $id = AttrVal($name, "hmId", "999999");
|
||||||
my ($k1no,$k1,$k2no,$k2,$k3no,$k3)
|
|
||||||
=( "01",AttrVal($name,"hmKey","")
|
|
||||||
,"02",AttrVal($name,"hmKey2","")
|
|
||||||
,"03",AttrVal($name,"hmKey3","")
|
|
||||||
,"04",AttrVal($name,"hmKey4","")
|
|
||||||
,"05",AttrVal($name,"hmKey5","")
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($k1 =~ m/:/){($k1no,$k1) = split(":",$k1);}
|
|
||||||
if ($k2 =~ m/:/){($k2no,$k2) = split(":",$k2);}
|
|
||||||
if ($k3 =~ m/:/){($k3no,$k3) = split(":",$k3);}
|
|
||||||
|
|
||||||
my $s2000 = sprintf("%02X", HMLAN_secSince2000());
|
|
||||||
delete $hash->{READINGS}{state};
|
delete $hash->{READINGS}{state};
|
||||||
|
|
||||||
HMLAN_SimpleWrite($hash, "A$id") if($id ne "999999");
|
HMLAN_SimpleWrite($hash, "A$id") if($id ne "999999");
|
||||||
HMLAN_SimpleWrite($hash, "C");
|
HMLAN_SimpleWrite($hash, "C");
|
||||||
HMLAN_SimpleWrite($defs{$name}, "Y01,".($k1?"$k1no,$k1":"00,"));
|
HMLAN_writeAesKey($name);
|
||||||
HMLAN_SimpleWrite($defs{$name}, "Y02,".($k2?"$k2no,$k2":"00,"));
|
|
||||||
HMLAN_SimpleWrite($defs{$name}, "Y03,".($k3?"$k3no,$k3":"00,"));
|
|
||||||
HMLAN_SimpleWrite($hash, "T$s2000,04,00,00000000");
|
|
||||||
delete $hash->{helper}{ref};
|
delete $hash->{helper}{ref};
|
||||||
|
|
||||||
HMLAN_condUpdate($hash,0xff);
|
HMLAN_condUpdate($hash,0xff);
|
||||||
$hash->{helper}{q}{cap}{$_}=0 foreach (keys %{$hash->{helper}{q}{cap}});
|
$hash->{helper}{q}{cap}{$_}=0 foreach (keys %{$hash->{helper}{q}{cap}});
|
||||||
|
|
||||||
foreach (keys %{$hash->{helper}{assIDs}}){delete ($hash->{helper}{assIDs}{$_})};# clear IDs - HMLAN might have a reset
|
foreach (keys %{$hash->{helper}{assIDs}}){delete ($hash->{helper}{assIDs}{$_})};# clear IDs - HMLAN might have a reset
|
||||||
|
delete ($hash->{helper}{assIDs}{$_}) foreach (keys %{$hash->{helper}{assIDs}});# clear IDs - HMLAN might have a reset
|
||||||
$hash->{helper}{q}{keepAliveRec} = 1; # ok for first time
|
$hash->{helper}{q}{keepAliveRec} = 1; # ok for first time
|
||||||
$hash->{helper}{q}{keepAliveRpt} = 0; # ok for first time
|
$hash->{helper}{q}{keepAliveRpt} = 0; # ok for first time
|
||||||
|
|
||||||
@ -806,6 +774,16 @@ sub HMLAN_DoInit($) {##########################################################
|
|||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
sub HMLAN_writeAesKey($) {#####################################################
|
||||||
|
my ($name) = @_;
|
||||||
|
|
||||||
|
my ($k,$kNo);
|
||||||
|
foreach my $i (1..5){
|
||||||
|
($kNo,$k) = ("0".$i,AttrVal($name,"hmKey".($i== 1?"":$i),""));
|
||||||
|
($kNo,$k) = split(":",$k);
|
||||||
|
HMLAN_SimpleWrite($defs{$name}, "Y0$i,".($k?"$kNo,$k":"00,"));
|
||||||
|
}
|
||||||
|
}
|
||||||
sub HMLAN_KeepAlive($) {#######################################################
|
sub HMLAN_KeepAlive($) {#######################################################
|
||||||
my($in ) = shift;
|
my($in ) = shift;
|
||||||
my(undef,$name) = split(':',$in);
|
my(undef,$name) = split(':',$in);
|
||||||
|
@ -3167,6 +3167,7 @@ sub CUL_HM_Set($@) {
|
|||||||
if ($a[2] eq "off"){
|
if ($a[2] eq "off"){
|
||||||
$state = "ValveAdjust:stopped";
|
$state = "ValveAdjust:stopped";
|
||||||
RemoveInternalTimer("valvePos:$dst$chn");# remove responsePending timer
|
RemoveInternalTimer("valvePos:$dst$chn");# remove responsePending timer
|
||||||
|
RemoveInternalTimer("valveTmr:$dst$chn");# remove responsePending timer
|
||||||
delete($hash->{helper}{virtTC});
|
delete($hash->{helper}{virtTC});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -3184,6 +3185,7 @@ sub CUL_HM_Set($@) {
|
|||||||
$hash->{helper}{vd}{idl} = hex(substr($dst,4,2))*256;
|
$hash->{helper}{vd}{idl} = hex(substr($dst,4,2))*256;
|
||||||
$hash->{helper}{vd}{msgCnt} = 1 if (!defined $hash->{helper}{vd}{msgCnt});
|
$hash->{helper}{vd}{msgCnt} = 1 if (!defined $hash->{helper}{vd}{msgCnt});
|
||||||
if (!$hash->{helper}{virtTC}){
|
if (!$hash->{helper}{virtTC}){
|
||||||
|
$hash->{helper}{vd}{ackT} = "" if (!defined$hash->{helper}{vd}{ackT});
|
||||||
$hash->{helper}{vd}{next} = gettimeofday()
|
$hash->{helper}{vd}{next} = gettimeofday()
|
||||||
if (!defined $hash->{helper}{vd}{next});
|
if (!defined $hash->{helper}{vd}{next});
|
||||||
$hash->{helper}{virtTC} = "03";
|
$hash->{helper}{virtTC} = "03";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user