homeassistant-climate-xiaomi-remote icon indicating copy to clipboard operation
homeassistant-climate-xiaomi-remote copied to clipboard

raw комманды

Open mSapik opened this issue 5 years ago • 35 comments

Добрый день, Николай подскажите как у вас получилось снять команды для кондиционера, сколько бы я раз не нажимал кнопку постоянно разные команды, а если и повторяются то при попытке послать их обратно кондиционер не реагирует. Пожалуйста подскажите.

mSapik avatar Aug 14 '19 16:08 mSapik

Возможно, вы копируете не всю команду. Попробуйте в Google Chrome воспользоваться Developer Tools и скопировать команду оттуда.

Anonym-tsk avatar Aug 14 '19 16:08 Anonym-tsk

Команду копирую всю вот пример отправки через службу { "entity_id": "remote.xiaomi_miio_192_168_1_49", "command": "mcxmswlkxms4mEsmc5ADmYzEBDgGPAQ8APwGKAI8CLwEPAI8FrwA/AoqaTADHwS/A38BjwGPAY8BjwIfAZ8AjwovAi8BnwA/AD8DDwGPAI8AjwRfA98Ag4AA" } Светодиод на шайб моргает. Но кондиционер не реагирует.

mSapik avatar Aug 14 '19 16:08 mSapik

При отправке через службу перед командой нужно писать raw:

Anonym-tsk avatar Aug 14 '19 17:08 Anonym-tsk

Попробовал вот так "command": "raw:mcxmswlkxms4mEsmc5ADmYzEBDgGPAQ8APwGKAI8CLwEPAI8FrwA/AoqaTADHwS/A38BjwGPAY8BjwIfAZ8AjwovAi8BnwA/AD8DDwGPAI8AjwRfA98Ag4AA" Так же не реагирует.

mSapik avatar Aug 14 '19 17:08 mSapik

А как он должен отреагировать? Пульт от кондиционера на каждое нажатие отправляет полное состояние (температура, режим, скорость). То есть, если у вас на пульте сейчас например "охлаждение", "слабый обдув" и "21" и вы жмете увеличить температуру, то отправится состояние "охлаждение", "слабый обдув" и "22". Убедитесь, что вы отправляете команду, которая не соответствует текущему состоянию кондиционера. И что "шайба" видит кондиционер. Для проверки можно например поискать в MiHome ваш кондиционер и попробовать управлять оттуда.

Anonym-tsk avatar Aug 14 '19 17:08 Anonym-tsk

Кондиционер в данный момент включен, пытаюсь его вкл\выкл не реагирует, пытался изменить скорость обдува, так же не реагирует. Кондиционер Mitsubishi. В mihome работает все прекрасно, На пульте каждую кнопку записывал по 5-10 раз находил те команды которые повторяются и пробовал слать их, от без надежности и уникальные пробовал но все без толку.

mSapik avatar Aug 14 '19 17:08 mSapik

Попробуйте SmartIR. Возможно с ним заработает. Дайте знать, будем разбираться.

Anonym-tsk avatar Aug 14 '19 17:08 Anonym-tsk

Спасибо, буду пробовать.

mSapik avatar Aug 14 '19 17:08 mSapik

smartir так же не работает. В соседней теме видел что у человека похожая проблема. У меня модель ir remote та же что и у него, MJYKQ01CM, может действительно в ней дело?

mSapik avatar Oct 24 '19 09:10 mSapik

Возможно ХА имеет какие-то проблемы с этой моделью. Или сама модель имеет проблемы. К сожалению, сейчас не могу ничем помочь. Постараюсь найти такую "шайбу"

Anonym-tsk avatar Oct 24 '19 10:10 Anonym-tsk

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

schilea avatar Mar 25 '20 16:03 schilea

Подтверждаю, у меня такая же модель MJYKQ01CM Попробовал 3 кондиционера, не работает, каждый раз считываются разные коды, при отправке ничего не работает. С телевизорами все ОК

kirkorblack avatar Apr 17 '20 01:04 kirkorblack

Аналогично и решить проблему пока никак не удалось.

Провел ряд экспериментов. Вторым устройством читал то, что передаёт первое на кондиционер при управлении через MiHome - коды разные Считывал двумя устройствами (первое - версия ПО 1, второе обновилось до версии 2) - код от пульта кондиционера - код обеими устройствами получен одинаковый. Но при повторном отсыле - та же проблема.

Omirax avatar Jul 02 '20 17:07 Omirax

