homeassistant-climate-xiaomi-remote
homeassistant-climate-xiaomi-remote copied to clipboard
raw комманды
Добрый день, Николай подскажите как у вас получилось снять команды для кондиционера, сколько бы я раз не нажимал кнопку постоянно разные команды, а если и повторяются то при попытке послать их обратно кондиционер не реагирует. Пожалуйста подскажите.
Возможно, вы копируете не всю команду. Попробуйте в Google Chrome воспользоваться Developer Tools и скопировать команду оттуда.
Команду копирую всю вот пример отправки через службу
{ "entity_id": "remote.xiaomi_miio_192_168_1_49", "command": "mcxmswlkxms4mEsmc5ADmYzEBDgGPAQ8APwGKAI8CLwEPAI8FrwA/AoqaTADHwS/A38BjwGPAY8BjwIfAZ8AjwovAi8BnwA/AD8DDwGPAI8AjwRfA98Ag4AA" }
Светодиод на шайб моргает. Но кондиционер не реагирует.
При отправке через службу перед командой нужно писать raw:
Попробовал вот так
"command": "raw:mcxmswlkxms4mEsmc5ADmYzEBDgGPAQ8APwGKAI8CLwEPAI8FrwA/AoqaTADHwS/A38BjwGPAY8BjwIfAZ8AjwovAi8BnwA/AD8DDwGPAI8AjwRfA98Ag4AA"
Так же не реагирует.
А как он должен отреагировать? Пульт от кондиционера на каждое нажатие отправляет полное состояние (температура, режим, скорость). То есть, если у вас на пульте сейчас например "охлаждение", "слабый обдув" и "21" и вы жмете увеличить температуру, то отправится состояние "охлаждение", "слабый обдув" и "22". Убедитесь, что вы отправляете команду, которая не соответствует текущему состоянию кондиционера. И что "шайба" видит кондиционер. Для проверки можно например поискать в MiHome ваш кондиционер и попробовать управлять оттуда.
Кондиционер в данный момент включен, пытаюсь его вкл\выкл не реагирует, пытался изменить скорость обдува, так же не реагирует. Кондиционер Mitsubishi. В mihome работает все прекрасно, На пульте каждую кнопку записывал по 5-10 раз находил те команды которые повторяются и пробовал слать их, от без надежности и уникальные пробовал но все без толку.
Попробуйте SmartIR. Возможно с ним заработает. Дайте знать, будем разбираться.
Спасибо, буду пробовать.
smartir так же не работает. В соседней теме видел что у человека похожая проблема. У меня модель ir remote та же что и у него, MJYKQ01CM, может действительно в ней дело?
Возможно ХА имеет какие-то проблемы с этой моделью. Или сама модель имеет проблемы. К сожалению, сейчас не могу ничем помочь. Постараюсь найти такую "шайбу"
Hi, switching to english. Same problem with chuangmi.remote.v2. Seems that the command is coded with heatshrink but I didn't manage to make it works. I have tried to use the script but got an error when running.
https://github.com/rytilahti/python-miio/issues/495#issuecomment-579430049
https://community.home-assistant.io/t/smartir-control-your-climate-tv-and-fan-devices-via-ir-rf-controllers/100798/651
Подтверждаю, у меня такая же модель MJYKQ01CM Попробовал 3 кондиционера, не работает, каждый раз считываются разные коды, при отправке ничего не работает. С телевизорами все ОК
Аналогично и решить проблему пока никак не удалось.
Провел ряд экспериментов. Вторым устройством читал то, что передаёт первое на кондиционер при управлении через MiHome - коды разные Считывал двумя устройствами (первое - версия ПО 1, второе обновилось до версии 2) - код от пульта кондиционера - код обеими устройствами получен одинаковый. Но при повторном отсыле - та же проблема.
Подтверждаю проблему. Проверил интеграцию на 2 пультах: новом MJYKQ01CM с логотипом Mijia и белой коробкой и старом NDZ-08-GA с логотипом MI и коричневой коробкой. Первая модель не работает с кондиционером через HA вообще, постоянно разные команды при обучении, работает только через стандартный плагин. Вторая модель работает с данной интеграцией отлично.
такая же проблема с двумя кондеями и этим же MJYKQ01CM ((
- Dantex пульт YB1FA
- LG S07EQR пульт AKB74955603 Код ловит, но при remote.send_command кондей не подает признаков жизни (( лампочка на самом Xiaomi ir мигает, поесть сигнал вылетает из нее ((( может дело в frequency, но я пробовал разные варианты( результат один. Странно что при записи на одну и туже кнопку получается все время разный код.
Странно что при записи на одну и туже кнопку получается все время разный код.
Именно в этом проблема.
И мы и просим автора climate-xiaomi-remote попробовать решить проблему.
И мы и просим автора climate-xiaomi-remote попробовать решить проблему.
я думаю тут больше вопросов к авторам этой шайбы ( автор этого компонента не виноват что этот девайс работает через Ж.. )) Но если он нам поможет, готов даже задонатить я уже даже был готов перепрошить ее на esphome, но останавливает только лень: https://community.home-assistant.io/t/xiaomi-ir-remote-another-way-to-get-access-token-and-raw-ir-code/136987
Короче этот пульт полное дерьмо ((( ничего на нем не работает. Поставил на него прошивку с еспхоме, все работает)) команды ловит, лампочки мигают ) но при попытке отправить сигнал, он его отправляет и уходит в цикличный ребут ( на ir светодиодах остается 1.4в, то-есть пин остается открытый ( Похоже что то с самой схемой, но в этом я уже не шарю!! проще заказать новый китайский
Возможно брак. Я сконвертировал таблицу кодов от старой версии и теперь мои кондиционеры работают корректно. Обучение всего, кроме кондиционеров работает и так.
а старые коды где брать? или он при обучении генерирует старый код? который нужно конвертировать?
Мои коды были в проекте SmartIR
А чем конвертили? Может можно конвертацию на лету сделать в компоненте?
У меня, к сожалению, нет шайбы второй версии. А на той, что есть, всё работает
питоновский скрипт, где то в другой ветке был
import base64
from sys import argv
import heatshrink2
from miio.chuangmi_ir import ChuangmiIrSignal
import base64
from sys import argv
import heatshrink2
from miio.chuangmi_ir import ChuangmiIrSignal
def convert(data):
signal = ChuangmiIrSignal.parse(base64.b64decode(data))
times = []
for pair in signal.edge_pairs:
times.append(signal.times_index[pair.pulse])
times.append(signal.times_index[pair.gap])
times = '{}\x00'.format(','.join(map(str, times)))
return base64.b64encode(heatshrink2.encode(times.encode()))
if __name__ == '__main__':
print(convert(argv[1]))
Именно этим скоиптом и конвертил.
Ну осталось проверить. Считать коды как есть, сконвертить и попробовать отправить. Если будет работать - добавлю в модуль.
Думаю, что работать не будет. Коды, что считываются, тоже конвертятся каким-то странным манером перед выдачей.. Единственный вариант - это работа с существующими кодами для старой версии и при указании флага использования новой версии делать конвертацию "на лету".
У меня ни один код из SmartIR этим скриптом не конвертится. Пишут, что это коды не от xiaomi_remote.v1 Коды из этого репозитория конвертятся
Вот взял код:
https://github.com/smartHomeHub/SmartIR/blob/master/codes/climate/3180.json
----@MacBook-Air-Eugene ~ % python3 ./converter.ry Z6WLADoCAABwAgAAeAYAAHMRAADNIgAAlU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ASEBISEBAQEBISEhAQEBAQEBAQEBIQEBAQEBASEBIQEBIQFRAQEBAQEBAQEBAQEBASEBAQEBAQEBAQEBAQEBAQEBIQEB
b'nE5mE5lk0mk2m8sm0ymksms3mAA6TGbTWbAIeAgoDPgD+Bj4BHgVeAP4A/gD+DF4DHgD+AP4HHgIeBT4DHzGczibTECrwB/AH8AfwB/AH8ILwm/AH8AfwB/AH8AfwB/AH8IjwGJgAA=='
Как проверить верен ли код - попробовать отправить его через xiaomi.remote.send
Не корректный код просто не будет отправлен (не мигнет светодиод)
Ваш код nE5mE5lk0mk2m8sm0ymksms3mAA6TGbTWbAIeAgoDPgD+Bj4BHgVeAP4A/gD+DF4DHgD+AP4HHgIeBT4DHzGczibTECrwB/AH8AfwB/AH8ILwm/AH8AfwB/AH8AfwB/AH8IjwGJgAA==
на моем кондиционере сработал.