mit doif ein datum oder uhrzeit in ein reading schreiben

Begonnen von iamandy, 14 Februar 2022, 23:51:55

Vorheriges Thema - Nächstes Thema

iamandy

Hallo :)
Ich drehe mich im Kreis und komme nicht weiter, vielleicht habt ihr einen Tipp für mich?
Wenn einem Ereignis im DOIF eintrifft, würde ich gerne ein Datum, oder eine Uhrzeit in ein reading schreiben. Ich weiß nur nicht wie. Alle Varianten mit diversen Klammern usw. klappen nicht.


DOELSEIF
([Ding] eq "on")
(setreading $SELF test  $DATE )

Stelaku

Versuchs mal damit(setreading $SELF test {(localtime)})


gruß

stelaku

iamandy

Ja, das hatte ich gefunden. Ich suche aber eher was das man im Format beeinflussen kann. so dass ich zB wirklich nur das Datum (yyyy.mm.dd) schreiben kann.

MadMax-FHEM

Zitat von: iamandy am 15 Februar 2022, 09:36:09
Ja, das hatte ich gefunden. Ich suche aber eher was das man im Format beeinflussen kann. so dass ich zB wirklich nur das Datum (yyyy.mm.dd) schreiben kann.

https://wiki.fhem.de/wiki/Zeitangaben,_rechnen_mit

Oder anderswo bzgl. Perl Zeitdarstellung/Rechnung schauen...

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)

Otto123

um Joachim zu ergänzen :)
Zitatnur das Datum (yyyy.mm.dd) schreiben kann.
%Y.%m.%d
Oder auch brauchbar (%Y-%m-%d)
%F

Aber jede Form ist möglich.

Und dann noch nach set magic schauen - hat Stelaku schon gezeigt.
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

iamandy

Alles klar. Ihr habe mich auf die richtige Spur gehoben. So kann ich mit DOIF Tage und Zeiten setzen:

(setreading $SELF test3 {(POSIX::strftime("%H:%M:%S",localtime(time)))} )
(setreading $SELF test4 {(POSIX::strftime("%Y.%m.%d",localtime(time)))} )

test3   12:42:51   
test4   2022.02.15

Danke Euch!

Nobbynews

#6
Zitat von: iamandy am 15 Februar 2022, 12:47:24
(setreading $SELF test3 {(POSIX::strftime("%H:%M:%S",localtime(time)))} )
(setreading $SELF test4 {(POSIX::strftime("%Y.%m.%d",localtime(time)))} )
Das vorangestellte "POSIX::" ist aber mMn nicht erforderlich, da POSIX sowieso geladen wird.

iamandy

Zitat von: Nobbynews am 15 Februar 2022, 12:50:17
Das vorangestellte "POSIX::" ist aber mMn nicht erforderlich, das POSIX sowieso geladen wird.

Du hast recht, es geht auch mit.
(setreading $SELF test3 {(strftime("%H:%M:%S",localtime(time)))} )

Je kürzer je besser.