Noolite: Плавное увеличение яркости

Добрый день!

Может кто-то сталкивался… Хочу реализовать такой сценарий:

  1. Нажимаю и удерживаю кнопку на пульте noolite
  2. Пульт посылает команду, WB ее ловит (именно WB, а НЕ силовой блок)
  3. WB отправляет команду повышения яркости на связанный силовой блок
  4. Отпускаю кнопку на пульте
  5. WB отправляет команду, повышение яркости прекращается

Иначе говоря, хочется реализовать аппаратную логику работы noolite, программно. Сразу отвечу на вопрос “почему не управлять с пульта напрямую силовым блоком” – у noolite нет обратной связи, а хочется отражать уровень яркости (в OpenHAB например) при управлении хоть из интерфейса, хоть с пульта.

Много буков, да. Если кратко, то:
Как с WB отправлять команду увеличить яркость, пока удерживается кнопка на пульте noolite?

Для этого WB должен знать команды:
запустить плавное понижение яркости
запустить плавное повышение яркости
запустить плавное изменение яркости

Пока он этого не знает.

А есть идеи, как научить, “малой кровью”?

Обработка вот здесь: https://github.com/contactless/rfm69-linux/blob/master/mqtt_devices.py#L163
Файл этот лежит в /usr/lib/wb-homa-ism-radio .
Там можно добавить трансляцию этих команд в контролы в mqtt.

Но я слабо представляю, почему логика обработки таких команд должна быть в стандартном ПО и как она должна выглядеть.
Самое лучшее, что вы можете сделать - написать скрипт на своём любимом языке, который будет обрабатывать сообщения из MQTT.
Сейчас в /events/ должны приходить декодированные сообщения при нажатии на эти кнопки. Протокол там уже разобран, вам надо будет только разобрать текст.

Посмотрите, появляются ли сообщения в MQTT при нажатии на кнопки (mosquitto_sub -t '/#' -v )

Сделал:
запустить плавное понижение яркости cmd=1
запустить плавное повышение яркости cmd=3
запустить плавное изменение яркости в обратном направлении cmd=5
остановить регулировку яркости cmd=10

Теперь можно поймать от пульта команду и выполнить ее через WB.

положить в /usr/lib/wb-homa-ism-radio

https://dl.dropboxusercontent.com/u/4094156/noolite.zip

Спасибо, добавил в wb-homa-ism-radio 1.10. Обновление через apt-get install wb-homa-ism-radio.

P.S. патчи всё-таки гораздо удобнее было бы принимать через pull request’ы гитхаба. Настроить аккаунт и репозиторий - это 10 минут.