FHEM Forum

FHEM - Hausautomations-Systeme => 1Wire => Thema gestartet von: Bartimaus am 10 Oktober 2015, 18:33:44

Titel: OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 10 Oktober 2015, 18:33:44
Hallo Zusammen,


ich habe gem. WIKI (http://www.fhemwiki.de/wiki/OWCOUNT) meinen DS2434 eingerichtet. Es läuft soweit ganz gut, das tägliche Logfile wird gefüttert, Plots funktionieren auch.


Lediglich das Monatslog wird nicht gefüllt. Dabei habe ich ich an die Anleitung gehalten.


Hier ein List des Logfiles:



Internals:    CFGFN
DEF        ./log/1wire_Strom_GesamtM-%Y-%m.log 1wire_Strom_Gesamt.*day.*
NAME       1wire_Strom_GesamtM.FL
NR         3404
NTFY_ORDER 50-1wire_Strom_GesamtM.FL
REGEXP     1wire_Strom_Gesamt.*day.*
STATE      active
TYPE       FileLog
currentlogfile ./log/1wire_Strom_GesamtM-2015-10.log
logfile    ./log/1wire_Strom_GesamtM-%Y-%m.log
Attributes: archivedir ./media/backup/
logtype    text
nrarchive  3 
room       Strom



Und hier das List vom Device:


Internals:
ALARM      1
ASYNC      1
DEF        1D.80950F000000
INTERVAL   300
IODev      1wire
NAME       1wire_Strom_Gesamt
NOTIFYDEV  global
NR         906
NTFY_ORDER 50-1wire_Strom_Gesamt
NUMTASKS   0
OW_FAMILY  1D OW_ID      80950F000000
PRESENT    1
ROM_ID     1D.80950F000000.D6
STATE      E-Energy: 7.965 kWh E-Power: 0.612 kW B: 27.00 cts B_rate:  0.00 cts/h
TYPE       OWCOUNT
Readings:
2015-10-10 18:23:16   B               27 2015-10-10 18:23:16
   B_rate          0 2015-10-10 18:23:16
   E-Energy        7.965 2015-10-10 18:23:16
   E-Power         0.612 2015-10-07 18:56:06
   alarm           1 2015-10-09 23:57:50
   day             D09  E-Energy: 20.46 kWh E-EnergyM: 57.60 kWh  B: 27.00 cts BM: 27.00 cts 2015-10-07 19:00:58
   present         1 2015-10-10 18:23:16
   state           E-Energy: 7.965 kWh E-Power: 0.612 kW B: 27.00 cts B_rate:  0.00 cts/h owg_midnight: 74.06 27 owg_str:
OWCOUNT 5.27idnight   16.44�� 2015-10-09 midnight   74.06�� 2015-10-09 midnight   27.00�� owg_val: 81805 27
Attributes:
AFactor    0.001
AMode      daily
AName      E-Energy|energy
AOffset    220.0
APeriod    hour
ARate      E-Power|power
AUnit      kWh|kWh
IODev      1wire
LogM       1wire_Strom_GesamtM.FL
LogY       1wire_Strom_GesamtY.FL
event-on-change-reading state
model      DS2423 
room       Strom



Seht Ihr den Fehler den ich nicht sehe ?
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Prof. Dr. Peter Henning am 11 Oktober 2015, 14:38:25
Ich würde als Regexp nehmen:

1wire_Strom_Gesamt.*day.*D.*

sonst kommt eher zuviel ins Logfile. Allerdings ist das kein Fehler, der zuwenig ins Logfile schreibt....

Ist das wirklich leer, oder steht da etwas Anderes drin ?

LG

pah
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 11 Oktober 2015, 18:56:16
Danke für den Tip.
Da steht wirklich nichts drin. Aber auch im Tageslog müsste doch gegen Ende des Tages die Zusammenfassung des Tages auftauchen, oder ? Die ist da nämlich auch nicht drin, also kann auch Regexp nix rausfiltern.


Ich werde die Log-Devices löschen, und neu anlegen. Mal sehen wie es dann aussieht.
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 11 Oktober 2015, 20:26:19
Dies ist die Definition des Tageslog:


./log/1wire_Strom_Gesamt-%Y-%m-%d.log 1wire_Strom_Gesamt.*E-Energy.*E-Power.*


Dies ist das Ergebnis:


2015-10-11_20:15:29 1wire_Strom_Gesamt E-Energy: 8.708 kWh E-Power: 0.669 kW B: 27.00 cts B_rate:  0.00 cts/h


Counter B ist nicht angeschlossen, und habe ich doch per Regexp "ausgeschlossen. Wieso wird es dennoch geloggt ?  Oder habe ich das Regexp noch nicht verstanden ?  :-[


LG
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 12 Oktober 2015, 16:08:52
Hallo,


gestern Abend wurde das Monatslog korrekt befüllt.
Wenn das heute Abend wieder passiert, wovon ich ausgehe, setze ich das Thema auf "gelöst".


Ach ja, um die Frage zu beantworten: Das Log war komplett leer....
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Prof. Dr. Peter Henning am 12 Oktober 2015, 19:52:20
In solchen Fällen hilft ein "reopen" im Logdevice.

LG

pah
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 12 Oktober 2015, 20:24:01
Hallo,


Danke. Was bewirkt das genau ? (Außer der wörtlichen Übersetzung) ::)


