Datum , Feiertage Arry

Benny1995

Benny1995

Ambitioniertes Mitglied
2
Hallo Taskeruser,

Ich bin gerade dabei ein bisschen Tasker zu üben. Für mein Ruheprofil braucheich noch ein paar einstellungen.

Ich habe folgendes vor, weil ich ausschlafen möchte.
Ich brauche eine Variable Nachtende und die so dynamisch wie möglich
Feiertags will ich länger schlafen, bis sagen wir 8 Uhr.

Ich brauche das Datum in einem Array, oder ich würde lauter if Bedingungen verknüpfen (ODER)
Dann wenn ist dann setze Variable. Ich glaube in php würde es so gehen.
$heute = "2810";
if (in_array($heute, array("23.12.", "24.12.", "25.12.", "02.10."))
{ $NachtEnde= "08.00"; }
Jetzt kommt das Problem, wie kann ich abfragen ob ein Wert im Array mit %HEUTE übereinstimmt?
Das heisst, ich habe den Array %TestDatum und ich habe eine Variable %HEUTE mit folgenden Wert zB. 2810. (Isset?)

Für Ostern und Pfingsten weiß ich es noch nicht. Kann man den Kalender anzapfen?


Danke für die Hilfe.

Benny
 
Zuletzt bearbeitet:
Ich hatte das mal gelöst in dem ich einen Googlekalender mit den Feiertagen von meinem Bundesland genutzt hatte. So musst du nicht jedes Jahr die Feiertage anpassen. In dem Atemzug kannst du auch einen Kalender für Ferien/Urlaub nutzen.
 
Guten Morgen,

Google wäre eine Idee.

Ich bin ja schon ziemlich weit,
Ich habe den Array %VFT mit dem jeweiligen Datum vor Feiertagen gefüllt.

Ich habe eine Variable %Heute im Format "2910" (%Datum teilen)
Ich habe ein For zum testen mit Popup das zeigt mir nacheinander alle Werte des Arrays an.
Bis hierher scheint es zu stimmen.

Was mir aufgefallen ist, scheinbar werden Variablen mit übersetzt, weil wechsel ich die Sprache läuft unter Umständen der Task nicht durch

Was mir nun fehlt ist die Prüfung befindet sich ein Wert im Array der mit heute übereinstimmt.

beste Grüße

Kann man Aufgaben im Task for versehentlichen verschieben sperren?
 
Ich muss mich zwar prinzipiell avalon666 anschließen, der Weg über den Kalender ist bedeutend einfacher und m.M.n. eleganter, aber gut. ;)

Mit
%temp = %VFT(#?%Heute)
steht danach in %temp entweder die Stelle im Array %VFT, an der %Heute steht oder, wenn es nicht drin ist, eine 0.

Wenn also %Heute im Arrray drin ist und an vierter Stelle steht, ist %temp=4, ist %Heute nicht in %VFT, dann ist %temp=0.
 
  • Danke
Reaktionen: Benny1995
Hallo Thadeuz,

Ich denke, ich werde die Variante mit dem Googlekalender probieren.

Doch ich wollte es wissen, wie es anders möglich ist.

Jetzt kann ich den Task zu Ende bringen.
Danke, Du hast mir sehr geholfen.

Grüße
Benny
 
Gerne. :)
 
Ich glaube ich bin durch mit dem Task

Was ich wollte eine Uhrzeit für das Ende der Nacht am Wochenende und Feiertags.
Die Zeitsteuerung für WE und Wochentags, lief schon und funktionierte.
Nun habe ich die Feiertage eingebaut.

Dazu habe ich einen Array gebastelt der das Datum, des Tages vor dem Feiertag, beinhaltet. (da der task einmal morgens aufgerufen wird)

Wo ich mir nicht sicher bin, ist :
Habe ich alle Möglichkeiten abgedeckt?
brauch ich 13., 14. und 15 oder kann ich 04.50 einfach Standardvariable setzen und dann überschreiben?

Beste Grüße
Benny


