Я тут писал штуку для управления кондиционером. А у кондиционеров пульты хранят состояние и при нажатии кнопки отправляют его целиком одним большим пакетом. В целом, там довольно несложно найти какие биты за что отвечают просто тыкая все кнопки на пульте и смотря на результат. Но в конце пакета обычно есть чексума. Для Haier - она оказалась просто суммой всех байт. А для Dexp просто так подобрать её не получилось.
Нашел в mi remote аппке пульт, который подходил под этот кондиционер, и долго гадал, как же они формируют пакеты. В итоге у этой mi remote аппки в /data/data/com.duokan.phone.remotecontroller/databases/ir_data есть sqlite база, в которой лежит json, в котором лежит lua(?) скрипт, который собирает пакет.
Самому до такого алгоритма формирования чекусуммы догадаться кажется было нереально)