Neues Modul EMONITOR - EnergieMonitor

Begonnen von Elektrolurch, 06 Dezember 2014, 17:11:34

Vorheriges Thema - Nächstes Thema

Elektrolurch

Hallo,
nun die Version 1.2 des Energie-Monitors (3.2.2015)
Was macht das Modul?
Es berechnet den Stromverbrauch von über fhem abfragbaren Verbrauchern. Dabei werden die Ein- und Ausschaltvorgänge aufgezeichnet. Beim einzelnen Verbraucher muss der Verbrauch je Stunde in Form eines Attributes " power-on" hinterlegt sein. Nur dann kann natürlich der Stromverbrauch korrekt aufgezeichnet werden.
Weitere Eigenschaften:
Der Stromverbrauch wird je Stunde, Tag, Woche, Monat und Jahr (aktuell und vergangene Zeiteinheit) beim Verbraucher in Form von readings hinterlegt. Die readings werden einmal je Stunde aktualisiert und können damit auch geplottet werden.
Hat der Verbraucher ein "group" und/oder "room" - Attribut, so werden die Verbrauchswerte auch für den "room" und / oder die Gruppe akkumuliert und beim Energiemonitor als readings gespeichert (auch wieder aktuelle und letzte Zeiteinheit). Auch hier erfolgt die Aktualisierung stündlich.

Ferner wird für Schalter die Einschaltzeit in einem reading "lifetime" hochgezählt.

Einrichtung:

define EM EMONITOR
# Da passiert zuerst einmal gar nichts.
# Die globalen Attribute power-on und power-off können nun gesetzt werden.

Als nächstes müssen bei den zu erfassenden Verbrauchern die power-on und power-off - Werte erfasst werden.

Beispiel: Energiesparlampe 10 Watt
attr Lampe1 power-on 10.5
attr Lampe1 power-off 0.21

Lampe1 wird über einen FS20 - Aktor geschaltet. Dieser hat einen Eigenverbrauch bei Einschalten von 0.5 W, bei Aussschalten von 0.21 W. Das "power-off" - Attribut ist optional. "power-on" muss gesetzt werden, sonst wird der Verbraucher ignoriert.

Schaltvorgänge:
Erkannt werden: on ein on.* ein.* und dim100.* als Einschaltvorgang
off aus off.* aus.* dim0.* als Ausschaltvorgang
Neu: Groß- und Kleinschreibung spielen nun keine Rolle.

Es müssen nicht alle Verbraucher auf einmal erfasst werden, nachträglich gesetzte "power-on" - Attribute erkennt EM automatisch beim nächsten Schaltvorgang.

Nun müssen wir EM mitteilen, welche Typen die Verbraucher haben:
Beispiel:
attr EM types FS20,dummy

dummy kann z.B. benutzt werden, um Dauerverbraucher korrekt zu erfassen oder Verbraucher, dessen Schaltzustand über andere Bedingungen ermittelt werden kann, mit in die Messungen einzubeziehen.

z.B. Bewegungsmelder usw.

Beispiel:
define Keller_kuehlschrank dummy
attr Keller_Kuehlschrank power-on 28.0

set Keller_Kuehlschrank ein
# sond erkennt EM nicht den Kuehlschrank

attr Keller_Kuehlschrank group Haushaltsgeräte
# und somit wird der Kühlschrank bei der weißen Ware mit aufsummiert.

Nach dem Setzen des Attributes "types" scannt EM den fhem-Baum ab und sucht alle Verbraucher heraus, die den entsprechenden "types" haben und bei denen das Attribut "power-on" gesezt ist.
Das Ergebnis steht im Logfile (attr EM verbose 3).

EM erfasst auch devices, die bereits einen Verbrauchswert (power) liefern:
# Measuring devices
my %ptypes = ('FBDECT' => 'energy',
'PCA301' => 'consumption',
'EC3000' => 'consumption',
'CUL_HM' => 'energy',
'readingsProxy' => 'energy'
);

Neu: mit Hilfe von readingsProxy können nun auch hier nicht aufgeführte device-Typen, wie z.B. Zhäler von 1-wire, integriert werden.
Je Zhählereinheit wird ein readingsProxy - Objekt definiert und die readings nach "power" (aktueller Verbrauch) und "energy" (kumulierter Verbrauch) abgebildet.

