Lautlos bei mehreren Terminen im Kalender

  • 11 Antworten
  • Letztes Antwortdatum
K

konkraft

Neues Mitglied
0
Hallo zusammen,

ich möchte gern folgendes haben
wenn ich in einem Google-Kalender an einem Tag mehrere Termine hab, stellt Tasker mein Handy in Lautlos-Modus am Anfang des ersten Termins und stellt wieder in Normal-Modus erst am Ende des letzten Termins.
Bis jetzt hab ich folgendes geschafft:
Code:
Kalender (9)
	A1: Variable Setzen [ Name:%Sta Zu:%DATE Mathematisch:Aus Hinzufügen:Aus ] 
	A2: Variable Setzen [ Name:%Step Zu:5*60 Mathematisch:An Hinzufügen:Aus ] 
	A3: Variable Umrechnen [ Name:%Sta Funktion:Datum-Zeit zu Sekunden Ergebnis Ablegen In:%Secsta ] 
	A4: Variable Setzen [ Name:%End Zu:%Secsta+24*3600 Mathematisch:An Hinzufügen:Aus ] 
	A5: Testen [ Typ:Calendar Start (Seconds) Daten:%Secsta Ergebnis Ablegen In:%Res Task Weiter Ausführen Nach Fehler:An ] 
	<loop If>
	A6: If [ %Res < %End ]
	A7: Variable Addiere [ Name:%Secsta Wert:%Step Obergrenze:0 ] 
	A8: Goto Aktion [ Typ:Aktion Label Nummer:1 Bezeichnung:loop If ] 
	A9: Popup (Tasker) [ Titel: Text:Start = %Sta
Start sec = %Secsta
Res = %Res
End = %End Hintergrundbild: Layout:Popup Timeout (Sekunden):5 Show Over Keyguard:An ]
	A10: Else 
	A11: Popup (Tasker) [ Titel: Text:Keine Termine heute Hintergrundbild: Layout:Popup Timeout (Sekunden):5 Show Over Keyguard:An ] 
	A12: End If
Ich weiß leider nicht was ich weiter machen soll, nun bitte ich um Hilfe))

MfG konkraft
 
Hi,

wenn die Kalendereinträge zu deinen Terminen immer wiederkehrende Titel haben, kannst du einfach ein Status Kontext mit "Kalendereintrag" (Titel 1/Titel 2/usw.) anlegen. Als Eingangstask: Lautlos ein und entsprechend Lautlos aus als Ausgangstask.


Gruß

Chillmann
 
Hallo,

meine Kalendereinträge haben immer verschiedene Titel. Ich möchte aber, dass zwischen den Terminen auch "Lautlos an" bleibt.

MfG
konkraft
 
Nehme an Du schaltest auf lautlos wenn ein Eintrag in dem Kalender steht.

Ich würde (wenn auch nicht Ressourcen sparend) im Exittask Deine obrigen Skript starten. (Halt ab dem aktuellen Zeitpunkt) und wenn ein Termin gefunden wird überspringt man den Befehl "Lautlos aus".

Es ist traurig das es die Funktion "Nächster Termin" im Tasker nicht gibt.
 
konkraft schrieb:
Hallo,

meine Kalendereinträge haben immer verschiedene Titel. Ich möchte aber, dass zwischen den Terminen auch "Lautlos an" bleibt.

MfG
konkraft

Dann verlängere den Eintrag für Termin1 zeitlich soweit, dass er nahtlos an Termin2 anschließt.

Update: Glaube den Fehler gefunden zu haben. Die Aktion "Test" wirft als Resultat ein Array zurück. D.h. du musst bei deinem If-loop %Res1 < %End benutzen.

Update2: Du hast dir zwar schon eine Routine ausgedacht, will dir trotzdem meinen Ansatz via For-Schleife nicht vorenthalten.


Gruß

Chillmann
 
