Tasker Icon setzen -> vorheriges Icon

  • 10 Antworten
  • Letztes Antwortdatum
Neobe84

Neobe84

Fortgeschrittenes Mitglied
9
Hallo liebe Com,

ich sucher derzeit eine Möglichkeit das Icon über "Tasker Icon Setzen" zu dem vorher genutzen Icon zu wechseln, da dies eine irreversible Aktion ist.

Beschreibung:

Profil 1: Location Zuhause, Icon: Haus
Profil 2: Leise in der Nacht, Icon: Stern

Wird Profil 2 jetzt durch die Uhrzeit beendet, bleibt das Icon aber, da ich mich ja in der Nacht nicht ausserhalb meines Gebiets befunden hab und nach dem Profil 2 wieder heim komme.

EndTask kommt hier nicht in Frage, denn wenn ich in der Nach mein Gebiet verlasse und z.B. Feiern geh, icon: Drink oder andere Profile aktiv wäre, weiß ich ja beim EndTask nicht welches Icon ich zu der jeweiligen Zeit brauche.

Problem: Auch wenn ich jetzt herausfinden würde wie ich das vorherige Icon nutze, muss diese Aktion unterbunden werden wenn in der Nacht andere Profile zum Zeitpunkt 6 Uhr (ende für "Leise in der Nacht") zum tragen kommen.
Denn es könnte ja sein das um 5 Uhr ein anderes Icon gesetzt wird, hier darf dann evtl nicht das Haus wieder auftauchen...

Ich weiß es grade selber nicht genau, je mehr ich nachdenke, desto wirrer wird es mir.

Evtl versteht ihr mich ja aber dennoch blendend und wisst eine Lösung ;) Vielen Dank.
 
Hallo,

wieso benutzt Du nicht die Notification-Funktion? (Alarm->Benachrichtigung)
Dort kannst Du zu jedem Task ein Icon in der Statusleiste einblenden und beim Ausgangstask mit "Benachrichtigunsabbruch" dieses Icon wieder löschen.
Nicht vergessen die Notification auf Dauerhaft zu stellen!

Einziger Nachteil ist, dass Du zusätzlich zum Icon auch eine Zeile bei "Benachrichtigungen" hast.

Gruß T.
 
Wie du schon beschrieben hast ;)
Ich habe eine zusätzliche Zeile in Benachrichtigungen.

Na ja, da bisher niemand eine Lösung weiß, werde ich weiter probieren müssen.
Ist bestimmt über variablen zu lösen. Nur nicht so einfach...
 
Mal eine kleine Idee zu der ich eure Hilfe benötige...

Icon zurücksetzen per If Bedingung (ok, man bräuchte hier für jedes verwendete Icon ein Task, doch die einzige Möglichkeit die mir grade einfällt).

Ich hab mit Arrays und Variablen noch nicht viel gearbeitet, doch scheint es mir eine gute Möglichkeit.

Wenn ich Pro Item, welches gesetzt wird, in Abhängigkeit ihrer Priorität, einer Variable eine Zahl getrennt mit einem Komma hinzufüge. Würde ich gerne in dem ExitTask die selbige Nummer wieder entfernen und zu dem nächst rangigen Icon wechseln, wo einfach die größte Zahl abgefragt wird, die in der Variable zu finden ist.

Task:
A1: Variable Setzen [ Name:%ICON Zu:, 1 Mathematisch:Aus Hinzufügen:An ]
A2: Tasker Icon setzen [ Icon:cust_animal_bear ]
Task:
A1: Variable Setzen [ Name:%ICON Zu:, 2 Mathematisch:Aus Hinzufügen:An ]
A2: Tasker Icon setzen [ Icon:cust_animal_bug ]
Task
A1: Variable Setzen [ Name:%ICON Zu:, 3 Mathematisch:Aus Hinzufügen:An ]
A2: Tasker Icon setzen [ Icon:cust_animal_panda ]

EndTask
A1: If [ %ICON !~ *3* ]
A2: If [ %ICON !~ *2* ]
A3: Tasker Icon setzen [ Icon:cust_animal_bear ]
A4: Else
A5: Tasker Icon setzen [ Icon:cust_animal_bug ]
A6: End If
A7: End If

Was mir hier fehlt ist natürlich der jeweilige Task der aus der Variable dann die entsprechende Ziffer entfernt. Verschachteln lässt sich dieser Task ja weiter, für mehr Icons.

Man könnte wohl auch die selbe Zahl noch einmal hinzufügen, ich hab gesehen das es bei den Arrays die Funktion "doppelte werte entfernen" gibt. Leider weiß ich nicht wie ich mit Arrays arbeite...
 
Moin

