wie kann ich monitoren, ob ein AT ausgeführt wurde

Begonnen von thommythekid, 06 Juli 2022, 23:03:35

Vorheriges Thema - Nächstes Thema

thommythekid

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

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

thommythekid

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ß

Otto123

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 :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

#4
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.


--
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

frank

ein manuelles "set my_at execNow" hilft beim testen wartezeiten zu verkürzen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html