mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-01 20:20:10 +00:00
00_CUL.pm/16_STACKABLE_CC.pm: support noansi's TSSTACKED (Forum #57806)
git-svn-id: https://svn.fhem.de/fhem/trunk@12973 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
e686d93552
commit
159bb41f69
@ -45,14 +45,17 @@ my %sets = (
|
|||||||
|
|
||||||
my @ampllist = (24, 27, 30, 33, 36, 38, 40, 42); # rAmpl(dB)
|
my @ampllist = (24, 27, 30, 33, 36, 38, 40, 42); # rAmpl(dB)
|
||||||
|
|
||||||
|
my $sccMods = "STACKABLE_CC:TSSTACKED"; # for noansi
|
||||||
|
my $culNameRe = "^(CUL|TSCUL)\$";
|
||||||
|
|
||||||
my $clientsSlowRF = ":FS20:FHT.*:KS300:USF1000:BS:HMS: ".
|
my $clientsSlowRF = ":FS20:FHT.*:KS300:USF1000:BS:HMS: ".
|
||||||
":CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: ".
|
":CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: ".
|
||||||
":ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: ".
|
":ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: ".
|
||||||
":STACKABLE_CC:CUL_RFR::CUL_TCM97001:CUL_REDIRECT:";
|
":$sccMods:CUL_RFR::CUL_TCM97001:CUL_REDIRECT:";
|
||||||
my $clientsHomeMatic = ":CUL_HM:HMS:CUL_IR:STACKABLE_CC:";
|
my $clientsHomeMatic = ":CUL_HM:HMS:CUL_IR:$sccMods:";
|
||||||
my $clientsMAX = ":CUL_MAX:HMS:CUL_IR:STACKABLE_CC:";
|
my $clientsMAX = ":CUL_MAX:HMS:CUL_IR:$sccMods:";
|
||||||
my $clientsWMBus = ":WMBUS:HMS:CUL_IR:STACKABLE_CC:";
|
my $clientsWMBus = ":WMBUS:HMS:CUL_IR:$sccMods:";
|
||||||
my $clientsKOPP_FC = ":KOPP_FC:HMS:CUL_IR:STACKABLE_CC:";
|
my $clientsKOPP_FC = ":KOPP_FC:HMS:CUL_IR:$sccMods:";
|
||||||
|
|
||||||
my %matchListSlowRF = (
|
my %matchListSlowRF = (
|
||||||
"1:USF1000" => "^81..(04|0c)..0101a001a5ceaa00....",
|
"1:USF1000" => "^81..(04|0c)..0101a001a5ceaa00....",
|
||||||
@ -76,6 +79,7 @@ my %matchListSlowRF = (
|
|||||||
"J:SOMFY" => "^Y[r|t|s]:?[A-F0-9]+",
|
"J:SOMFY" => "^Y[r|t|s]:?[A-F0-9]+",
|
||||||
"K:CUL_TCM97001" => "^s[A-F0-9]+",
|
"K:CUL_TCM97001" => "^s[A-F0-9]+",
|
||||||
"L:CUL_REDIRECT" => "^o+",
|
"L:CUL_REDIRECT" => "^o+",
|
||||||
|
"M:TSSTACKED"=>"^\\*",
|
||||||
);
|
);
|
||||||
|
|
||||||
my %matchListHomeMatic = (
|
my %matchListHomeMatic = (
|
||||||
@ -83,6 +87,7 @@ my %matchListHomeMatic = (
|
|||||||
"8:HMS" => "^810e04....(1|5|9).a001", # CUNO OneWire HMS Emulation
|
"8:HMS" => "^810e04....(1|5|9).a001", # CUNO OneWire HMS Emulation
|
||||||
"D:CUL_IR" => "^I............",
|
"D:CUL_IR" => "^I............",
|
||||||
"H:STACKABLE_CC"=>"^\\*",
|
"H:STACKABLE_CC"=>"^\\*",
|
||||||
|
"M:TSSTACKED"=>"^\\*",
|
||||||
);
|
);
|
||||||
|
|
||||||
my %matchListMAX = (
|
my %matchListMAX = (
|
||||||
@ -90,6 +95,7 @@ my %matchListMAX = (
|
|||||||
"8:HMS" => "^810e04....(1|5|9).a001", # CUNO OneWire HMS Emulation
|
"8:HMS" => "^810e04....(1|5|9).a001", # CUNO OneWire HMS Emulation
|
||||||
"D:CUL_IR" => "^I............",
|
"D:CUL_IR" => "^I............",
|
||||||
"H:STACKABLE_CC"=>"^\\*",
|
"H:STACKABLE_CC"=>"^\\*",
|
||||||
|
"M:TSSTACKED"=>"^\\*",
|
||||||
);
|
);
|
||||||
|
|
||||||
my %matchListWMBus = (
|
my %matchListWMBus = (
|
||||||
@ -97,6 +103,7 @@ my %matchListWMBus = (
|
|||||||
"8:HMS" => "^810e04....(1|5|9).a001", # CUNO OneWire HMS Emulation
|
"8:HMS" => "^810e04....(1|5|9).a001", # CUNO OneWire HMS Emulation
|
||||||
"D:CUL_IR" => "^I............",
|
"D:CUL_IR" => "^I............",
|
||||||
"H:STACKABLE_CC"=>"^\\*",
|
"H:STACKABLE_CC"=>"^\\*",
|
||||||
|
"M:TSSTACKED"=>"^\\*",
|
||||||
);
|
);
|
||||||
|
|
||||||
my %matchListKOPP_FC = (
|
my %matchListKOPP_FC = (
|
||||||
@ -104,6 +111,7 @@ my %matchListKOPP_FC = (
|
|||||||
"8:HMS" => "^810e04....(1|5|9).a001", # CUNO OneWire HMS Emulation
|
"8:HMS" => "^810e04....(1|5|9).a001", # CUNO OneWire HMS Emulation
|
||||||
"D:CUL_IR" => "^I............",
|
"D:CUL_IR" => "^I............",
|
||||||
"H:STACKABLE_CC"=>"^\\*",
|
"H:STACKABLE_CC"=>"^\\*",
|
||||||
|
"M:TSSTACKED"=>"^\\*",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -180,7 +188,7 @@ CUL_Define($$)
|
|||||||
my $x = $1;
|
my $x = $1;
|
||||||
foreach my $d (keys %defs) {
|
foreach my $d (keys %defs) {
|
||||||
next if($d eq $name);
|
next if($d eq $name);
|
||||||
if($defs{$d}{TYPE} eq "CUL") {
|
if($defs{$d}{TYPE} =~ m/$culNameRe/) {
|
||||||
if(uc($defs{$d}{FHTID}) =~ m/^$x/) {
|
if(uc($defs{$d}{FHTID}) =~ m/^$x/) {
|
||||||
my $m = "$name: Cannot define multiple CULs with identical ".
|
my $m = "$name: Cannot define multiple CULs with identical ".
|
||||||
"first two digits ($x)";
|
"first two digits ($x)";
|
||||||
@ -1131,7 +1139,7 @@ CUL_prefix($$$)
|
|||||||
{
|
{
|
||||||
my ($isadd, $hash, $msg) = @_;
|
my ($isadd, $hash, $msg) = @_;
|
||||||
my $t = $hash->{TYPE};
|
my $t = $hash->{TYPE};
|
||||||
while($t ne "CUL") {
|
while($t !~ m/$culNameRe/) {
|
||||||
$msg = CallFn($hash->{NAME}, $isadd ? "AddPrefix":"DelPrefix", $hash, $msg);
|
$msg = CallFn($hash->{NAME}, $isadd ? "AddPrefix":"DelPrefix", $hash, $msg);
|
||||||
$hash = $hash->{IODev};
|
$hash = $hash->{IODev};
|
||||||
last if(!$hash);
|
last if(!$hash);
|
||||||
|
@ -46,7 +46,7 @@ STACKABLE_CC_Define($$)
|
|||||||
|
|
||||||
my $io = $defs{$a[2]};
|
my $io = $defs{$a[2]};
|
||||||
return "$a[2] is not a CUL/STACKABLE_CC"
|
return "$a[2] is not a CUL/STACKABLE_CC"
|
||||||
if(!$io || !($io->{TYPE} eq "CUL" || $io->{TYPE} eq "STACKABLE_CC"));
|
if(!$io || $io->{TYPE} !~ m/^(CUL|TSCUL|STACKABLE_CC|TSSTACKED)$/);
|
||||||
|
|
||||||
return "$io->{NAME} has alread a stacked device: $io->{STACKED}"
|
return "$io->{NAME} has alread a stacked device: $io->{STACKED}"
|
||||||
if($io->{STACKED});
|
if($io->{STACKED});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user