Code:
Sub SetIcon (114)
    A1: If [ %par1 ! Set ]
    A2: Variable Set [ Name:%newicon To:%ICON_old Do Maths:Off Append:Off ] 
    A3: Else 
    A4: Variable Set [ Name:%newicon To:%par1 Do Maths:Off Append:Off ] 
    A5: End If 
    A6: Variable Set [ Name:%ICON_old To:%ICON_now Do Maths:Off Append:Off ] 
    A7: Variable Set [ Name:%ICON_now To:%newicon Do Maths:Off Append:Off ] 
    A8: If [ %newicon = 1 ]
    A9: Set Tasker Icon [ Icon:hd_rating_bad ] 
    A10: Else If [ %newicon = 2 ]
    A11: Set Tasker Icon [ Icon:hd_rating_good ] 
    A12: Else If [ %newicon = 3 ]
    A13: Set Tasker Icon [ Icon:hd_rating_good ] 
    A14: End If
Perform Task: Sub SetIcon mit %par1 = 1-n setzt ein Icon
Perform Task: Sub SetIcon mit %par1 = empty wechselt zwischen den letzten beiden gesetzten Icons

Anturix
 
Also irgendwie funktioniert das bei mir nicht...

Task SetIcon hab ich angelegt wie beschrieben.
Task Neues Icon soll mit den angegebenen Werten jetzt ein neues Icon setzen... passiert aber gar nichts. Oder hab ich was falsch verstanden?

Code:
SetIcon (11)
A1: If [ %par1 ist gesetzt ]
A2: Variable Setzen [ Name:%newicon Zu:%ICON_old Mathematisch:Aus Hinzufügen:Aus ] 
A3: Else 
A4: Variable Setzen [ Name:%newicon Zu:%par1 Mathematisch:Aus Hinzufügen:Aus ] 
A5: End If 
A6: Variable Setzen [ Name:%ICON_old Zu:%ICON_now Mathematisch:Aus Hinzufügen:Aus ] 
A7: Variable Setzen [ Name:%ICON_new Zu:%newicon Mathematisch:Aus Hinzufügen:Aus ] 
A8: If [ %newicon ~ 1 ]
A9: Tasker Icon setzen [ Icon:hd_rating_bad ] 
A10: Else If [ %newicon ~ 2 ]
A11: Tasker Icon setzen [ Icon:hd_rating_good ] 
A12: Else If [ %newicon ~ 3 ]
A13: Tasker Icon setzen [ Icon:hd_rating_good ] 
A14: End If 

Neues Icon (15)
A1: Task Ausführen [ Name:SetIcon Stop:Aus Priorität:5 Parameter 1 (%par1):1-n Parameter 2 (%par2): Rücksetzungswert Variable: ]
 
Weis ja nicht welche Profile Du hast. Ich würde aber indirekter arbeiten. Erstens mal ZuHause und Nacht (und weitere definierte Zustände) über eine Variable definieren.
Dann würde ich Profile nicht aufeinander aufbauen. Dadurch wird immer alles zurückgesetzt und vom neuen Profil gegebenenfalls neu gesetzt. Man kann für kritische Dinge wie BT, WLAn usw. Ausnahmen definieren. Aber eben das ein Profil zuHauseTag beendet wird und ZuHauseNacht gestartet wird. Wenn Du in der Nacht in den Garten gehst wird ZuHauseNacht beendet und wenn Du vor 6:00 wieder hinein gehst wieder ZuHauseNacht gesetzt. Wenn Du nach 6:00 ins Haus zurück gehst wird zuHauseTag gesetzt. Dann kannst auch Problemlos die Icons im Profil setzen und löschen.
Würde als 1. Punkt in allen Profilen ein Wait von 1-2 Sec einfügen das Exittasks in ruhe ausgeführt werden kann.
 
Oh man..... Also ich hab es für mich gelöst... und möchte euch nur einmal dran teilhaben lassen. Und gerne auch eure Meinungen wissen. UND ich wette es geht auch einfacher ;)

Auf jeden Fall wird so auch sichergestellt, dass ich beim verlassen von Zuhause in der Nacht, weiterhin das Icon von der Nacht habe. Und wenn ich mal wieder bis Morgens unterwegs bin und die Nacht zuende ist, wird mir beim zurücksetzen des Icons nicht das ZuhauseIcon angezeigt, sondern das StandartIcon (wie nach dem Boot festgesetzt).

Nur leider ist es keine automatische Lösung für mehr als 4 Profile, dafür muss man in die Tasks einarbeiten. Wenn ich nochmal Zeit dafür hab, versuch ich auch das zu umgehen. Oder ein schlauer Fuchs von hier weis wie es geht und hat nen schnellen Code bereit.

Ich hab alles in 2 Tasks zusammengefasst: SetIcon & KillIcon
Aufgerufen wird SetIcon im Eingangstask und KillIcon als ExitTask.

