我这里做的是很简陋的算法,就是对整体图像进行一个2px的正方形循环(每30秒进行一次平移)
奇奇怪怪的防烧屏算法
适用于HomeAssistant
只是突然看到iphone15的防烧屏算法出了bug导致出现的烧屏突然想到的
HA界面经常作为中控使用,在oled屏上应该会比较容易出现烧屏
防烧屏算法各大电视和手机厂商做的比较多,我看比较常见的是通过进行像素平移、覆盖、旋转等,防止一个像素点长时间在一个亮度下
我这里做的是很简陋的算法,就是对整体图像进行一个2px的正方形循环(每30秒进行一次平移),在我想来应该对于文字和纹理比较细的图标比较有用

这里只算抛砖引玉,希望有更好的算法
关于使用:
在设置->仪表盘->添加仪表盘,选择js资源直接引入我放到云上的js:https://cdn.baby7blog.com/homeassistant/anti-burning-screen.js
如果担心安全问题或担心云上资源失效可以直接复制然后在本地新建js文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| var screenIndex = 0; setInterval(function(){ if (screenIndex == 0) { document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > partial-panel-resolver > ha-panel-lovelace").shadowRoot.querySelector("hui-root").shadowRoot.querySelector("div > div.header").style="margin-top:0px;margin-left:-2px;"; document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > partial-panel-resolver > ha-panel-lovelace").shadowRoot.querySelector("hui-root").shadowRoot.querySelector("#view").style="margin-top:0px;margin-left:-2px;padding-right:2px;"; document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > ha-sidebar").style="margin-top:0px;margin-left:-2px;"; screenIndex = screenIndex + 1; } else if (screenIndex == 1) { document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > partial-panel-resolver > ha-panel-lovelace").shadowRoot.querySelector("hui-root").shadowRoot.querySelector("div > div.header").style="margin-top:-2px;margin-left:-2px;"; document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > partial-panel-resolver > ha-panel-lovelace").shadowRoot.querySelector("hui-root").shadowRoot.querySelector("#view").style="margin-top:-2px;margin-left:-2px;padding-right:2px;"; document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > ha-sidebar").style="margin-top:-2px;margin-left:-2px;"; screenIndex = screenIndex + 1; } else if (screenIndex == 2) { document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > partial-panel-resolver > ha-panel-lovelace").shadowRoot.querySelector("hui-root").shadowRoot.querySelector("div > div.header").style="margin-top:-2px;margin-left:0px;"; document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > partial-panel-resolver > ha-panel-lovelace").shadowRoot.querySelector("hui-root").shadowRoot.querySelector("#view").style="margin-top:-2px;margin-left:0px;padding-right:0px;"; document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > ha-sidebar").style="margin-top:-2px;margin-left:0px;"; screenIndex = screenIndex + 1; } else { document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > partial-panel-resolver > ha-panel-lovelace").shadowRoot.querySelector("hui-root").shadowRoot.querySelector("div > div.header").style="margin-top:0px;margin-left:0px;"; document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > partial-panel-resolver > ha-panel-lovelace").shadowRoot.querySelector("hui-root").shadowRoot.querySelector("#view").style="margin-top:0px;margin-left:0px;padding-right:0px;"; document.querySelector("body > home-assistant").shadowRoot.querySelector("home-assistant-main").shadowRoot.querySelector("ha-drawer > ha-sidebar").style="margin-top:0px;margin-left:0px;"; screenIndex = 0; } },30000);
|
此为博主副博客,留言请去主博客,转载请注明出处:https://www.baby7blog.com/myBlog/128.html