Продолжаю эксперименты с компонентами умного дома. На сегодня наметил себе две задачи:
- Подключить датчик температуры/влажности от Sonoff к Home Assistant.
- Подключить к Home Assistant лампу Ledvance/Osram и отвязать ее от приложения.
С первой задачей вышел затык. Вообще не понимаю, куда копать. Данные от датчика передаются довольно сложным путем: Датчик - мост Sonoff ZBBridge - MQTT брокер (в моем случае, Mosquitto) - плагин MQTT для Home Assistant - интерфейс HA.
Датчик к мосту я подключил еще вчера в ходе 2-часового сеанса жесткого извращенного секса. Интерфейс моста показывает, что данные идут. Отлично. Mosquitto показывает, что и мост и плагин MQTT с ним соединяются, но никаких данных в логах нет. Продолбавшись час, выставил полный формат лога Mosquitto и охренел - данные с датчика прут сплошным потоком. Просто не отображаются нигде.
А вот дальше - не понимаю в чем дело. плагин к Mosquitto подключен, но ничего не показывает. Ни в интерфейсе, ни в логах НА. Беглый гуглёж ничего не дал. Видимо, надо садиться на форумы и Reddit и задавать вопросы.
Со второй задачей тоже было не очень просто, но она вполне получилась. Проблема в чём: лампа подключается к своему собственному приложению и управляется только с него. API у Ledvance есть, но чтобы к нему подключиться, надо знать ID устройства и некий Local Key. Если первый находится довольно легко (в приложении), то этот LocalKey нигде не показывается.
Но умельцы нашли способ выковырять LocalKey. Для него нужен рутованый смартфон. На смартфон ставится сервер
Frida и, естественно, приложение Ledvance. Смартфон подключается к компу. На компе с терминала запускается клиент Frida, соединяется с сервером на смартфоне. Сервер перехватывает весь поток данных указанного приложения и отправляет на комп. Там на выходе JSON, в котором и находятся все данные подключенных устройств.
В общем, LocalKey вытащен, и лампа подключена к НА. Подключена в автоматизации и уже включилась с наступлением темноты. Я доволен.