NEWS
[GELÖST] - Dateinamen mit Datum
-
Du solltest eigenlich nur CamPic aus deinem 1.Post mit dem Date String ersetzen....
Das hatte ich oben aber auch schon geschrieben -
@puls200 sagte in Dateinamen mit Datum:
ersetzen mit "date +%Y-%m-%d-%H-%M-%S" ersetzen?
nein, sondern so wie @haselchen und ich diskutieren mit `date +%Y-%m-%d-%H-%M-%S?`
@haselchen welcher "Strich" ist das genau? ` , ´ oder '
-
` der ist es
-
-
Sorry, aber die Tipps funktionieren nicht und sind recht schwammig formuliert. Bisher hat nichts funktioniert:
Welches Zeichen gehört denn jetzt in den WGET-Befehl???
-
-
Mein WGET-Befehl lautete:
wget --output-document /opt/iobroker/Cam/ClarerCam.jpg "http://x.x.x.x/ISAPI/Streaming/channels/101/picture"
Ich sollte nun ClarerCam ersetzen mit `date +%Y-%m-%d-%H-%M-%S`
Also:
wget --output-document /opt/iobroker/Cam/`date +%Y-%m-%d-%H-%M-%S`.jpg "http://x.x.x.x/ISAPI/Streaming/channels/101/picture"Ergebnis: es muss tatsächlich ein --> ` <-- vor und nach Deinem STRING sein. Mit allen anderen Zeichen geht gar nichts. Aber es geht trotzdem nicht, weil 0kB-Dateien angelegt werden.
-
Probier einen längeren Timeout.
3 oder 4 sek -
Es geht jetzt!!! Problem war, dass sich ein Zeichen irgendwo eingeschlichen hat, das da nicht hingehörte.
Ein weiteres Problem: in der Telegram-Funktion rufe ich einen statischen Dateinamen auf. Den muss ich ja auch noch anpassen. Es reicht nicht, die Fotos mit dynamischen Dateinamen zu speichern, wenn ich immer statisch eine (nicht-vorhandene) Datei abrufe. Daher war mein Gedanke, eine Variable für den Dateinamen zu definieren, die ich im WGET-Befehl und in der Telegramm-Funktion benutze.
EDIT: werde mal diesen Tipp ausprobieren:
https://forum.iobroker.net/topic/25422/dateinamen-in-ordner-herausfinden-und-anzeigen -
Okay, für mein Verständnis , er legt jetzt die Bilder mit aktueller Zeit jeweils ab und überschreibt nichts mehr?
-
-
@fastfoot Mmmh... so habe ich es eigentlich nach meinem Kenntnisstand gemacht... leider hat es nicht funktioniert. Aber ich probiere es nochmal...
@haselchen Jepp.
-
@puls200 sagte in Dateinamen mit Datum:
@fastfoot Mmmh... so habe ich es eigentlich nach meinem Kenntnisstand gemacht... leider hat es nicht funktioniert. Aber ich probiere es nochmal...
@haselchen Jepp.
Das sieht anders aus als dein Beispiel und vor Allem es ist anders
-
@fastfoot Ich hatte im Vorfeld schon über die Hilfsvariable (-->Bildpfad) ein bisschen rumprobiert, aber es hat nie funktioniert, weil die Telegram-Funktion den String nicht akzeptietr hat. Mein Beispiel oben beinhaltete den Stand ohne jegliche dynamische Dateinamenerstellung.
ABER JETZT GEHT ALLES! Besten Dank an alle und vor Allem an fastfoot!!!
Für alle anderen... so sieht es aus:
-
@puls200 sagte in Dateinamen mit Datum:
so sieht es aus:
was spielst du denn da mit Systemdatenpunkten?
schaltest du mit script_enabled ein Skript an und aus, anstelle mit Triggern zu arbeiten? -
@homoran Jepp. Über VIS aktiviere/deaktiviere ich direkt Scripte. Was spricht dagegen?
-
@puls200 sagte in Dateinamen mit Datum:
Aber ich verstehe nur Bahnhof.
[Erklärbärmodus]
in Javascript werden Skripte niemals deaktiviert.
Sie laufen immer und warten auf Trigger um ausgeführt zu werden.Du solltest also nicht mit script-enabled arbeiten, sondern mit einem Trigger.
Dazu könnte man einen selbst erstellten Datenpunkt vom Typ Bool hier in diesem Skript auf false setzen und das Skript "AlarmPhoto" startet seine Ausführung wenn dieser Datenpunkt (wodurch auch immer) wieder auf true gesetzt wird.
[/Erklärbärmodus]
-
@puls200 sagte in Dateinamen mit Datum:
ABER JETZT GEHT ALLES!
Warum machst du es nicht wie von mir gezeigt, Exec mit Result! Das spart den unsicheren timeout und erfolgt sofort wenn das wget beendet ist.
-
@homoran Schon klar mit der Bool´schen Variable, aber warum werden Scripte niemals deaktiviert?
-
@fastfoot Sehe gerade erst, dass Du noch einen Exec-Befehl dazwischen hast... aber den finde ich bei mir nicht...?! Ich sehe nur den normalen Exec-Baustein...