2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-12 16:46:35 +00:00

Hoermann module added

git-svn-id: https://svn.fhem.de/fhem/trunk@604 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2010-03-23 09:01:30 +00:00
parent 53ac7e1788
commit b26b8a89cc
5 changed files with 104 additions and 3 deletions

View File

@ -582,3 +582,4 @@
- bugfix: 99_SUNRISE_EL endless loop bug
- feature: CUL: optional baudrate spec in definition
- feature: CUL: sendpool attribute
- feature: CUL_HOERMANN module added

View File

@ -44,7 +44,7 @@ my %sets = (
"time" => ""
);
my @ampllist = (24, 27, 30, 33, 36, 38, 40, 42);
my @ampllist = (24, 27, 30, 33, 36, 38, 40, 42); # rAmpl(dB)
sub
CUL_Initialize($)
@ -55,7 +55,8 @@ CUL_Initialize($)
$hash->{ReadFn} = "CUL_Read";
$hash->{WriteFn} = "CUL_Write";
$hash->{Clients} =
":FS20:FHT:KS300:CUL_EM:CUL_WS:USF1000:HMS:CUL_FHTTK:CUL_RFR:FHT8V:";
":FS20:FHT:KS300:CUL_EM:CUL_WS:USF1000:HMS:CUL_FHTTK:CUL_RFR:FHT8V".
":CUL_HOERMANN";
my %mc = (
"1:USF1000" => "^81..(04|0c)..0101a001a5ceaa00....",
"2:FS20" => "^81..(04|0c)..0101a001",
@ -66,6 +67,7 @@ CUL_Initialize($)
"7:HMS" => "^810e04....(1|5|9).a001",
"8:CUL_FHTTK" => "^T........",
"9:CUL_RFR" => "^[0-9A-F]{4}U.",
"A:CUL_HOERMANN"=> "^R..........",
);
$hash->{MatchList} = \%mc;
$hash->{ReadyFn} = "CUL_Ready";
@ -811,6 +813,8 @@ CUL_Parse($$$$$)
} elsif($fn eq "E" && $len >= 11) { # CUL_EM / Native
;
} elsif($fn eq "R" && $len >= 11) { # CUL_EM / Native
;
} else {
Log GetLogLevel($name,2), "$name: unknown message $dmsg";
return;

62
fhem/FHEM/18_CUL_HOERMANN.pm Executable file
View File

@ -0,0 +1,62 @@
##############################################
package main;
use strict;
use warnings;
sub
CUL_HOERMANN_Initialize($)
{
my ($hash) = @_;
$hash->{Match} = "^R..........";
$hash->{DefFn} = "CUL_HOERMANN_Define";
$hash->{ParseFn} = "CUL_HOERMANN_Parse";
$hash->{AttrList} = "IODev do_not_notify:1,0 ignore:0,1 " .
"showtime:1,0 loglevel:0,1,2,3,4,5,6";
}
#############################
sub
CUL_HOERMANN_Define($$)
{
my ($hash, $def) = @_;
my @a = split("[ \t][ \t]*", $def);
my $u = "wrong syntax: define <name> CUL_HOERMANN housecode " .
"addr [fg addr] [lm addr] [gm FF]";
return "wrong syntax: define <name> CUL_HOERMANN 10-digit-hex-code"
if(int(@a) != 3 || $a[2] !~ m/^[a-f0-9]{10}$/i);
$modules{CUL_HOERMANN}{defptr}{$a[2]} = $hash;
$hash->{STATE} = "Defined";
return undef;
}
sub
CUL_HOERMANN_Parse($$)
{
my ($hash, $msg) = @_;
# Msg format: RHHHHHHHH
my $cde = substr($msg, 1, 8);
my $def = $modules{CUL_HOERMANN}{defptr}{$cde};
if($def) {
my $name = $def->{NAME};
$def->{CHANGED}[0] = "toggle";
$def->{READINGS}{state}{TIME} = TimeNow();
$def->{READINGS}{state}{VAL} = "toggle";
Log GetLogLevel($name,2), "CUL_HOERMANN $name toggle";
return $name;
} else {
Log 3, "CUL_HOERMANN Unknown device $cde, please define it";
return "UNDEFINED CUL_HOERMANN_$cde CUL_HOERMANN $cde";
}
}
1;

View File

@ -73,6 +73,7 @@
<a href="#CUL">CUL</a> &nbsp;
<a href="#CUL_EM">CUL_EM</a> &nbsp;
<a href="#CUL_FHTTK">CUL_FHTTK</a> &nbsp;
<a href="#CUL_HOERMANN">CUL_HOERMANN</a> &nbsp;
<a href="#CUL_RFR">CUL_RFR</a> &nbsp;
<a href="#CUL_WS">CUL_WS</a> &nbsp;
<a href="#DS18S20">DS18S20</a> &nbsp;
@ -1888,6 +1889,39 @@ A line ending with \ will be concatenated with the next one, so long lines
<br>
</ul>
<a name="CUL_HOERMANN"></a>
<h3>CUL_HOERMANN</h3>
<ul>
The CUL_HOERMANN module registers the 868MHz Hoermann Garage-Door-Opener
signals received by the CUL. <b>Note</b>: As the structure of this signal is
not understood, no checksum is verified, so it is likely to receive bogus
messages.
<br><br>
<a name="CUL_HOERMANNdefine"></a>
<b>Define</b>
<ul>
<code>define &lt;name&gt; CUL_HOERMANNEM &lt;10-digit-hex-code&gt;</code>
<br>
</ul>
<br>
<a name="CUL_HOERMANNset"></a>
<b>Set</b> <ul>N/A</ul><br>
<a name="CUL_HOERMANNEMget"></a>
<b>Get</b> <ul>N/A</ul><br>
<b>Attributes</b>
<ul>
<li><a href="#do_not_notify">do_not_notify</a></li>
<li><a href="#showtime">showtime</a></li>
<li><a href="#loglevel">loglevel</a></li>
</ul>
<br>
</ul>
<a name="CUL_RFR"></a>
<h3>CUL_RFR</h3>
<ul>

View File

@ -467,7 +467,7 @@ FW_makeTable($$$$$$$$)
my $row = 1;
foreach my $v (sort keys %{$hash}) {
my $r = ref($hash->{$v});
next if($r && ($r ne "HASH" || !$hash->{$v}{VAL}));
next if($r && ($r ne "HASH" || !defined($hash->{$v}{VAL})));
pF " <tr class=\"%s\">", $row?"odd":"even";
$row = ($row+1)%2;
if($makelink && $__reldoc) {