Neu:
Da sich heraus gestellt hat, dass es für hm_cul sowohl Geräte gibt, die nur schalten, als auch welche die Verbrauchswerte liefern, wurde im EMONITOR diesbezüglich eine Anpassung durchgeführt, so dass beide Fälle funktionieren sollten.
Da ich kein HM habe, konnte ich das nicht testen.


EMONITOR kann noch ein bisschen mehr:

set EM init
# scannt den fhem-Baum nach Verbrauchern, die den Typ (attr EM types ...) haben und bei denen das Attribut "power-on" gesetzt ist.

set EM measure <Verbraucher> <Probe>

"probe" ist z.B. eine Steckdose, die die Verbrauchswerte messen kann, "Verbraucher" eine Steckdose, die nur ein- und ausgeschaltet werden kann.
Probe wird in die 230 V - Steckdose gesteckt, in Probe dann den "Verbraucher".
Über den o.g. Befehl wird die Messung für "Verbraucher" gestartet. Dabei wird der Verbrauch auf zweierlei Weise berechnet:

a) über das regelmässige Event "power" (aktueller Verbrauch) von "Probe"
b) über die interne Aufsummierfunktion von "Probe" (reading energy bzw. consumption).

mit

set EM measure stop

Wird die Messung beendet und beim "'Verbraucher" das /die Attribute power-on / power-off gesetzt.
Das Ergebnis der Messung wird für beide Verfahren a) und b) auf dem Screen angezeigt. Die Ermittlung des Verbrauches bei kleinen Werten ist mit Methode b) recht ungenau (wegen interner Rundungsfehler z.B. der DECT200).
Die Messungen mit der AVM DECT200 waren im Ergebnis recht genau gem. der Verbrauchs-Angaben der Hersteller (Lampen, LED-Leuchten).


Damit man gleich los legen kann, habe ich die Erzeugung einer Anzeigengruppe (readingsGroup) gleich mit integriert:

set EM readingsGroup all,groups,rooms

Der letzte Parameter gibt die Sortierung der readingsGroup an, die im Raum "Energie" erscheint und so heißt, wie der Energiemonitor + _rg.

Keine Sorge, die Anzeige der Gruppierung und die Darstellung lässt sich an der rg aktiv über Menüs umschalten.
Also etwas zum Spielen.

Neu: Das valueFormat für die readingsGroup wurde neu definiert.

set EM reset ... "everything" setzt alle Verbrauchszähler zurück.
"all" den summarischen Verbrauchszähler (die totale)
group <groupname> die Zähler einer Gruppe usw.


get - Funktion

get EM all
# listet die total-Zähler auf

get EM groups
get EM rooms
get EM devices

listet die erkannten Räume, Gruppen und Verbraucher auf, die EM verarbeitet.

get EM room <Raumname>
get EM group <Gruppenname>
listet die Verbrauchswerte auf.

get EM <irgendwas>
listet die Verbrauchswerte von "irendwas" auf, falls vorhanden (Raum, Gruppe, device).

Die Funktion habe ich zum Testen benötigt:
get EM attr-to-dev <Attributname>
listet alle fhem-Objekte mit dem angegebenen Attribut auf, sortiert nach dem Attributwert.

get EM  attr-to-EMdev <Attributname>
dgl. nur Objekte, die EM als gültige Verbraucher erkannt hat.

Beispiel:

get EM attr-to-EMdev power-off

Damit erhält man eine Liste der Objekte mit bestimmten power-off - Werten.

get EM no-power-on-attr
Damit erhält man eine Liste der Verbraucher, die zwar den für EM gültigen Typ haben, bei denen aber noch kein Attribut "power-on" für die Verbrauchsmessung eingegeben wurde.

Getestet wurde das für FS20 und dummy und AVM DECT200 - Steckdosen. Derzeit habe ich damit 42 Verbraucher erfasst.

Nicht implementiert sind dim-Werte, dies ist ziemlich schwierig, da bspw. eine FS20 - Dimm - Steckdose bei "on" auf den zuletzt eingestelten Dim-Wert geht, beim erneuten "ein" auf 100%. Außerdem kann die Steckdose auch noch Rampen fahren. Das alles vernünftig mit zu tracken, ist fast unmöglich.

devices können auch mehreren Räumen und Gruppen zugeordnet worden sein, sie erscheinen das summarisch in jeder dieser Einheiten.
Da Gruppen Leerzeichen beinhalten können, diese aber bei den readings-Namen Probleme bereiten, werden " " durch "_" ersetzt. Wichtig für plots!!!!

