Я не знаю, что можно доработать в модуле в этом плане. Если бы причина была в типе переменной и размере какого-либо буфера, то проблема была бы куда более глобальная - обрезалась бы не просто считываемая ИК-команда, а часть всего JSON-ответа шайбы.
Можно протестировать через модуль следующие команды:
- запуск режима обучения: метод miIO.ir_learn, параметры {"key":"1"}
- чтение обучаемого ИК-кода: метод miIO.ir_read, параметры {"key":"1"}
Вариант ответа на запуск режима обучения:
{"result":["ok"],"id":1569917189}
Вариант ответа на команду чтения ИК-кода:
код не обучен
"result":["(null)"],"id":1569917220}
код обучен
{"result":["FE000000000000000000000000080023224B0034003E00AC01C8024703310FB8138853000102000001000002020002020202020000020101010200020201020202010206478D"],"id":1569917473}
Если бы дело было в типе переменной, то обрезалась бы последняя часть JSON, где id. Т.е. это именно шайба отдает обрезанную ИК-команду.