网站搜索

我使用实时天气自动控制了门廊灯,这解决了所有定时器无法解决的问题


长时间以来,我门廊的灯都是根据日落时间来开灯的。日落时,灯就会亮起来。虽然这种方式工作得还算可以,但远非完美,有时灯在天还比较亮的时候就亮了,或者天已经很暗了却没有亮。通过使用天气来自动控制灯光解决了我的问题。

基于时间的门廊灯自动化为何会失败

黑暗并不完全取决于一天中的时间

在 Home Assistant 中有许多方法可以创建自动化来打开您的门廊灯。您可以使用定时器让灯在每天晚上同一时间打开。这个方法的问题在于,冬天晚上7点和夏天晚上7点的光照水平可能差异很大。

一个简单的解决方案是创建一个基于日落时间的自动化。你可以让灯在每天日落的准确时间亮起,而这个时间会随着一年中的不同而变化。使用准确的日落时间并不总是理想的,所以你可以进行调整,让灯在日落后半小时亮起,或在日落前 20 分钟亮起。

问题在于太阳并不是唯一影响光线明暗的因素。如果有大量云层覆盖,光线会比晴天时暗得多。如果下大雨,光线会比晴天时更暗。

我希望我的门廊灯在天黑到需要它的时候亮起。使用基于时间的自动化,这并不总是发生;有很多时候天已经开始变暗很久,但灯还没有亮起。

在 Home Assistant 中估算户外亮度

自定义集成可以估算室外亮度







基于时间的自动化无法对实际光线水平作出反应;它只知道时间。我希望我的门廊灯在天变得足够黑需要时才打开,而不是在任何具体时间打开。

就是在那时,我发现了一个名为 Illuminance Sensor 的 Home Assistant 自定义集成。顾名思义,该集成会创建一个传感器实体,用于提供你所在位置当前照度的估计值。它使用由美国海军天文台开发的一种算法,根据太阳的高度来估算太阳照度。

还有一种简单模式,它使用一天中的时间而不是太阳高度,但由于我已经尝试过基于时间的自动化,我还是坚持使用默认模式。你可以通过 HACS 安装照度传感器集成。它不在 HACS 库中,因此你需要将其添加为自定义仓库,通过 HACS 下载,然后重启 Home Assistant。之后你就可以像安装其他集成一样安装它。

使用照度传感器集成的基本设置,我得到的初始照度值约为 74,000 lx。对于夏季的全天阳光照射,这是一个合理的值,所以看起来该集成正在正常工作。

添加天气数据可以使结果更准确

云层和天气状况会使天变暗

使用默认设置的问题在于,它们仍然没有考虑天气状况,而这正是我最初设置该集成的原因。然而,在光照传感器配置中,你可以提供天气集成的实体ID。使用支持的天气集成,传感器可以根据天气状况和云量调整光照值。

该集成支持来自 AccuWeather、Buienradar、ecobee、Met.no 和 OpenWeatherMap 的天气实体。如果您使用 OpenWeatherMap,您还可以使用 openweathermap_cloud_coverage 和 openweathermap_condition 传感器。

使用 OpenWeatherMap 天气实体时,照度降到大约 38,000 lx,这似乎更符合当时的云量情况。使用条件传感器时,得出的结果类似,大约为 39,000 lx,但当我切换到 cloud_coverage 传感器时,数值上升到 47,000 lx。

这对我来说是有道理的;如果天气实体或条件传感器显示多云,不管是30%的云量还是70%的云量,集成都将做出相同的调整。使用云量传感器,它可以获得更具体的云量测量,因此调整可能更准确。我最终坚持使用云量传感器,到目前为止效果很好。

最后一步是创建一个自动化,当光照传感器低于设定阈值时打开门廊灯。虽然花了一些调整,但现在几乎每当天黑到需要时,我的门廊灯都会亮着。


你不总是需要购买更多的硬件

你可以使用光照传感器直接测量光照强度,但我发现我的运动传感器中的光照读数被限制在最大值1364 lx,因此对我的需求来说毫无用处。我不想仅为此购买另一个传感器,而使用这个巧妙的集成就不需要这样做。

相关文章