FHEM Forum

FHEM - Hardware => Server - Linux => Thema gestartet von: nicor2k am 13 Januar 2016, 17:40:54

Titel: Datum- und Uhrzeit-Variable beim Speichern von "system" Befehl?
Beitrag von: nicor2k am 13 Januar 2016, 17:40:54
Hallo! Ich würde beim Speichern eines Bildes gerne die aktuelle Uhrzeit und das Datum in den Dateinamen speichern - das klappt aber irgendwie nicht.

Mein Befehl:

system("fswebcam /home/pi/webcam/bild-$a, $d $b $Y $H:$M:$S.jpg")



Ich habe die Platzhalter von hier übernommen: http://fhem.de/commandref_DE.html#FB_CALLLIST

Zitat
%a - Der abgekürzte Wochentagname
%b - Der abgekürzte Monatsname
%S - Die Sekunden als Dezimalzahl
%M - Die Minuten als Dezimalzahl
%H - Die Stunden als Dezimalzahl
%d - Der Tag im Monat als Dezimalzahl
%m - Der Monat als Dezimalzahl
%Y - Das Jahr als Dezimalzahl (4-stellig).

Es gibt hierfür noch weitere Platzhalter. Weitere Informationen dazu findet man in der Manpage von strftime() oder der Dokumentation des entsprechenden Perl Interpreters.

Standardwert ist "%a, %d %b %Y %H:%M:%S" (entspricht "So, 07 Jun 2015 12:50:09")


Ich hatte es zuerst mit % Werten versucht, und die Variablen dann mit $ probiert, klappt aber auch nicht :(
Hat jemand eine Idee?



Ich habe gerade im Log nachgesehen, kann mit der Fehlermeldung aber nichts anfangen...

Zitat
Global symbol "$Y" requires explicit package name at (eval 13503) line 3.
Global symbol "$H" requires explicit package name at (eval 13503) line 3.
Global symbol "$M" requires explicit package name at (eval 13503) line 3.
...
Titel: Antw:Datum- und Uhrzeit-Variable beim Speichern von "system" Befehl?
Beitrag von: nicor2k am 13 Januar 2016, 23:56:12
Ok, ich habe es jetzt etwas anders gemacht, aber vielleicht hilft es jemandem. Dazu muss man allerdings PHP lauffähig haben, das geht aber mit nur einer Zeile zu installieren.

Statt:

system("fswebcam /home/pi/webcam/bild-$a, $d $b $Y $H:$M:$S.jpg")

rufe ich jetzt diesen Code auf:

system("php /var/www/bild.php")



Die PHP Datei hat bisher nur den folgenden Code: Zur Datumsberechnung und zum Erstellen des Bildes (Achtung: Dafür muss der Apache User auf die Kamera zugreifen dürfen, sonst klappt's nicht!)

<?php
$name = 'bild-'.date("d.m.Y-H:i:s").'.jpg';
echo exec('fswebcam -r 640x360 /var/www/bilder/'.$name);
?>

Titel: Antw:Datum- und Uhrzeit-Variable beim Speichern von "system" Befehl?
Beitrag von: rudolfkoenig am 14 Januar 2016, 07:15:30
Die Beschreibung bei FB_CALLIST ist fuer ein FHEM-Perl-Ausdruck irrelevant. Relevant ist die Dokumentation in http://fhem.de/commandref.html#perl , und da steht:
Zitat
To make date and time handling easier, the variables $sec, $min, $hour, $mday, $month, $year, $wday, $yday, $isdst are available in the perl oneliners (see also perldoc -f localtime). Exceptions: $month is in the range of 1 to 12, and $year is corrected by 1900 (as I would expect). Additionally the variable $hms contains the time in the HH:MM:SS format.

Titel: Antw:Datum- und Uhrzeit-Variable beim Speichern von "system" Befehl?
Beitrag von: nicor2k am 14 Januar 2016, 19:19:09
Hallo Rudolf,

das geht natürlich noch leichter, danke Dir! :)