Zuletzt bearbeitet:
Zuerst mal vielen Dank für Eure Antworten ;)
Chillmann schrieb:
Dann verlängere den Eintrag für Termin1 zeitlich soweit, dass er nahtlos an Termin2 anschließt.
Das ist nicht das Ziel)) Ist viel zu einfach:biggrin:

Chillmann schrieb:
Glaube den Fehler gefunden zu haben.
Ja, genau! Sie haben Recht))
Und, ich glaub, ich muss A5(Testen) unter A6(If) verschieben, sonst macht es ein Kreislauf mit gleichem %res

Code:
	A1: Variable Setzen [ Name:%Sta Zu:%DATE Mathematisch:Aus Hinzufügen:Aus ] 
	A2: Variable Setzen [ Name:%Step Zu:5*60 Mathematisch:An Hinzufügen:Aus ] 
	A3: Variable Umrechnen [ Name:%Sta Funktion:Datum-Zeit zu Sekunden Ergebnis Ablegen In:%Secsta ] 
	A4: Variable Setzen [ Name:%End Zu:%Secsta+24*3600 Mathematisch:An Hinzufügen:Aus ] 
	<If-loop>
	A5: If [ %Secsta < %End ]
	A6: Testen [ Typ:Calendar Start (Seconds) Daten:%Secsta Ergebnis Ablegen In:%Res Task Weiter Ausführen Nach Fehler:An ] 
	A7: Variable Addiere [ Name:%Secsta Wert:%Step Obergrenze:0 ] 
	A8: Goto Aktion [ Typ:Aktion Label Nummer:1 Bezeichnung:If-loop ] 
	A9: Popup (Tasker) [ Titel: Text:Start = %Sta
Start sec = %Secsta
Res = %Res
End = %End Hintergrundbild: Layout:Popup Timeout (Sekunden):5 Show Over Keyguard:An ] 
	A10: Else 
	A11: Popup (Tasker) [ Titel: Text:Keine Termine heute Hintergrundbild: Layout:Popup Timeout (Sekunden):5 Show Over Keyguard:An ] 
	A12: End If

Vielen Dank für Deinen Ansatz, sieht ganz interessant aus)))

Georgius schrieb:
Ich würde im Exittask Deine obrigen Skript starten.
Mein Skript funktioniert leider noch nicht...Das ist das Problem)))
Georgius schrieb:
Es ist traurig das es die Funktion "Nächster Termin" im Tasker nicht gibt.
Kann nur zustimmen))
 
Also, ich hab mein Problem gelöst!) Jetzt funktioniert alles!:thumbsup:
Code:
A1: Variable Set [ Name:%Sta To:%DATE Do Maths:Off Append:Off ] 
	A2: Variable Convert [ Name:%Sta Function: Date Time to Seconds Store Result In:%Secsta ] 
	A3: Variable Set [ Name:%End To:%Secsta+24*3600 Do Maths:On Append:Off ] 
	A4: Variable Set [ Name:%Step To:5*60 Do Maths:On Append:Off ] 
	A5: Variable Clear [ Name:%Silence_Start Pattern Matching:Off ] 
	A6: Variable Clear [ Name:%Silence_End Pattern Matching:Off ] 
	<If-loop>
	A7: If [ %Secsta < %End ]
	A8: Test [ Type:Calendar Calendar Data:%Secsta Store Result In:%Calendar ] 
	A9: If [ %Calendar1 ~ Google:Name_des_Kalenders ]
	A10: Test [ Type:Calendar Start (Seconds) Data:%Secsta Store Result In:%Res ] 
	A11: If [ %Res1 Is Set ]
	A12: Variable Set [ Name:%Silence_Start To:%Res1 Do Maths:On Append:Off ] If [ %Silence_Start ! Set ]
	A13: Test [ Type:Calendar End (Seconds) Data:%Secsta Store Result In:%Res ] 
	A14: Variable Set [ Name:%Silence_End To:%Res1 Do Maths:Off Append:Off ] 
	A15: End If 
	A16: End If 
	A17: Variable Add [ Name:%Secsta Value:%Step Wrap Around:0 ] 
	A18: Goto [ Type:Action Label Number:1 Label:If-loop ] 
	A19: End If
