Neues Modul EMONITOR - EnergieMonitor

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

Vorheriges Thema - Nächstes Thema

raspklaus

Wie kann man den OWL Energiemesser integrieren?

Hier das list

Internals:
   DEF        /dev/ttyUSB0
   DeviceName /dev/ttyUSB0
   FD         5
   MODE       live data
   NAME       CM160
   NR         73
   PARTIAL
   PORTSTATE  open
   STATE      A: 4.76 A, W: 90.44 W, C: 0.0271 €/h, CO2: 0.0534 kg/h
   TYPE       CM160
   Readings:
     2015-08-30 16:11:48   A               4.76 A
     2015-08-30 16:11:48   C               0.0271 €/h
     2015-08-30 16:11:48   CO2             0.0534 kg/h
     2015-08-30 16:11:48   W               90.44 W
     2015-08-30 16:11:48   cumDay          W: 1838092 W, P: 30.63 kWh, C: 9.19 €, CO2: 18.07 kg
     2015-08-30 16:11:48   cumHour         W: 3600 W, P: 0.06 kWh, C: 0.02 €, CO2: 0.04 kg
     2015-08-30 16:11:48   cumMonth        W: 45759383 W, P: 762.66 kWh, C: 228.80 €, CO2: 449.97 kg
     2015-08-30 16:11:48   cumYear         W: 86694688 W, P: 1444.91 kWh, C: 433.47 €, CO2: 852.50 kg
     2015-08-30 16:11:48   state           A: 4.76 A, W: 90.44 W, C: 0.0271 €/h, CO2: 0.0534 kg/h
Attributes:
   alias      OWL Energiemesser
   co2Factor  0.59
   costPerKwh 0.30
   currency   €
   loglevel   6
   room       Energie,Haus
   verbose    0
   voltage    19



raspklaus


drdownload

Ich bin mir nicht sicher ob das konzeptionell zusammenpasst nachdem der OWL ja ganze Stromkreise misst.
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,

bert

Warum sollte das nicht passen, Elektroluch schreibt ganz am Anfang dass dafür die Möglichkeit vorgesehen ist.

Aber trotzdem scheint was nicht zu funktionieren, ich habe hier ein Device, das bringt in den Readings "power" und "state" den momentanen Stromverbrauch, leider wird nichts im EMONITOR angezeigt.

Helmi55

Hallo
vorerst Danke für das super Modul.
Es funktioniert, nur bekomme ich im Sekundentakt diese Meldungen im Logfile
2015.09.16 20:59:57 3: EMONITOR_Statistik: tmpdevices abgearbeitet
2015.09.16 20:59:57 3: EMONITOR_Statistiks (end): Calc next call - found 1 devices 48 59 20 16 8 115 3 258 1


Was habe ich vielleicht bei den Einstellungen übersehen.

Es handelt sich um einen FS20 Schalter für die Gartenbeleuchtung

Danke
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Elektrolurch

Hallo Helmut,

der EM berechnet ja immer vor Ablauf der vollen Stunde die Verbrauchswerte und damit das bei größeren Installationen nicht zum Hängenbleiben von fhem führt, macht er das stückchenweise (es sind ja pro device relativ viele readings zu aktualisieren).

Offensichtlich funktioniert die Berechnung der neuen Startzeit für nur ein device nicht korrekt:

2015.09.16 20:59:57 3: EMONITOR_Statistiks (end): Calc next call - found 1 devices 48 59 20 16 8

Er sagt ja, dass er wieder um 20:59:48 Uhr die neue Berechnung durchführen müsste, was ja schon eigentlich hinter der aktuellen Zeit liegt.
Korrekt wäre so irgendwas für ein device so um die 21:59:58 Uhr.
Such mal im Code nach der Stelle, wo die Ausgabe erzeugt wird. Im Augenblick komme ich nicht an den Code und habe auch wenig Zeit. Vielleicht siehst Du ja selbst wo der Fehler liegt. Für meine größere Installation funktioniert es korrekt.

Elektrolurch
configDB und Windows befreite Zone!

Helmi55

Hallo und Danke für deine Antwort.
Ich habe jetzt insgesamt 4 Aktoren in EM eingebunden und nun erhalte ich stündlich nur mehr 6 Zeilen
2015.09.20 12:59:47 3: EMONITOR_Statistik: tmpdevices abgearbeitet
2015.09.20 12:59:47 3: EMONITOR_Statistiks (end): Calc next call - found 4 devices 42 59 12 20 8 115 0 262 1
2015.09.20 12:59:51 3: EMONITOR_Statistik: tmpdevices abgearbeitet
2015.09.20 12:59:51 3: EMONITOR_Statistiks (end): Calc next call - found 4 devices 42 59 12 20 8 115 0 262 1
2015.09.20 12:59:56 3: EMONITOR_Statistik: tmpdevices abgearbeitet
2015.09.20 12:59:56 3: EMONITOR_Statistiks (end): Calc next call - found 4 devices 42 59 13 20 8 115 0 262 1


Sieht jetzt besser aus - Danke
und schönen Sonntag noch
Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Elektrolurch

Hallo Helmut,

es soll auch nicht viermal aufgerufen werden.

Schau mal Dir den Code in der 99_EMonitor an:

