Hallo,
ich habe seit 1,5 Jahren ein automatisches Auslesen meines Digitalen Stromzählers mit FHEM am Laufen.
Hat ganz lange sehr gut funktioniert. Es gibt eine Readingsgroup Zaehlerwerte_ISKRA, unter der ich
2 Readings definiert habe: Counter_Current_ISKRA und start_day.
Jeden Tag um 10 Min nach Mitternacht wird der aktuelle Zaehlerstand gelesen, die Differenz zum
letzten Tag 10 Min nach Mitternacht gebildet (damit der Tagesverbrauch berechnet und weggeschrieben)
und der neue start_day gesetzt.
Nun habe ich seit dem 28.6.22 das Problem, dass dies einfach nicht mehr funktioniert. Die Datei mit
den Tageswerten (days_hist.js) wird nicht mehr vergrößert und auch das Reading start_day wird nicht upgedatet.
Hat jemand einen Tip an was das liegen kann ?
at *00:00:10 {
my $fileName_diff = "days_hist.js";
my $pathName = "/home/pi/elec/data";
my $fullname_diff = "$pathName/$fileName_diff";
my $last = ReadingsVal( "Zaehlerwerte_ISKRA", "start_day", 0);
my $val = ReadingsVal( "Zaehlerwerte_ISKRA", "counter_current_iskra", 0);
my $diff = sprintf("%i",($val - $last)*1000) ;
fhem ("setreading Zaehlerwerte_ISKRA start_day $val");
my $beginn = "da[dx++]=\"" ;
my $ende = "\"" ;
my $ts = POSIX::strftime("%d.%m.%y",localtime(time-60*60));
my $line = "$beginn$ts|$diff$ende";
my ($err, @content) = FileRead($fullname_diff);
push(@content, $line);
my $error = FileWrite($fullname_diff, @content);
}
Wie gesagt, das Ganze lief bis vor kurzem, Neustart etc. hat nichts gebracht. Ich hab auch schon
mal das Setreading über die FHEM Oberfläche eingegeben, das hat geklappt, aber am nächsten
Tag um 00:00:10 hat er wieder nichts gemacht. Also gehe ich davon aus, dass der AT gar nicht
aufgerufen wird.
Gruß
ThommyTheKid
Hi,
einfach einen Log Eintrag einbauen?
Ähnlich wie hier https://wiki.fhem.de/wiki/Notify#Anweisung
Gruß Otto
Um die Frage etwas präziser zu formulieren (weil ich mir in der Zwischenzeit recht sicher bin, dass AT nicht gerufen wird).
Was kann der Grund sein, dass das AT nicht mehr aufgerufen wird ? Bzw. wie kann ich es wieder zum Laufen bringen ?
Gruß
das at wird schon ausgeführt, Dein Code darin macht vielleicht nichts. Bau doch statt Deinem Code einfach mal einen Logeintrag ein, dann siehst das es ausgeführt wird.
Ansonsten könntest Du das at mit attr verbose 5 konfigurieren - habe ich bei einem at noch nie gemacht :)
Zitat von: thommythekid am 06 Juli 2022, 23:03:35
Jeden Tag um 10 Min nach Mitternacht wird
Aber nicht damit:
Zitat von: thommythekid am 06 Juli 2022, 23:03:35
at *00:00:10
Da steht nämlich nix von 10 Minuten.
Was steht im Log zum Ausführungszeitpunkt?
Hat der user fhem Schreibrechte im Verzeichnis /home/pi ?
Wann ein at zuletzt ausgeführt wurde, erkenne ich in meinem FHEM am timestamp des reading state.
--
ein manuelles "set my_at execNow" hilft beim testen wartezeiten zu verkürzen.