2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-24 15:19:21 +00:00

77_SMAEM: contrib 4.2.0

git-svn-id: https://svn.fhem.de/fhem/trunk@21674 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2020-04-14 14:13:24 +00:00
parent a7d6426f44
commit f07d775af9

View File

@ -1,5 +1,5 @@
################################################################################################
# $Id: 77_SMAEM.pm 21170 2020-02-10 21:28:42Z DS_Starter $
# $Id: 77_SMAEM.pm 21445 2020-03-18 08:23:24Z DS_Starter $
#
# Copyright notice
#
@ -29,7 +29,6 @@ package main;
use strict;
use warnings;
use bignum;
use IO::Socket::Multicast;
eval "use IO::Interface;1" or my $IOInterfaceAbsent = 1;
use Blocking;
@ -37,6 +36,7 @@ eval "use FHEM::Meta;1" or my $modMetaAbsent = 1;
# Versions History by DS_Starter
our %SMAEM_vNotesIntern = (
"4.2.0" => "14.04.2020 delete 'use bignum' ",
"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 ".
@ -1066,12 +1066,12 @@ sub SMAEM_setVersionInfo($) {
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
# META-Daten sind vorhanden
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 77_SMAEM.pm 21170 2020-02-10 21:28:42Z DS_Starter $ im Kopf komplett! vorhanden )
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 77_SMAEM.pm 21445 2020-03-18 08:23:24Z DS_Starter $ im Kopf komplett! vorhanden )
$modules{$type}{META}{x_version} =~ s/1.1.1/$v/g;
} else {
$modules{$type}{META}{x_version} = $v;
}
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 77_SMAEM.pm 21170 2020-02-10 21:28:42Z DS_Starter $ im Kopf komplett! vorhanden )
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 77_SMAEM.pm 21445 2020-03-18 08:23:24Z DS_Starter $ im Kopf komplett! vorhanden )
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
@ -1100,9 +1100,10 @@ return;
<a name="SMAEMdefine"></a>
<b>Define</b>
<ul>
<code>define &lt;name&gt; SMAEM </code><br>
<code>define &lt;name&gt; SMAEM [&lt;interface&gt;]</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).
@ -1125,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>
@ -1209,9 +1210,10 @@ return;
<a name="SMAEMdefine"></a>
<b>Define</b>
<ul>
<code>define &lt;name&gt; SMAEM </code><br>
<code>define &lt;name&gt; SMAEM [&lt;Interface&gt;]</code><br>
<br>
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).