Achtung! Migration!
Das Modul hatte ursprünglich den Typ "EM". Dies wurde nun auf "EMONITOR" geändert.
Um die bereits gesammelten, in EM gespeicherten Daten weiterhin nutzen zu können, muss folgendes gemacht werden:

1. Die Datei 99_myUtilsEMONITOR.pm in das FHEM-Verzeichnis kopieren.
2. reload 99_myUtilsEMONITOR.pm in die Kommandozeile von fhem eingeben.
Damit wird das Modul aktiviert.
Angenommen die laufende EM-Instanz heißt "meinEM", dann folgendes in die Kommandozeile eingeben:
{EM_Migrate("meinEM");;}

Danach den Anweisungen auf dem Bildschirm folgen:
1. 99_myUtilsEM.pm aus dem FHEM-Verzeichnis entfernen.
2. Mit "save" den aktuellen Stand speichern.
3. shutdown restart das System neu booten.


# Version 1.1
# full support for disable and ignore of devices
# Bugfix: attr EM verbose # - not acdepted

# Version 1.2 (3.2.2015)
# disable/ignore EMONITOR_AutoCollect added
# redesigned: attr use-power-event - for devices without energy-reading (beta)


Version 1.4 vom 11.5.2015
Jetzt werden auch devices mit state present (ein), absent|unreachable (aus) erkannt.
Elektrolurch
configDB und Windows befreite Zone!

Prof. Dr. Peter Henning

Dringender Vorschlag: Ein paar Buchstaben mehr auf den Modulnamen verwenden.

Es gibt nämlich schon ein Modul EM, sowie EMX ebenfalls

Da es sich hier um ein "Helper-Modul" handeln würde, wäre als Name "E_MONITOR" angemessen, das ist relativ egal, so lange es nicht EM ist.

LG

pah

fhainz

Hallo Elektrolurch,

danke für das super Modul, ein paar Sachen sind mir noch aufgefallen.

- In der ReadingsGroup steht neben den Werten die Einheit Watt. Sind das nicht Watt Stunden [Wh]?
- Im Modul im ersten Dropdown Menü stehen bei mir zwei Räume und ein noroom, gefolgt von allen Devices. Das ist dann eine sehr lange Liste die das Design zerschießt, sprich die Tabellen verschiebt weil der Inhalt zu groß/lang ist. Das passt dann alles nicht mehr auf den Bildschirm. Ich vermute die Liste kommt von den Reading EMdevices. Da stehen ebenso alle Devices drinnen und ich denke diese Liste wird in das set DropDown Menü übernommen.

