Philips Hue:使用电控开关时如何恢复灯泡原来的状态?

Phillips Hue: How to restore previous state of bulb when using electric switch?

我家里有很多飞利浦 Hue 灯泡,但它们现在只像经典 on/off-no-color 灯泡一样使用,主要是因为我确实找到了 电子开关 比拔出我的 iPhone 或更正 HueTap 只是为了打开灯 on/off 更有用。 - 每次关闭 Hue 灯泡时,它都会忘记其状态并始终以 100% 的白色亮度重新打开。

经过大量谷歌搜索(并没有找到任何解决方案)后,我想知道我是否忽略了重点以及为什么其他人没有这个问题。

我当然不喜欢在这里做软件甚至硬件工作,但如果我有一个合理的想法,我很乐意评估这样的路径:

非常感谢任何提示。

此致, 克里斯蒂安

我同意,没有保留灯泡的最后状态可能会令人恼火。有一个 thread on the developer site of Hue,它提供了一些见解:

  • 显然,有关于此主题的内部讨论。由于 "security reasons",Philips 的团队在实施恢复先前状态方面犹豫不决:如果用户使用电子开关,可能会被蒙在鼓里,但之前的状态为 "off"。该意见已被重申in a tweet。跟帖中还没有确定的结论
  • 您可以采取变通办法,持续记录每个灯泡的状态,并在必要时恢复。有一个 Node.JS script on GitHub 似乎正是这样做的。如果您想 运行 将此作为独立解决方案,请购买 Raspberry Pi(或类似的东西)。

基于 SDK 的解决方案的一个问题是延迟:在我的设置中,识别灯泡打开需要 3-9 秒,识别灯泡关闭需要大约 20-30 秒.

这是我的 Python 代码,用于监控灯泡的可达性,使用 python-hue-client:

from hueclient.api import hue_api
from hueclient.models.light import Light
from datetime import datetime
from subprocess import call


if __name__ == '__main__':
    my_ids = (1, 4, 5) # IDs of my light bulbs

    def handle(resource, field, previous, current):
        print "{} {}: changed reachability from {} to {}".format(datetime.now().isoformat(), resource.name, previous, current)

    hue_api.authenticate_interactive(app_name='test-app')

    # register my light bulbs
    for id in my_ids:
        light = Light.objects.get(id=id)
        print "{}: reachability is {}".format(light.name, light.state.reachable)
        # Monitor only the reachability of the light
        light.monitor(field=lambda l: l.state.reachable, callback=handle, poll_interval=0.1)

    print("Starting monitoring. Control-c to exit.")

    # Start the monitoring loop
    hue_api.start_monitor_loop()