LG
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Prof. Dr. Peter Henning am 13 Oktober 2015, 07:17:04
Die Schreibroutinen von Perl können nur auf Dateien schreiben, die geöffnet sind. Wenn eine andere Anwendung (z.B. ein Editor) diese für sich reklamiert hatte, geht das manchmal schief. => reopen.

LG pah
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 13 Oktober 2015, 09:47:45
Moin,


aha, alles klar. Merci.


Mal was anderes, wieviele Devices hängen bei Dir maximal an einem 1wire-Bus ?
Bei mir knapp 40. Läuft zwar störungsfrei, aber ich frage mich ob nicht langsam die Grenze erreicht ist. (Abfrageintervalle, Antwortzeiten etc). Stromversorgung übernimmt ein aktiver USB-Hub mit 1200mA am Port.


LG
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Prof. Dr. Peter Henning am 13 Oktober 2015, 15:10:25
Ich habe 6 1-Wire-Bussysteme... 4x USB (alle an einem Raspberry Pi 2), einmal Ethernet, einmal WLAN.

Tipp: Stromversorgung _hinter_ dem 1-Wire Busmaster auf den Bus geben.

LG

pah

Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 14 Oktober 2015, 14:13:24
Danke für den Tip.


Sorry, noch ne weitere Frage:


Das Jahreslog wird nicht gefüllt. Geschieht das monatsweise am MonatsEnde ?


Weil diese Fehlermeldung habe ich im allgemeinen LogFile:



2015.10.13 23:55:42 3: OWCOUNT: No yearly summary possible, invalid logfile format in LogY
2015.10.13 23:55:45 1: PERL WARNING: Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 7440, <OWXFILE> line 40.



Für das jährliche Logfile habe ich als Attribut "text" gewählt. Reopen hatte ich gestern nachmittag schon gemacht.


Hier das List:



Internals:
CFGFN
DEF        ./log/1wire_Strom_GesamtY-%Y.log 1wire_Strom_Gesamt.*month.*
NAME       1wire_Strom_GesamtY.FL
NR         9468
NTFY_ORDER 50-1wire_Strom_GesamtY.FL
REGEXP     1wire_Strom_Gesamt.*month.*
STATE      active
TYPE       FileLog
currentlogfile ./log/1wire_Strom_GesamtY-2015.log
logfile    ./log/1wire_Strom_GesamtY-%Y.log
Attributes:
archivedir ./media/backup
logtype    text
nrarchive  3
room       StromLog
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Prof. Dr. Peter Henning am 14 Oktober 2015, 18:00:22
Zitat
Das Jahreslog wird nicht gefüllt. Geschieht das monatsweise am MonatsEnde ?

Ja. Und natürlich kann die Jahressumme ohne vorhandene Einträge nicht errechnet werden.

LG

pah
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 14 Oktober 2015, 19:10:56
Ok, dachte ich mir.
Lediglich der FehlerEintrag in Log hatte mich irritiert.
Titel: Antw:OWCOUNT Monatslog wird nicht mehr gefüllt
Beitrag von: Bartimaus am 02 Mai 2016, 09:22:56
Guten Morgen,

ich muss das mal wieder hochholen. Zum Monatswechsel wurde das Monatslog (05) nicht mehr gefüllt. Tageslog + Jahreslog wurden korrekt gefüllt.
Bislang wurde das Monatslog korrekt gefüllt. Mitte April habe die OWCOUNT auf Version 6.01 aktualisiert. Die Definition des Devices oder deren Attribute wurden nicht geändert.

So lautet die unveränderte Def: ./log/1wire_Strom_GesamtM-%Y-%m.log 1wire_Strom_Gesamt.*day.*D.*

Hier ein List des Devices:

Internals:
   ALARM      1
   ASYNC      1
   DEF        1D.80950F000000
   INTERVAL   300
   IODev      1wire
   NAME       1wire_Strom_Gesamt
   NOTIFYDEV  global
   NR         934
   NTFY_ORDER 50-1wire_Strom_Gesamt
   NUMTASKS   0
   OW_FAMILY  1D
   OW_ID      80950F000000
   PRESENT    1
   ROM_ID     1D.80950F000000.D6
   STATE      energy: 20.823  kWh power: 0.228  kW energy: 2.590  kWh power: 0.024  kW
   TYPE       OWCOUNT
   Readings:
     2016-05-02 09:10:18   E-Energy        20.823
     2016-05-02 09:10:18   E-Power         0.228
     2016-05-02 09:10:18   Hz-Energy       2.59
     2016-05-02 09:10:18   Hz-Power        0.024
     2016-05-02 09:10:18   Stromkosten     4.3998999
     2016-05-02 09:09:54   alarm           1
     2016-04-30 23:55:36   day             D30  E-Energy: 11.79  kWh E-EnergyM: 375.99  kWh  Hz-Energy:  2.42  kWh Hz-EnergyM: 55.99  kWh
     2016-04-30 23:55:36   month           M04  E-EnergyM: 375.99  kWh E-EnergyY: 1570.32  kWh Hz-EnergyM: 55.99  kWh Hz-EnergyY: 275.96  kWh
     2016-05-02 09:09:45   present         1
     
   Helper:
     
   owg_midnight:
     2809.71
     411.96
   owg_str:
     2016-04-30 midnight 2809.71
     2016-04-30 midnight  411.96
   owg_val:
     2830313
     414929