Hier mal ein list des EM Devices.
ZitatInternals:
   EMall      0
   NAME       EnergieMonitor
   NR         454
   NTFY_ORDER 50-EnergieMonitor
   STATE      initialized
   TYPE       EM
   Emdevices:
     Durchlauferhitzer:
       count      429
       power      0.263722222222222
     Waschmaschine:
       count      6
       power      0
     D_vzlichtstatus:
       count      4
       power      0
     Kugeschirrspuehler:
       count      429
       power      0.2255
     Kukaffeemaschine:
       count      46
       power      0
     Kukuehlschrank:
       count      16
       power      0
     Macbookairladedose:
       count      602
       power      12.8883333333333
     Netgearnighthawkx4:
       count      16
       power      0
     Sznachttischlampe:
       count      36
       power      0.264111111111111
     Wzdeckenfluter:
       count      16
       power      0
     Wzdrucker:
       count      16
       power      0
     Wzmacmini:
       count      1427
       power      8.39105555555556
     Wzreceiver:
       count      177
       power      0
     Wzsonoss5:
       count      0
       power      0
     Wztv:
       count      17
       power      0
   Emgroups:
     1._vorzimmer:
       count      1
       Devices:
         D_vzlichtstatus:
           power      0
     Fernseher:
       count      1
       Devices:
         Wzreceiver:
           power      0
     Licht:
       count      2
       Devices:
         Sznachttischlampe:
           power      0
         Wzdeckenfluter:
           power      0
     Steckdosen:
       count      3
       Devices:
         Kukuehlschrank:
           power      0
         Wzdrucker:
           power      0
         Wzmacmini:
           power      0
     Steckdosen_+_licht_devices:
       count      5
       Devices:
         Durchlauferhitzer:
           power      0
         Kugeschirrspuehler:
           power      0
         Kukaffeemaschine:
           power      0
         Wzsonoss5:
           power      0
         Wztv:
           power      0
     Waschmaschine:
       count      1
       Devices:
         Waschmaschine:
           power      0
     Nogroup:
       count      2
       Devices:
         Macbookairladedose:
           power      0
         Netgearnighthawkx4:
           power      0
   Emrooms:
     1._wohnzimmer:
       count      1
       Devices:
         Wzreceiver:
           power      0
     5._wohnung:
       count      2
       Devices:
         Waschmaschine:
           power      0
         D_vzlichtstatus:
           power      0
     8.2_devices:
       count      6
       Devices:
         Kukuehlschrank:
           power      0
         Netgearnighthawkx4:
           power      0
         Sznachttischlampe:
           power      0
         Wzdeckenfluter:
           power      0
         Wzdrucker:
           power      0
         Wzmacmini:
           power      0
     Noroom:
       count      6
       Devices:
         Durchlauferhitzer:
           power      0
         Kugeschirrspuehler:
           power      0
         Kukaffeemaschine:
           power      0
         Macbookairladedose:
           power      0
         Wzsonoss5:
           power      0
         Wztv:
           power      0
   Emtypes:
     ENIGMA2
     FS20
     IT
     dummy
   Readings:
     2014-12-07 23:59:42   1._Vorzimmer-power-daily 0
     2014-12-07 23:59:42   1._Vorzimmer-power-daily-last 3.7
     2014-12-08 08:59:42   1._Vorzimmer-power-hourly 0
     2014-12-08 08:59:42   1._Vorzimmer-power-hourly-last 0.0
     2014-12-07 22:59:41   1._Vorzimmer-power-monthly 3.9
     2014-12-07 23:59:42   1._Vorzimmer-power-weekly 0
     2014-12-07 23:59:42   1._Vorzimmer-power-weekly-last 3.9
     2014-12-07 22:59:41   1._Vorzimmer-power-yearly 3.9
     2014-12-08 08:59:42   1._Wohnzimmer-power-daily 6.4
     2014-12-07 23:59:42   1._Wohnzimmer-power-daily-last 144.1
     2014-12-08 09:00:57   1._Wohnzimmer-power-hourly 0
     2014-12-08 08:59:42   1._Wohnzimmer-power-hourly-last 6.4
     2014-12-08 08:59:42   1._Wohnzimmer-power-monthly 150.5
     2014-12-08 08:59:42   1._Wohnzimmer-power-weekly 6.4
     2014-12-07 23:59:42   1._Wohnzimmer-power-weekly-last 144.1
     2014-12-08 08:59:42   1._Wohnzimmer-power-yearly 150.5
     2014-12-07 23:59:42   5._Wohnung-power-daily 0
     2014-12-07 23:59:42   5._Wohnung-power-daily-last 771.3
     2014-12-08 08:59:42   5._Wohnung-power-hourly 0
     2014-12-08 08:59:42   5._Wohnung-power-hourly-last 0.0
     2014-12-07 22:59:41   5._Wohnung-power-monthly 771.5
     2014-12-07 23:59:42   5._Wohnung-power-weekly 0
     2014-12-07 23:59:42   5._Wohnung-power-weekly-last 771.5
     2014-12-07 22:59:41   5._Wohnung-power-yearly 771.5
     2014-12-08 08:59:42   8.2_Devices-power-daily 495.3
     2014-12-07 23:59:42   8.2_Devices-power-daily-last 1383.2
     2014-12-08 09:41:52   8.2_Devices-power-hourly 8.65516666666667
     2014-12-08 08:59:42   8.2_Devices-power-hourly-last 55.5
     2014-12-08 08:59:42   8.2_Devices-power-monthly 2186.3
     2014-12-08 08:59:42   8.2_Devices-power-weekly 495.3
     2014-12-07 23:59:42   8.2_Devices-power-weekly-last 1691
     2014-12-08 08:59:42   8.2_Devices-power-yearly 2186.3
     2014-12-06 17:35:28   98._Sprinkle_Modul-power-hourly 0
     2014-12-08 08:59:42   EMdevices       Durchlauferhitzer,Waschmaschine,d_vzLichtStatus,kuGeschirrspuehler,kuKaffeemaschine,kuKuehlschrank,macbookairLadedose,netgearNighthawkX4,szNachttischLampe,wzDeckenfluter,wzDrucker,wzMacMini,wzReceiver,wzSonosS5,wzTV
     2014-12-08 08:59:42   EMgroups        1._Vorzimmer,Fernseher,Licht,Steckdosen,Steckdosen_+_Licht_Devices,Waschmaschine,nogroup
     2014-12-08 08:59:42   EMrooms         1._Wohnzimmer 5._Wohnung 8.2_Devices noroom
     2014-12-08 08:59:42   Fernseher-power-daily 6.4
     2014-12-07 23:59:42   Fernseher-power-daily-last 144.1
     2014-12-08 09:00:57   Fernseher-power-hourly 0
     2014-12-08 08:59:42   Fernseher-power-hourly-last 6.4
     2014-12-08 08:59:42   Fernseher-power-monthly 150.5
     2014-12-08 08:59:42   Fernseher-power-weekly 6.4
     2014-12-07 23:59:42   Fernseher-power-weekly-last 144.1
     2014-12-08 08:59:42   Fernseher-power-yearly 150.5
     2014-12-08 08:59:42   Licht-power-daily 12
     2014-12-07 23:59:42   Licht-power-daily-last 114.8
     2014-12-08 09:26:05   Licht-power-hourly 0.264111111111111
     2014-12-08 08:59:42   Licht-power-hourly-last 1.5
     2014-12-08 08:59:42   Licht-power-monthly 157.2
     2014-12-08 08:59:42   Licht-power-weekly 12
     2014-12-07 23:59:42   Licht-power-weekly-last 145.2
     2014-12-08 08:59:42   Licht-power-yearly 157.2
     2014-12-08 08:59:42   Steckdosen-power-daily 404
     2014-12-07 23:59:42   Steckdosen-power-daily-last 1064.5
     2014-12-08 09:41:52   Steckdosen-power-hourly 8.39105555555556
     2014-12-08 08:59:42   Steckdosen-power-hourly-last 45.1
     2014-12-08 08:59:42   Steckdosen-power-monthly 1708.4
     2014-12-08 08:59:42   Steckdosen-power-weekly 404
     2014-12-07 23:59:42   Steckdosen-power-weekly-last 1304.4
     2014-12-08 08:59:42   Steckdosen-power-yearly 1708.4
     2014-12-08 08:59:42   Steckdosen_+_Licht_Devices-power-daily 364.6
     2014-12-07 23:59:42   Steckdosen_+_Licht_Devices-power-daily-last 3525.5
     2014-12-08 09:40:47   Steckdosen_+_Licht_Devices-power-hourly 0.489222222222222
     2014-12-08 08:59:42   Steckdosen_+_Licht_Devices-power-hourly-last 252.0
     2014-12-08 08:59:42   Steckdosen_+_Licht_Devices-power-monthly 4936
     2014-12-08 08:59:42   Steckdosen_+_Licht_Devices-power-weekly 364.6
     2014-12-07 23:59:42   Steckdosen_+_Licht_Devices-power-weekly-last 4571.4
     2014-12-08 08:59:42   Steckdosen_+_Licht_Devices-power-yearly 4936
     2014-12-07 23:59:42   Waschmaschine-power-daily 0
     2014-12-07 23:59:42   Waschmaschine-power-daily-last 767.5
     2014-12-08 08:59:42   Waschmaschine-power-hourly 0
     2014-12-08 08:59:42   Waschmaschine-power-hourly-last 0.0
     2014-12-07 19:59:42   Waschmaschine-power-monthly 767.5
     2014-12-07 23:59:42   Waschmaschine-power-weekly 0
     2014-12-07 23:59:42   Waschmaschine-power-weekly-last 767.5
     2014-12-07 19:59:42   Waschmaschine-power-yearly 767.5
     2014-12-08 08:59:42   all-power-daily 883.9
     2014-12-07 23:59:42   all-power-daily-last 6105.5
     2014-12-08 09:42:34   all-power-hourly 21.8745
     2014-12-08 08:59:42   all-power-hourly-last 322.6
     2014-12-08 08:59:42   all-power-monthly 8456.9
     2014-12-08 08:59:42   all-power-weekly 883.9
     2014-12-07 23:59:42   all-power-weekly-last 7573
     2014-12-08 08:59:42   all-power-yearly 8456.9
     2014-12-07 19:38:53   mode            all
     2014-12-08 08:59:42   nogroup-power-daily 96.8
     2014-12-07 23:59:42   nogroup-power-daily-last 485.2
     2014-12-08 09:42:34   nogroup-power-hourly 12.7301111111111
     2014-12-08 08:59:42   nogroup-power-hourly-last 17.5
     2014-12-08 08:59:42   nogroup-power-monthly 735.2
     2014-12-08 08:59:42   nogroup-power-weekly 96.8
     2014-12-07 23:59:42   nogroup-power-weekly-last 638.4
     2014-12-08 08:59:42   nogroup-power-yearly 735.2
     2014-12-08 08:59:42   noroom-power-daily 382.2
     2014-12-07 23:59:42   noroom-power-daily-last 3807.1
     2014-12-08 09:42:34   noroom-power-hourly 13.2193333333333
     2014-12-08 08:59:42   noroom-power-hourly-last 260.7
     2014-12-08 08:59:42   noroom-power-monthly 5350.7
     2014-12-08 08:59:42   noroom-power-weekly 382.2
     2014-12-07 23:59:42   noroom-power-weekly-last 4968.5
     2014-12-08 08:59:42   noroom-power-yearly 5350.7
     2014-12-07 19:38:53   typ             actual
     2014-12-07 19:38:53   view            expand
   evbuffer:
