gelöst: Schalten in Abhängigkeit von Timer (Zeitumrechnung)

Begonnen von romakrau, 07 Oktober 2022, 13:30:43

Vorheriges Thema - Nächstes Thema

romakrau

Hallo zusammen,

ich seh den Wald vor lauter Bäumen nicht. Folgendes Problem: Ich habe ein Reading eines Timers im Format

timer_01_c02   07.10.2022 22:14:29

Dieses wandele ich um in Sekunden mittels des Codes:

{abs(time_str2num(ReadingsVal("DF_SchalteAbendanwesend","timer_01_c02","2100-12-31 23:59:59")))}

Das Ergebnis lautet im Beispiel 61854324408.

Die Ausgabe von time() sollte die Zeit seit 1970 in Sekunden ausgeben.

Aktuell zum Beispiel = 1665141880.92593 .

Die Differenz ist größer als die wirkliche Differenz und ich kann sie mir nicht erklären.

Aufgabenstellung ist wenn "Jetzt" < Timer dann schalte ein. Wichtig ist halt das das Datum mit betrachtet wird.
Wie kann ich das Problem lösen.

Bitte um Hilfe.

Gruß
Roman


Otto123

Hi Roman,

{time_str2num('2022-10-07 22:14:29')}liefert 1665173669.
Irgendwas stimmt mit Deinem Datumsformat nicht.
Zitattime_str2num("YYYY-MM-DD HH:MM:SS") wandelt einen FHEM-Zeitstempel in Sekunden um

Gruß Otto
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

MadMax-FHEM

Zunächst stimme ich Otto zu.

Wie wäre denn ein list des Devices mit den Timern gewesen?
Dann würde man sehen, was im Reading als WERT steht, denn das frägt ReadingsVal ab.
Nicht welcher Wert/Datum-Uhrzeit bei "letzter Aktualisierung" hinter dem Readingwert steht...

Aber dann:
Zitat von: romakrau am 07 Oktober 2022, 13:30:43
Aufgabenstellung ist wenn "Jetzt" < Timer dann schalte ein. Wichtig ist halt das das Datum mit betrachtet wird.
Wie kann ich das Problem lösen.

Wenn du einen Timer in der Zukunft stellst (in der Vergangenheit macht ja keinen Sinn), dann ist doch IMMER "jetzt" < Timer? ;)

Oder sehe ich da was falsch...

Was willst du denn (in Summe) tun/erreichen?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

romakrau

Otto hat mal wieder Recht. Das Format passt nicht. Wie bekomme ich denn den Punkt im Datum mit einem Strich ersetzt?



romakrau

Der Versuch mittels Perl tr funktioniert nicht sondern ergibt nur die Anzahl der Punkte:
{ my $dat = ReadingsVal("DF_SchalteAbendanwesend","timer_01_c02","2100-12-31 23:59:59");; $dat =~ tr/./-/}

romakrau

Oh Mann,
immer diese Hektik! So geht es :
{ my $datum = ReadingsVal("DF_SchalteAbendanwesend","timer_01_c02","2100-12-31 23:59:59");; $datum =~ s/\./\-/g ;; return $datum;;}