mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-01 13:29:26 +00:00
10_EnOcean: new EnOcean devices can be alternatively defined by EEP now
git-svn-id: https://svn.fhem.de/fhem/trunk@9235 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
f3fc7beeb6
commit
14b51fa3a4
@ -514,16 +514,44 @@ EnOcean_Define($$)
|
|||||||
$def = EnOcean_CheckSenderID("getNextID", $hash->{IODev}{NAME}, "00000000");
|
$def = EnOcean_CheckSenderID("getNextID", $hash->{IODev}{NAME}, "00000000");
|
||||||
$hash->{DEF} = $def;
|
$hash->{DEF} = $def;
|
||||||
$modules{EnOcean}{defptr}{$def} = $hash;
|
$modules{EnOcean}{defptr}{$def} = $hash;
|
||||||
|
$attr{$name}{manufID} = "7FF";
|
||||||
|
$attr{$name}{room} = "EnOcean";
|
||||||
} elsif ($a[2] =~ m/^[A-Fa-f0-9]{8}$/i) {
|
} elsif ($a[2] =~ m/^[A-Fa-f0-9]{8}$/i) {
|
||||||
$def = uc($a[2]);
|
$def = uc($a[2]);
|
||||||
$hash->{DEF} = $def;
|
$hash->{DEF} = $def;
|
||||||
$modules{EnOcean}{defptr}{$def} = $hash;
|
$modules{EnOcean}{defptr}{$def} = $hash;
|
||||||
AssignIoPort($hash);
|
AssignIoPort($hash);
|
||||||
|
$attr{$name}{manufID} = "7FF";
|
||||||
|
$attr{$name}{room} = "EnOcean";
|
||||||
|
} elsif ($a[2] =~ m/^([A-Fa-f0-9]{2})-([A-Fa-f0-9]{2})-([A-Fa-f0-9]{2})$/i) {
|
||||||
|
AssignIoPort($hash);
|
||||||
|
$defs{$name}{DEF} = $def;
|
||||||
|
$def = EnOcean_CheckSenderID("getNextID", $hash->{IODev}{NAME}, "00000000");
|
||||||
|
$hash->{DEF} = $def;
|
||||||
|
$modules{EnOcean}{defptr}{$def} = $hash;
|
||||||
|
my ($rorg, $func, $type) = (uc($1), uc($2), uc($3));
|
||||||
|
$rorg = "F6" if ($rorg eq "05");
|
||||||
|
$rorg = "D5" if ($rorg eq "06");
|
||||||
|
$rorg = "A5" if ($rorg eq "07");
|
||||||
|
my $eep = "$rorg.$func.$type";
|
||||||
|
if (exists $EnO_eepConfig{$eep}) {
|
||||||
|
foreach my $attrCntr (keys %{$EnO_eepConfig{$eep}{attr}}) {
|
||||||
|
if ($attrCntr ne "subDef") {
|
||||||
|
$attr{$name}{$attrCntr} = $EnO_eepConfig{$eep}{attr}{$attrCntr};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$attr{$name}{eep} = "$rorg-$func-$type";
|
||||||
|
$attr{$name}{manufID} = "7FF";
|
||||||
|
$attr{$name}{room} = "EnOcean";
|
||||||
|
return undef;
|
||||||
|
} else {
|
||||||
|
return "EEP $rorg-$func-$type not supported";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return "wrong syntax: define <name> EnOcean 8-digit-hex-code";
|
return "wrong syntax: define <name> EnOcean <8-digit-hex-code>|getNextID|<EEP>";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return "wrong syntax: define <name> EnOcean 8-digit-hex-code";
|
return "wrong syntax: define <name> EnOcean <8-digit-hex-code>|getNextID|<EEP>";
|
||||||
}
|
}
|
||||||
# Help FHEMWEB split up devices
|
# Help FHEMWEB split up devices
|
||||||
$attr{$name}{subType} = $1 if($name =~ m/EnO_(.*)_$def/);
|
$attr{$name}{subType} = $1 if($name =~ m/EnO_(.*)_$def/);
|
||||||
@ -10943,9 +10971,10 @@ EnOcean_Undef($$)
|
|||||||
using the RF Protocol provided by the EnOcean Alliance.<br><br>
|
using the RF Protocol provided by the EnOcean Alliance.<br><br>
|
||||||
Depending on the function of the device an specific device profile is used, called
|
Depending on the function of the device an specific device profile is used, called
|
||||||
EnOcean Equipment Profile (EEP). The specific definition of a device is referenced by
|
EnOcean Equipment Profile (EEP). The specific definition of a device is referenced by
|
||||||
the EEP number (RORG, FUNC, TYPE). Basically three profiles will be differed, e. g.
|
the EEP (RORG-FUNC-TYPE). Basically four groups (RORG) will be differed, e. g.
|
||||||
switches, contacts, sensors. Some manufacturers use additional proprietary
|
RPS (switches), 1BS (contacts), 4BS, VLD (sensors and controller). Some manufacturers use
|
||||||
extensions. Further technical information can be found at the
|
additional proprietary extensions. RORG MSC is not supported except for few exceptions.
|
||||||
|
Further technical information can be found at the
|
||||||
<a href="http://www.enocean-alliance.org/de/enocean_standard/">EnOcean Alliance</a>,
|
<a href="http://www.enocean-alliance.org/de/enocean_standard/">EnOcean Alliance</a>,
|
||||||
see in particular the
|
see in particular the
|
||||||
<a href="http://www.enocean-alliance.org/eep/">EnOcean Equipment Profiles (EEP)</a>
|
<a href="http://www.enocean-alliance.org/eep/">EnOcean Equipment Profiles (EEP)</a>
|
||||||
@ -11105,7 +11134,7 @@ EnOcean_Undef($$)
|
|||||||
<a name="EnOceandefine"></a>
|
<a name="EnOceandefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> EnOcean <DEF>|getNextID</code>
|
<code>define <name> EnOcean <DEF>|getNextID|<EEP></code>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
Define an EnOcean device, connected via a <a href="#TCM">TCM</a> modul. The
|
Define an EnOcean device, connected via a <a href="#TCM">TCM</a> modul. The
|
||||||
@ -11125,6 +11154,10 @@ EnOcean_Undef($$)
|
|||||||
<ul><br>
|
<ul><br>
|
||||||
<code>define switch1 EnOcean getNextID</code><br>
|
<code>define switch1 EnOcean getNextID</code><br>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
|
If the EEP is known, the appropriate device can be created with the basic parameters, for example
|
||||||
|
<ul><br>
|
||||||
|
<code>define sensor1 EnOcean A5-02-05</code><br>
|
||||||
|
</ul><br>
|
||||||
The <a href="#autocreate">autocreate</a> module may help you if the actor or sensor send
|
The <a href="#autocreate">autocreate</a> module may help you if the actor or sensor send
|
||||||
acknowledge messages or teach-in telegrams. In order to control this devices e. g. switches with
|
acknowledge messages or teach-in telegrams. In order to control this devices e. g. switches with
|
||||||
additional SenderIDs you can use the attributes <a href="#subDef">subDef</a>,
|
additional SenderIDs you can use the attributes <a href="#subDef">subDef</a>,
|
||||||
|
Loading…
Reference in New Issue
Block a user