esphome / feature-requests

ESPHome Feature Request Tracker
https://esphome.io/
419 stars 26 forks source link

Avoid burned pixels in OLED displays #624

Open DIYGuy01 opened 4 years ago

DIYGuy01 commented 4 years ago

Describe the problem you have/What new integration you would like To avoid burned pixels in OLED displays what happens in 2-4 months if static picture/text is shown constantly

Please describe your use case for this integration and alternatives you've tried: OLED SSD1306 displays get burned pixels if pixels not changing, go off for some time. In my other custom projects, I use timer and loop how long display shows the content ie 30s display, then 5s off completely.

Additional context

dougle03 commented 4 years ago

Ideally you want to shift the image around rather than simply blanking..

DIYGuy01 commented 4 years ago

That won't help as some pixels will overlap.


Andrius

2020-05-10, sk, 03:14 dougle03 notifications@github.com rašė:

Ideally you want to shift the image around rather than simply blanking..

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/esphome/feature-requests/issues/624#issuecomment-626252990, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI6QOXLFWP63V2YY2T5ZIWTRQXWX7ANCNFSM4K7SXL5A .

nagyrobi commented 2 years ago

Screen antiburn needed just like OpenHASP has: https://github.com/HASwitchPlate/openHASP/issues/134

RootUser3885 commented 1 year ago

I looked in to inverting the display during the day (white background and black letters). Then un-inverting during the night. Then all pixels get used rather evenly. Though, I haven't found a good way to change the "inverted" parameter on the fly.

jostsalathe commented 1 year ago

I just posted a feature request (#2341) to implement a set_invert(bool) method for the esphome::ssd1306_base::SSD1306 class.

You could then use ((esphome::ssd1306_base::SSD1306 &) it).set_invert(daytime); or similar in your rendering lambda.

jostsalathe commented 1 year ago

Update: PR #5292 has kindly been created by @max246 which exposes the method set_invert(bool) as described above =]