mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-09 20:57:11 +00:00
77_SMAEM: add define option <interface>
git-svn-id: https://svn.fhem.de/fhem/trunk@21445 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
2f8919ef54
commit
b9ed3f47d5
@ -1,5 +1,6 @@
|
||||
# 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: 77_SMAEM: add define option <interface>
|
||||
- bugfix: 98_WeekdayTimer: prevent crashes related to weekprofile changes
|
||||
- bugfix: 93_DbRep: fix user rights check for index operation
|
||||
- bugfix: 73_AutoShuttersControl: fix SleepPos conditions in residents
|
||||
|
@ -31,11 +31,13 @@ use strict;
|
||||
use warnings;
|
||||
use bignum;
|
||||
use IO::Socket::Multicast;
|
||||
eval "use IO::Interface;1" or my $IOInterfaceAbsent = 1;
|
||||
use Blocking;
|
||||
eval "use FHEM::Meta;1" or my $modMetaAbsent = 1;
|
||||
|
||||
# Versions History by DS_Starter
|
||||
our %SMAEM_vNotesIntern = (
|
||||
"4.1.0" => "17.03.2020 add define option <interface> ",
|
||||
"4.0.1" => "10.02.2020 fix perl warning Forum: https://forum.fhem.de/index.php/topic,51569.msg1021988.html#msg1021988",
|
||||
"4.0.0" => "16.12.2019 change module to OBIS metric resolution, change Readings Lx_THD to Lx_Strom, FirmwareVersion to SoftwareVersion ".
|
||||
"new attribute \"noCoprocess\", many internal code changes ",
|
||||
@ -167,6 +169,9 @@ sub SMAEM_Define ($$) {
|
||||
my ($success, $gridin_sum, $gridout_sum);
|
||||
my $socket;
|
||||
|
||||
my @a = split("[ \t][ \t]*", $def);
|
||||
my $if = $a[2] ? $a[2] : "";
|
||||
|
||||
$hash->{INTERVAL} = 60;
|
||||
$hash->{HELPER}{FAULTEDCYCLES} = 0;
|
||||
$hash->{HELPER}{STARTTIME} = time();
|
||||
@ -186,7 +191,15 @@ sub SMAEM_Define ($$) {
|
||||
|
||||
Log3 $hash, 3, "SMAEM $name - Multicast socket opened";
|
||||
|
||||
$socket->mcast_add('239.12.255.254');
|
||||
if($a[2]) {
|
||||
eval { $socket->mcast_add('239.12.255.254',$if); };
|
||||
if ($@) {
|
||||
return "Socket error in define ('239.12.255.254',$if): $@";
|
||||
}
|
||||
} else {
|
||||
$socket->mcast_add('239.12.255.254');
|
||||
}
|
||||
|
||||
|
||||
$hash->{TCPDev} = $socket;
|
||||
$hash->{FD} = $socket->fileno();
|
||||
@ -195,6 +208,8 @@ sub SMAEM_Define ($$) {
|
||||
|
||||
$hash->{HELPER}{MODMETAABSENT} = 1 if($modMetaAbsent); # Modul Meta.pm nicht vorhanden
|
||||
|
||||
Log3($name, 3, "$name - The perl module \"IO::Interface\" is missing. You should install it.") if($IOInterfaceAbsent);
|
||||
|
||||
# Versionsinformationen setzen
|
||||
SMAEM_setVersionInfo($hash);
|
||||
|
||||
@ -1085,9 +1100,10 @@ return;
|
||||
<a name="SMAEMdefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> SMAEM </code><br>
|
||||
<code>define <name> SMAEM [<interface>]</code><br>
|
||||
<br>
|
||||
Defines a SMA Energy Meter (SMAEM), a bidirectional energy meter/counter used in photovoltaics.
|
||||
The optional parameter <b>interface</b> defines a specific network interface to use, e.g. "eth0".
|
||||
<br><br>
|
||||
You need at least one SMAEM on your local subnet or behind a multicast enabled network of routers to receive multicast messages from the SMAEM over the
|
||||
multicast group 239.12.255.254 on udp/9522. Multicast messages are sent by SMAEM once a second (firmware 1.02.04.R, March 2016).
|
||||
@ -1110,8 +1126,8 @@ return;
|
||||
<b>Set </b>
|
||||
<ul>
|
||||
<li><b>reset</b> <br>
|
||||
The automatically generated file "cacheSMAEM" will be deleted. Then the file will be recreated again by the module.
|
||||
This function is used to reset the device in possible case of error condition, but may be executed at all times.
|
||||
The automatically created file "cacheSMAEM" is deleted. The file is reinitialized by the module.
|
||||
This function is used to reset a possible error state of the device, but can also be executed at any time.
|
||||
</li>
|
||||
<br>
|
||||
</ul>
|
||||
@ -1194,9 +1210,10 @@ return;
|
||||
<a name="SMAEMdefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> SMAEM </code><br>
|
||||
<code>define <name> SMAEM [<Interface>]</code><br>
|
||||
<br>
|
||||
Definiert ein SMA Energy Meter (SMAEM), einen bidirektionalen Stromzähler, der häufig in Photovolatikanlagen der Firma SMA zum Einsatz kommt.
|
||||
Definiert ein SMA Energy Meter (SMAEM), einen bidirektionalen Stromzähler, der häufig in Photovolatikanlagen der Firma SMA zum Einsatz kommt.
|
||||
Der optionale Parameter <b>Interface</b> legt das zu benutzende Netzwerk-Interface fest, zum Beispiel "eth0".
|
||||
<br><br>
|
||||
Sie brauchen mindest ein SMAEM in Ihrem lokalen Netzwerk oder hinter einen multicastfähigen Netz von Routern, um die Daten des SMAEM über die
|
||||
Multicastgruppe 239.12.255.254 auf udp/9522 zu empfangen. Die Multicastpakete werden vom SMAEM einmal pro Sekunde ausgesendet (firmware 1.02.04.R, März 2016).
|
||||
@ -1339,6 +1356,7 @@ return;
|
||||
"Blocking": 0
|
||||
},
|
||||
"recommends": {
|
||||
"IO::Interface": 0,
|
||||
"FHEM::Meta": 0
|
||||
},
|
||||
"suggests": {
|
||||
|
Loading…
x
Reference in New Issue
Block a user