Подтверждаю проблему. Проверил интеграцию на 2 пультах: новом MJYKQ01CM с логотипом Mijia и белой коробкой и старом NDZ-08-GA с логотипом MI и коричневой коробкой. Первая модель не работает с кондиционером через HA вообще, постоянно разные команды при обучении, работает только через стандартный плагин. Вторая модель работает с данной интеграцией отлично.

eugene-ki avatar Jul 13 '20 13:07 eugene-ki

такая же проблема с двумя кондеями и этим же MJYKQ01CM ((

  1. Dantex пульт YB1FA
  2. LG S07EQR пульт AKB74955603 Код ловит, но при remote.send_command кондей не подает признаков жизни (( лампочка на самом Xiaomi ir мигает, поесть сигнал вылетает из нее ((( может дело в frequency, но я пробовал разные варианты( результат один. Странно что при записи на одну и туже кнопку получается все время разный код.

ekorsanov01 avatar Jul 22 '20 14:07 ekorsanov01

Странно что при записи на одну и туже кнопку получается все время разный код. Именно в этом проблема. И мы и просим автора climate-xiaomi-remote попробовать решить проблему.

Omirax avatar Jul 22 '20 14:07 Omirax

И мы и просим автора climate-xiaomi-remote попробовать решить проблему.

я думаю тут больше вопросов к авторам этой шайбы ( автор этого компонента не виноват что этот девайс работает через Ж.. )) Но если он нам поможет, готов даже задонатить я уже даже был готов перепрошить ее на esphome, но останавливает только лень: https://community.home-assistant.io/t/xiaomi-ir-remote-another-way-to-get-access-token-and-raw-ir-code/136987

ekorsanov01 avatar Jul 22 '20 14:07 ekorsanov01

Короче этот пульт полное дерьмо ((( ничего на нем не работает. Поставил на него прошивку с еспхоме, все работает)) команды ловит, лампочки мигают ) но при попытке отправить сигнал, он его отправляет и уходит в цикличный ребут ( на ir светодиодах остается 1.4в, то-есть пин остается открытый ( Похоже что то с самой схемой, но в этом я уже не шарю!! проще заказать новый китайский

ekorsanov01 avatar Aug 20 '20 12:08 ekorsanov01

Возможно брак. Я сконвертировал таблицу кодов от старой версии и теперь мои кондиционеры работают корректно. Обучение всего, кроме кондиционеров работает и так.

Omirax avatar Aug 20 '20 13:08 Omirax

а старые коды где брать? или он при обучении генерирует старый код? который нужно конвертировать?

ekorsanov01 avatar Aug 20 '20 13:08 ekorsanov01

Мои коды были в проекте SmartIR

Omirax avatar Aug 20 '20 13:08 Omirax

А чем конвертили? Может можно конвертацию на лету сделать в компоненте?

Anonym-tsk avatar Aug 20 '20 13:08 Anonym-tsk

У меня, к сожалению, нет шайбы второй версии. А на той, что есть, всё работает

Anonym-tsk avatar Aug 20 '20 13:08 Anonym-tsk

питоновский скрипт, где то в другой ветке был

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]))

ekorsanov01 avatar Aug 20 '20 13:08 ekorsanov01

Именно этим скоиптом и конвертил.

Omirax avatar Aug 20 '20 13:08 Omirax

Ну осталось проверить. Считать коды как есть, сконвертить и попробовать отправить. Если будет работать - добавлю в модуль.

Anonym-tsk avatar Aug 20 '20 13:08 Anonym-tsk

Думаю, что работать не будет. Коды, что считываются, тоже конвертятся каким-то странным манером перед выдачей.. Единственный вариант - это работа с существующими кодами для старой версии и при указании флага использования новой версии делать конвертацию "на лету".

Omirax avatar Aug 20 '20 13:08 Omirax

У меня ни один код из SmartIR этим скриптом не конвертится. Пишут, что это коды не от xiaomi_remote.v1 Коды из этого репозитория конвертятся

Anonym-tsk avatar Aug 20 '20 14:08 Anonym-tsk

Вот взял код:

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=='

ekorsanov01 avatar Aug 20 '20 14:08 ekorsanov01

Как проверить верен ли код - попробовать отправить его через xiaomi.remote.send Не корректный код просто не будет отправлен (не мигнет светодиод) Ваш код nE5mE5lk0mk2m8sm0ymksms3mAA6TGbTWbAIeAgoDPgD+Bj4BHgVeAP4A/gD+DF4DHgD+AP4HHgIeBT4DHzGczibTECrwB/AH8AfwB/AH8ILwm/AH8AfwB/AH8AfwB/AH8IjwGJgAA== на моем кондиционере сработал.

Omirax avatar Aug 20 '20 17:08 Omirax