Task zu bestimmten Zeitpunkten ausführen?

F

Finnenzauber

Fortgeschrittenes Mitglied
19
Servus zusammen,

gibt es eine Möglichkeit, einen Task wirklich zu bestimmten Zeitpunkten auszuführen?

Ich habe einen Task der wirklich um z.B. 06.31 Uhr, 06.41 Uhr, usw ausgeführt werden soll. Bis jetzt finde ich nur die Möglichkeit alle 10 Minuten ihn auszuführen, dass ist mir aber zu ungenau.

Hintergrund ist, dass ich mir ein Wallpaper als Hintergrundbild von einer Webcam hole, wo das Bild jeweils alle 10 Minuten aktualisiert wird und zwar um 06.30 Uhr, 06.40 Uhr usw.

Vielleicht hat einer einen Tipp.

Vielen Dank im voraus

Finnenzauber
 
Schon im Profil "VON: 06:31" "BIS: 06:31" probiert? Ist dies nicht das Gewünschte?
 
Danke schon mal.

So würde es gehen, aber dann muss ich 7x24 Profile anlegen.

Es soll ja um 0.01 Uhr starten und alle 10 Minuten durchgeführt werden bis 23 51 Uhr.

Vielleicht über eine Variable?
 
Oh sorry, Da habe ich wohl was falsch verstanden.
Ich hatte "Ich habe einen Task der wirklich um z.B. 06.31 Uhr, 06.41 Uhr" und überlesen das alle 10 Min. etwas geschehen soll.

Aber wieso ist das ungenau wenn Du in dem Zeitraum alle 10 Minuten einen Task startest?
Das muss doch klappen!?

Irgendwo hier im Forum gab es mal Hinweise auf tagesübergreifende Profile. Ich bin leider nur nicht in der Lage danach zu suchen, denke aber das sich berufene Anwender dazu melden werden.
 
@Finnenzauber
Eventuell so ?
 

Anhänge

  • Screenshot_20180312-191718.png
    Screenshot_20180312-191718.png
    24,6 KB · Aufrufe: 411
  • Screenshot_20180312-191728.png
    Screenshot_20180312-191728.png
    29,6 KB · Aufrufe: 381
  • Danke
Reaktionen: Finnenzauber
Die Zeiten können auch mit einer Variable in Sekunden seit 1.1.1970 angegeben werden.

Mit dem Task "Zeit Setzen" kann die gewünschte Startzeit gesetzt werden.
Screenshot_20180312-211108.png

Im Task des Profil werden dann der Variable weitere 600 Sekunden hinzugefügt, damit das Profil in 10 Minuten erneut startet.
Screenshot_20180312-211119.png Screenshot_20180312-211123.png
 
  • Danke
Reaktionen: Finnenzauber, Hastenichgesehen und Spardas
@Mathens : Coole Lösung!

Ich kann das derzeit nicht ausprobieren: Kann man das erste "Variable Setzen" und "Variable Umrechnen" nicht in eine IF-Schleife setzen? - If %Time <= <Start_Datum_Zeit>
Dann noch die Erweiterungsaufgabe in eine Schleife wie: If %Time > <Start_Datum_Zeit>
Ich gehe davon aus das Tasker-intern das Datum in einen Ganzzahlwert gewandelt wird.?
 
  • Danke
Reaktionen: Finnenzauber
Servus Spardas&Mathens,

vielen Dank für Eure Lösungsansätze. Ich habe mich für Spardas-Lösung entschieden, da dies für mich nachvollzihbarer ist.

Ich habe jetzt nur das Problem, dass der Task nicht läuft und rot angezeigt wird? Finde aber den Fehler nicht und lief auch schon mal. Nicht wundern über die Zeiten: Das Bild wird jeweils alle 10 Minuten von der Webcam gemacht, somit bin ich auf der sicheren Seite, dass aktuelles Bildmaterial vorliegt.(Bei Sturm wird alle 5 Minuten ein Bild gemacht, deshalb nochmal die Unterteilung in 5-Schritte).

2018-03-13 13.16.20.png 2018-03-13 13.16.42.png
 
@Finnenzauber

Jo sehe das Problem bei *0.56* wir es nur um 00:56 uhr ausgeführt. Nimm überall die Null weg *.56*
 
  • Danke
Reaktionen: Finnenzauber
Danke erstmals Jungs für Eure Hilfe und Mühe. Bin begeistert was ihr drauf habt.

Leider habe ich aber nach wie vor das Peoblem das der Task nicht läuft.

Er wird rot angezeigt und springt auf grün wenn sich die Variable im richtigen Zeitfenster befindet - aber es passiert nichts?

Auch ein Testlauf des Tasks geht nicht. Weder im Zeitfenster noxh ausserhalb.

