MrShnicel

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

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

Введение

В свободное от работы время занимаюсь хобби - экспериментирую с умным домом на базе 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, которое представляет собой универсальный пульт для умного дома, который может имитировать сигнал от любых ик-пультов.

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

Пульт TCL RC902V FMR5

Пульт TCL RC902V FMR5

MOES UFO-R11

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, и, внезапно, получил китайские символы.

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

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

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

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

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

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

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

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

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

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

Кнопка “Wink”:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества