From 46cfd9565cb8155a273c815d804f8a29be094682 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Wed, 2 Feb 2022 18:14:41 +0000 Subject: [PATCH] 98_powerMap.pm: set NotifyOrderPrefix & fix by Beta-User (Forum #125923) git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@25617 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/98_powerMap.pm | 123 ++++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 55 deletions(-) diff --git a/FHEM/98_powerMap.pm b/FHEM/98_powerMap.pm index 41539917e..a1be52d74 100644 --- a/FHEM/98_powerMap.pm +++ b/FHEM/98_powerMap.pm @@ -520,12 +520,13 @@ sub powerMap_Initialize($) { . "_eventChainWarnOnly:1,0 " . $readingFnAttributes; - addToAttrList( $TYPE . "_noEnergy:1,0" ); - addToAttrList( $TYPE . "_noPower:1,0" ); - addToAttrList( $TYPE . "_interval" ); - addToAttrList( $TYPE . "_rname_P:textField" ); - addToAttrList( $TYPE . "_rname_E:textField" ); - addToAttrList( $TYPE . ":textField-long" ); + addToAttrList( $TYPE . "_noEnergy:1,0", 'powerMap' ); + addToAttrList( $TYPE . "_noPower:1,0" , 'powerMap' ); + addToAttrList( $TYPE . "_interval" , 'powerMap' ); + addToAttrList( $TYPE . "_rname_P:textField" , 'powerMap' ); + addToAttrList( $TYPE . "_rname_E:textField" , 'powerMap' ); + addToAttrList( $TYPE . ":textField-long" , 'powerMap' ); + $hash->{NotifyOrderPrefix} = '30-'; } # regular Fn ################################################################## @@ -1541,111 +1542,119 @@ sub powerMap_update($;$) { 1; +__END__ + # commandref ################################################################## =pod +=encoding utf8 =item helper =item summary maps power and calculates energy (as Readings) =item summary_DE leitet Leistung ab und berechnet Energie (als Readings) =begin html - +
define <name> powerMap
assign <devspec>
pM_energy
timestamp-on-change-reading
may not be set for
reading pM_energy!
pM_energy_begin
pM_consumption
disable 1
powerMap_eventChainWarnOnly <1>
powerMap_interval <seconds>
powerMap_noEnergy 1
powerMap_noPower 1
powerMap_rname_E
powerMap_rname_P
powerMap
{
'<reading>' => {
@@ -1718,9 +1727,8 @@ sub powerMap_update($;$) {
=begin html_DE
-
+
powerMap
-(en | de)
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
FHEM-Server) zu erfassen und mit dem Modul ElectricityCalculator weiter
zu verarbeiten.
+ 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.
-
- Define
+
+ Define
define <name> powerMap
Es kann immer nur eine powerMap Instanz definiert sein.
-
+
Set
- -
+
-
assign <devspec>
Weist einem oder mehreren Geräten vordefinierte powerMap Attribute zu,
um diese anschließend anpassen zu können.
-
- Get
-
- -
+
+
Get
+
-
- Readings
+
+ Readings
Gerätespezifische Readings:
@@ -1777,49 +1790,49 @@ sub powerMap_update($;$) {
-
- Attribute
+
+ Attribute
- -
+
-
disable 1
Es werden keine Readings mehr durch das Modul erzeugt oder berechnet.
- -
-
powerMap_eventChainWarnOnly <1>
+ - do_not_notify
+ -
Sofern gesetzt, wird die Ereigniskette NICHT automatisch repariert, falls
Readings zwar als für powerMap notwendig identifiziert wurden, ihre
Events jedoch derzeit dadurch unterdrückt werden, weil sie nicht in
einem der Attribute event-on-change-reading oder event-on-update-reading
enthalten sind. Stattdessen ist ein manueller Eingriff erforderlich.
- -
+
-
powerMap_interval <seconds>
Intervall in Sekunden, in dem neue Werte für die Energie berechnet
werden.
Der Vorgabewert ist 900 Sekunden.
- -
+
-
powerMap_noEnergy 1
Für das Gerät wird kein Energieverbrauch berechnet.
- -
+
-
powerMap_noPower 1
Für das Gerät wird keine Leistungsaufnahme abgeleitet und
daher auch kein Energieverbrauch berechnet.
- -
+
-
powerMap_rname_E
Definiert den Reading Namen, in dem der Zähler für die bisher
bezogene Energie gespeichert wird.
Der Vorgabewert ist 'pM_energy'.
- -
+
-
powerMap_rname_P
Definiert den Reading Namen, in dem die aktuelle Leistungsaufnahme
des Gerätes gespeichert wird.
Der Vorgabewert ist 'pM_consumption'.
- -
+
-
powerMap
{
'<reading>' => {