Guten Abend,
Wenn ich Namen für AName und BName setzte und die Counter abfrage, dann bekomme ich folgende Fehlermeldung:
OWCOUNT: Could not get values from device DualCounter, reason: OWCOUNT: Could not get values from device DualCounter, reason: no return from OWServer for counter.Test
und es werden dann auch keine Einträge in das Tageslog geschrieben, sondern erst wieder wenn ich das Attribut BName/AName lösche.
Hier im Forum habe ich eine Aussage von Prof. Dr. Henning dazu gefunden. (http://forum.fhem.de/index.php/topic,27932.msg208690.html#msg208690 (http://forum.fhem.de/index.php/topic,27932.msg208690.html#msg208690)) Ansonsten keine weiteren Hinweise, weder im Forum noch im Netz.
Des weiteren fehlt in meinem Tageslog die Tagessumme gegen Mitternacht. Also kann ich auch nichts mit .*day.* filtern.
Die letzte Eintragung im Tageslog sieht immer so aus:
2015-10-15_23:59:52 DualCounter A: 6.310 m³ Volumenstrom: 0.000 m³/h B: 1305.00 cts B_rate: 0.00 cts/h
Ich benutzte die Fhem Version 5.6 auf einem Raspberry Pi und ein 'update' in Fhem habe ich auch gemacht.
Auch auf dem Pi habe ich alles mit apt-get update/upgrade auf den neuesten Stand gebracht.
Habe alles im Forum zu OWCOUNT gelesen und bin aber auf keine Lösung gestoßen. Wo könnte ich jetzt noch suchen?
Wahrscheinlich ist es ein Anfängerfehler oder ich hab irgendwo etwas übersehen, aber ich finde einfach nicht die Ursache.
Meine Konfiguration sieht so aus:
define DualCounter OWCOUNT 1D.32C70D000000 60
attr DualCounter AFactor 0.01
attr DualCounter AMode daily
attr DualCounter AOffset -286325748
attr DualCounter APeriod hour
attr DualCounter ARate Volumen|Volumenstrom
attr DualCounter AUnit Kubikmeter|m³
attr DualCounter IODev 1wire
attr DualCounter LogM Logger_Month
attr DualCounter LogY Logger_Year
attr DualCounter alias Zähler
attr DualCounter model DS2423
attr DualCounter room Gaszähler
Das Tageslog:
define Logger_Day FileLog /opt/fhem/log/Gasverbrauch-%Y-%m-%d.log DualCounter.*A.*Volumenstrom.*
attr Logger_Day logtype text
attr Logger_Day room Gaszähler
Das Monatlog:
define Logger_Month FileLog /opt/fhem/log/Gasverbrauch-%Y-%m.log DualCounter:*day.*
attr Logger_Month logtype text
attr Logger_Month room Gaszähler
Das Jahreslog:
define Logger_Year FileLog /opt/fhem/log/Gasverbrauch-%Y.log DualCounter:month.*
attr Logger_Year logtype text
attr Logger_Year room Gaszähler
Viele Grüße
Burkhard
Na sieh mal einer an, ein echter Bug, gratuliere.
Hier fragt das OWCOUNT-Modul den OWServer nicht mit den festen Kanalnamen ab, die dieser kennt - sondern versucht es mit den eigenen Definitionen.
Das ist in der anliegenden Datei behoben. Ich komme aber nicht zum Testen, darum bitte erst ausprobieren - dann werde ich es ins Repository hochladen.
LG
pah
Moin,
das Abholen der Werte vom OWServer klappt jetzt. Die Summe gegen Mitternacht wird noch nicht ins Tageslog geschrieben.
Letzte Zeile im Tageslog:
2015-10-17_23:59:27 DualCounter Gasverbrauch: 5.770 m³ Volumenstrom: 0.000 m³/h B: 1305.00 cts B_rate: 0.00 cts/h
Auszug aus dem Hauptlog:
2015.10.17 23:58:27 5: Gasverbrauch: 5.770 m³ Volumenstrom: 0.000 m³/h B: 1305.00 cts B_rate: 0.00 cts/h
2015.10.17 23:59:27 3: OWCOUNT: No monthly summary possible, invalid logfile format in LogM for device DualCounter
2015.10.17 23:59:27 3: OWCOUNT: No yearly summary possible, invalid logfile format in LogY for device DualCounter
Gruß
Burkhard
Tja, dann steht wohl irgendein Müll in den Dateien. Das ist aber kein Problem des OWCOUNT-Moduls.
LG
pah
Die Dateien des Monats- und Jahreslog sind leer. Wenn ich es richtig verstanden habe, kann die Monatsdatei nicht gefüllt werden wenn im Tageslog die Zusammenfassung gegen Mitternacht nicht vorhanden ist.
Genau diese Zeile (mit dem Wort 'day') fehlt aber im Tageslog.
Leider weiss ich nicht warum und wo ich da noch suchen soll. Bin für jeden Tip dankbar und werde ihm nachgehen.
Gruß
Burkhard
Unsinn - im Tageslog gibt es keine Zusammenfassung.
Sondern kurz vor Mitternacht wird ein Event ausgelöst mit der Tagessumme - der muss natürlich durch eine FileLog-Definition abgefangen und in die Datei für das Monatslog geschrieben werden.
Und kurz vor Mitternacht am Monatsletzten wird ein Event ausgelöst mit der Monatssumme - der muss ebenfalls durch eine FileLog-Definition abgefangen und in die Datei für das Jahreslog geschrieben werden.
Beispiele:
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/fharchiemnas/fhemarchive
attr GasY nrarchive 0
attr GasY room Logs
LG
pah
Das FileLog für den Monat *hab* ich ja so definiert!
define Logger_Month FileLog /opt/fhem/log/Gasverbrauch-%Y-%m.log DualCounter:*day.*
attr Logger_Month logtype text
attr Logger_Month room Gaszähler
Laut Regex-Tester im Internet müsste es auch funktionieren.
Die Sache mit dem Eintrag des Mitternachtswerts hab ich hier gelesen und angenommen das sei so richtig.
http://forum.fhem.de/index.php/topic,42051.msg342996.html#msg342996 (http://forum.fhem.de/index.php/topic,42051.msg342996.html#msg342996)
Gruß
Burkhard
Guten Morgen,
Ein Eintrag im Monatslog hat es wieder nicht gegeben.
Wie kann ich überprüfen ob das Event um Mitternacht ausgelöst wird. Der Event-Monitor hat ein solches Event nicht angezeigt.
Gruß
Burkhard
Bei den Readings in der normalen FHEM-Device-Ansicht des Counters muss es ein reading mit dem Namen "day" geben.
LG
pah
Genau dieses readingsmit dem Namen 'day' fehlt bei mir.
Gruß
Burkhard
Das liegt daran, dass immer noch Müll in der Logdatei steht => No monthly summary possible, also kein Mitternachtsevent.
Noch mal: Diese Dateien enthalten irgendetwas, sind aber nicht leer !
LG
pah
Hier mal alle drei Dateien. Tageslog ist gefüllt, Monats- und Jahreslog sind leer, 0 Bytes.
Guten Morgen,
heute gab es ebenfalls keinen Eintrag im Monatslog. Wo, oder wie könnte ich weitersuchen?
Gruß
Burkhard
Ich lese hier seitenweise Posts von Definitionen und Filelogs - aber keinen Auszug aus dem FHEM-Log.....
Ab Zeile 580 in OWCOUNT steht aber ganz klar, dass es eine Fehlermeldung geben müsste:
#-- daybreak postprocessing
if( $daybreak == 1 ){
#-- daily/monthly accumulated value
@monthv = OWCOUNT_GetMonth($hash);
@yearv = OWCOUNT_GetYear($hash);
#-- put in monthly and yearly sums
if( int(@monthv) == 2 ){
$total0 = $monthv[0]->[1];
$total1 = $monthv[1]->[1];
$dvalue = sprintf("D%02d ",$day).$dvalue;
$dvalue = sprintf($dvalue,$total0,$total1);
readingsBulkUpdate($hash,"day",$dvalue);
}else{
Log3 $name,3,"OWCOUNT: No monthly summary possible, ".$monthv[0]." for device $name";
$total0 = 0;
$total1 = 0;
};
Man kann das auch manuell aufrufen: Was liefert die Eingabe von
{OWCOUNT_GetMonth($defs{"DualCounter"})}
??
LG
pah
Guten Tag,
vom Programmieren verstehe ich leider nichts.
Die Ausgabe von {OWCOUNT_GetMonth($defs{"DualCounter"})}
ergibt: invalid logfile format in LogM
Die Zeilen im fhemlog um Mitternacht habe ich weiter oben schon einmal geschrieben.
Hier nochmal ein Auszug:
2015.10.19 23:57:33 5: Gasverbrauch: 5.520 m³ Volumenstrom: 0.000 m³/h B: 1355.00 cts B_rate: 0.00 cts/h
2015.10.19 23:58:33 5: Gasverbrauch: 5.520 m³ Volumenstrom: 0.000 m³/h B: 1355.00 cts B_rate: 0.00 cts/h
2015.10.19 23:59:33 3: OWCOUNT: No monthly summary possible, invalid logfile format in LogM for device DualCounter
2015.10.19 23:59:33 3: OWCOUNT: No yearly summary possible, invalid logfile format in LogY for device DualCounter
2015.10.19 23:59:33 5: Gasverbrauch: 5.520 m³ Volumenstrom: 0.000 m³/h B: 1355.00 cts B_rate: 0.00 cts/h
2015.10.20 00:00:33 5: Gasverbrauch: 0.000 m³ Volumenstrom: 0.000 m³/h B: 1355.00 cts B_rate: 0.00 cts/h
Bei der Fehlermeldung habe ich angenommen sie erscheint weil die Logs für den Monat und das Jahr leer sind.
Ich habe es so verstanden, dass erst das reading mit dem Wort 'day' erzeugt werden muss um überhaupt etwas in das Monatslog zu bekommen.
Aber dieses reading fehlt bei mir aus irgendeinem Grund, oder ich habe etwas missverstanden.
Gruß
Burkhard
Hallo,
ich habe einfach mal eine Zeile mit Daten (aus dem Wiki) in die *leere* Logdatei für den Monat kopiert.
2014-01-09_23:59:42 DualCounter day: D09 GPunkte: 49.0 cts GPunktem: 49.0 cts E-Energy: 21.6 kWh E-Energym: 21.60 kWh
Daraufhin hatte ich auch um Mitternacht einen Eintrag.
2015-10-20_23:59:32 DualCounter day: D20 Gas: 6.69 m³ GasM: 55.69 m³ B: 1355.00 cts BM: 1355.00 cts
OWCOUNT scheint keine leeren Dateien zu mögen..., jedenfalls in meinem Fall nicht.
Mich würde mal interessieren was hinter dieser Bedingung im Qellcode von OWCOUNTsteckt...
if( int(@monthv) == 2 )
denn das scheint der Schlüssel zu diesem Verhalten zu sein.
Gruß
Burkhard
Hallo,
wieso steht im Log vom November beim ersten Tag '...GasM: 91.49 m³...'?
Das ist die Summe vom Oktober plus 3.63 m³. Müsste das nicht wieder mit 3.63 m³ anfangen?
2015-11-01_23:59:37 DualCounter day: D01 Gas: 3.63 m³ GasM: 91.49 m³ B: 1360.00 cts BM: 1360.00 cts
2015-11-02_23:59:37 DualCounter day: D02 Gas: 3.66 m³ GasM: 7.29 m³ B: 1360.00 cts BM: 1360.00 cts
Gruß
Burkhard
Ja, das ist ein Bug im aktuellen Release, den ich schon behoben habe. Ist aber noch nicht eingecheckt.
Hat auch keinen negativen Einfluss auf die Summenbildung: 3.63 + 3.66 = 7.29
LG
pah
Hallo ich habe ein Update gemacht und seitdem sieht mein log so aus
2015-12-02_16:59:43 Strom_A1 E-Power: 0.4376
Vor dem Update war es so
2015-12-01_23:30:56 Strom_A1 E-Energy: 1.6352
2015-12-01_23:30:56 Strom_A1 E-Energy: 1.635 kWh E-Power: 0.1395 kW B: 50729.0 cts B_rate: 0.00 cts/h
Meine Config
define Strom_A1 OWCOUNT DS2423eold EEA00D000000 480
attr Strom_A1 AFactor 0.00266
attr Strom_A1 AMode daily
attr Strom_A1 AName E-Energy|energy
attr Strom_A1 ARate E-Power|power
attr Strom_A1 AUnit kWh|kWh
attr Strom_A1 IODev OW
attr Strom_A1 LogM StromM
attr Strom_A1 LogY StromY
attr Strom_A1 fp_Grundriss 160,780,1,Stromverbrauch
attr Strom_A1 model DS2423eold
attr Strom_A1 nomemory 1
attr Strom_A1 room Stromverbrauch
attr Strom_A1 stateFormat { sprintf("%.1f kWh %.3f kWh", ReadingsVal("Strom_A1","E-Energy","kwh"), ReadingsVal("Strom_A1","E-Power","kwh"));; }
#Strom-Tag
define StromD FileLog ./log/Strom/Strom-%Y-%m-%d.log Strom_A1:E-Power.*E-Energy.*
attr StromD archivedir ./log
attr StromD nrarchive 0
attr StromD room Logsb
wenn ich so Logge
define StromD FileLog ./log/Strom/Strom-%Y-%m-%d.log Strom_A1:E-Energy.*E-Power.*
ist das ergebnis
2015-12-02_16:59:43 Strom_A1 E-Power: 0.4376
und so wird garnichts gelogt
define StromD FileLog ./log/Strom/Strom-%Y-%m-%d.log Strom_A1:E-Power.*E-Energy.*
Kann mir da jemand weiter helfen Bitte
Gruß
Martin
Seit dem 18.10. wurde an OWCOUNT nichts geändert, und diese Änderung kann für einen solchen Fehler nicht verantwortlich sein.
Zitat
wenn ich so Logge
define StromD FileLog ./log/Strom/Strom-%Y-%m-%d.log Strom_A1:E-Energy.*E-Power.*
ist das ergebnis
2015-12-02_16:59:43 Strom_A1 E-Power: 0.4376
Das kann nicht stimmen, denn der geloggte String enthält die Zeichen "E-Energy"
nichtZitat
und so wird garnichts gelogt
define StromD FileLog ./log/Strom/Strom-%Y-%m-%d.log Strom_A1:E-Power.*E-Energy.*
Das wundert mich nicht, weil die Reihenfolge "E-Power.*E-Energy" nirgendwo auftaucht.
LG
pah
Ok ja ich habe jetzt auch erst ein Update gemacht das erste in diesem Jahr.
Frage wenn ich so Logge wird dann trotzdem der Tages gesamt verbrauch gelogt
#Gas-Tag
define GasD FileLog ./log/Gas/Gasverbrauch-%m-%Y.log Gas_B1:G-Power.*
attr GasD archivedir ./log
attr GasD nrarchive 0
attr GasD room Logsb
2015-12-02_19:24:21 Gas_B1 G-Power: 0.75
Gruß
Martin
Stimmt ja auch - es wird der String geloggt, der als erstes "G-power" enthält. Widerspricht aber dem nicht, was ich geschrieben habe.
LG
pah
Hallo,
ich habe drei S0-Counter am laufen:
H.U.ST.HK
H.U.ST.LL
H.U.ST.LV
Auszug aus der fhem.log:
2015.12.01 23:57:20 1: CDVS WAC Found 21 Device(s): open: 1, closed: 18, titled: 0, excluded: 2, unknown: 0
2015.12.01 23:57:29 1: OWCOUNT_store: H.U.ST.HK 2015-12-01 midnight 6053.79
2015.12.01 23:57:29 1: OWCOUNT_store: H.U.ST.HK 2015-12-01 midnight 5026.63
2015.12.01 23:57:34 3: OWCOUNT: No yearly summary possible, attribute LogY is missing for device H.U.ST.HK
2015.12.02 23:58:54 1: CDVS WAC Found 21 Device(s): open: 1, closed: 18, titled: 0, excluded: 2, unknown: 0
2015.12.02 23:58:59 1: OWCOUNT_store: H.U.ST.LL 2015-12-02 midnight 4141.38
2015.12.02 23:58:59 1: OWCOUNT_store: H.U.ST.LL 2015-12-02 midnight 1269.68
2015.12.02 23:59:05 3: OWCOUNT: No yearly summary possible, attribute LogY is missing for device H.U.ST.LL
2015.12.03 23:55:31 1: CDVS WAC Found 21 Device(s): open: 1, closed: 18, titled: 0, excluded: 2, unknown: 0
2015.12.03 23:55:37 1: OWCOUNT_store: H.U.ST.LL 2015-12-03 midnight 4147.69
2015.12.03 23:55:37 1: OWCOUNT_store: H.U.ST.LL 2015-12-03 midnight 1271.72
2015.12.03 23:55:42 3: OWCOUNT: No yearly summary possible, attribute LogY is missing for device H.U.ST.LL
2015.12.03 23:55:45 1: PERL WARNING: Use of uninitialized value $cmd in substitution (s///) at fhem.pl line 939, <OWXFILE> line 89248.
2015.12.03 23:55:45 1: PERL WARNING: Use of uninitialized value $cmd in eval "string" at fhem.pl line 974, <OWXFILE> line 89248.
2015.12.03 23:55:49 1: OWCOUNT_store: H.U.ST.LV 2015-12-03 midnight 722.34
2015.12.03 23:55:49 1: OWCOUNT_store: H.U.ST.LV 2015-12-03 midnight 571.47
2015.12.03 23:55:50 3: OWCOUNT: No monthly summary possible, invalid logfile format in LogM for device H.U.ST.LV
2015.12.03 23:55:50 3: OWCOUNT: No yearly summary possible, attribute LogY is missing for device H.U.ST.LV
2015.12.04 23:57:06 1: CDVS WAC Found 21 Device(s): open: 1, closed: 18, titled: 0, excluded: 2, unknown: 0
2015.12.04 23:57:12 1: OWCOUNT_store: H.U.ST.LV 2015-12-04 midnight 722.34
2015.12.04 23:57:12 1: OWCOUNT_store: H.U.ST.LV 2015-12-04 midnight 571.47
2015.12.04 23:57:14 3: OWCOUNT: No monthly summary possible, invalid logfile format in LogM for device H.U.ST.LV
2015.12.04 23:57:14 3: OWCOUNT: No yearly summary possible, attribute LogY is missing for device H.U.ST.LV
2015.12.04 23:57:15 1: PERL WARNING: Use of uninitialized value $cmd in substitution (s///) at fhem.pl line 939, <OWXFILE> line 93711.
2015.12.04 23:57:15 1: PERL WARNING: Use of uninitialized value $cmd in eval "string" at fhem.pl line 974, <OWXFILE> line 93711.
2015.12.04 23:57:17 1: OWCOUNT_store: H.U.ST.HK 2015-12-04 midnight 6070.81
2015.12.04 23:57:17 1: OWCOUNT_store: H.U.ST.HK 2015-12-04 midnight 5039.27
2015.12.04 23:57:22 3: OWCOUNT: No yearly summary possible, attribute LogY is missing for device H.U.ST.HK
Die aktuellen Readings sehen so aus:
H.U.ST.HK
day D04 Stromverbrauch: 17.02 kWk StromverbrauchM: 18783.39 kWk Stromverbrauch2: 12.64 kWk Stromverbrauch2M: 14292.66 kWk
H.U.ST.LL
day
D03 Stromverbrauch: 6.31 kWk StromverbrauchM: 8120.58 kWk Stromverbrauch2: 2.04 kWk Stromverbrauch2M: 4170.37 kWk
H.U.ST.LV
So wird aktuell nicht jeden Tag ein Tageslogwert erzeugt. Wenn ich mir meine Konfiguration in http://forum.fhem.de/index.php/topic,11487.msg67720.html#msg67720 (http://forum.fhem.de/index.php/topic,11487.msg67720.html#msg67720) anschaue und die aktuelle ist jetzt das model DS2423eold. Eigentlich sind meine Zähler noch mit DS2423 und sollten mit Speicher sein.
Ich setze mal zwei Zähler auf das Model DS2423 und werde mir das anschauen.
Hallo,
das Setzen des Model auf DS2423 hat dazu geführt, dass drei Tage alle drei Zähler mit einem Mitternachtswert im
fhem.log waren. Heute nacht hat wieder ein Zähler gefehlt.
Wie kann ich bei Suche helfen?