mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 06:39:11 +00:00
14_SD_UT.pm: added some new models & attribute UTfrequency
14_SD_BELL.pm: added new model GEA-028DB git-svn-id: https://svn.fhem.de/fhem/trunk@22449 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a631524527
commit
22ba1b2f26
@ -1,5 +1,11 @@
|
||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||
# Do not insert empty lines here, update check depends on it.
|
||||
- feature: 14_SD_UT.pm
|
||||
new model Westinghouse Bendan, NAVARIS touch light switch,
|
||||
Remote control BF-301 from Shenzhen BOFU Mechanic & Electronic Co
|
||||
new attribute UTfrequency
|
||||
14_SD_BELL.pm
|
||||
new model GEA-028DB
|
||||
- feature: 49_SSCam(STRM): new Streaming Device model "master"
|
||||
- bugfix: 00_SIGNALduino.pm
|
||||
Fix some perlcritic 5 warnings
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
# The file is part of the SIGNALduino project.
|
||||
# The purpose of this module is to support many wireless BELL devices.
|
||||
# 2018 / 2019 - HomeAuto_User & elektron-bbs
|
||||
# 2018 - 2020 - HomeAuto_User & elektron-bbs
|
||||
#
|
||||
####################################################################################################################################
|
||||
# - wireless doorbell TCM_234759 Tchibo [Protocol 15] length 12-20 (3-5)
|
||||
@ -25,6 +25,9 @@
|
||||
# - VTX-BELL_Funkklingel [Protocol 79] length 12 (3)
|
||||
# get sduino_dummy raw MU;;P0=656;;P1=-656;;P2=335;;P3=-326;;P4=-5024;;D=01230121230123030303012423012301212301230303030124230123012123012303030301242301230121230123030303012423012301212301230303030124230123012123012303030301242301230121230123030303012423012301212301230303030124230123012123012303030301242301230121230123030303;;CP=2;;O;;
|
||||
####################################################################################################################################
|
||||
# - GEA-028DB [Protocol 98] length 16 (4)
|
||||
# get sduino_dummy raw MU;P0=1488;P1=-585;P2=520;P3=-1509;P4=1949;P5=-5468;CP=2;R=38;D=01232301230123010101230123230101454501232301230123010101230123230101454501232301230123010101230123230101454501232301230123010101230123230101454501232301230123010101230123230101454501232301230123010101230123230101454501232301230123010101230123230101454501;O;
|
||||
####################################################################################################################################
|
||||
# !!! ToDo´s !!!
|
||||
# - KANGTAI doubleCode must CEHCK | only one Code? - MORE USER MSG needed
|
||||
# -
|
||||
@ -76,12 +79,16 @@ my %models = (
|
||||
Protocol => "96",
|
||||
doubleCode => "no"
|
||||
},
|
||||
"GEA-028DB" => { hex_lengh => "4",
|
||||
Protocol => "98",
|
||||
doubleCode => "no"
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
sub SD_BELL_Initialize($) {
|
||||
my ($hash) = @_;
|
||||
$hash->{Match} = "^P(?:15|32|41|42|57|79|96)#.*";
|
||||
$hash->{Match} = "^P(?:15|32|41|42|57|79|96|98)#.*";
|
||||
$hash->{DefFn} = "SD_BELL::Define";
|
||||
$hash->{UndefFn} = "SD_BELL::Undef";
|
||||
$hash->{ParseFn} = "SD_BELL::Parse";
|
||||
@ -137,7 +144,7 @@ sub Define($$) {
|
||||
# Argument 0 1 2 3 4
|
||||
return "SD_BELL: wrong syntax: define <name> SD_BELL <Protocol> <HEX-Value> <optional IODEV>" if(int(@a) < 3 || int(@a) > 5);
|
||||
### checks - doubleCode yes ###
|
||||
return "SD_BELL: wrong <protocol> $a[2]" if not($a[2] =~ /^(?:15|32|41|42|57|79|96)/s);
|
||||
return "SD_BELL: wrong <protocol> $a[2]" if not($a[2] =~ /^(?:15|32|41|42|57|79|96|98)/s);
|
||||
return "SD_BELL: wrong HEX-Value! Protocol $a[2] HEX-Value <$a[3]> not HEX (0-9 | a-f | A-F)" if (($protocol != 41) && not $a[3] =~ /^[0-9a-fA-F]*$/s);
|
||||
return "SD_BELL: wrong HEX-Value! Protocol $a[2] HEX-Value <$a[3]> not HEX (0-9 | a-f | A-F) or length wrong!" if (($protocol == 41) && not $a[3] =~ /^[0-9a-fA-F]{8}_[0-9a-fA-F]{8}$/s);
|
||||
|
||||
@ -198,24 +205,24 @@ sub Set($$$@) {
|
||||
$doubleCodeCheck = 1;
|
||||
@splitCode = split("_", $rawDatasend);
|
||||
$rawDatasend = $splitCode[0];
|
||||
} else {
|
||||
$doubleCodeCheck = 0;
|
||||
}
|
||||
} else {
|
||||
$doubleCodeCheck = 0;
|
||||
}
|
||||
|
||||
Log3 $name, 4, "$ioname: SD_BELL_Set_doubleCodeCheck doubleCodeCheck=$doubleCodeCheck splitCode[0]=$rawDatasend";
|
||||
Log3 $name, 4, "$ioname: SD_BELL_Set_doubleCodeCheck doubleCodeCheck=$doubleCodeCheck splitCode[0]=$rawDatasend";
|
||||
|
||||
my $hlen = length($rawDatasend);
|
||||
my $blen = $hlen * 4;
|
||||
my $bitData = unpack("B$blen", pack("H$hlen", $rawDatasend));
|
||||
my $msg = "P$protocol#" . $bitData;
|
||||
my $hlen = length($rawDatasend);
|
||||
my $blen = $hlen * 4;
|
||||
my $bitData = unpack("B$blen", pack("H$hlen", $rawDatasend));
|
||||
my $msg = "P$protocol#" . $bitData;
|
||||
|
||||
if ($model eq "Heidemann_|_Heidemann_HX_|_VTX-BELL") {
|
||||
$msg .= "#R135";
|
||||
} else {
|
||||
$msg .= "#R$repeats";
|
||||
}
|
||||
if ($model eq "Heidemann_|_Heidemann_HX_|_VTX-BELL") {
|
||||
$msg .= "#R135";
|
||||
} else {
|
||||
$msg .= "#R$repeats";
|
||||
}
|
||||
|
||||
Log3 $name, 3, "$ioname: $name sendMsg=$msg";
|
||||
Log3 $name, 4, "$ioname: $name sendMsg=$msg";
|
||||
IOWrite($hash, 'sendMsg', $msg);
|
||||
}
|
||||
}
|
||||
@ -445,6 +452,7 @@ sub Attr(@) {
|
||||
<li>m-e doorbell fuer FG- and Basic-Serie [Protocol 57]</li>
|
||||
<li>Heidemann | Heidemann HX | VTX-BELL_Funkklingel [Protocol 79]</li>
|
||||
<li>Grothe Mistral SE 01.1 (40 bit), 03.1 (48 bit) [Protocol 96]</li>
|
||||
<li>GEA-028DB [Protokoll 98]</li>
|
||||
<br>
|
||||
<u><i>Special feature Protocol 41, 2 different codes will be sent one after the other!</u></i>
|
||||
</ul><br>
|
||||
@ -492,6 +500,7 @@ sub Attr(@) {
|
||||
<li>m-e doorbell für FG- und Basic-Serie [Protokoll 57]</li>
|
||||
<li>Heidemann | Heidemann HX | VTX-BELL_Funkklingel [Protokoll 79]</li>
|
||||
<li>Grothe Mistral SE 01.1 (40 bit), 03.1 (48 bit) [Protokoll 96]</li>
|
||||
<li>GEA-028DB [Protokoll 98]</li>
|
||||
<br>
|
||||
<u><i>Besonderheit Protokoll 41, es sendet 2 verschiedene Codes nacheinader!</u></i>
|
||||
</ul><br>
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user