Vielleicht habt ihr noch einen Tipp?

Nochmals Dank'schön!
 
Expotiere bitte mal deinen Task, Zippen ihn und Lade ihn hier hoch.

 
Des is echt komisch. Auf dem Pad läuft es einwandfrei und auch die Bilddatei wird termingerecht im Ordner abgelegt. Auf dem Hanfy zwar auch aber immer jeweils eine Minute zu früh?
 

Anhänge

  • WALLPAPER_WIFI_5_MINUTEN.prf.zip
    910 Bytes · Aufrufe: 87
@Finnenzauber
Hmm finde auch kein Fehler.

Ja hört sich komisch an. Eventuell mal Smartphone neustarten oder so.
 
  • Danke
Reaktionen: Finnenzauber
Ich habe meine Lösung angepasst und dir zum ausprobieren als Projekt angehängt.

Bei Spardas Lösung würde ich noch bei der Goto Aktion eine IF Bedinung einfügen mit %PACTIVE ~ *,WALLPAPER WIFI 5 MINUTEN,* (mit * und ,). Da du ansonsten eine Endlosschleife hast, die selbst dann weiterläuft wenn das Wlan nicht mehr verbunden ist.
 

Anhänge

  • Wallpaper.prj.xml.zip
    1,2 KB · Aufrufe: 75
  • Danke
Reaktionen: Finnenzauber und Spardas
Vielen Dank mal wieder Mathens und Spardas. Was wisst Ihr eigentlich nicht?

Die Sache ist irgendwie ganz komisch. Hab das komplette Profil gelöscht - Neustart - und neu importiert. Ab und zu gehts und ab und zu wieder nicht. Ich vermute dass es an meinem Galaxy S8 leigt. Ich habe iene andere App wo ich auch feststellen musste, dass es die Datenverbindug wegen Standby trennt, obwohl ich die Apps aus der Energieüberwachung genommen habe. Whatsapp kommt aber trotzdem zeitnah an?

Jetzt probiere ich mal Mathens Lösung - vielen Dank für den fertigen Download - und werde wieder berichten.

Noch eine Frage: Der Task soll ja nur ausgeführt werden, wenn im Profil eine Wlanverbindung besteht. Das müsste doch reichen gegen eine Endlosschleife, oder?
 
Mathens schrieb:
Ich habe meine Lösung angepasst und dir zum ausprobieren als Projekt angehängt.

Bei Spardas Lösung würde ich noch bei der Goto Aktion eine IF Bedinung einfügen mit %PACTIVE ~ *,WALLPAPER WIFI 5 MINUTEN,* (mit * und ,). Da du ansonsten eine Endlosschleife hast, die selbst dann weiterläuft wenn das Wlan nicht mehr verbunden ist.

Ich kriege die Datei nicht imporitert bzw. wird nichtmal angezeigt....Blödheit oder Trick?
 
@Finnenzauber
prj ist ein Projekt kein Profil oder Task.
Lange un Tasker auf den Haus Reiter klicken und dann Importieren. Dann sollte es gehen.
 
  • Danke
Reaktionen: Finnenzauber
@Mathens

Puuuh, Dank Spardas konnte ich es imporiteren. Das was da abgebildet ist ist mehr als sportlich. Ich verstehe es nicht wirklich? Vielleicht hast Du Lust mir die Schritte zu erklären?

Vielen Dank im voraus.
 