# start statistik befor full hour
# so update-events will contain the hour, day etc. of final calculation and not the next period
# EMONITOR_Statistik is called repeatedly, for each dev 1 sek.
my $nexttime = EMONITOR_GetNextHour($devcount * 2) - ($devcount *2)  - 10;
Log3($name,3,"EMONITOR_Statistiks (end): Calc next call - found $devcount devices ".join(' ',localtime($nexttime)));
RemoveInternalTimer($hash);   
InternalTimer($nexttime, "EMONITOR_Statistik", $hash, 0);
fhem('save') if(AttrVal($name,'auto-save',0));;


Die Zeilel bestimmt den Offset vor der vollen Stunde, wenn der nächste Berechungsjob gestartet werden soll.
my $nexttime = EMONITOR_GetNextHour($devcount * 2) - ($devcount *2)  - 10;


Du kannst den Term - ($devcount *2)  - 10;
einfach mal experimentell durch eine Konstante ersetzen: - 5;

Meine Fritzbox ist da relativ langsam, so dass ich da pi mal Daumen etwas eingefügt habe.

Elektrolurch
configDB und Windows befreite Zone!

Helmi55

Servus Elektrolurch
so hab jetzt, wie von dir empfohlen einmal auf 5 gesetzt
So siehts jetzt aus im Logfile
2015.09.20 17:59:47 3: EMONITOR_Statistik: tmpdevices abgearbeitet
2015.09.20 17:59:47 3: EMONITOR_Statistiks (end): Calc next call - found 4 devices 47 59 17 20 8 115 0 262 1
2015.09.20 17:59:52 3: EMONITOR_Statistik: tmpdevices abgearbeitet
2015.09.20 17:59:52 3: EMONITOR_Statistiks (end): Calc next call - found 4 devices 47 59 18 20 8 115 0 262 1

und 1 Stunde später bei 2
2015.09.20 18:59:47 3: EMONITOR_Statistik: tmpdevices abgearbeitet
2015.09.20 18:59:47 3: EMONITOR_Statistiks (end): Calc next call - found 4 devices 50 59 18 20 8 115 0 262 1
2015.09.20 18:59:54 3: EMONITOR_Statistik: tmpdevices abgearbeitet
2015.09.20 18:59:54 3: EMONITOR_Statistiks (end): Calc next call - found 4 devices 50 59 19 20 8 115 0 262 1


Was mir auch aufgefallen ist: nach jedem FHEM restart kommt diese Meldung:
2015.09.20 18:01:58 3: EMONITOR_InitSingle: found new Gartenbeleuchtung with type FS20
2015.09.20 18:01:58 3: EMONITOR_InitSingle: found new Poolbeleuchtung with type FS20
2015.09.20 18:01:58 3: EMONITOR_InitSingle: found new TEST_IT with type IT
2015.09.20 18:01:58 3: EMONITOR_InitSingle: found new Test_FS20 with type FS20
2015.09.20 18:01:58 3: EMONITOR_Init2: found 4 devices


Was kann ich noch versuchen
Danke für die Hilfe

LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Hi
Jetzt um 20:59 waren es nur noch zwei Zeilen im Logfile

Nice Eve

System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Elektrolurch

Hallo Helmut,

my $nexttime = EMONITOR_GetNextHour($devcount * 2) - ($devcount *2)  - 10;

Ich berechne quasi im Sekundentakt die Daten für ein device. Durch die redingsBulkUpdates braucht fhem relativ  lange, so dass das zeitweilig länger als 1 Sekunde je device auf meiner fb dauerte. Daher oben die Multipikation mit der * 2.
Du kannst die ja mal herausnehmen, dann beginnt das Update der Werte kürzer vor der vollen Stunde.
Ich ziehe demnächst auf einen Cubietruck um, da muss ich mir das mit der benötigten Zeit eh noch Mal genauer überlegen....

Die Meldungen beim Neustart:

Wenn der EM sich initalisiert,  so wird nach Laden aller devices über den Bau der Objekte nachgesehen, ob es da Objekte vom in dem Attribut hinterlegten Typen gibt und die werden mit den entsprechenden Startwerten initialisiert.
Daher die Meldung aus der InitSingle - Sub.
verbose auf 2 setzen, dann sind die weg.
Log3($name,3,"EMONITOR_InitSingle: found new $dname with type $d->{TYPE}");


Elektrolurch
configDB und Windows befreite Zone!

Helmi55

Guten Abend,
Elektrolurch, herzlichen Dank für deine genaue Beschreibung.
So bringst du auch für einen Anfänger wie mich etwas Übersicht in die Materie.
LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

raspklaus

Ich habe insgesamt 7 DECT200 im Einsatz. Alle haben den gleichen Firmwarestand. Alle sind an der gleichen Fritzbox angeschlossen.
Alle 7 werden auch im Reading EMDevices aufgelistet, aber auf der Weboberfläche erscheinen nur 5.
Wie ist das möglich ?

Und nochmals meine Frage:

Wie kann der OWL USB mit eingebunden werden ?


kasslerks

Hallo

Bin gerade am Testen.
Meine beiden HM energy Steckdosen werden vom Programm gefunden aber leider kann ich bei keinem anderem device das attribute "power-on" hinzufügen.
Bekomme immer die Meldung "TR.Heizung: unknown attribute power-on. Type 'attr TR.Heizung ?' for a detailed list."

mrbreil

Finde dieses modul echt klasse ist genau was ich gesucht habe.
ABER damit bringe ich das komplette fhem zum abstürzen.
Undefined subroutine &main::RefreshScreen called at ./FHEM/99_myUtilsEMONITOR.pm line 1148.
Habe ich was falsch gemacht?