Codevorschlag: 00_SmartMeterP1.pm

Begonnen von elmoke, 24 Juli 2023, 16:58:33

Vorheriges Thema - Nächstes Thema

elmoke

Auf ein RPi mit FHEM Revision: 27790 und Perl v5.32.1 und beim Speichern von SmartmeterP1-Ergebnissen in einer Datenbank wird die folgende Fehlermeldung angezeigt:

Undefined subroutine &main::myStr2Date called at ./FHEM/00_SmartMeterP1.pm line 228
Es ist unklar, wo sich myStr2Date befindet oder wo es entfernt wurde.

Beim Debuggen des Moduls habe ich einige Datumsformate gefunden
2023.07.24 16:12:15 3: SmartMeterP1 date: 2023-07-24 16:12:30
2023.07.24 16:12:15 3: SmartMeterP1 telegramtime: 2023-07-24 16:12:30
2023.07.24 16:12:15 3: SmartMeterP1 obis: Mon Jul 24 16:12:29 2023
Mit der Funktion Time::Piece->strptime wurde $dateValue ($date) gleich wie $hash->{$obis_ref}.

(Notiz - Time::Piece ist ab Perl 5.9.5 Kernstück)

Codevorschlag  ./FHEM/00_SmartMeterP1.pm:
+#38  use Time::Piece;
-#228 my $dateValue = myStr2Date($date);
+#228 my $dateValue = Time::Piece->strptime($date,"%Y-%m-%d %H:%M:%S");