Projekt (Auto)-Helligkeitsregelung

  • 13 Antworten
  • Letztes Antwortdatum
mgutt

mgutt

Dauer-User
246
Hi,

ich probiere jetzt schon seit einigen Tagen meine Helligkeit selbst über Tasker zu regeln, was allerdings nicht so wirklich funktionieren möchte.

Was mir schon reichen würde ist das ein- und ausschalten der Auto-Helligkeit.

Hier meine Versuche:

Uhrzeit
22:00 - 07:59 Auto-Helligkeit aus (Standardeinstellung im Telefon ist dann ganz dunkel)
08:00 - 21:59 Auto-Helligkeit an

Fazit: Läuft, kann ich aber nicht gebrauchen. Im Auto möchte ich gerade zur Winterzeit schon um 17-18 Uhr dunkel habe. Da es immer unterschiedlich dunkel wird, ist aber eine feste Zeit auch hier nicht zu gebrauchen.

Helligkeitssensor
0 - 30 Auto-Helligkeit aus
31 - 100 Auto-Helligkeit an

Fazit: Geht total in die Hose. Wenn man mit dem Finger den Sensor abdeckt und sofort wieder den Finger abnimmt kommt das HTC durcheinander und übernimmt die Einstellung eher per Zufall. Außerdem hebelt man damit die Einstellung aus, dass das Display ausgehen soll, wenn man telefoniert und den Hörer ans Ohr nimmt.

Helligkeitssensor + Call-Status + Wait
wie zuvor, nur mit Prüfung darauf ob telefoniert wird. Außerdem ein 5 Sekunden Wait, bevor die Einstellung übernommen wird.

Fazit: Beim Telefonieren das Problem ist schon mal behoben. Allerdings der Rest nicht. Denn die 5 Sekunden Wait gelten scheinbar bei jedem Wechsel zwischen Hell und Dunkel. D.h. es dauert zwar 5 Sekunden bis der Wechsel kommt, aber wechselt man schnell hintereinander zwischen hell und dunkel, dann wechselt er ab der 5. Sekunde auch wieder schnell und kommt wie gehabt durcheinander.

Helligkeitssensor + Call-Status + Wait + Variable
Ich habe versucht eine Variable zu setzen, sobald ein Task z.B. Auto-Helligkeit aus startet und bei dem jeweils anderen Task eine Bedingung reingepackt, die den Inhalt der Variable als Bedingung hat.

Fazit: Irgendwie klappt auch das nicht. Ich habe wieder nur einen zufälligen Wechsel. Auch scheint es nach wie vor keine Hürde zu sein. Der wartet wohl einfach bis die Variable wechselt und switcht dann eben später und jeden Wechsel dann zeitversetzt. Scheint ein Exit zu fehlen.

Helligkeitssensor + Call-Status + Wait + Variable + Exit
Diesmal nach der Bedingung direkt ein Exit, damit der nicht wartet, sondern abbricht.

Fazit: Falsche Herangehensweise. Der Task wird danach nie mehr ausgeführt wie es scheint.

Helligkeitssensor in mehreren Stufen
Diesmal ganz anders. Bei jeder Helligkeitsstufe wird ein anderer Displayhelligkeitswert gesetzt. Auto-Helligkeit bleibt bei den Grundeinstellung des HTC aus und wird von Tasker nicht angetastet.

Fazit: Helligkeit springt wie verrückt. In der Statusleiste auch ein ständiger Wechsel zwischen den Profilen, wobei die Helligkeit scheinbar häufiger wechselt als der Profilname. Außerdem keinerlei Fading-Effekt.



Hat jemand schon jemand eine Helligkeitsregelung realisiert bzw. kann mir einen Tipp geben wie ich es besser umsetzen könnte?


EDIT: Ok, ich weiß wo mein Problem ist. Ich habe jetzt mal einfach alle Stufen deaktiviert bis auf "grell". In den HTC Grundeinstellungen habe ich die automatische Helligkeit deaktiviert und den Grundwert auf ganz dunkel gestellt. Wenn ich nun ins Helle gehe, dann aktiviert sich das Profil "grell". Gehe ich ins dunkel, dann ist "grell" weg und das Display wird dunkel! D.h. die HTC Grundeinstellung wird einfach wiederhergestellt. Wie kommts?
 

Anhänge

  • 2012-10-31 11.20.02.png
    2012-10-31 11.20.02.png
    20 KB · Aufrufe: 521
  • 2012-10-31 11.19.58.png
    2012-10-31 11.19.58.png
    22,5 KB · Aufrufe: 392
  • Screenshot_2012-11-08-11-18-49.png
    Screenshot_2012-11-08-11-18-49.png
    906 Bytes · Aufrufe: 447