Code:
UhrzeitAufstehen (21)
A1: Variable Aufteilen [ Name:%DATE Teiler:.  Basis löschen:Aus ] 
A2: Variable Setzen [ Name:%HEUTE Zu:%DATE1%DATE2  Mathematisch:Aus Hinzufügen:Aus ] 
A3: Variable Setzen [ Name:%vorFeierTag  Zu:0204,0404,0504,3004,1305,2305,2405,0210,3010,2312,2412,2512,3012,3112  Mathematisch:Aus Hinzufügen:Aus ] 
A4: Variable Aufteilen [ Name:%vorFeierTag  Teiler:, Basis löschen:Aus ] 
A5: Variable Setzen [ Name:%temp  Zu:%vorFeierTag(#?%HEUTE) Mathematisch:Aus Hinzufügen:Aus ] 
A6: If [ %temp  !~ 0 ]
A7: Variable Setzen [ Name:%FEIERTAG Zu:ja Mathematisch:Aus  Hinzufügen:Aus ] 
A8: End If 
<Variabele Wochenende  Freitag/Samstag>
A9: If [ %DAYW ~ Freitag | %DAYW ~ Samstag ]
A10:  Variable Setzen [ Name:%NachtEnde Zu:08.11 Mathematisch:Aus Hinzufügen:Aus ]  
A11: Else If [ %FEIERTAG ~ ja ]
A12: Variable Setzen [ Name:%NachtEnde  Zu:08.11 Mathematisch:Aus Hinzufügen:Aus ] 
A13: Else 
A14: Variable  Setzen [ Name:%NachtEnde Zu:04.50 Mathematisch:Aus Hinzufügen:Aus ] 
A15: End  If 
<Ende Variabel für Nachtzeit setzen>
A16: Variable Setzen [  Name:%NachtBeginn Zu:21.00 Mathematisch:Aus Hinzufügen:Aus ] 
A17: Variable  Aufteilen [ Name:%NachtEnde Teiler:. Basis löschen:Aus ] 
A18: Variable  Addiere [ Name:%NachtEnde2 Wert:01 Obergrenze:0 ] 
A19: Variable registrieren  [ Name:%NachtEnde Starter:. Teile löschen:Aus ] 
A20: Variable Setzen [  Name:%NachtEndePlus Zu:%NachtEnde Mathematisch:Aus Hinzufügen:Aus ] 
A21:  Variable Substrahiere [ Name:%NachtEnde2 Wert:1 Obergrenze:0 ] 
A22: Variable  registrieren [ Name:%NachtEnde Starter:. Teile löschen:Aus ]
 
Also für mich sieht das ok aus.
Ich persönlich würde vermutlich die Definition des Feiertagsarrays separat machen und die Abfrage, ob %HEUTE drin enthalten ist, zusammen mit Freitag/Samstag abfragen (ohne Umweg über temporäre Variable und Else If Zweig), weil das alles Laufzeit sparen würde. Aber da der Task ja nur einmal am Tag läuft, sind das kosmetische Sachen und eigentlich ziemlich egal.
Ob du die 04.50 nun im Else setzt oder als Standardvariable setzt und dann überschreibst, macht zwar wieder theoretisch nen Unterschied, ist aber praktisch wieder vernachlässigbar.

Ob du jetzt damit tatsächlich alle Feiertage abgedeckt hast, weiß ich natürlich nicht. ;)
 
Morgen früh weiß ich es.
Werde ich um 5 wach stimmt was nicht.

Die Uhrzeit werde ich doch als Standard setzen und
ich lösche noch den Array als letzte Aktion.
Dann versuche ich eine Start und Endvariable für Urlaub zu setzen.
Dann sollte die Zeitsteuerung optimal sein.


Eigentlich wollte ich noch wakevoice ausschalten, scheint aber nicht einfach mit einer simplen Aufgabe zu funktionieren.
Genauso wie die Änderung der Lautstärke des Klingelton während es klingelt.
Das sind so die Kleinigkeiten.

Danke dir Thadeuz

Beste grüße
 
Also ich habe ein ähnliches Problem so gelößt:

Nachtprofil ist von 1:00-10:00. Wenn ich aufstehen muß läutet der Kalender (mit Kalender Event reminder). Das erkennt der Tasker und beendet den Nachtmodus. Wenn ich Nachtdienst hatte wurde eine Variable gesetzt. Wenn die gesetzt war wurde der Exittask des Nachtprofils gleich beendet. Und es wurde ein weiterer Task gestartet der um 12:00 den Exittask ausführt und die Nachtdienstvariable löscht.
 
Hallo Georgius,

Danke für die Antwort.

Ich habe ja eigentlich WakeVoice als Wecker.
Nur seit kurzem auch ein Yamaha AV Receiver der weckt mich natürlich besser ;-)
Deswegen brauchte ich die variable Zeit. Auch eben über Mitternacht.

Jetzt wo es läuft, will ich natürlich mehr.
Der Urlaub fehlt noch.
Ich hatte mir das so gedacht
Urlaub Start :
20140112
Urlaub Ende:
20150105

Heute (jetzt beim schreiben fällt mir auf ich habe schon ein heute, da muss ich das Format ändern)
Also heute:
20143111

Dann irgendwie if heute größer als UrlaubS tart und kleiner als UrlaubEnde ->Nacht Ende 08.10

Das bekomme ich hin.

Was ich nicht hin bekommen habe ist :


  1. bei %Nachtende2 die 01 Minute auf Uhrzeit 08.00 zu addieren. Weil ich die Zeit Teile in 08 und 00 und dann wieder zusammensetze.Die Zeit wäre dann 08.1 Deswegen habe ich 08.10 als Endzeit gewählt. Ist nicht schön aber jetzt egal.
  2. Was ich auch nicht hin bekommen habe ist, während der Nachtruhe bestimmte Anrufe auf laut. Da Du schon vor Jahren mal was dazu geschrieben hast, (Samsung Handys können das nicht)meine Frage gibt es was neues? Falls es am Samsung liegt , mein S3 ist eh alt und mit SpiderApp dann hole ich ein neues, wollte das S5 dann aber ein anderes.
  3. wie kann ich ein Tim3out abfangen?