Attributes:
   AFactor    0.001
   AMode      daily
   AName      E-Energy|energy
   AOffset    220.0
   APeriod    hour
   ARate      E-Power|power
   AUnit      kWh
   BFactor    0.001
   BMode      daily
   BName      Hz-Energy|energy
   BOffset    -379
   BPeriod    hour
   BRate      Hz-Power|power
   BUnit      kWh
   IODev      1wire
   LogM       1wire_Strom_GesamtM.FL
   LogY       1wire_Strom_GesamtY.FL
   model      DS2423eold
   nomemory   1


Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Prof. Dr. Peter Henning am 02 Mai 2016, 10:08:03
Ich schaus mir an - bei mir wurde es auch nicht befüllt :-((

LG

pah
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 02 Mai 2016, 10:11:15
Danke für die Rückmeldung. Mag er nicht ins leere Log schreiben so wie das Anfang des Jahres beim Jahreslog auch der Fall war ?

Edith: Heute der Wurm drin

Genullt hat er um Mitternacht auch nicht...  :'(

FHEM-Log:
2016.05.02 10:20:18.368 1: device 1wire_Strom_Gesamt returns invalid data 255 255 255 2550x20
2016.05.02 10:20:17.942 1: device 1wire_Strom_Gesamt returns invalid data 255 255 255 2550x20


Device-Log
2016-05-02_10:25:18 1wire_Strom_Gesamt Hz-Power: -51533841.3239
2016-05-02_10:25:18 1wire_Strom_Gesamt Hz-Energy: 2.643
2016-05-02_10:25:18 1wire_Strom_Gesamt E-Power: -51504853.3559
2016-05-02_10:25:18 1wire_Strom_Gesamt E-Energy: 21.156
2016-05-02_10:20:18 1wire_Strom_Gesamt Hz-Power: 51534627.804
2016-05-02_10:20:18 1wire_Strom_Gesamt Hz-Energy: 4294554.956
2016-05-02_10:20:18 1wire_Strom_Gesamt E-Power: 51505640.376
2016-05-02_10:20:18 1wire_Strom_Gesamt E-Energy: 4292157.805



Hat hier die Hard oder Software gezickt ?

Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 03 Mai 2016, 09:59:43
Kurzer Zwischenstand:

Log wurde heute Nacht gefüllt (D02), nachdem ich gestern händisch den Wert für D01 ins leere Log eingetragen haben.

Aber: Die Mitternachswerte wurden trotz (AMode=daily;BMode=daily) NICHT gelöscht.
Habe jetzt mal die Attribute AMode+BMode nochmal auf daily gesetzt und gespeichert. Vielleicht bringt es ja was
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Prof. Dr. Peter Henning am 03 Mai 2016, 13:07:36
Nö, ich nehme alles zurück - bei mir wurde alles korrekt befüllt. Und zwar sowohl für Wasser, als auch für Gas - beide laufen jeweils über einen DS2423. Ergebnis des Logging:

In der Datei  GasM-2016-04.log:
2016-04-29_23:58:42 G.Verb day: D29  energy:  4.86  m³ energyM: 113.16  m³  meter: 1750.75  m³ meterM: 1750.74  m³
2016-04-30_23:55:03 G.Verb day: D30  energy:  2.49  m³ energyM: 115.65  m³  meter: 1753.23  m³ meterM: 1753.23  m³

In der Datei GasM-2016-05.log:
2016-05-01_23:58:03 G.Verb day: D01  energy:  0.78  m³ energyM:  0.78  m³  meter: 1754.01  m³ meterM:  1754.01  m³
2016-05-02_23:55:49 G.Verb day: D02  energy:  0.38  m³ energyM:  1.16  m³  meter: 1754.39  m³ meterM: 1754.39  m³

In der Datei GasY-2016.log
2016-01-31_23:59:46 G.Verb month: M01  energyM: 273.3 m³ energyY: 273.3 m³ meterM: 2159.38 cts meterY: 2159.38 cts
2016-02-29_23:56:11 G.Verb month: M02  energyM: 237.64 m³ energyY: 510.94 m³ meterM: 2397.04 m³ meterY: 4556.42 m³
2016-03-31_23:55:01 G.Verb month: M03  energyM: 223.44  m³ energyY: 734.38  m³ meterM: 1637.57  m³ meterY: 1637.57  m³
2016-04-30_23:55:03 G.Verb month: M04  energyM: 115.65  m³ energyY: 850.03  m³ meterM: 1753.23  m³ meterY: 1753.23  m³

Meine Vermutung ist, dass bei deinen regulären Ausdrücken für die Logfiles etwas nicht stimmt.

Also spaßeshalber mal meine im Detail

Definition des Counters


efine G.Verb OWCOUNT DS2423 CE780F000000
attr G.Verb userattr costperm3
attr G.Verb AFactor 0.01
attr G.Verb AMode daily
attr G.Verb AName energy
attr G.Verb APeriod hour
attr G.Verb ARate power
attr G.Verb AUnit m³
attr G.Verb BFactor 0.01
attr G.Verb BName meter
attr G.Verb BOffset 152099.4
attr G.Verb BRate rate
attr G.Verb BUnit m³
attr G.Verb IODev OWX_UG2
attr G.Verb LogM GasM
attr G.Verb LogY GasY
attr G.Verb comment <embed src='fhem/SVGX_widget?type=bar&subtype=red&size=200x120&p1=energy&s1=20 m³&p2=power&s2=1 m³/h&p3=GV'/>
attr G.Verb costperm3 0.68678
attr G.Verb group consumableSensor
attr G.Verb model DS2423
attr G.Verb nomemory 0
attr G.Verb room Energie
attr G.Verb stateFormat <embed src='fhem/SVGX_widget?type=bar&subtype=red&size=200x120&p1=energy&s1=20 m³&p2=power&s2=1 m³/h&p3=GV'/>
attr G.Verb userReadings vol {ReadingsVal("G.Verb","energy",0)},cost:energy.* {AttrVal("G.Verb", "costperm3", 0)*ReadingsVal("G.Verb","energy",0)},power.av {movingAverage("G.Verb","power",1800)}


Wichtig dabei sind die Attribute LogM und LogY - ansonsten führt das Modul keine Summenbildung durch. Kann man dann zwar immer noch machen lassen, durch irgendein externes Programm - ist aber so einfacher.

Und die Definition der Logfiles muss natürlich genau diese DeviceNamen verwenden:

define GasD FileLog /home/fhem/fhemlogs/GasD-%Y-%m-%d.log G.Verb:energy.*power.*
attr GasD archivedir /home/fhemnas/fhemarchive
attr GasD nrarchive 0
attr GasD room Logs

define GasM FileLog /home/fhem/fhemlogs/GasM-%Y-%m.log  G.Verb.*day.*D.*
attr GasM archivedir /home/fhemnas/fhemarchive
attr GasM nrarchive 0
attr GasM room Logs

define GasY FileLog /home/fhem/fhemlogs/GasY-%Y.log  G.Verb.*month.*
attr GasY archivedir /home/fhemnas/fhemarchive
attr GasY nrarchive 0
attr GasY room Logs


Ich bin ja gerne bereit, irgendwelche Dinge zu ändern - aber dazu muss ich sie nachstellen können.

LG

pah
Titel: Antw:OWCOUNT Monatslog wird nicht gefüllt
Beitrag von: Bartimaus am 03 Mai 2016, 13:45:51
Zitat von: Prof. Dr. Peter Henning am 03 Mai 2016, 13:07:36
Meine Vermutung ist, dass bei deinen regulären Ausdrücken für die Logfiles etwas nicht stimmt.

LG

pah


Hm, irgendwann hatte ich mal ein leeres TagesLog, und dann habe ich die Regexp so geändert, das es wieder gefüllt wurde. Das hat bis dato dann auch funktioniert. Jetzt habe ich die Regexp wieder zurückgedreht, so wie Du es auch hast.
Erstmal danke für den Hinweis.