Attributes:
   room       Energie
   track-within-hour 1
   types      FS20,dummy,IT,ENIGMA2
   use-power-event 1

Grüße

slor

Zitatdefine EM EM
# Da passiert zuerst einmal gar nichts.
# Die globalen Attribute power-on und power-off können nun gesetzt werden.

wie genau definiere ich denn die globalen Attribute? Oder macht das dein Modul selbst?

Im Modul steht
# add global  attr for power - consumption
addToAttrList("power-on");
addToAttrList("power-off"); # standby power
return undef;
} # end sub EM_initialize


Das müsste doch eigentlich die Attribute definieren?

Führe ich folgendes aus, bekomme ich einen Fehler

attr EG_KU_DL power-on 98.5

EG_KU_DL: unknown attribute power-on. Type 'attr EG_KU_DL ?' for a detailed list.


Danke,
Sebastian
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

Markus

@Elektrolurch Danke für das tolle Modul so etwas hab ich schon immer gesucht  ;D
was mir noch aufgefallen ist:
Ich hab alle Geräte auf "Ein, Aus" gemapt wäre toll wen du das noch einbauen Könntest
Mein HomeMatic Energiekosten Zwischenstecker (HM-ES-PMSw1-Pl) wird nicht erkannt wie starte ich die Messung? reading power ist vorhanden :'(