Danke

Beste Grüße

Benny
 
Zuletzt bearbeitet:
Ich habe es so gelöst das ich über Secure Settings (gerootetes Gerät) den Ruhemodus von Samsung ein bzw. ausschalte. Die Außna(h)men (;)) werden im Ruhemodus eingeschaltet.
 
Ich glaube ich habe es jetzt.
Inklusive Wochenende, Feiertag und Urlaub.
Beim Urlaub weiß ich noch nicht wirklich, weil ich fand bei if kein größer gleich oder kleiner gleich.
Ansonsten.

Test2 (29)
<Falls variable Beginn Ruhezeit dann hier eintragen>
A1: Variable Setzen [ Name:%NachtBeginn Zu:21.00 Mathematisch:Aus Hinzufügen:Aus ]
<Letzter Arbeitstag im Format JJJJMMTT>
A2: Variable Setzen [ Name:%LetzterArbeitstag Zu:00000000 Mathematisch:An Hinzufügen:Aus ]
<Letzter Urlaubstag im Format JJJJMMTT>
A3: Variable Setzen [ Name:%LetzterUrlaubstag Zu:00000000 Mathematisch:An Hinzufügen:Aus ]
<txt-Datei auslesen mit Tagen vor Feiertag oder vor WE>
A4: Datei lesen [ Datei:Tasker/feiertage.txt zu Variable:%TagDavor ]
A5: Variable Aufteilen [ Name:%DATE Teiler:. Basis löschen:Aus ]
<Heute>
A6: Variable Setzen [ Name:%JahrMonaTag Zu:%DATE3%DATE2%DATE1 Mathematisch:Aus Hinzufügen:Aus ]
A7: Variable Aufteilen [ Name:%JahrMonaTag Teiler:, Basis löschen:Aus ]
A8: Variable Setzen [ Name:%WochenTag Zu:%DAYW Mathematisch:Aus Hinzufügen:Aus ]
<Ein Tag vor Feiertag oder WE>
A9: Variable Setzen [ Name:%TagDavor Zu:%TagDavor Mathematisch:Aus Hinzufügen:Aus ]
A10: Variable Aufteilen [ Name:%TagDavor Teiler:, Basis löschen:Aus ]
A11: Variable Setzen [ Name:%datumtemp Zu:%TagDavor(#?%JahrMonaTag) Mathematisch:Aus Hinzufügen:Aus ]
A12: Variable Setzen [ Name:%wochentagtemp Zu:%TagDavor(#?%WochenTag) Mathematisch:Aus Hinzufügen:Aus ]
A13: [X] Variable Setzen [ Name:%NachtEnde Zu:04.50 Mathematisch:Aus Hinzufügen:Aus ]
<Wenn im Array Feiertage was gefunden wird. Nicht 0>
A14: If [ %wochentagtemp ungl 0 | %datumtemp ungl 0 ]
A15: Variable Setzen [ Name:%NachtEnde Zu:08.10 Mathematisch:Aus Hinzufügen:Aus ]
<Wenn im Array Feiertage nichts gefunden wird. Nicht 0>
A16: Else If [ %wochentagtemp ~ 0 & %datumtemp ~ 0 ]
<Im Array nichts gefunden, also früh raus>
A17: Variable Setzen [ Name:%NachtEnde Zu:04.50 Mathematisch:Aus Hinzufügen:Aus ]
A18: End If
<Bedingungen für Urlaub>
A19: If [ %JahrMonaTag = %LetzterArbeitst | %JahrMonaTag > %LetzterArbeitst & %JahrMonaTag < %LetzterUrlaubstag ]
A20: Variable Setzen [ Name:%NachtEnde Zu:08.10 Mathematisch:Aus Hinzufügen:Aus ]
A21: End If
A22: Variable Aufteilen [ Name:%NachtEnde Teiler:. Basis löschen:Aus ]
A23: Variable Addiere [ Name:%NachtEnde2 Wert:01 Obergrenze:0 ]
A24: Variable registrieren [ Name:%NachtEnde Starter:. Teile löschen:Aus ]
A25: Variable Setzen [ Name:%NachtEndePlus Zu:%NachtEnde Mathematisch:Aus Hinzufügen:Aus ]
A26: Variable Substrahiere [ Name:%NachtEnde2 Wert:1 Obergrenze:0 ]
A27: Variable registrieren [ Name:%NachtEnde Starter:. Teile löschen:Aus ]
A28: Popup-Benachrichtigung [ Text:%datumtemp+%wochentagtemp Lang:Aus ]
A29: [X] Array Leeren [ Name:%TagDavor ]

Noch nicht durch getestet.
Mach ich morgen.
 
Zuletzt bearbeitet:

Ähnliche Themen

D
Antworten
3
Aufrufe
563
Dasto
D
M
  • misi2008
Antworten
6
Aufrufe
846
Spardas
Spardas
rtwl
Antworten
4
Aufrufe
706
rtwl
rtwl
Zurück
Oben Unten