Das Projekt besteht aus zwei Profilen.
Profil: WIFI VERBUNDEN (27)
Status: WiFi Verbunden [ SSID:* MAC:* IP:* Aktiv:Ja ]
Eingang: Zeit setzen (23)
A1: HTTP Post [ Server: Port:http://www.addicted-sports.com/fileadmin/webcam/starnbergersee/current/full.jpg Pfad: Data / File: Cookies: User Agent: Timeout:10 Inhalts Typ: Ausgabe Datei:Wallpaper/Wallpaper.jpg Trust Any Certificate:Aus Task Weiter Ausführen Nach Fehler:An ]
A2: Hintergrund auswählen [ Typ:Alle Bild:/storage/emulated/0/Wallpaper/Wallpaper.jpg Scale:Aus Crop:Aus Task Weiter Ausführen Nach Fehler:An ]
A3: Variablen [ Name:%TIME Von:5 Länge:1 Anpassen:Aus Ergebnis Ablegen In:%min ]
A4: If [ %min > 5 ]
A5: Variable Setzen [ Name:%differenz Zu:11 - %min Recurse Variables:Aus Mathematisch:An Hinzufügen:Aus ]
A6: Else
A7: Variable Setzen [ Name:%differenz Zu:6 - %min Recurse Variables:Aus Mathematisch:An Hinzufügen:Aus ]
A8: End If
A9: Variable Setzen [ Name:%time Zu:%DATE %TIME Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus ]
A10: Variable Umrechnen [ Name:%time Funktion: Datum-Zeit zu Sekunden Ergebnis Ablegen In: ]
A11: Variable Setzen [ Name:%Time Zu:%time + %differenz * 60 Recurse Variables:Aus Mathematisch:An Hinzufügen:Aus ]
A12: Profil Status [ Name:5 MIN WARTEN setzen:An ]

Ausgang: Zeit löschen (22)
A1: Profil Status [ Name:5 MIN WARTEN setzen:Aus ]
Das erste Profil dient hauptsächlich dazu bei Wlanverbindung die erste Startzeit für das zweite Profil zu setzen und diese in die Unixzeit (Sekunden seit 01.01.1970) umzuwandeln.
Als erstes wird aber das aktuelle Wallpaper heruntergeladen.
Um die erste Startzeit zu definieren, muss zuerst herausgefunden werden wieviel Minuten zur aktuellen Zeit hinzugefügt werden muss.
Dazu kürzt A3 die Variable %TIME (aktuelle Zeit) auf die letzte Minute (5. Stelle) und speichert sie in %min.
Bsp.: 19.43 wird zu 3
A4 prüft ob %min grösser als 5 ist.
Wenn sie grösser ist (A5) wird %min von 11 abgezogen, wenn kleiner (A7) wird %min von 6 abgezogen. Der erhaltene Wert wird in der Variable %differenz gespeichert.
Da das Rechnen in der Unixzeit einfacher ist (keine Probleme mit Studenwechsel), wandeln wir das aktuelle Datum und Uhrzeit (A9) in dieses um (A10). Jetzt kann der zuvor ermittelte Wert in Sekunden (*60) hinzugefügt und in der Variable %Time gespeichert werden (A11). Die letzte Aufgabe aktiviert dann das Zeitgesteuerte Profil.

Der Ausgangstask deaktiviert das Zeitgesteuerte Profil, damit das Wallpaper nicht mit den Mobilen Daten heruntergeladen wird.

Profil: 5 MIN WARTEN (38)
Zeit: Von %Time Bis %Time
Eingang: Wallpaper WIFI (33)
A1: HTTP Post [ Server: Port:http://www.addicted-sports.com/fileadmin/webcam/starnbergersee/current/full.jpg Pfad: Data / File: Cookies: User Agent: Timeout:10 Inhalts Typ: Ausgabe Datei:Wallpaper/Wallpaper.jpg Trust Any Certificate:Aus ]
A2: Hintergrund auswählen [ Typ:Alle Bild:/storage/emulated/0/Wallpaper/Wallpaper.jpg Scale:Aus Crop:Aus ]
A3: Profil Status [ Name:5 MIN WARTEN setzen:Aus ]
A4: Variable Setzen [ Name:%Time Zu:Time + 300 Recurse Variables:Aus Mathematisch:An Hinzufügen:Aus ]
A5: Profil Status [ Name:5 MIN WARTEN setzen:An ]
Das zweite Profil lädt das Wallpaper alle 5 Minuten herunter. Als Start- und Endzeit wird die zuvor gespeicherte Variable %Time genommen.
Als erstes wird wieder das aktuelle Wallpaper heruntergeladen.
Damit es keine Komplikation mit der Start- und Endzeit vom Profil gibt, wird dieses deaktiviert (A3). Nun wird die nächste Startzeit definiert indem der Variable %Time 300 Sekunden hinzugefügt wird (A4). Jetzt wird das Profil wieder aktiviert (A5).

Beim ersten Profil muss noch bei A1 und A2 der Haken bei "Task weiterausführen nach Fehler" gesetzt werden. Im zweiten Profil hatte ich daran gedacht.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Finnenzauber
@Mathens Das ist natürlich schon Königsklasse was Du da machst. Ich ziehm einen Hut vor Dir! Vielen herzlichen Dank für deine Mühe. Mit deiner Erklärung kann ich es sehr gut nachvollziehen. Habe auch den Haken bei A1 und A2 nachgeholt.

Was mir aber noch fehlt ist eine Stufe, die den Task automatisch immer anstösst? Wenn er sich frsich mit einem Wlan verbindet klappt es auch - aber dann passiert nichts mehr und auch %Time bleibt auf dem Zepitpunkt des Erst-Wlankontakts stehen oder wenn ich es manuell anstosse?

Nochmals vielen herzlichen Dank :thumbup:
 

Ähnliche Themen

P
Antworten
25
Aufrufe
1.136
Pentatulim
P
J
Antworten
6
Aufrufe
658
mbefore305
M
Viper73
Antworten
11
Aufrufe
509
Viper73
Viper73
Zurück
Oben Unten