@slor ich hatte das selbe Problem gieb es einfach als globales Attribut mit an dann funktioniert es
in deiner .cfg
attr global userattr power-on power-off

Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Franz Tenbrock

Hallo
Modul geladen
define em em
eingegeben
dann kommt auch schon die set und get und attr Seite

Ich habe wenige Verbraucher die ich aktiv ein udn ausschalte
soweit ich verstanden habe müsste ich da wissen was die verbrauchen,, dur rechnest dann einfach anhand der Betriebsdauer aus was da verbraucht wurde ?!

Ich habe einige Revolt Energiedosen
und
2x ESA 2000 die ich logge, wie beobachtet man die nun??

so habe ich zB eine ESA2000 definiert

#########################################################
#######      ESA 2000 Definition incl Plot  #############
#########################################################

define ESAx000WZ_5f94 ESA2000 5f94
attr ESAx000WZ_5f94 IODev CUL_0
attr ESAx000WZ_5f94 alias Strom_Verbrauch
attr ESAx000WZ_5f94 base_1 100320.9
attr ESAx000WZ_5f94 event-on-update-reading state,raw_total,actual_ticks,diff_ticks,actual,raw_total,.*_last,raw,day,month,year,month_*
attr ESAx000WZ_5f94 room Energie

define FileLog_ESAx000WZ_5f94 FileLog ./log/ESAx000WZ_5f94-%Y.log ESAx000WZ_5f94
attr FileLog_ESAx000WZ_5f94 logtype text
attr FileLog_ESAx000WZ_5f94 room Energie

define weblink_ESAx000WZ_5f94 SVG FileLog_ESAx000WZ_5f94:weblink_ESAx000WZ_5f94:CURRENT
attr weblink_ESAx000WZ_5f94 group Plot
attr weblink_ESAx000WZ_5f94 label "kWh"::"kW"
attr weblink_ESAx000WZ_5f94 plotsize 550,150
attr weblink_ESAx000WZ_5f94 room Energie
attr weblink_ESAx000WZ_5f94 title "ESAx000WZ_5f94 - Min $data{raw_total} Min $data{min1}, Max $data{max1}, Last $data{currval1}"
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Prof. Dr. Peter Henning