Zuletzt bearbeitet:
Joa, das ist bei mir auch so. Wenn ich die automatische Helligkeit deaktiviere, wird der zuletzt manuell gesetzte Wert wieder hergestellt. Ich hab sowas ähnliches in Gebrauch. Und zwar erlaubt mein Kernel die Änderung des Gamma-Wertes, welche dann bei einer Helligkeit zwischen 80 und 100% hochgeschraubt wird.

Hier mal die Beschreibung:

Gamma up (119)
Abort Existing Task
A1: Variable Set [ Name:%Bright To:1 Do Maths:Off Append:Off ]
A2: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
A3: If [ %Bright ~ 1 ]
A4: If [ %Gamma ~ 0 ]
A5: Run Shell [ Command:echo "0" > /sys/class/lcd/panel/user_gamma_adjust Timeout (Seconds):0 Use Root:On Store Result In: ]
A6: Wait [ MS:25 Seconds:0 Minutes:0 Hours:0 Days:0 ]
A7: Run Shell [ Command:echo "8" > /sys/class/lcd/panel/user_gamma_adjust Timeout (Seconds):0 Use Root:On Store Result In: ]
A8: Wait [ MS:25 Seconds:0 Minutes:0 Hours:0 Days:0 ]
A9: Run Shell [ Command:echo "20" > /sys/class/lcd/panel/user_gamma_adjust Timeout (Seconds):0 Use Root:On Store Result In: ]
A10: Wait [ MS:25 Seconds:0 Minutes:0 Hours:0 Days:0 ]
A11: Run Shell [ Command:echo "38" > /sys/class/lcd/panel/user_gamma_adjust Timeout (Seconds):0 Use Root:On Store Result In: ]
A12: End If
A13: Variable Set [ Name:%Gamma To:1 Do Maths:Off Append:Off ]
A14: End If

Gamma down (120)
Abort Existing Task
A1: Variable Set [ Name:%Bright To:0 Do Maths:Off Append:Off ]
A2: Wait [ MS:0 Seconds:5 Minutes:0 Hours:0 Days:0 ]
A3: If [ %Bright ~ 0 ]
A4: If [ %Gamma ~ 1 ]
A5: Run Shell [ Command:echo "33" > /sys/class/lcd/panel/user_gamma_adjust Timeout (Seconds):0 Use Root:On Store Result In: ]
A6: Wait [ MS:25 Seconds:0 Minutes:0 Hours:0 Days:0 ]
A7: Run Shell [ Command:echo "25" > /sys/class/lcd/panel/user_gamma_adjust Timeout (Seconds):0 Use Root:On Store Result In: ]
A8: Wait [ MS:25 Seconds:0 Minutes:0 Hours:0 Days:0 ]
A9: Run Shell [ Command:echo "13" > /sys/class/lcd/panel/user_gamma_adjust Timeout (Seconds):0 Use Root:On Store Result In: ]
A10: Wait [ MS:25 Seconds:0 Minutes:0 Hours:0 Days:0 ]
A11: Run Shell [ Command:echo "-5" > /sys/class/lcd/panel/user_gamma_adjust Timeout (Seconds):0 Use Root:On Store Result In: ]
A12: End If
A13: Variable Set [ Name:%Gamma To:0 Do Maths:Off Append:Off ]
A14: End If


Das schrittweise Erhöhen des Gamma-Wertes ist mein fade in bzw fade out Effekt. Die variable %Bright überprüft ob die Helligkeit auch nicht nur kurz verändert wurde (also kurz den Sensor verdecken löst keine Gamma Änderung aus). Die variable %Gamma sorgt dafür, dass keine Gamma Einstellung doppelt vorgenommen wird. Z.B. Es ist hell, Gamma ist auf 38, dann deckt man kurz (unter 5 Sek) den Sensor ab. Der Task Gamma down wird nicht ausgeführt, da es zu kurz dunkel war. Jedoch wird Gamma up ebenfalls nicht ausgeführt, da ja bereits der hohe Gamma-Wert gesetzt war und ich den fade-in Effekt nicht nochmal sehen möchte.
 
Chillmann schrieb:
Joa, das ist bei mir auch so. Wenn ich die automatische Helligkeit deaktiviere, wird der zuletzt manuell gesetzte Wert wieder hergestellt.

Das ist ja ok und auch logisch. Aber ich habe noch was anderes bei mir festgestellt. Wenn ich den Wert auf Minimum setze und per Tasker auf 100% gestellt wird, dann geht der automatisch auf Minimum zurück, wenn das Profil von Tasker nicht mehr greift.

Macht das Tasker automatisch so?
 
Ja, bei Status-Profilen gibt es in den Profiloptionen nen Haken "restore settings". Ist dieser gesetzt, werden alle vorgenommenen Einstellungen wieder rückgängig gemacht, sobald das Profil nichtmehr aktiv ist.
 
Ok. Das erklärt natürlich einiges ^^

