mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-01 20:20:10 +00:00
98_powerMap.pm: set NotifyOrderPrefix & fix <a> by Beta-User (Forum #125923)
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@25617 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
99f8588974
commit
46cfd9565c
@ -520,12 +520,13 @@ sub powerMap_Initialize($) {
|
|||||||
. "_eventChainWarnOnly:1,0 "
|
. "_eventChainWarnOnly:1,0 "
|
||||||
. $readingFnAttributes;
|
. $readingFnAttributes;
|
||||||
|
|
||||||
addToAttrList( $TYPE . "_noEnergy:1,0" );
|
addToAttrList( $TYPE . "_noEnergy:1,0", 'powerMap' );
|
||||||
addToAttrList( $TYPE . "_noPower:1,0" );
|
addToAttrList( $TYPE . "_noPower:1,0" , 'powerMap' );
|
||||||
addToAttrList( $TYPE . "_interval" );
|
addToAttrList( $TYPE . "_interval" , 'powerMap' );
|
||||||
addToAttrList( $TYPE . "_rname_P:textField" );
|
addToAttrList( $TYPE . "_rname_P:textField" , 'powerMap' );
|
||||||
addToAttrList( $TYPE . "_rname_E:textField" );
|
addToAttrList( $TYPE . "_rname_E:textField" , 'powerMap' );
|
||||||
addToAttrList( $TYPE . ":textField-long" );
|
addToAttrList( $TYPE . ":textField-long" , 'powerMap' );
|
||||||
|
$hash->{NotifyOrderPrefix} = '30-';
|
||||||
}
|
}
|
||||||
|
|
||||||
# regular Fn ##################################################################
|
# regular Fn ##################################################################
|
||||||
@ -1541,111 +1542,119 @@ sub powerMap_update($;$) {
|
|||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
__END__
|
||||||
|
|
||||||
# commandref ##################################################################
|
# commandref ##################################################################
|
||||||
|
|
||||||
=pod
|
=pod
|
||||||
|
=encoding utf8
|
||||||
=item helper
|
=item helper
|
||||||
=item summary maps power and calculates energy (as Readings)
|
=item summary maps power and calculates energy (as Readings)
|
||||||
=item summary_DE leitet Leistung ab und berechnet Energie (als Readings)
|
=item summary_DE leitet Leistung ab und berechnet Energie (als Readings)
|
||||||
|
|
||||||
=begin html
|
=begin html
|
||||||
|
|
||||||
<a name="powerMap"></a>
|
<a id="powerMap"></a>
|
||||||
<h3>powerMap</h3>
|
<h3>powerMap</h3>
|
||||||
(en | <a href="commandref_DE.html#powerMap">de</a>)
|
|
||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
powerMap will help to determine current power consumption and calculates
|
powerMap will help to determine current power consumption and calculates
|
||||||
energy consumption either when power changes or within regular interval.<br>
|
energy consumption either when power changes or within regular interval.<br>
|
||||||
These new values may be used to collect energy consumption for devices w/o
|
These new values may be used to collect energy consumption for devices w/o
|
||||||
power meter (e.g. fridge, lighting or FHEM server) and for further processing
|
power meter (e.g. fridge, lighting or FHEM server) and for further processing
|
||||||
using module <a href="#ElectricityCalculator">ElectricityCalculator</a>.
|
using module <a href="#ElectricityCalculator">ElectricityCalculator</a>.<br>
|
||||||
|
Note: As this module will derive some additional readings when readings are changed
|
||||||
|
(with event) in the supervised FHEM devices to prepare for further processing with
|
||||||
|
other event handlers, this will happen on a rather early stage of the entire event
|
||||||
|
processing. So do not expect powerMap to work properly when setting own values
|
||||||
|
(e.g. using notify or DOIF in combination with "setreading" commands).
|
||||||
<br>
|
<br>
|
||||||
<a name="powerMapdefine"></a>
|
<a id="powerMap-define"></a>
|
||||||
<b>Define</b>
|
<h4>Define</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> powerMap</code><br>
|
<code>define <name> powerMap</code><br>
|
||||||
You may only define one single instance of powerMap.
|
You may only define one single instance of powerMap.
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="powerMapset"></a>
|
<a id="powerMap-set"></a>
|
||||||
<b>Set</b>
|
<h4>Set</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<a id="powerMap-set-assign"></a><li>
|
||||||
<code>assign <a href="#devspec"><devspec></a></code><br>
|
<code>assign <a href="#devspec"><devspec></a></code><br>
|
||||||
Adds pre-defined powerMap attributes to one or more devices
|
Adds pre-defined powerMap attributes to one or more devices
|
||||||
for further customization.
|
for further customization.
|
||||||
</li>
|
</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="powerMapget"></a>
|
<a id="powerMap-get"></a>
|
||||||
<b>Get</b>
|
<h4>Get</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<a id="powerMap-get-devices"></a><li>
|
||||||
<code>devices</code><br>
|
<code>devices</code><br>
|
||||||
Lists all devices having set an attribute named 'powerMap'.
|
Lists all devices having set an attribute named 'powerMap'.
|
||||||
</li>
|
</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="powerMapreadings"></a>
|
<a id="powerMap-readings"></a>
|
||||||
<b>Readings</b><br>
|
<h4>Readings</h4><br>
|
||||||
<ul>
|
<ul>
|
||||||
Device specific readings:
|
Device specific readings:
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<a id="powerMap-readings-pM_energy"></a><li>
|
||||||
<code>pM_energy</code><br>
|
<code>pM_energy</code><br>
|
||||||
A counter for consumed energy in Wh.<br>
|
A counter for consumed energy in Wh.<br>
|
||||||
Hint: In order to have the calculation working, attribute
|
Hint: In order to have the calculation working, attribute
|
||||||
<code>timestamp-on-change-reading</code> may not be set for
|
<code>timestamp-on-change-reading</code> may not be set for
|
||||||
reading pM_energy!
|
reading pM_energy!
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-readings-pM_energy_begin"></a><li>
|
||||||
<code>pM_energy_begin</code><br>
|
<code>pM_energy_begin</code><br>
|
||||||
Unix timestamp when collection started and device started to consume
|
Unix timestamp when collection started and device started to consume
|
||||||
energy for the very first time.
|
energy for the very first time.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-readings-pM_consumption"></a><li>
|
||||||
<code>pM_consumption</code><br>
|
<code>pM_consumption</code><br>
|
||||||
Current power consumption of device in W.
|
Current power consumption of device in W.
|
||||||
</li>
|
</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
</ul>
|
</ul>
|
||||||
<a name="powerMapattr"></a>
|
<a id="powerMap-attr"></a>
|
||||||
<b>Attribute</b>
|
<h4>Attributes</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<a id="powerMap-attr-disable"></a><li>
|
||||||
<code>disable 1</code><br>
|
<code>disable 1</code><br>
|
||||||
No readings will be created or calculated by this module.
|
No readings will be created or calculated by this module.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<li><a href="#do_not_notify">do_not_notify</a></li>
|
||||||
|
<a id="powerMap-attr-powerMap_eventChainWarnOnly"></a><li>
|
||||||
<code>powerMap_eventChainWarnOnly <1></code><br>
|
<code>powerMap_eventChainWarnOnly <1></code><br>
|
||||||
When set, event chain will NOT be repaired automatically if readings
|
When set, event chain will NOT be repaired automatically if readings
|
||||||
were found to be required for powerMap but their events are currently
|
were found to be required for powerMap but their events are currently
|
||||||
suppressed because they are either missing from attributes event-on-change-reading
|
suppressed because they are either missing from attributes event-on-change-reading
|
||||||
or event-on-update-reading. Instead, manual intervention is required.
|
or event-on-update-reading. Instead, manual intervention is required.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_interval"></a><li>
|
||||||
<code>powerMap_interval <seconds></code><br>
|
<code>powerMap_interval <seconds></code><br>
|
||||||
Interval in seconds to calculate energy.<br>
|
Interval in seconds to calculate energy.<br>
|
||||||
Default value is 900 seconds.
|
Default value is 900 seconds.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_noEnergy"></a><li>
|
||||||
<code>powerMap_noEnergy 1</code><br>
|
<code>powerMap_noEnergy 1</code><br>
|
||||||
No energy consumption will be calculated for that device.
|
No energy consumption will be calculated for that device.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_noPower"></a><li>
|
||||||
<code>powerMap_noPower 1</code><br>
|
<code>powerMap_noPower 1</code><br>
|
||||||
No power consumption will be determined for that device and
|
No power consumption will be determined for that device and
|
||||||
consequently no energy consumption at all.
|
consequently no energy consumption at all.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_rname_E"></a><li>
|
||||||
<code>powerMap_rname_E</code><br>
|
<code>powerMap_rname_E</code><br>
|
||||||
Sets reading name for energy consumption.<br>
|
Sets reading name for energy consumption.<br>
|
||||||
Default value is 'pM_energy'.
|
Default value is 'pM_energy'.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_rname_P"></a><li>
|
||||||
<code>powerMap_rname_P</code><br>
|
<code>powerMap_rname_P</code><br>
|
||||||
Sets reading name for power consumption.<br>
|
Sets reading name for power consumption.<br>
|
||||||
Default value is 'pM_consumption'.
|
Default value is 'pM_consumption'.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap"></a><li>
|
||||||
<code>powerMap<pre>
|
<code>powerMap<pre>
|
||||||
{
|
{
|
||||||
'<reading>' => {
|
'<reading>' => {
|
||||||
@ -1718,9 +1727,8 @@ sub powerMap_update($;$) {
|
|||||||
|
|
||||||
=begin html_DE
|
=begin html_DE
|
||||||
|
|
||||||
<a name="powerMap"></a>
|
<a id="powerMap"></a>
|
||||||
<h3>powerMap</h3>
|
<h3>powerMap</h3>
|
||||||
(<a href="commandref.html#powerMap">en</a> | de)
|
|
||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
powerMap ermittelt die aktuelle Leistungsaufnahme eines Geräts und
|
powerMap ermittelt die aktuelle Leistungsaufnahme eines Geräts und
|
||||||
@ -1730,32 +1738,37 @@ sub powerMap_update($;$) {
|
|||||||
Geräte ohne Zähler (z.B. Kühlschrank, Beleuchtung oder
|
Geräte ohne Zähler (z.B. Kühlschrank, Beleuchtung oder
|
||||||
FHEM-Server) zu erfassen und mit dem Modul ElectricityCalculator weiter
|
FHEM-Server) zu erfassen und mit dem Modul ElectricityCalculator weiter
|
||||||
zu verarbeiten.<br>
|
zu verarbeiten.<br>
|
||||||
|
Zur Beachtung: Da powerMap dazu gedacht ist, zusätzliche Readings zu erzeugen,
|
||||||
|
greift es zu einem frühen Zeitpunkt in der gesamten Eventverarbeitung auf
|
||||||
|
(triggernde) Änderungen zu. Dies ist v.a. dann zu beachten, wenn versucht
|
||||||
|
werden sollte, eigene Readings oder Werte mit anderen Eventhandlern
|
||||||
|
(z.B. notify oder DOIF, per "setreading" Kommando) zu setzen.
|
||||||
<br>
|
<br>
|
||||||
<a name="powerMapdefine"></a>
|
<a id="powerMapdefine"></a>
|
||||||
<b>Define</b>
|
<h4>Define</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> powerMap</code><br>
|
<code>define <name> powerMap</code><br>
|
||||||
Es kann immer nur eine powerMap Instanz definiert sein.
|
Es kann immer nur eine powerMap Instanz definiert sein.
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="powerMapset"></a>
|
<a id="powerMap-set"></a>
|
||||||
<b>Set</b>
|
<b>Set</b>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<a id="powerMap-set-assign"></a><li>
|
||||||
<code>assign <a href="#devspec"><devspec></a></code><br>
|
<code>assign <a href="#devspec"><devspec></a></code><br>
|
||||||
Weist einem oder mehreren Geräten vordefinierte powerMap Attribute zu,
|
Weist einem oder mehreren Geräten vordefinierte powerMap Attribute zu,
|
||||||
um diese anschließend anpassen zu können.
|
um diese anschließend anpassen zu können.
|
||||||
</li>
|
</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="powerMapget"></a>
|
<a id="powerMap-get"></a>
|
||||||
<b>Get</b>
|
<h4>Get</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<a id="powerMap-get-devices"></a><li>
|
||||||
<code>devices</code><br>
|
<code>devices</code><br>
|
||||||
Listet alle Geräte auf, die das Attribut 'powerMap' gesetzt haben.
|
Listet alle Geräte auf, die das Attribut 'powerMap' gesetzt haben.
|
||||||
</li>
|
</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="powerMapreadings"></a>
|
<a id="powerMap-readings"></a>
|
||||||
<b>Readings</b><br>
|
<h4>Readings</h4><br>
|
||||||
<ul>
|
<ul>
|
||||||
Gerätespezifische Readings:
|
Gerätespezifische Readings:
|
||||||
<ul>
|
<ul>
|
||||||
@ -1777,49 +1790,49 @@ sub powerMap_update($;$) {
|
|||||||
</li>
|
</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
</ul>
|
</ul>
|
||||||
<a name="powerMapattr"></a>
|
<a id="powerMap-attr"></a>
|
||||||
<b>Attribute</b>
|
<h4>Attribute</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<a id="powerMap-attr-disable"></a><li>
|
||||||
<code>disable 1</code><br>
|
<code>disable 1</code><br>
|
||||||
Es werden keine Readings mehr durch das Modul erzeugt oder berechnet.
|
Es werden keine Readings mehr durch das Modul erzeugt oder berechnet.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<li><a href="#do_not_notify">do_not_notify</a></li>
|
||||||
<code>powerMap_eventChainWarnOnly <1></code><br>
|
<a id="powerMap-attr-powerMap_eventChainWarnOnly"></a><li>
|
||||||
Sofern gesetzt, wird die Ereigniskette NICHT automatisch repariert, falls
|
Sofern gesetzt, wird die Ereigniskette NICHT automatisch repariert, falls
|
||||||
Readings zwar als für powerMap notwendig identifiziert wurden, ihre
|
Readings zwar als für powerMap notwendig identifiziert wurden, ihre
|
||||||
Events jedoch derzeit dadurch unterdrückt werden, weil sie nicht in
|
Events jedoch derzeit dadurch unterdrückt werden, weil sie nicht in
|
||||||
einem der Attribute event-on-change-reading oder event-on-update-reading
|
einem der Attribute event-on-change-reading oder event-on-update-reading
|
||||||
enthalten sind. Stattdessen ist ein manueller Eingriff erforderlich.
|
enthalten sind. Stattdessen ist ein manueller Eingriff erforderlich.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_interval"></a><li>
|
||||||
<code>powerMap_interval <seconds></code><br>
|
<code>powerMap_interval <seconds></code><br>
|
||||||
Intervall in Sekunden, in dem neue Werte für die Energie berechnet
|
Intervall in Sekunden, in dem neue Werte für die Energie berechnet
|
||||||
werden.<br>
|
werden.<br>
|
||||||
Der Vorgabewert ist 900 Sekunden.
|
Der Vorgabewert ist 900 Sekunden.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_noEnergy"></a><li>
|
||||||
<code>powerMap_noEnergy 1</code><br>
|
<code>powerMap_noEnergy 1</code><br>
|
||||||
Für das Gerät wird kein Energieverbrauch berechnet.
|
Für das Gerät wird kein Energieverbrauch berechnet.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_noPower"></a><li>
|
||||||
<code>powerMap_noPower 1</code><br>
|
<code>powerMap_noPower 1</code><br>
|
||||||
Für das Gerät wird keine Leistungsaufnahme abgeleitet und
|
Für das Gerät wird keine Leistungsaufnahme abgeleitet und
|
||||||
daher auch kein Energieverbrauch berechnet.
|
daher auch kein Energieverbrauch berechnet.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_rname_E"></a><li>
|
||||||
<code>powerMap_rname_E</code><br>
|
<code>powerMap_rname_E</code><br>
|
||||||
Definiert den Reading Namen, in dem der Zähler für die bisher
|
Definiert den Reading Namen, in dem der Zähler für die bisher
|
||||||
bezogene Energie gespeichert wird.<br>
|
bezogene Energie gespeichert wird.<br>
|
||||||
Der Vorgabewert ist 'pM_energy'.
|
Der Vorgabewert ist 'pM_energy'.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap_rname_P"></a><li>
|
||||||
<code>powerMap_rname_P</code><br>
|
<code>powerMap_rname_P</code><br>
|
||||||
Definiert den Reading Namen, in dem die aktuelle Leistungsaufnahme
|
Definiert den Reading Namen, in dem die aktuelle Leistungsaufnahme
|
||||||
des Gerätes gespeichert wird.<br>
|
des Gerätes gespeichert wird.<br>
|
||||||
Der Vorgabewert ist 'pM_consumption'.
|
Der Vorgabewert ist 'pM_consumption'.
|
||||||
</li><br>
|
</li><br>
|
||||||
<li>
|
<a id="powerMap-attr-powerMap"></a><li>
|
||||||
<code>powerMap<pre>
|
<code>powerMap<pre>
|
||||||
{
|
{
|
||||||
'<reading>' => {
|
'<reading>' => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user