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

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

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

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

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

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

С уважением, Кристиан


person user5479199    schedule 24.10.2015    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что я, конечно, не заинтересован в том, чтобы делать программное обеспечение для переполнения стека (и даже аппаратную работу для SuperUser).   -  person Jongware    schedule 24.10.2015
comment
Я голосую за то, чтобы оставить вопрос открытым: по крайней мере, ОП упоминает, что он оценит путь создания программного обеспечения. И меня интересовал тот же вопрос (см. Мой ответ ниже). Однако я бы предложил удалить первый, второй и четвертый пункты вопросов.   -  person Stephan    schedule 25.10.2015


Ответы (1)


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

Одной из проблем с решением на основе 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()
person Stephan    schedule 24.10.2015
comment
Степан, большое спасибо за подробный ответ! Я также добавил запись в ветку разработчиков Hue. Упомянутые вами тайминги (3-9 секунд на восстановление) мне очень пригодились. Еще один вопрос: я предполагаю, что примерно такие же задержки будут применяться в решении на основе Rasberry или Arduino? - person user5479199; 26.10.2015
comment
@user5479199 user5479199 Да, задержка не зависит от возможностей клиентского оборудования, поскольку мониторинг не требует значительной мощности ЦП. Код Python, работающий на Raspberry, будет иметь такую ​​же задержку. - person Stephan; 26.10.2015
comment
Спасибо, Стефан. ‹br› Я наивно думал, что процесс включения лампочки выглядит примерно так: ‹br› ‹br› #. Лампочка включена ‹br› #. Лампочка регистрируется/уведомляет Bridge через некоторые пакеты ZigBee ‹br›#. Мост активно информирует слушателей или слушатель выполняет следующий опрос. ‹br› ‹br› Понятия не имею, сколько времени занимает каждая из этих задач.‹br› - person user5479199; 27.10.2015
comment
Если это задача 2, которая занимает большую часть времени, то нет никакого способа улучшить ее. регистрация лампочки раньше, а затем, следовательно, отправить команду для восстановления предыдущего состояния раньше.‹br› ‹br› - person user5479199; 27.10.2015
comment
Только в том случае, если вы уже пробовали: если скрипт постоянно отправляет команды на мост для восстановления предыдущего состояния (независимо от того, горит лампочка или нет), сколько времени потребуется, чтобы восстановить предыдущее состояние, когда лампочка вернется на? - Из того, что я прочитал до сих пор, для отправки команды требуется около 0,1 с. Таким образом, наблюдаемая задержка должна примерно соответствовать времени выполнения задачи 3.‹br› - person user5479199; 27.10.2015
comment
Я бы посоветовал вам самостоятельно протестировать вашу конкретную настройку и ожидания, на веб-сайте разработчиков Hue есть указания о том, как начать. Даже если это работает для меня, это не значит, что это работает для вашей установки. Все, что я могу сказать, это то, что хаб не сразу регистрирует лампочку, если она физически включена. - person Stephan; 30.10.2015
comment
Это одна из моих самых больших проблем с большинством решений для домашней автоматизации. В большинстве случаев они пренебрегают физическими настенными выключателями. Я знаю причины, по которым разработчики выбрали такой подход, но считаю его очень недальновидным и его можно было исправить другими способами (один пример: когда физически включается свет, он спрашивает мост, в каком состоянии он должен быть. Если мост обнаружил отключение электроэнергии, то сообщить GO FULL BRIGHT, в противном случае вернуть предыдущий уровень). Я лично ЛЮБЛЮ огни, я просто хочу, чтобы мост был с открытым исходным кодом и / или чтобы у нас было больше контроля (наши собственные огни!) - person Madivad; 28.04.2016