Aber wirklich funktionieren tut es trotzdem nicht. Zumindest nicht der Wechsel der Auto-Helligkeit. Manchmal geht es manchmal nicht. Ein Muster erkenne ich dabei nicht. Ich habe es mit einem Nacht-Profil versucht, dass Restore Settings aktiv hatte, aber auch mit zwei Profilen für Tag und Nacht jeweils ohne Restore Settings.

Wenn ich dagegen das stufenweise Verstellen, also Auto-Helligkeit komplett aus, nun ohne Restore Settings einsetze, dann scheint das soweit zu funktionieren (Timeout habe ich noch nicht umgesetzt). Allerdings habe ich bei jedem Wechsel ein Flackern und einen "Grafikfehler". Der ist für ein paar Millisekunden. Ich brauchte einige Versuche um den im Screenshot zu erfassen. Wie man sieht wird ganz kurz ein Menü eingeblendet. Ist das ein Bug von Tasker?
 

Anhänge

  • 2012-11-08 16.56.07.png
    2012-11-08 16.56.07.png
    94,3 KB · Aufrufe: 420
KP ob das mit deinem Problem zu tun hat, aber wenn man von manueller Helligkeit auf Auto stellt (egal ob per Hand oder via Tasker), behält das Display seine Helligkeit bei, bis der Lichtsensor einen neuen Wert erfasst hat.

Ich brauchte einige Versuche um den im Screenshot zu erfassen. Wie man sieht wird ganz kurz ein Menü eingeblendet. Ist das ein Bug von Tasker?
Falschen Screenshot hochgeladen? Also ich kann zumindest kein Tasker zugehöriges Menü entdecken. :huh:
 
Schau mal im unteren Zehntel. Da ist normalerweise ein Menü mit Buttons. Die werden aber verdeckt durch ein Menü einer App.
 
Ich glaube nicht das der Balken von Tasker stammt. Hab sowas auch noch nie gehabt.
 
kann man vlt von irgendwo die Astrodaten / Uhrzeiten für Sonnenaufgang und Sonnenuntergang in Deutschland abgreifen und damit dann die Autohelligkeit ein- und ausschalten?
 
z.B. bei Sonnenaufgang und Sonnenuntergang - zeiten fr Deutschland

Allerdings ist Sonnenuntergang um 16:30 Uhr bei starker Bewölkung und
um 16:30 Uhr mit wolkenlosem Himmel ein riesiger Helligkeitsunterschied.... :cool2:

=====

Da die automatische Helligkeitsregelung meines Xperia P mir nur in wenigen Fällen nicht gefällt, habe ich eine SCENE erstellt, mit der ich manuell die Helligkeit einstellen oder wieder auf Automatik schalten kann. Siehe Anlage

/EDIT: hier mit [JavaScript] Formel zur Berechnung der Zeiten: http://lexikon.astronomie.info/zeitgleichung/
 

Anhänge

  • Tasker-Brightness-2012-11-12.png
    Tasker-Brightness-2012-11-12.png
    26,5 KB · Aufrufe: 341
Zuletzt bearbeitet:
Wie kommt man denn mit dem Tasker an den Helligkeitswert?
Ich würde gerne mit "Screen Filter" unterhalb von 15 nochmals um 50% abdunkeln.
Aktuelle habe ich es gekoppelt an die Helligkeit des Bildschirms, aber der ist doch häufiger auf 0.

EDIT: Also "if %Bright kleiner als 15" klappt schon mal nicht so richtig.
EDIT2: Man findet zwar helligkeit, allerdings nur von 0 - 100, ich kenne es aber vom Cyanogenmod noch so, das die Helligkeitswerte von 0 bis über 30000 gehen.
 
Zuletzt bearbeitet:
Ich habe mir auch so ein Profil erstellt, aber ich hätte gerne, dass Tasker nur einmal beim Entsperren die Helligkeit checkt und den Wert so lange nimmt, bis das Gerät wieder aus ist. Habt ihr Ideen? Finde keine Bedingung, dass er dass nur beim Entsperren abfragt. Ansonsten ändert er laufend die Helligkeit. Danke!
 
dann müsstest du deinen abgefragten Helligkeitswert in einer variable speichern die beim sperren immer auf 0 gesetzt wird.
dann kannst du beim entsperren abfragen "wenn variable 0" dann bla bla bla
 
Zuletzt bearbeitet:
KingofWWW schrieb:
... dass er dass nur beim Entsperren abfragt. Ansonsten ändert er laufend die Helligkeit.
Profilkontext: Event => Display => Display unlocked
 

Ähnliche Themen

M
Antworten
9
Aufrufe
230
Skyhigh
Skyhigh
M
Antworten
27
Aufrufe
1.757
rtwl
rtwl
D
Antworten
4
Aufrufe
724
dermannvommond
D
Zurück
Oben Unten