mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +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.
|
# 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.
|
# 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: 98_WeekdayTimer: prevent crashes related to weekprofile changes
|
||||||
- bugfix: 93_DbRep: fix user rights check for index operation
|
- bugfix: 93_DbRep: fix user rights check for index operation
|
||||||
- bugfix: 73_AutoShuttersControl: fix SleepPos conditions in residents
|
- bugfix: 73_AutoShuttersControl: fix SleepPos conditions in residents
|
||||||
|
@ -31,11 +31,13 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use bignum;
|
use bignum;
|
||||||
use IO::Socket::Multicast;
|
use IO::Socket::Multicast;
|
||||||
|
eval "use IO::Interface;1" or my $IOInterfaceAbsent = 1;
|
||||||
use Blocking;
|
use Blocking;
|
||||||
eval "use FHEM::Meta;1" or my $modMetaAbsent = 1;
|
eval "use FHEM::Meta;1" or my $modMetaAbsent = 1;
|
||||||
|
|
||||||
# Versions History by DS_Starter
|
# Versions History by DS_Starter
|
||||||
our %SMAEM_vNotesIntern = (
|
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.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 ".
|
"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 ",
|
"new attribute \"noCoprocess\", many internal code changes ",
|
||||||
@ -167,6 +169,9 @@ sub SMAEM_Define ($$) {
|
|||||||
my ($success, $gridin_sum, $gridout_sum);
|
my ($success, $gridin_sum, $gridout_sum);
|
||||||
my $socket;
|
my $socket;
|
||||||
|
|
||||||
|
my @a = split("[ \t][ \t]*", $def);
|
||||||
|
my $if = $a[2] ? $a[2] : "";
|
||||||
|
|
||||||
$hash->{INTERVAL} = 60;
|
$hash->{INTERVAL} = 60;
|
||||||
$hash->{HELPER}{FAULTEDCYCLES} = 0;
|
$hash->{HELPER}{FAULTEDCYCLES} = 0;
|
||||||
$hash->{HELPER}{STARTTIME} = time();
|
$hash->{HELPER}{STARTTIME} = time();
|
||||||
@ -186,7 +191,15 @@ sub SMAEM_Define ($$) {
|
|||||||
|
|
||||||
Log3 $hash, 3, "SMAEM $name - Multicast socket opened";
|
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->{TCPDev} = $socket;
|
||||||
$hash->{FD} = $socket->fileno();
|
$hash->{FD} = $socket->fileno();
|
||||||
@ -195,6 +208,8 @@ sub SMAEM_Define ($$) {
|
|||||||
|
|
||||||
$hash->{HELPER}{MODMETAABSENT} = 1 if($modMetaAbsent); # Modul Meta.pm nicht vorhanden
|
$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
|
# Versionsinformationen setzen
|
||||||
SMAEM_setVersionInfo($hash);
|
SMAEM_setVersionInfo($hash);
|
||||||
|
|
||||||
@ -1085,9 +1100,10 @@ return;
|
|||||||
<a name="SMAEMdefine"></a>
|
<a name="SMAEMdefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> SMAEM </code><br>
|
<code>define <name> SMAEM [<interface>]</code><br>
|
||||||
<br>
|
<br>
|
||||||
Defines a SMA Energy Meter (SMAEM), a bidirectional energy meter/counter used in photovoltaics.
|
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>
|
<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
|
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).
|
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>
|
<b>Set </b>
|
||||||
<ul>
|
<ul>
|
||||||
<li><b>reset</b> <br>
|
<li><b>reset</b> <br>
|
||||||
The automatically generated file "cacheSMAEM" will be deleted. Then the file will be recreated again by the module.
|
The automatically created file "cacheSMAEM" is deleted. The file is reinitialized by the module.
|
||||||
This function is used to reset the device in possible case of error condition, but may be executed at all times.
|
This function is used to reset a possible error state of the device, but can also be executed at any time.
|
||||||
</li>
|
</li>
|
||||||
<br>
|
<br>
|
||||||
</ul>
|
</ul>
|
||||||
@ -1194,9 +1210,10 @@ return;
|
|||||||
<a name="SMAEMdefine"></a>
|
<a name="SMAEMdefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> SMAEM </code><br>
|
<code>define <name> SMAEM [<Interface>]</code><br>
|
||||||
<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>
|
<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
|
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).
|
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
|
"Blocking": 0
|
||||||
},
|
},
|
||||||
"recommends": {
|
"recommends": {
|
||||||
|
"IO::Interface": 0,
|
||||||
"FHEM::Meta": 0
|
"FHEM::Meta": 0
|
||||||
},
|
},
|
||||||
"suggests": {
|
"suggests": {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user