MrShnicel

Пикабушник
Дата рождения: 1 января
15К рейтинг 3 подписчика 138 подписок 1 пост 0 в горячем
Награды:
10 лет на Пикабу За заезд из Сочи За контакт с инопланетным разумом С Днем рождения, Пикабу!
11

Что скрывает тупой пульт в вашем умном доме

Введение

В свободное от работы время занимаюсь хобби - экспериментирую с умным домом на базе Home Assistant (HA) и окружающей его программно-аппаратной инфраструктурой в виде различных медиасервисов, сервисов мониторинга и прочего. Мой умный дом сейчас насчитывает несколько десятков различных устройств в основном из экосистемы Tuya. Из них есть как различные датчики температуры, влажности, движения, присутствия, открытия, обнаружения влаги, электромониторинга, так и различные реле, переключатели, пульты, кнопки и прочее. Например реализована система обнаружения и предотвращения протечек через шаровые краны с электроприводом и двухканальное реле. При срабатывании любого датчика протечки вода перекрывается на ввод в квартиру, а мне приходит уведомление в Telegram.

Почти все устройства у меня работают по протоколу Zigbee. Привожу краткое описание:

Zigbee — это беспроводной протокол для IoT, работающий на частоте 2.4 ГГц (как Wi-Fi, но с меньшим энергопотреблением). Его ключевые особенности: 

  • Сеть с ячеистой топологией (mesh) — устройства ретранслируют сигнал, увеличивая покрытие. 

  • Низкое энергопотребление — идеально для датчиков (например, Xiaomi Aqara). 

  • Локальная работа — в отличие от облачных решений, Zigbee может функционировать без интернета. 

На прикладном уровне в Home Assistant для работы с Zigbee обычно используются интеграции типа ZHA или Zigbee2MQTT (Z2M), которые у меня работают через usb-донглы Sonoff. Сам Zigbee2MQTT — это мост между Zigbee-гаджетами и Home Assistant, который обеспечивает двунаправленную коммуникацию посредством MQTT-сообщений.

Преимущества: 

  • Универсальность — поддерживает огромное количество устройств, даже те, что несовместимы с официальными хабами (например, Tuya). 

  • Гибкость — все команды и события видны в MQTT, их можно анализировать и писать автоматизации на их основе. 

  • Локальный контроль — опять же, никакого облака, все данные внутри локальной сети. 

Однажды столкнулся с необходимостью управлять некоторыми устройствами через ИК-канал и я решил попробовать это реализовать с помощью устройства от MOES UFO-R11, которое представляет собой универсальный пульт для умного дома, который может имитировать сигнал от любых ик-пультов.

Далее фото обоих пультов.

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Пульт TCL RC902V FMR5

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

MOES UFO-R11

В спальне, где это сейчас требуется, у меня располагается телевизор TCL на базе Android и не инверторная сплит-система Rapid.

Предполагалось использовать пока два главных сценария на оба устройства: включение и выключение, так как телевизор у меня так и не захотел включаться по Wake-on-Lan, а для кондиционера этот ик-протокол вообще единственный, ибо в нём даже wi-fi модуль не предусмотрен. Позже, вероятно, появятся другие сценарии, т.к. тут можно реализовать любые сценарии, которые поддерживает пульт, завязанные на любые другие сценарии и автоматизации, которые связаны с другими устройствами. Например выключить телевизор, при моём засыпании или автоматизировать работу кондиционера.

Находка

Чтобы я мог эмулировать команды пульта, мне нужно обучить мой “умный” пульт. Само обучение выглядит так: мне нужно включить режим обучения пульта в интерфейсе Z2M в HA и нажать на “пульте-учителе” кнопку, нажатие которой нужно имитировать на “умном” пульте. В данном случае это кнопка включения.

Далее будет самое интересное. В процессе обучения пульта я наткнулся на интересную находку: я обнаружил команду, закодированную в base64 и из чистого любопытства решил попробовать расшифровать её и посмотреть, что она из себя представляет.

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Интерфейс Home Assistant в процессе обучения пульта

В результате данных действий получается команда, которая очень похожа на base64. Теперь её можно использовать в автоматизациях, что я и сделал и успешно создал автоматизацию включения/выключения телевизора которая на данный момент работает.

На этом статью можно было бы завершить, если бы не моё праздное любопытство. На скриншоте видно строку, похожую на base64 и я решил попробовать расшифровать и посмотреть, что она из себя представляет: закинул полученную команду в base64decode.org для декодирования. На первый взгляд тут также не было совершенно ничего осмысленного, и вменяемого ни с UTF-8, ни с ASCII или другими широко используемыми кодировками не выходило, но тут я случайно выбрал UTF-16LE, и, внезапно, получил китайские символы.

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка включения на пульте при декодировании из base64

Это заинтриговало меня ещё больше, и я решил попробовать перевести их через Google Translate. В результате чего получился следующий текст:

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка включения на пульте при декодировании из base64. Перевод

Далее я начал проверять, что зашифровано в других кнопках, это кнопка “настройки”:

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка “настройки”. Расшифровка команды.

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка “настройки”. Перевод команды.

Кнопка “Wink”:

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка “Wink. Расшифровка команды

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка “Wink”. Перевод команды

Ещё я выяснил, что при нажатии на одну и ту же кнопку, если до этого были нажаты другие, появляются другие команды. То есть с самого начала на кнопке включения я видел одну команду, а теперь тут появилась другая:

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка “Вкл". Расшифровка команды

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка “Вкл". Перевод команды

Ещё несколько кнопок:

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка “Назад". Расшифровка команды

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Кнопка “Назад". Перевод команды

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Какая-то из кнопок медиасервисов. Перевод команды

Интересно, не правда ли?

Я попробовал погуглить по итогу что бы могли значить эти даты, что это был за чемпионат и ничего интересного не получил. Вообще про этот год есть только одно упоминание о футбольном клубе “Ляонин” связанное с чемпионатом. Ну и ещё что-то про события на площади Тяньаньмэнь, но это в следующем году.

Далее я решил прогнать несколько полученных фраз через дипсик и результат меня шокировал, честно говоря.

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Попытка узнать у Depseek значение закодированных фраз.

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Попытка узнать у Depseek значение закодированных фраз. Продолжение

А ещё после этого запроса в китайских сервисах что-то сломалось и дипсик теперь разговаривает со мной почему-то только по-китайски.

Что скрывает тупой пульт в вашем умном доме Умный дом, Home Assistant, Автоматизация, Интернет вещей, Длиннопост

Заключение

У меня до сих пор остаётся много вопросов к моему сегодняшнему открытию и я надеюсь собрать всё, что я нашёл в единую картину, чтобы понять что происходит. Сейчас проверяю остальные кнопки на пульте и судя по информации, в них есть какая-то последовательность, но я ещё не понял что за чем идёт. Надеюсь сегодня успеть дешифровать остальное, после чего опубликую продолжение.

Также постараюсь найти носителя языка/языков и задать им несколько вопросов.

Если у кого-то есть соответствующие знания - подключайтесь. Также прошу всех, кто пользуется HA и Z2M проверить что зашифровано в их пультах.

Показать полностью 17
Отличная работа, все прочитано!