mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-26 16:19:32 +00:00
HMLAN:updates
git-svn-id: https://svn.fhem.de/fhem/trunk@25201 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
1feffd2193
commit
20936d10af
@ -5,6 +5,7 @@ package main;
|
|||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
use DevIo;
|
||||||
use Time::HiRes qw(gettimeofday time);
|
use Time::HiRes qw(gettimeofday time);
|
||||||
use Digest::MD5 qw(md5);
|
use Digest::MD5 qw(md5);
|
||||||
|
|
||||||
@ -51,8 +52,8 @@ my $HMmlSlice = 12; # number of messageload slices per hour (10 = 6min)
|
|||||||
|
|
||||||
sub HMLAN_Initialize($) {
|
sub HMLAN_Initialize($) {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
|
use DevIo;
|
||||||
|
|
||||||
require "$attr{global}{modpath}/FHEM/DevIo.pm";
|
|
||||||
|
|
||||||
# Provider
|
# Provider
|
||||||
$hash->{ReadFn} = "HMLAN_Read";
|
$hash->{ReadFn} = "HMLAN_Read";
|
||||||
@ -82,6 +83,8 @@ sub HMLAN_Initialize($) {
|
|||||||
"wdTimer:5,10,15,20,25 ".
|
"wdTimer:5,10,15,20,25 ".
|
||||||
"logIDs:multiple,sys,all,broadcast ".
|
"logIDs:multiple,sys,all,broadcast ".
|
||||||
$readingFnAttributes;
|
$readingFnAttributes;
|
||||||
|
$hash->{NotifyOrderPrefix} = "47-"; #make sure, HMLAN_DoInit is called once prior to CUL_HM initialisation
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
sub HMLAN_Define($$) {#########################################################
|
sub HMLAN_Define($$) {#########################################################
|
||||||
my ($hash, $def) = @_;
|
my ($hash, $def) = @_;
|
||||||
@ -89,7 +92,7 @@ sub HMLAN_Define($$) {#########################################################
|
|||||||
|
|
||||||
if(@a != 3) {
|
if(@a != 3) {
|
||||||
my $msg = "wrong syntax: define <name> HMLAN ip[:port]";
|
my $msg = "wrong syntax: define <name> HMLAN ip[:port]";
|
||||||
Log3 $hash, 2, $msg;
|
Log3 $a[0], 2, $msg;
|
||||||
return $msg;
|
return $msg;
|
||||||
}
|
}
|
||||||
DevIo_CloseDev($hash);
|
DevIo_CloseDev($hash);
|
||||||
@ -99,7 +102,7 @@ sub HMLAN_Define($$) {#########################################################
|
|||||||
$dev .= ":1000" if($dev !~ m/:/ && $dev ne "none" && $dev !~ m/\@/);
|
$dev .= ":1000" if($dev !~ m/:/ && $dev ne "none" && $dev !~ m/\@/);
|
||||||
|
|
||||||
if($dev eq "none") {
|
if($dev eq "none") {
|
||||||
Log3 $hash, 1, "$name device is none, commands will be echoed only";
|
Log3 $name, 1, "$name device is none, commands will be echoed only";
|
||||||
$attr{$name}{dummy} = 1;
|
$attr{$name}{dummy} = 1;
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
@ -118,6 +121,7 @@ sub HMLAN_Define($$) {#########################################################
|
|||||||
@{$hash->{helper}{q}{apIDs}} = \@arr;
|
@{$hash->{helper}{q}{apIDs}} = \@arr;
|
||||||
|
|
||||||
$hash->{helper}{q}{scnt} = 0;
|
$hash->{helper}{q}{scnt} = 0;
|
||||||
|
$hash->{helper}{q}{sending} = 0;
|
||||||
$hash->{helper}{q}{loadNo} = 0;
|
$hash->{helper}{q}{loadNo} = 0;
|
||||||
$hash->{helper}{q}{loadLastMax} = 0; # max load in last slice
|
$hash->{helper}{q}{loadLastMax} = 0; # max load in last slice
|
||||||
my @ald = ("0") x $HMmlSlice;
|
my @ald = ("0") x $HMmlSlice;
|
||||||
@ -136,9 +140,10 @@ sub HMLAN_Define($$) {#########################################################
|
|||||||
readingsSingleUpdate($hash,"state","disconnected",1);
|
readingsSingleUpdate($hash,"state","disconnected",1);
|
||||||
$hash->{owner} = "";
|
$hash->{owner} = "";
|
||||||
HMLAN_Attr("delete",$name,"loadLevel");
|
HMLAN_Attr("delete",$name,"loadLevel");
|
||||||
|
$hash->{Clients} = ":CUL_HM:";
|
||||||
|
|
||||||
my $ret = DevIo_OpenDev($hash, 0, "HMLAN_DoInit");
|
return DevIo_OpenDev($hash, 0, "HMLAN_DoInit") if $init_done;
|
||||||
return $ret;
|
return;
|
||||||
}
|
}
|
||||||
sub HMLAN_Undef($$) {##########################################################
|
sub HMLAN_Undef($$) {##########################################################
|
||||||
my ($hash, $arg) = @_;
|
my ($hash, $arg) = @_;
|
||||||
@ -165,12 +170,13 @@ sub HMLAN_RemoveHMPair($) {####################################################
|
|||||||
}
|
}
|
||||||
sub HMLAN_Notify(@) {##########################################################
|
sub HMLAN_Notify(@) {##########################################################
|
||||||
my ($hash,$dev) = @_;
|
my ($hash,$dev) = @_;
|
||||||
if ($dev->{NAME} eq "global" && grep (m/^INITIALIZED$/,@{$dev->{CHANGED}})){
|
if ($dev->{NAME} eq "global" && grep (m/^INITIALIZED|REREADCFG$/,@{$dev->{CHANGED}})){
|
||||||
if ($hash->{helper}{attrPend}){
|
if ($hash->{helper}{attrPend}){
|
||||||
my $aVal = AttrVal($hash->{NAME},"logIDs","");
|
my $aVal = AttrVal($hash->{NAME},"logIDs","");
|
||||||
HMLAN_Attr("set",$hash->{NAME},"logIDs",$aVal) if($aVal);
|
HMLAN_Attr("set",$hash->{NAME},"logIDs",$aVal) if($aVal);
|
||||||
delete $hash->{helper}{attrPend};
|
delete $hash->{helper}{attrPend};
|
||||||
}
|
}
|
||||||
|
DevIo_OpenDev($hash, 0, "HMLAN_DoInit");
|
||||||
HMLAN_writeAesKey($hash->{NAME});
|
HMLAN_writeAesKey($hash->{NAME});
|
||||||
}
|
}
|
||||||
elsif ($dev->{NAME} eq $hash->{NAME}){
|
elsif ($dev->{NAME} eq $hash->{NAME}){
|
||||||
@ -641,6 +647,7 @@ sub HMLAN_Parse($$) {##########################################################
|
|||||||
my @mFld = split(',', $rmsg);
|
my @mFld = split(',', $rmsg);
|
||||||
my $letter = substr($mFld[0],0,1); # get leading char
|
my $letter = substr($mFld[0],0,1); # get leading char
|
||||||
|
|
||||||
|
$hash->{helper}{q}{sending} = 0 if ($letter eq "R");
|
||||||
if ($letter =~ m/^[ER]/){#@mFld=($src, $status, $msec, $d2, $rssi, $msg)
|
if ($letter =~ m/^[ER]/){#@mFld=($src, $status, $msec, $d2, $rssi, $msg)
|
||||||
# max speed for devices is 100ms after receive - example:TC
|
# max speed for devices is 100ms after receive - example:TC
|
||||||
my ($mNo,$flg,$type,$src,$dst,$p) = unpack('A2A2A2A6A6A*',$mFld[5]);
|
my ($mNo,$flg,$type,$src,$dst,$p) = unpack('A2A2A2A6A6A*',$mFld[5]);
|
||||||
@ -936,6 +943,7 @@ sub HMLAN_DoInit($) {##########################################################
|
|||||||
|
|
||||||
$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
|
||||||
|
$hash->{helper}{q}{sending} = 0;
|
||||||
|
|
||||||
my $tn = gettimeofday();
|
my $tn = gettimeofday();
|
||||||
my $wdTimer = AttrVal($name,"wdTimer",25);
|
my $wdTimer = AttrVal($name,"wdTimer",25);
|
||||||
@ -986,11 +994,16 @@ sub HMLAN_KeepAlive($) {#######################################################
|
|||||||
my($in ) = shift;
|
my($in ) = shift;
|
||||||
my(undef,$name) = split(':',$in);
|
my(undef,$name) = split(':',$in);
|
||||||
my $hash = $defs{$name};
|
my $hash = $defs{$name};
|
||||||
|
my $tn = gettimeofday();
|
||||||
|
if ($hash->{helper}{q}{sending}) { #Currently sending, reschedule KeepAlive
|
||||||
|
RemoveInternalTimer( "keepAlive:".$name);# avoid duplicate timer
|
||||||
|
InternalTimer($tn+0.1,"HMLAN_KeepAlive", "keepAlive:".$name, 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$hash->{helper}{q}{keepAliveRec} = 0; # reset indicator
|
$hash->{helper}{q}{keepAliveRec} = 0; # reset indicator
|
||||||
|
|
||||||
return if(!$hash->{FD});
|
return if(!$hash->{FD});
|
||||||
|
|
||||||
my $tn = gettimeofday();
|
|
||||||
my $wdTimer = AttrVal($name,"wdTimer",25);
|
my $wdTimer = AttrVal($name,"wdTimer",25);
|
||||||
my $rht = int($tn)>>15 ;
|
my $rht = int($tn)>>15 ;
|
||||||
if( $rht != $hash->{helper}{setTime}){# reset HMLAN watch about each 10h
|
if( $rht != $hash->{helper}{setTime}){# reset HMLAN watch about each 10h
|
||||||
@ -1156,13 +1169,15 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
__END__
|
||||||
|
|
||||||
=pod
|
=pod
|
||||||
=item device
|
=item device
|
||||||
=item summary IO device for wireless homematic
|
=item summary IO device for wireless homematic
|
||||||
=item summary_DE IO device für funkgesteuerte Homematic Devices
|
=item summary_DE IO device für funkgesteuerte Homematic Devices
|
||||||
=begin html
|
=begin html
|
||||||
|
|
||||||
<a name="HMLAN"></a>
|
<a id="HMLAN"></a>
|
||||||
<h3>HMLAN</h3>
|
<h3>HMLAN</h3>
|
||||||
<ul>
|
<ul>
|
||||||
The HMLAN is the fhem module for the eQ-3 HomeMatic LAN Configurator.<br>
|
The HMLAN is the fhem module for the eQ-3 HomeMatic LAN Configurator.<br>
|
||||||
@ -1182,7 +1197,7 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
</ul>
|
</ul>
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
|
|
||||||
<a name="HMLANdefine"><b>Define</b></a>
|
<a id="HMLAN-define"></a><h4>Define</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> HMLAN <ip-address>[:port]</code><br>
|
<code>define <name> HMLAN <ip-address>[:port]</code><br>
|
||||||
<br>
|
<br>
|
||||||
@ -1191,36 +1206,38 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<a name="HMLANset"><b>Set</b></a>
|
<a id="HMLAN-set"></a><h4>Set</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#hmPairForSec">hmPairForSec</a></li>
|
<li><a href="#hmPairForSec">hmPairForSec</a></li>
|
||||||
<li><a href="#hmPairSerial">hmPairSerial</a></li>
|
<li><a href="#hmPairSerial">hmPairSerial</a></li>
|
||||||
<li><a href="#hmreopen">reopen</a>
|
<li><a href="#hmreopen">reopen</a>
|
||||||
reconnect the device
|
reconnect the device
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#hmrestart">restart</a>
|
<li><a href="#hmrestart">restart</a>
|
||||||
Restart the device
|
Restart the device
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#HMLANset_reassignIDs">reassignIDs</a>
|
<li><a id="HMLAN-set-reassignIDs"></a>reassignIDs<br>
|
||||||
Syncs the IDs between HMLAN and the FHEM list.
|
Syncs the IDs between HMLAN and the FHEM list.
|
||||||
Usually this is done automatically and only is recomended if there is a difference in counts.
|
Usually this is done automatically and only is recomended if there is a difference in counts.
|
||||||
</li>
|
</li>
|
||||||
<br><br>
|
<br><br>
|
||||||
</ul>
|
</ul>
|
||||||
<a name="HMLANget"><b>Get</b></a>
|
<a id="HMLAN-get"></a><h4>Get</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#HMLANgetassignIDs">assignIDs</a>
|
<a id="HMLAN-get-assignIDs"><b>Get</b></a>
|
||||||
|
<li>assignIDs<br>
|
||||||
Gibt eine Liste aller diesem IO zugewiesenen IOs aus.
|
Gibt eine Liste aller diesem IO zugewiesenen IOs aus.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<a name="HMLANattr"><b>Attributes</b></a>
|
<a id="HMLAN-attr"></a><h4>Attributes</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#addvaltrigger">addvaltrigger</a></li>
|
<li><a href="#addvaltrigger">addvaltrigger</a></li>
|
||||||
<li><a href="#do_not_notify">do_not_notify</a></li>
|
<li><a href="#do_not_notify">do_not_notify</a></li>
|
||||||
<li><a href="#attrdummy">dummy</a></li>
|
<li><a href="#attrdummy">dummy</a></li>
|
||||||
<li><a href="#HMLANlogIDs">logIDs</a><br>
|
<a id="HMLAN-attr-logIDs"></a>
|
||||||
|
<li><a id="HMLAN-attr-logIDs">logIDs</a><br>
|
||||||
enables selective logging of HMLAN messages. A list of HMIds or names can be
|
enables selective logging of HMLAN messages. A list of HMIds or names can be
|
||||||
entered, comma separated, which shall be logged.<br>
|
entered, comma separated, which shall be logged.<br>
|
||||||
The attribute only allows device-IDs, not channel IDs.
|
The attribute only allows device-IDs, not channel IDs.
|
||||||
@ -1229,31 +1246,27 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
<b>sys</b> will log system related messages like keep-alive<br>
|
<b>sys</b> will log system related messages like keep-alive<br>
|
||||||
in order to enable all messages set "<b>all,sys</b>"<br>
|
in order to enable all messages set "<b>all,sys</b>"<br>
|
||||||
</li>
|
</li>
|
||||||
<li><a name="HMLANloadLevel">loadLevel</a><br>
|
<li><a id="HMLAN-attr-loadLevel"></a>loadLevel<br>
|
||||||
loadlevel will be mapped to reading vaues. <br>
|
loadlevel will be mapped to reading vaues. <br>
|
||||||
0:low,30:mid,40:batchLevel,90:high,99:suspended<br>
|
0:low,30:mid,40:batchLevel,90:high,99:suspended<br>
|
||||||
the batchLevel value will be set to 40 if not entered. This is the level at which
|
the batchLevel value will be set to 40 if not entered. This is the level at which
|
||||||
background message generation e.g. for autoReadReg will be stopped<br>
|
background message generation e.g. for autoReadReg will be stopped<br>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#hmId">hmId</a></li>
|
<li><a href="#hmId">hmId</a></li>
|
||||||
<li><a name="HMLANhmKey">hmKey</a></li>
|
<li><a id="HMLAN-attr-hmKey" data-pattern="hmKey.*"></a>hmKey / hmKey2-5<br>
|
||||||
<li><a name="HMLANhmKey2">hmKey2</a></li>
|
|
||||||
<li><a name="HMLANhmKey3">hmKey3</a></li>
|
|
||||||
<li><a name="HMLANhmKey4">hmKey4</a></li>
|
|
||||||
<li><a name="HMLANhmKey5">hmKey5</a><br>
|
|
||||||
AES keys for the HMLAN adapter. <br>
|
AES keys for the HMLAN adapter. <br>
|
||||||
The key is converted to a hash. If a hash is given directly it is not converted but taken directly.
|
The key is converted to a hash. If a hash is given directly it is not converted but taken directly.
|
||||||
Therefore the original key cannot be converted back<br>
|
Therefore the original key cannot be converted back<br>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#hmProtocolEvents">hmProtocolEvents</a></li><br>
|
<li><a href="#hmProtocolEvents">hmProtocolEvents</a></li><br>
|
||||||
<li><a name="HMLANrespTime">respTime</a><br>
|
<li><a id="HMLAN-attr-respTime"></a>respTime<br>
|
||||||
Define max response time of the HMLAN adapter in seconds. Default is 1 sec.<br/>
|
Define max response time of the HMLAN adapter in seconds. Default is 1 sec.<br/>
|
||||||
Longer times may be used as workaround in slow/instable systems or LAN configurations.</li>
|
Longer times may be used as workaround in slow/instable systems or LAN configurations.</li>
|
||||||
<li><a name="HMLAN#wdTimer">wdTimer</a><br>
|
<li><a id="HMLAN-attr-wdTimer">wdTimer</a><br>
|
||||||
Time in sec to trigger HMLAN. Values between 5 and 25 are allowed, 25 is default.<br>
|
Time in sec to trigger HMLAN. Values between 5 and 25 are allowed, 25 is default.<br>
|
||||||
It is <B>not recommended</B> to change this timer. If problems are detected with <br>
|
It is <B>not recommended</B> to change this timer. If problems are detected with <br>
|
||||||
HLMLAN disconnection it is advisable to resolve the root-cause of the problem and not symptoms.</li>
|
HLMLAN disconnection it is advisable to resolve the root-cause of the problem and not symptoms.</li>
|
||||||
<li><a name="HMLANhmLanQlen">hmLanQlen</a><br>
|
<li><a id="HMLAN-attr-hmLanQlen">hmLanQlen</a><br>
|
||||||
defines queuelength of HMLAN interface. This is therefore the number of
|
defines queuelength of HMLAN interface. This is therefore the number of
|
||||||
simultanously send messages. increasing values may cause higher transmission speed.
|
simultanously send messages. increasing values may cause higher transmission speed.
|
||||||
It may also cause retransmissions up to data loss.<br>
|
It may also cause retransmissions up to data loss.<br>
|
||||||
@ -1261,7 +1274,7 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
1 - is a conservatibe value, and is default<br>
|
1 - is a conservatibe value, and is default<br>
|
||||||
5 - is critical length, likely cause message loss</li>
|
5 - is critical length, likely cause message loss</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="HMLANparameter"><b>parameter</b></a>
|
<a id="HMLAN-parameter"></a><h4>parameter</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><B>assignedIDsCnt</B><br>
|
<li><B>assignedIDsCnt</B><br>
|
||||||
number of IDs that are assigned to HMLAN by FHEM.
|
number of IDs that are assigned to HMLAN by FHEM.
|
||||||
@ -1280,7 +1293,7 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
<li><B>msgLoadCurrent</B><br>
|
<li><B>msgLoadCurrent</B><br>
|
||||||
Current transmit load of HMLAN. When capacity reaches 100% HMLAN stops sending and waits for
|
Current transmit load of HMLAN. When capacity reaches 100% HMLAN stops sending and waits for
|
||||||
reduction. See also:
|
reduction. See also:
|
||||||
<a href="#HMLANloadLevel">loadLevel</a><br></li>
|
<a href="#HMLAN-attr-loadLevel">loadLevel</a><br></li>
|
||||||
<li><B>msgLoadHistoryAbs</B><br>
|
<li><B>msgLoadHistoryAbs</B><br>
|
||||||
Historical transmition load of IO.</li>
|
Historical transmition load of IO.</li>
|
||||||
<li><B>msgParseDly</B><br>
|
<li><B>msgParseDly</B><br>
|
||||||
@ -1288,7 +1301,7 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
It therefore gives an indication about FHEM system performance.
|
It therefore gives an indication about FHEM system performance.
|
||||||
</li>
|
</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="HMLANreadings"><b>parameter and readings</b></a>
|
<a id="HMLAN-readings"></a><h4>parameter and readings</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><B>prot_disconnect</B> <br>recent HMLAN disconnect</li>
|
<li><B>prot_disconnect</B> <br>recent HMLAN disconnect</li>
|
||||||
<li><B>prot_init</B> <br>recent HMLAN init</li>
|
<li><B>prot_init</B> <br>recent HMLAN init</li>
|
||||||
@ -1305,7 +1318,7 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
=end html
|
=end html
|
||||||
=begin html_DE
|
=begin html_DE
|
||||||
|
|
||||||
<a name="HMLAN"></a>
|
<a id="HMLAN"></a>
|
||||||
<h3>HMLAN</h3>
|
<h3>HMLAN</h3>
|
||||||
<ul>
|
<ul>
|
||||||
Das HMLAN ist das fhem-Modul für den eQ-3 HomeMatic LAN Configurator welcher als IO
|
Das HMLAN ist das fhem-Modul für den eQ-3 HomeMatic LAN Configurator welcher als IO
|
||||||
@ -1324,45 +1337,46 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<a name="HMLANdefine"><b>Define</b></a>
|
<a id="HMLAN-define"><b>Define</b></a>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> HMLAN <ip-address>[:port]</code><br>
|
<code>define <name> HMLAN <ip-address>[:port]</code><br>
|
||||||
<br>
|
<br>
|
||||||
Der Standard-Port lautet: 1000.<br/>
|
Der Standard-Port lautet: 1000.<br/>
|
||||||
Wenn keine IP-Adresse angegeben wird, wird auch kein Gerät geöffnet; man kann
|
Wenn keine IP-Adresse angegeben wird, wird auch kein Gerät geöffnet; man kann
|
||||||
also auch ohne angeschlossene Hardware experimentieren.
|
also auch ohne angeschlossene Hardware experimentieren.
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<a name="HMLANset"><b>Set</b></a>
|
<a id="HMLAN-set"><h4>Set</h4></a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#hmPairForSec">hmPairForSec</a></li>
|
<li><a href="#hmPairForSec">hmPairForSec</a></li>
|
||||||
<li><a href="#hmPairSerial">hmPairSerial</a></li>
|
<li><a href="#hmPairSerial">hmPairSerial</a></li>
|
||||||
|
<a id="HMLAN-set-hmreopen"><b>Set</b></a>
|
||||||
<li><a href="#hmreopen">reopen</a>
|
<li><a href="#hmreopen">reopen</a>
|
||||||
Connection zum IO device neu starten</li>
|
Connection zum IO device neu starten</li>
|
||||||
<li><a href="#hmrestart">restart</a>
|
<li><a href="#hmrestart">restart</a>
|
||||||
Neustart des IOdevice
|
Neustart des IOdevice
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#HMLANset_reassignIDs">reassignIDs</a>
|
<li><a id="HMLAN-set-reassignIDs">reassignIDs</a>
|
||||||
Synchronisiert die im HMLAN eingetragenen IDs mit der von FHEM verwalteten Liste.
|
Synchronisiert die im HMLAN eingetragenen IDs mit der von FHEM verwalteten Liste.
|
||||||
I.a. findet dies automatisch statt, koennte aber in reset Fällen abweichen.
|
I.a. findet dies automatisch statt, koennte aber in reset Fällen abweichen.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
<a name="HMLANget"><b>Get</b></a>
|
<a id="HMLAN-get"></a><h4>Get</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#HMLANgetassignIDs">assignIDs</a>
|
<li><a id="HMLAN-get-assignIDs">assignIDs</a>
|
||||||
Gibt eine Liste aller diesem IO zugewiesenen IOs aus.
|
Gibt eine Liste aller diesem IO zugewiesenen IOs aus.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<a name="HMLANattr"><b>Attributes</b></a>
|
<a id="HMLAN-attr"><h4>Attributes</h4></a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#do_not_notify">do_not_notify</a></li><br>
|
<li><a href="#do_not_notify">do_not_notify</a></li><br>
|
||||||
<li><a href="#attrdummy">dummy</a></li><br>
|
<li><a href="#attrdummy">dummy</a></li><br>
|
||||||
<li><a href="#addvaltrigger">addvaltrigger</a></li><br>
|
<li><a href="#addvaltrigger">addvaltrigger</a></li><br>
|
||||||
<li><a href="#HMLANlogIDs">logIDs</a><br>
|
<li><a id="HMLAN-attr-logIDs">logIDs</a><br>
|
||||||
Schaltet selektives Aufzeichnen der HMLAN Meldungen ein. Eine Liste der
|
Schaltet selektives Aufzeichnen der HMLAN Meldungen ein. Eine Liste der
|
||||||
HMIds oder Namen, die aufgezeichnet werden sollen, können - getrennt durch
|
HMIds oder Namen, die aufgezeichnet werden sollen, können - getrennt durch
|
||||||
Kommata - eingegeben werden.<br>
|
Kommata - eingegeben werden.<br>
|
||||||
@ -1372,35 +1386,31 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
<b>sys</b> zeichnet alle systemrelevanten Meldungen wie keep-alive auf.<br>
|
<b>sys</b> zeichnet alle systemrelevanten Meldungen wie keep-alive auf.<br>
|
||||||
<b>all,sys</b> damit wird die Aufzeichnung aller Meldungen eingeschaltet<br>
|
<b>all,sys</b> damit wird die Aufzeichnung aller Meldungen eingeschaltet<br>
|
||||||
</li>
|
</li>
|
||||||
<li><a name="HMLANloadLevel">loadLevel</a><br>
|
<li><a id="HMLAN-attr-loadLevel">loadLevel</a><br>
|
||||||
loadlevel mapped den Auslastungslevel auf die Namen in ein Reading. <br>
|
loadlevel mapped den Auslastungslevel auf die Namen in ein Reading. <br>
|
||||||
0:low,30:mid,40:batchLevel,90:high,99:suspended<br>
|
0:low,30:mid,40:batchLevel,90:high,99:suspended<br>
|
||||||
Der batchLevel Wert wird auf 40 gesetzt., sollte er fehlen.
|
Der batchLevel Wert wird auf 40 gesetzt., sollte er fehlen.
|
||||||
Das ist der Levelbei dem die Hintergrundnachrichten z.B. durch autoReadReg gestoppt werden<br>
|
Das ist der Levelbei dem die Hintergrundnachrichten z.B. durch autoReadReg gestoppt werden<br>
|
||||||
</li><br>
|
</li><br>
|
||||||
<li><a href="#hmId">hmId</a></li><br>
|
<li><a href="#hmId">hmId</a></li><br>
|
||||||
<li><a name="HMLANhmKey">hmKey</a></li><br>
|
<li><a id="HMLAN-attr-hmKey" data-pattern="hmKey.*"></a>hmKey / hmKey2-5<br>
|
||||||
<li><a name="HMLANhmKey2">hmKey2</a></li><br>
|
|
||||||
<li><a name="HMLANhmKey3">hmKey3</a></li><br>
|
|
||||||
<li><a name="HMLANhmKey4">hmKey4</a></li><br>
|
|
||||||
<li><a name="HMLANhmKey5">hmKey5</a><br>
|
|
||||||
AES Schlüssel für den HMLAN Adapter. <br>
|
AES Schlüssel für den HMLAN Adapter. <br>
|
||||||
Der Schlüssel wird in eine hash-Zeichenfolge umgewandelt. Wenn eine Hash-Folge unmittelbar
|
Der Schlüssel wird in eine hash-Zeichenfolge umgewandelt. Wenn eine Hash-Folge unmittelbar
|
||||||
eingegeben wird, erfolgt keine Umwandlung, sondern eine eine direkte Benutzung der Hash-Folge.
|
eingegeben wird, erfolgt keine Umwandlung, sondern eine eine direkte Benutzung der Hash-Folge.
|
||||||
Deshalb kann der Originalschlüssel auch nicht entschlüsselt werden.<br>
|
Deshalb kann der Originalschlüssel auch nicht entschlüsselt werden.<br>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#hmProtocolEvents">hmProtocolEvents</a></li><br>
|
<li><a href="#hmProtocolEvents">hmProtocolEvents</a></li><br>
|
||||||
<li><a name="HMLANrespTime">respTime</a><br>
|
<li><a id="HMLAN-attr-respTime">respTime</a><br>
|
||||||
Definiert die maximale Antwortzeit des HMLAN-Adapters in Sekunden. Standardwert ist 1 Sekunde.<br/>
|
Definiert die maximale Antwortzeit des HMLAN-Adapters in Sekunden. Standardwert ist 1 Sekunde.<br/>
|
||||||
Längere Zeiten können übergangsweise in langsamen und instabilen Systemen oder in
|
Längere Zeiten können übergangsweise in langsamen und instabilen Systemen oder in
|
||||||
LAN-Konfigurationen verwendet werden.</li>
|
LAN-Konfigurationen verwendet werden.</li>
|
||||||
<li><a name="HMLAN#wdTimer">wdTimer</a><br>
|
<li><a id="HMLAN-attr-wdTimer">wdTimer</a><br>
|
||||||
Zeit in Sekunden, um den HMLAN zu triggern. Werte zwischen 5 und 25 sind zulässig.
|
Zeit in Sekunden, um den HMLAN zu triggern. Werte zwischen 5 und 25 sind zulässig.
|
||||||
Standardwert ist 25 Sekunden.<br>
|
Standardwert ist 25 Sekunden.<br>
|
||||||
Es wird <B>davon abgeraten</B> diesen Timer zu verändern. Wenn Probleme mit
|
Es wird <B>davon abgeraten</B> diesen Timer zu verändern. Wenn Probleme mit
|
||||||
HMLAN-Abbrüchen bestehen wird empfohlen die Ursache des Problems zu finden
|
HMLAN-Abbrüchen bestehen wird empfohlen die Ursache des Problems zu finden
|
||||||
und zu beheben und nicht die Symptom.</li>
|
und zu beheben und nicht die Symptom.</li>
|
||||||
<li><a name="HMLANhmLanQlen">hmLanQlen</a><br>
|
<li><a id="HMLAN-attr-hmLanQlen">hmLanQlen</a><br>
|
||||||
Definiert die Länge der Warteschlange des HMLAN Interfaces. Es ist deshalb die Anzahl
|
Definiert die Länge der Warteschlange des HMLAN Interfaces. Es ist deshalb die Anzahl
|
||||||
der gleichzeitig zu sendenden Meldungen. Erhöhung des Wertes kann eine Steigerung der
|
der gleichzeitig zu sendenden Meldungen. Erhöhung des Wertes kann eine Steigerung der
|
||||||
Übertragungsgeschwindigkeit verursachen, ebenso können wiederholte Aussendungen
|
Übertragungsgeschwindigkeit verursachen, ebenso können wiederholte Aussendungen
|
||||||
@ -1409,7 +1419,7 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
1 - ist ein Wert auf der sicheren Seite und deshalb der Standardwert<br>
|
1 - ist ein Wert auf der sicheren Seite und deshalb der Standardwert<br>
|
||||||
5 - ist eine kritische Länge und verursacht wahrscheinlich Meldungsverluste</li>
|
5 - ist eine kritische Länge und verursacht wahrscheinlich Meldungsverluste</li>
|
||||||
</ul>
|
</ul>
|
||||||
<a name="HMLANparameter"><b>parameter</b></a>
|
<a id="HMLAN-parameter"><h4>parameter</h4></a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><B>assignedIDsCnt</B><br>
|
<li><B>assignedIDsCnt</B><br>
|
||||||
Anzahl der IDs, die von FHEM einem HMLAN zugeordnet sind.
|
Anzahl der IDs, die von FHEM einem HMLAN zugeordnet sind.
|
||||||
@ -1430,7 +1440,7 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
<li><B>msgLoadCurrent</B><br>
|
<li><B>msgLoadCurrent</B><br>
|
||||||
Aktuelle Funklast des HMLAN. Da HMLAN nur eine begrenzte Kapzität je Stunde hat
|
Aktuelle Funklast des HMLAN. Da HMLAN nur eine begrenzte Kapzität je Stunde hat
|
||||||
Telegramme abzusetzen stellt es bei 100% das Senden ein. Siehe auch
|
Telegramme abzusetzen stellt es bei 100% das Senden ein. Siehe auch
|
||||||
<a href="#loadLevel">loadLevel</a><br></li>
|
<a href="#HMLAN-attr-loadLevel">loadLevel</a><br></li>
|
||||||
<li><B>msgLoadHistoryAbs</B><br>
|
<li><B>msgLoadHistoryAbs</B><br>
|
||||||
IO Funkbelastung vergangener Zeitabschnitte.</li>
|
IO Funkbelastung vergangener Zeitabschnitte.</li>
|
||||||
<li><B>msgParseDly</B><br>
|
<li><B>msgParseDly</B><br>
|
||||||
@ -1439,7 +1449,7 @@ sub HMLAN_getVerbLvl ($$$$){#get verboseLevel for message
|
|||||||
des Systems von FHEM.
|
des Systems von FHEM.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<a name="HMLANreadings"><b>Parameter und Readings</b></a>
|
<a id="HMLAN-readings"><h4>Parameter und Readings</h4></a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><B>prot_disconnect</B> <br>letzter HMLAN disconnect</li>
|
<li><B>prot_disconnect</B> <br>letzter HMLAN disconnect</li>
|
||||||
<li><B>prot_init</B> <br>letzter HMLAN init</li>
|
<li><B>prot_init</B> <br>letzter HMLAN init</li>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user