Zum kurzen Aufbau meiner Profile

Boot
-> SetIcon [%par1 ~ A]
<- KillIcon [%par1 ~ A]

Zuhause
-> SetIcon [%par1 ~ B]
<- KillIcon [%par1 ~ B]

leise in der Nacht
-> SetIcon [%par1 ~ C]
<- KillIcon [%par1 ~ C]

etc...
-> SetIcon [%par1 ~ X]
<- KillIcon [%par1 ~ X]


Jetzt das Spannende ;)
SetIcon (11)
Code:
A1: If [ %par1 ~ A ]
A2: Tasker Icon setzen [ Icon:hd_zzz_tasker ] 
A3: Array Leeren [ Name:%arr_Icon ] 
A4: Variable Setzen [ Name:%arr_Icon1 Zu:A Mathematisch:Aus Hinzufügen:Aus ] 
A5: Stopp [ (Fehler):Aus Task:SetIcon ] 
A6: End If 
A7: If [ %par1 ~ B ]
A8: Tasker Icon setzen [ Icon:hd_aaa_ext_home ] 
A9: Variable Setzen [ Name:%arr_Icon2 Zu:B Mathematisch:Aus Hinzufügen:Aus ] 
A10: Stopp [ (Fehler):Aus Task:SetIcon ] 
A11: End If 
A12: If [ %par1 ~ C ]
A13: Tasker Icon setzen [ Icon:hd_rating_not_important ] 
A14: Variable Setzen [ Name:%arr_Icon3 Zu:C Mathematisch:Aus Hinzufügen:Aus ] 
A15: Stopp [ (Fehler):Aus Task:SetIcon ] 
A16: End If 
A17: If [ %par1 ~ D ]
A18: Tasker Icon setzen [ Icon:hd_aaa_nixx_zoom ] 
A19: Variable Setzen [ Name:%arr_Icon4 Zu:D Mathematisch:Aus Hinzufügen:Aus ] 
A20: Stopp [ (Fehler):Aus Task:SetIcon ] 
A21: End If

KillIcon (22)
Code:
A1: Variable Lösche [ Name:%arr_Icon1 Mustervergleich:Aus ] If [ %par1 ~ A ]
A2: Variable Lösche [ Name:%arr_Icon2 Mustervergleich:Aus ] If [ %par1 ~ B ]
A3: Variable Lösche [ Name:%arr_Icon3 Mustervergleich:Aus ] If [ %par1 ~ C ]
A4: Variable Lösche [ Name:%arr_Icon4 Mustervergleich:Aus ] If [ %par1 ~ D ]
A5: If [ %par1 ~ B ]
A6: If [ %arr_Icon3 ~ C ]
A7: Else 
A8: If [ %arr_Icon4 ~ D ]
A9: Else 
A10: Tasker Icon setzen [ Icon:hd_zzz_tasker ] 
A11: End If 
A12: End If 
A13: End If 
A14: If [ %par1 ~ C ]
A15: If [ %arr_Icon4 ~ D ]
A16: Else 
A17: If [ %arr_Icon2 ~ B ]
A18: Tasker Icon setzen [ Icon:hd_aaa_ext_home ] 
A19: Else 
A20: Tasker Icon setzen [ Icon:hd_zzz_tasker ] 
A21: End If 
A22: End If 
A23: End If 
A24: If [ %par1 ~ D ]
A25: If [ %arr_Icon3 ~ C ]
A26: Tasker Icon setzen [ Icon:hd_rating_not_important ] 
A27: Else 
A28: If [ %arr_Icon2 ~ B ]
A29: Tasker Icon setzen [ Icon:hd_aaa_ext_home ] 
A30: Else 
A31: Tasker Icon setzen [ Icon:hd_zzz_tasker ] 
A32: End If 
A33: End If 
A34: End If
 
:eek: oh... Mein Fehler :( Sorry.
Na mal gucken ob ich das nochmal teste, bin ja bisher ganz zufrieden mit meiner Lösung. Weiß nicht ob deine das gleiche bietet. Trotzdem danke :)
 
Moin
Neobe84 schrieb:
Na mal gucken ob ich das nochmal teste, bin ja bisher ganz zufrieden mit meiner Lösung.
Eigene Lösung sind immer zu bevorzugen. Die versteht man wenigstens.
Und meine sollte ja auch nur eine Anregung sein, wie Du das lösen könntest.

Anturix
 

Ähnliche Themen

b0mb
  • b0mb
Antworten
1
Aufrufe
152
b0mb
b0mb
M
Antworten
0
Aufrufe
127
maxpd
M
qwoka
Antworten
3
Aufrufe
247
qwoka
qwoka
Zurück
Oben Unten