Phillips Hue: Как восстановить предыдущее состояние лампы при использовании электрического переключателя?

У меня есть несколько лампочек Philips Hue у себя дома, но они используются почти так же, как классические лампочки вкл/выкл без цвета сегодня, главным образом потому, что я нахожу электрические переключатели более полезными чем вытащить мой iPhone или исправить HueTap, чтобы включить/выключить свет. - Каждый раз, когда лампочка Hue выключается, она забывает о своем состоянии и всегда возвращается со 100% -ой яркостью белого цвета.

После многих поисковых запросов (и не найдя никаких решений) я задаюсь вопросом, не хватает ли я этой точки и почему у других нет этой проблемы.

Я, конечно, не заинтересован в том, чтобы делать программное обеспечение или даже аппаратную работу здесь, но если бы у меня была разумная идея, мне бы хотелось оценить такой путь:

  • Есть ли что-нибудь от Philips, чтобы это исправить? Последнее обновление прошивки не помогло, и поддержка продуктов Philips объяснила, что это не ошибка, это именно то, как она разработана.
  • какие-либо новые "государственные" луковицы?
  • любые рабочие элементы, такие как исправленная/пользовательская лампочка или мостовая прошивка?
  • любая рекомендация о том, как решить эту проблему?
  • Предполагая, что у ламп накаливания не установлена ​​какая-либо память, я думаю, они всегда включаются со 100% -ной яркостью, а затем регистрируются на мосту? И это будет самый ранний возможный момент для восстановления предыдущего состояния?
  • Можно ли решить эту проблему с помощью Hue SDK? (как долго нужно, чтобы включенная лампочка была управляемой Hue Bridge? Каков самый быстрый способ для Java-программы получать уведомление о включении лампочки?)
  • любой шанс вернуть предыдущее состояние быстрее, если использовать какой-либо протокол/методы ZigBee напрямую?

Любые подсказки очень ценятся.

С уважением, Christian

Ответы

Ответ 1

Я согласен, что это может раздражать то, что последнее состояние лампочки не сохраняется. На сайте разработчика Hue есть поток который дает некоторое представление:

  • По всей видимости, есть внутренние дискуссии по этой теме. Команда Philips не решила осуществить восстановление предыдущего состояния из-за "соображений безопасности": пользователь мог остаться в темноте, если она использует электрический переключатель, но предыдущее состояние было "выключено". Это мнение было подтверждено в твитте. Пока еще нет определенного вывода в этой теме.
  • Вы можете сделать обходной путь и постоянно записывать состояние каждой лампы и при необходимости восстанавливать. Существует Node.JS script на GitHub, который, похоже, делает именно это. Если вы хотите запустить это как автономное решение, купите малину 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()