@Elektrolurch: Ich wiederhole meine Bitte, das Modul nicht "EM" zu benennen, diese Kombination gibt es schon.

Anonsten sehe ich kaum Möglichkeiten, dass das in den FHEM-Mainstream aufgenommen werden kann.

LG

pah

drdownload

Das ist ja lustig, ich war gerade am überlegen meine userattrib + myutils Kombi die etwas ähnliches macht umzubauen zum Modul ;)

Ich hätte allerdings noch einen Vorschlag, derzeit wird ja nur On und Off ausgewertet. Ich habe zB relativ viele Dimmer und es ist natürlich nicht 1:1 aber auf einem niedrigen Dim-Level verbraucht das Licht natürlich nicht seine Nominal-Stärke ;)

Das ließe sich vielleicht gut Kombinieren auch Stellantriebe über den Tag zu erfassen. Man müsste als zusätzliches User-Atrib dafür wahrscheinlich noch ein State-Mapping mitgeben können.

zB

Schalter: "on:100,off:0" 
Dimmer: "off:0,level 1: 10,level 2:20,[....],on:100"
Stellantrieb (FHT8V): {ReadingsVal("stellantrieb.badezimmer","valve","")

CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Franz Tenbrock

EA für Energieampel 
würde doch gut passen

8)
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Markus

Müsste man nicht einfach. Alle unwerten einmal messen und in einer Art Tabelle hinterlegen dann kann fhem anhand der eingestellten 100% berechnet wie viel zb 35% Wären

Dimwert1% =10Watt
Dimwert2%=14Watt
Usw. ..

Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Markus

