Autor Thema: [patch] fhem.pl - Konstanten für das Rechnen mit Zeiten  (Gelesen 686 mal)

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16128
  • s/fhem\.cfg/configDB/g
[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
« am: 05 Februar 2019, 08:55:04 »
Hallo Rudi,

da man beim Rechnen mit Zeiten bestimmte Multiplikatoren immer wieder benötigt, wäre es schön, wenn diese in FHEM als Konstanten zur Verfügung stünden. In Programmcode finde ich das Arbeiten mit Zahlenwerten immer unübersichtlich (von Speichereffizienz ganz abgesehen)

Deshalb schlage ich folgenden Patch vor.

Index: fhem.pl
===================================================================
--- fhem.pl     (revision 18475)
+++ fhem.pl     (working copy)
@@ -270,6 +270,11 @@
 use vars qw(@intAtA);           # Internal timer array
 use vars qw(@structChangeHist); # Contains the last 10 structural changes
 
+use constant {
+  DAYSECONDS  => 86400,
+  HOURSECONDS =>  3600,
+  MINSECONDS  =>    60
+};
 
 $selectTimestamp = gettimeofday();
 $cvsid = '$Id$';
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 23676
Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
« Antwort #1 am: 05 Februar 2019, 09:00:26 »
Finde ich sehr gut.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
Mein Dokuwiki:
https://tuxnetwiki-tuxnet.ddns.net

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20001
Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
« Antwort #2 am: 05 Februar 2019, 09:54:42 »
ich würde MINUTESECONDS statt MINSECONDS vorschlagen.

ist zwar etwas länger aber nicht mit minimum verwechselbar und die anderen beiden sind ja auch ausgeschrieben.
falls das zu lang ist lieber SECONDS bei allen dreien zu SEC verkürzen.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16128
  • s/fhem\.cfg/configDB/g
Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
« Antwort #3 am: 05 Februar 2019, 10:07:18 »
ich würde MINUTESECONDS statt MINSECONDS vorschlagen.

nix dagegen, die Länge des Namens ist mir ziemlich egal, solange sie unter 255 Zeichen bleibt  8)
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20001
[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
« Antwort #4 am: 05 Februar 2019, 10:08:44 »
das bekommen wir hin :)
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Online Christoph Morrison

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 967
  • Maintainer von 12 Modulen + holiday-Files
    • Private Website
Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
« Antwort #5 am: 05 Februar 2019, 11:01:10 »
Darf ich anmerken, dass Tage nicht immer exakt 86400 Sekunden lang sind?
Wenn man damit leben kann, bietet Time::Seconds (Kernmodul) auch bereits entsprechende Konstanten.
Maintainer von:
holidays · 59_Twilight · Webcount · Lindy_HDMI_Swich · ALL3076 · ALL4027 · WEBIO · ALL4000T · WEBIO_12DIGITAL · Itach_Relay · VantagePro2 · WEBTHERM · Buienradar

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 21671
Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
« Antwort #6 am: 05 Februar 2019, 11:37:38 »
Habs eingecheckt.

Zitat
Darf ich anmerken, dass Tage nicht immer exakt 86400 Sekunden lang sind?
Aus Sicht von FHEM ist das aber egal, die Bibliotheken ignorieren die Schaltsekunde, wenn es um das Konvertieren der Zeit seit 1970 geht.

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16128
  • s/fhem\.cfg/configDB/g
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.

 

decade-submarginal