Falls jemand braucht, poste ich hier mein Profil, bei A9 muss man Name des eigenen Kalenders eintippen))
Eigentlich ist der Profil ideal für Studenten, man kann den Profil mit dem Stundenplan verwenden, während der Vorlesung wird's stumm geschaltet)))

Gruß
konkraft
 

Anhänge

  • meeting.prj.xml.txt
    4,5 KB · Aufrufe: 221
Zuletzt bearbeitet:
a3 Verstehe ich nicht. Warum sucht Du 24h lang? Das geht ja über die Nacht hinaus. Wenn am nächsten Tag um zB 10Uhr eine Vorlesung ist schalet das Handy am Abend nie laut.
 
Georgius schrieb:
a3 Verstehe ich nicht. Warum sucht Du 24h lang? Das geht ja über die Nacht hinaus. Wenn am nächsten Tag um zB 10Uhr eine Vorlesung ist schalet das Handy am Abend nie laut.
Ich lasse diesen Task um Mitternacht laufen(man darf den Task jederzeit laufen lassen, wichtig ist aber, dass er an dem selben Tag, an dem das Handy stummgeschaltet werden muss, starten, und natürlich vor dem Vorlesungsbeginn:biggrin:). Es wird nach Einträgen im Kalender gesucht, falls ein(oder mehr) Eintrag gefunden wird, wird die Anfangszeit in Sekunden in die Variable %Silence_Start gespeichert.
Ebenso läuft es mit dem letzten Eintrag an dem selben Tag, die Endzeit der letzten Vorlesung wird in %Silence_End gespeichert. Ich hab ein Profile erstellt, der nach Zeit(von %Silence_Start bis %Silence_End) abläuft, und es funktioniert bestens.
24h lang ist allgemein, ich hab den Task für mich persönlich aktualisiert.
in A1 hab ich statt "%DATE" - "%DATE 08:00" und in A3 statt "%Secsta+24*3600" - "%Secsta+12*3600", also Kalender wird ab 8Uhr bis 20Uhr durchgesucht. Der Task wird aber trotzdem um Mitternacht gestartet.
PS: Kalender wird jede 5 Minuten durchgesucht (A4: 5*60), also der Eintrag muss um zB 10:00, 11:45 beginnen.
 
Ok, hab ihn nicht so genau gelesen. Ich würde ihn jedesmal im Exittask eines Termins starten. Dann kann man auch nach Mitternacht eingetragene Termine abfangen.
 
Georgius schrieb:
Ok, hab ihn nicht so genau gelesen. Ich würde ihn jedesmal im Exittask eines Termins starten. Dann kann man auch nach Mitternacht eingetragene Termine abfangen.
Ja, kann man natürlich auch machen, aber der Stundenplan ändert sich nicht so oft, deswegen brauche ich nicht, dass die Variablen sich so oft aktualisieren))
 
Ein prinzipielles Problem ist bei der Programmierung das es mehrere Kalendereinträge zur gleichen Zeit geben könnte. Und wenn dann der ausgesuchte Kalender nicht als 1. zurückgemeldet wird dann gibt es falsch negative Ergebnisse.

Falls man (kann gerade nicht nachsehen) auch eine Endzeit abfragen kann könnte man auch die Schleife ans Ende setzen und so einige Durchgänge zu sparen.
 

Ähnliche Themen

X
Antworten
7
Aufrufe
1.005
x-dealer
X
joerg-rz
  • joerg-rz
Antworten
3
Aufrufe
360
joerg-rz
joerg-rz
X
Antworten
0
Aufrufe
92
xyzUpdate
X
Zurück
Oben Unten