Нас уже больше чем один с такими желаниями!
На текущий момент существуют заводские решения:
Nice Bidi-WiFi - пока не держал в руках, заказал
Nice BiDi-ZWave - для ZWave, у нас чаще Zigbee используют
IT4WIFI - цепляется через HomeKit к умному дому
Альтернатива: дёргать через реле выводами SbS, Open, Close и считывать статус с лампы. Это работает, но хочется более элегантного решения с глубокой интеграцией.
Собственно, появилось желание разобраться в протоколе для управления воротами Nice. Переспектива - дешёвые устройства на базе esp8266 с вебсервером и mqtt, для управлением из умного дома.
Что знаю про BusT4:
- Можно подключать несколько устройств
- Длина кабеля до 1200м, значит скорость обмена должна быть небольшой
- Судя по схемам Nice IBT4N, rba3-c, rba3-a, в основе лежит CAN-Bus с его железом. Но логически пакетов кан там может и не быть ( например, в счетчике Меркурий).
- Схема обмена данными примерно такая: Процессор привода <-> кан-трансивер LTC2875 в IBT4N <длинный провод> кан-трансивер LTC2875 внутри OVIEW или IT4WIFI <-> процессор OVIEW или IT4WIFI.
- Отличие от стандартной кан-шины: терминаторы на концах по 270 Ом вместо 120 Ом.
Современные блоки управления приводами имеют разъем BusT4, на который выведены GND, +24V, Rx, Tx. Дальше в случае программатора OVIEW или IT4WIFI должен идти Nice IBT4N (обычный CAN-Трансивер) и само устройство.
Что сделано:
1. Подключил FTDI232 к GND, Rx, Tx разъема BusT4. UART не был обнаружен. Может, плохо искал?
2. Собрал CAN-Sniffer на основе Arduino + c TJA1050. Поискал пакеты на стандартных скоростях кан-шины, данных не увидел. Может скорость не смог подобрать, может сниффер не годится, может кан-трансиверы не совместимы: TJA1050 простой, дешёвый и распространённый, а Nice выпендрился, поставил редкий и навороченный LTC2875.
Посмотрел аналоговым осциллографом сигналы на CAN-H и CAN-L. При подключенном OView пакетов нет, пока кнопки не нажимаешь на панели OVIEW. При нажатии кнопок пакеты есть!
Нужно поискать цифровой осциллограф и посмотреть запись формы сигнала. Хотя бы скорость шины прикинуть можно будет. Измеряем длительность последнего импульса в пакете, делим миллион на эту длительность в миллисекундах.
Что осталось сделать:
- Собрать другой кан-сниффер с кан-трансивером и получить пакеты.
- Попробовать получить пакеты не после кан-трансивера, а до, на разъеме BusT4 с выводов Rx Tx. Чем-то, как-то... Ведь если хотим подключать ESP, вроде как лишний элемент в виде кан-трансивера нам ни к чему.
- Провести реверс-инжениринг, найти команды для Open, Close, режим калитки, Stop, получить статус.
- Написать конфигурацию для EspHome, чтобы все данные поступали в Home Assistant.
Собственно, пока что я в ступоре, нужна помощь грамотного человека.