Ich hab das mal ab zeile 369 Geändert um auch auf Ein,Aus;Auf,Zu zu reagieren..
ich hoffe das war alles  ;D und ich hab nichts übersehen...
if($s =~m/(ein|Ein|on|Auf|dim100).*/)
{
$dt = $now - $d->{ontime};
$d->{ontime} = $now;
$d->{onenergy} += $diffenergy;
$d->{onduration} += $diffenergytime ;
$d->{'measure-count'} =0; # skip next poer event, because not full measuring period
Log3($name,4,"EM_CalcEnergy: s $s dt $dt diffenergytime $diffenergytime  diffenergy $diffenergy total $d->{onenergy} ");

} # if on
elsif($s =~m/(off|aus|Aus|Zu|dim0).*/)
{
$dt = $now - $d->{offtime};
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Markus

Ich versuche immer noch meine HomeMatic Steckdose einzubinden leider ohne Erfolg...

In fhem wurden aber mehrere Geräte angelegt zb schaltet Haupt_TV das angeschlossene Gerät aus/ein und Fernseher_Energie hat den stromverbrauch in den readings.
Wenn ich es richtig verstanden habe startet dein EnergieMonitor aber erst die messung wenn das Gerät "on" geschaltet wurde was aber nicht geht (fehlermeldung in fhem) und dafür ja ein eigenes Gerät definiert ist

Hier die Definition aus der .cfg
define CUL_HM_HM_ES_PMSw1_Pl_2A5091 CUL_HM 2A5091
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 IODev HMLAN1
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 actCycle 000:10
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 actStatus alive
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 autoReadReg 4_reqStatus
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 expert 2_full
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 firmware 1.5
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 model HM-ES-PMSw1-Pl
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 room CUL_HM
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 serialNr LEQ0183228
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 subType powerMeter
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091 webCmd getConfig:clear msgEvents

define Haupt_TV CUL_HM 2A509101
attr Haupt_TV devStateIcon Ein:Fernsehen.on Aus:Fernsehen.off
attr Haupt_TV event-on-change-reading .*
attr Haupt_TV eventMap on:Ein off:Aus
attr Haupt_TV group Multimedia
attr Haupt_TV model HM-ES-PMSw1-Pl
attr Haupt_TV peerIDs 00000000,
attr Haupt_TV room Multimedia
attr Haupt_TV sortby 18

define Fernseher_Energie CUL_HM 2A509102
attr Fernseher_Energie model HM-ES-PMSw1-Pl

define CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenPwr CUL_HM 2A509103
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenPwr model HM-ES-PMSw1-Pl
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenPwr peerIDs 00000000,
define CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenI CUL_HM 2A509104
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenI model HM-ES-PMSw1-Pl
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenI peerIDs 00000000,
define CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenU CUL_HM 2A509105
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenU model HM-ES-PMSw1-Pl
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenU peerIDs 00000000,
define CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenF CUL_HM 2A509106
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenF model HM-ES-PMSw1-Pl
attr CUL_HM_HM_ES_PMSw1_Pl_2A5091_SenF peerIDs 00000000,



Hier die readings vom gerät Fernseher_Energie
Internals
CFGFN
/opt/fhem/cfg/HomeMatic.cfg
DEF
2A509102
NAME
Fernseher_Energie
NR
385
STATE
12242.3
TYPE
CUL_HM
chanNo
02
device
CUL_HM_HM_ES_PMSw1_Pl_2A5091
Readings
R-averaging
1 s
2014-11-14 22:10:03
R-sign
off
2014-11-14 22:10:03
R-txMinDly
8 s
2014-11-14 22:10:03
R-txThrCur
100 mA
2014-11-14 22:10:03
R-txThrFrq
1 Hz
2014-11-14 22:10:03
R-txThrPwr
100 W
2014-11-14 22:10:03
R-txThrVlt
10 V
2014-11-14 22:10:03
RegL_01:
08:00 7A:01 7B:08 7C:00 7D:27 7E:10 7F:00 80:64 81:00 82:64 83:64 00:00
2014-11-14 22:10:03
boot
off
2014-12-24 15:51:52
current
102
2014-12-24 15:51:52
eState
E: 12242.3 P: 0.13 I: 102 U: 231.6 f: 49.98
2014-12-24 15:51:52
energy
12242.3
2014-12-24 15:51:52
energyOffset
97626.3
2014-12-17 22:29:58
frequency
49.98
2014-12-24 15:51:52
power
0.13
2014-12-24 15:51:52
state
12242.3
2014-12-24 15:51:52
voltage
231.6
2014-12-24 15:51:52
Fernseher_Energie Attributes
model
HM-ES-PMSw1-Pl
deleteattr
Probably associated with


gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

P.A.Trick

#12
Leider hatte ich den letzten Monaten nicht sooo viel Zeit für FHEM, aber erst einmal ein dickes Dankeschön an Elektrolurch!
Ich habe einige Dummies und meine FBDECT eingebunden...hat alles super geklappt. Ich werde in den nächsten Tagen mal alle möglichen Verbraucher erfassen und meine Ergebnisse in den nächsten Wocchen mitteilen. Noch einmal vielen lieben Dank für das Modul!


*EDIT* Wie kann ich denn die aktuellen Meßwerte meiner FBDECT Dosen übernehmen? Muss ich da auch das power-(on|off) Attribut setzen?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Elektrolurch

Hallo,

ja erst einmal Danke. Hatte in den letzten zwei Monaten auch keine Zeit, um mich um EM zu kümmern, da es ja auch erst einmal läuft.
Zitat:

*EDIT* Wie kann ich denn die aktuellen Meßwerte meiner FBDECT Dosen übernehmen? Muss ich da auch das power-(on|off) Attribut setzen?
Das power-on und power-off Attribut wird ja nur für Schaltaktoren benötigt, die keine Verbrauchswerte liefern können und dessen Verbrauch über EM ermittelt werden soll.
Die FBDECT  liefern ja power und energy - readings, wobei ich mit beiden Varianten experimentell mal den Verbrauch ermittelt habe.
Da musst Du keine power-on Attribute setzen, den EM liest für die bekannten Geräte (siehe Beitrag 1) die power / energy /comsuption -  readings aus und zeichnet diese auf.

Ich habe nur zwei der AvMs hier und mit einer habe ich mit Hilfe von EM den Verbrauch diverser Geräte ermittelt (EM liefert das power-on und power-off - Attribut, wenn man über fhem eine Messung durchführt -> Beitrag 1).

Jedenfalls haben die Verbrauchsmessungen und die Zusammenfassung über das group-Attribut mir einige Erkenntnisse geliefert, wo der Strom so hinfließt....

z.B. verbraucht ein Kühlschrank mehr, als eine Waschmaschine, übers Jahr ermittelt....

Elektrolurch
P.S.: Werde mal in den nächsten Wochen die hier genannten Wünsche einarbeiten, soweit das sinnvoll und möglich ist... :-)
configDB und Windows befreite Zone!

P.A.Trick

Cool ja jetzt klappt es auch mit den FBDECT Dosen. Ich werde mir morgen noch eine zulegen, mit der werde ich dann erst einmal alle Verbraucher analysieren :-)
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn