[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
HUB-C2000PP и MQTT
regressorДата: Воскресенье, 05.02.2023, 11:59 | Сообщение # 1
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Добрый день. У меня есть необходимость подключить пожарку-охранку болида к умному дому на home assistant. Пожарка охранка сделана на базе C2000-КДЛ + C2000-ПП. Питание от РИП-12RS с которого тоже хочется данные завести в home assistant. Сначала хотел напрямую данные брать через modbus, но с C2000-ПП данные РИП-а получить не вышло так как их надо в 2 запроса получать - сначала адрес записать, а потом значение вычитать.

Нашел программу HUB-C2000PP, которая при помощи конфига uprog нормально все получает, но остался вопрос как эту программу с home assistant подружить. В arm-skif в скриптах вроде как был MQTT. Но в скриптах hub-c2000pp mqtt not defined. Пульта С2000М нет.

Может кто подскажет как проще всего подружить Болид с C2000-ПП и home assistant ?
 
arm-skifДата: Воскресенье, 05.02.2023, 12:35 | Сообщение # 2
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Добрый день. Программа HUB-C2000PP не поддерживает MQTT, но я планирую добавить в нее MQTT. Может в течении месяца.
 
regressorДата: Воскресенье, 05.02.2023, 12:59 | Сообщение # 3
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Понял. Тогда сажусь в позу ждуна smile
А такой вопрос - там в HUB-C2000PP вроде как какой-то локальный сервер есть - он тоже через шифрование ? У HA вроде есть возможность еще через http дергать значения.

Добавлено (05.02.2023, 14:26)
---------------------------------------------
Посмотрел код HUB-C2000PP. Пока жду MQTT - попробую впилить API от esphome (https://github.com/esphome/esphome/tree/dev/esphome/components/api), это наверное самая правильная интеграция получится.

 
arm-skifДата: Воскресенье, 05.02.2023, 15:43 | Сообщение # 4
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
HUB-C2000PP это сервер (HUB-C2PP.exe) и конфигуратор (Configurator.exe). Между ними шифрование когда они обмениваются по сети. Шифрования нет если обе программы запущены в одном каталоге.
 
regressorДата: Воскресенье, 05.02.2023, 16:07 | Сообщение # 5
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
А. Понял. Это CanalLocal компонент получается. Я пока думаю какой лучше способ интеграции выбрать.

1. Своя интеграция в HA на питоне, которая напрямую в modbus данные берет. Но там видимо проблемой будет запрашивать все равномерно, очередь какую-то городить и т.п.
2. Своя интеграция в HA, которая будет запрашивать данные у HUB_C2000PP через локальный линк. Тут HUB_C2000PP сама занимается очередью и планированием запросов. Плюс можно использовать конфигуратор и родной uprog.
3. Встроить api от того же esphome как самую адекватную в HUB_C2000PP - тогда оно будет автоматически обнаруживаться HA, NR и прочими.

Мне наверное вариант 2 проще всего будет реализовать.
 
arm-skifДата: Воскресенье, 05.02.2023, 20:26 | Сообщение # 6
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Вспомнил, что в телеграм-группе PlcAutomations человек делал интеграцию HA через NodeRed: https://t.me/PlcAutomationsBolid/55411

А мне конечно легче интегрироваться с HA через HUB-C2000PP + MQTT, но я правда HA не пользуюсь, попробую сделать как вижу, а потом подправим.

CanalLocal использует кроссплатформенный класс QLocalSocket в Qt, его в HA будет не просто реализовать. Нужно как-то по другому, например просто через TCP или UDP.
 
regressorДата: Среда, 08.02.2023, 05:42 | Сообщение # 7
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Интеграции для HA пишутся на питоне. Для питона есть pyqt. По иде должно через него заработать.

Еще такой вопрос - сервер hub2000pp хранит считанные переменные у себя в памяти пока он запущен? А то у меня возникает ощущение, что когда я конфигуратор запускаю, он все заново вычитывает. Так получается с любым клиентом будет ?
 
arm-skifДата: Среда, 08.02.2023, 08:24 | Сообщение # 8
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Сервер всё в памяти хранит и отдает клиентам по их запросу.
 
regressorДата: Воскресенье, 19.02.2023, 08:12 | Сообщение # 9
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
В общем после пары дней изысканий решил что ну его нафик этот pyqt. Очень уж проблемный он и установить его просто из зависимостей не выйдет.

Пробую через JSEngine и UDP (и HA и HUB-C2000PP на одной машине живут). Вот только есть проблема - как в js скрипте получить список активных зон modbus, разделов и реле ? nSh не дается - возвращает undefined.

Сунулся в эти qt_meta_stringdata_JSEngine / qt_meta_data_JSEngine и с наскоку не очень понял как туда добавить еще один метод (например getShState без параметров).

Плюс не нашел как получить в js скрипте тип зоны.

Вопрос не актуален. Лет 10 как на Qt ничего не делал и забыл  совсем про эти моки...

Нашел include/JSEngine/JSEngine.h и добавил туда QVariant getShList(void) {return QVariant::fromValue(mConfigC2000PP->getListSh());} после чего список зон появился.

Добавил измененные файлы: в UdpSocket.h добавил параметр port отправителя (чтобы можно было в ответ слать пакеты), в JSEngine.h добавил getShList, getRlList, getPartList, getShNum, getShType, getShPart

Не знаю уж почему. Файлы не добавляются


Сообщение отредактировал regressor - Воскресенье, 19.02.2023, 11:32
 
arm-skifДата: Понедельник, 20.02.2023, 08:54 | Сообщение # 10
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Я хочу добавить MQTT не в сценарии, а как отдельную вкладку в конфигураторе. Не хочу сильно усложнять сценарии. На праздники постараюсь сделать.
 
regressorДата: Понедельник, 20.02.2023, 14:04 | Сообщение # 11
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Я собственно уже сваял интеграцию для HA smile Добавляется интеграция, там вводишь хост-порт и оно вытягивает весь набор к себе. Осталось доделать нормальное отображение событий и сделать чтобы тревоги отрабатывали. Скрипт js слушает udp порт и при получении запроса отправляет полностью все дерево датчиков, реле и разделов. Плюс отправляет через udp изменения.

Правда пришлось в скрипте прописать отдельным словариком соответствие раздела и типа датчика. Потому что этой информации как я понял у HUB-C2000PP нет:

Код
var sensor_types = {
   1: "doorSensor",
   2: "motionSensor",
   3: "temperatureSensor",
   4: "humiditySensor",
   5: "smokeSensor",
   6: "smokeSensor",
   7: "smokeSensor",
   8: "smokeSensor",
   9: "statusSensor",
   10: "ripOutputSensor",
   11: "ripCurrentSensor",
   12: "ripBatteryVoltageSensor",
   13: "ripBatteryLevelSensor",
   14: "ripInputVoltageSensor",
   15: "statusSensor",
   16: "statusSensor",
}

Ну и методов добавил в JSEngine.
 
arm-skifДата: Понедельник, 20.02.2023, 14:10 | Сообщение # 12
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
up
 
regressorДата: Среда, 22.02.2023, 03:51 | Сообщение # 13
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Подскажите, а получится в ваш код добавить мои изменения ? Я планирую интеграцию выложить на гитхабе вместе с js скриптом, но оно работать не будет, если не добавить в JSEngine методы. Там пока (еще доделываю постановку-снятие зон) получилось следующее:

1. UdpSocket.h  в readDatagram добавился параметр port
прототип: void readDatagram(QString datagram, QString host, quint16 port);
плюс вызов: emit readDatagram(QString::fromUtf8(datagram), sender.toString(), senderPort);

2. JSEngine.h добавились методы:
int getShNum(quint16 nSh) { return mConfigC2000PP->getShNum(nSh);}
int getShType(quint16 nSh) { return mConfigC2000PP->getShType(nSh);}
int getShPart(quint16 nSh) { return mConfigC2000PP->getShPart(nSh);}
int getShDev(quint16 nSh) { return mConfigC2000PP->getShDev(nSh);}

QVariant getShList(void) {return QVariant::fromValue(mConfigC2000PP->getListSh());}
QVariant getRlList(void) {return QVariant::fromValue(mConfigC2000PP->getListRl());}
QVariant getPartList(void) {return QVariant::fromValue(mConfigC2000PP->getListPart());}

Получается вот такая вот картинка (автоматическая панель HA сразу после добавления интеграции):



Все датчики добавляются в виде нескольких сущностей. Для ДИП34 это бинарный датчик (сработка/нет сработки) + текущий статус. Для adc такая же история. Реле пока не подключены, но будут примерно так же работать (я тут психанул и сделал платку 20х50х12 тиристорную для кдлки). Поскольку протокол ДПЛС никто так и не описал пришлось купить табличку и взять с нее контроллер. Т.е. для КДЛки это табличка, а в реальности маленький тиристорный модуль:



И по поводу телеграмм бота есть вопрос - это специально было сделано, что взаимодействие идет именно с ботом, а не с чатом, куда бот добавлен ? У меня например семейный чат, куда было бы логичнее сообщения слать.
Прикрепления: 4898261.png (69.2 Kb) · 0796177.jpg (312.9 Kb)
 
arm-skifДата: Среда, 22.02.2023, 08:47 | Сообщение # 14
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Да, получится. Добавлю это в новую версию.

Табличка дешевле всего, но например если нужно два реле, то можно взять СП2, получится дешевле. Для 220В есть кстати компактные твердотельные реле Omron G3MB-202P с управлением 5/12/24 В. Та же оптопара и симистор, но в одном компактном корпусе. Но оптопара там немного поумнее, включает симистор при переходе 220В через ноль. На али даже есть готовые платы с этими реле и клеммниками, но для arduino, с управлением 5 В, на 12 В нужно искать.
 
regressorДата: Среда, 22.02.2023, 14:06 | Сообщение # 15
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Я когда этого франкенштейна лепил тоже сначала хотел поставить реле твердотельное умное. Но там очень жесткие ограничения на потребляемый от ДПЛС шины ток.

В итоге пришлось найти самую малопотребляющую оптопару. Умные реле с переходом через 0 имеют от 5ма и выше. А тут если правильно помню не больше 2 можно. В оригинальной табличке там 817 оптопара стоит и резистор запаян на какой-то совсем запредельно низкий ток.

Добавлено (23.02.2023, 14:49)
---------------------------------------------
Начал проверять интеграцию и обнаружил странность. События вроде приходят нормально (в сценарии hub.signalUpdateSh.connect(updateSh), а updateSh отсылает udp уведомление). Снимаю дымовой датчик - вижу udp пакетом прилетает событие Потеря связи с ШС + в scripts.log падает запись. Зажимаю на датчике кнопку "тест" и вижу в конфигураторе событие "тест извещателя", но ни в логе ни udp пакета нет....
Бага?

Добавлено (23.02.2023, 15:57)
---------------------------------------------
Нашел причину проблемы с тестом извещателя. Оказывается это не статус шлейфа, а событие. Сделал костыльно - в c2000pp.cpp в строку 1197 добавил код:

Код
if (event==19) {
    // Если это тест извещателя - отправим уведомление
    setShState(nSh, 19);
}

Теперь обновление в интеграцию приходит. Костыль конечно, но мне помогло.

Добавлено (24.02.2023, 15:43)
---------------------------------------------
Вроде все доделал. И push уведомления, и управление разделами и реле.  И даже работает все. Вот только в какой-то момент разделы перестали ставиться-сниматься. Отправляю из интеграции или из конфигуратора запрос постановки/снятия раздела и c2000пп перестает вообще работать с приборами - сам отвечает, но лампа на нем либо непрерывно горит, либо погашена и опрос не идет. Дергаю его по питанию - начинает опрашивать. Прошивка последняя. Капец. С этим болидом постоянно какие-то приколы sad

 
arm-skifДата: Суббота, 25.02.2023, 15:59 | Сообщение # 16
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Не стоит смешивать события и состояния шлейфов. Из состояния "Тест извещателя" он как потом вернется во взят/снят если с ним ничего не делать?

У С2000-ПП разных версий есть некоторые странности, я пытаюсь их обойти, но не всегда получается. Например если управлять реле, которыми ПП управлять не может, например реле не существует или прибор автономно управляет своим реле, то ПП 1.3х зависает и помогает только его перезагрузка по питанию. Или вот недавно прошил КДЛ до 2.35 и обнаружил что ПП 1.3х зависает при попытке взять/снять пожарные шлейфы. У ПП 2.х тоже есть небольшие приколы, но он по крайней мере хотя бы не зависает. Но зато может перезагрузиться на ровном месте  wacko
 
regressorДата: Суббота, 25.02.2023, 16:18 | Сообщение # 17
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Он из состояния "тест извещателя" возвращается при следующем же опросе - т.е. меньше чем через секунду.

По ПП понял. Буду дрючить техподдержку Болида.

Добавлено (25.02.2023, 16:22)
---------------------------------------------
Интеграцию доделал, шлифанул и запустил у себя в работу. Выложил на гитхабе: https://github.com/Regressor/hass-hubc2000pp

Все отлично опрашивается, adc адекватно меняется, реле включаются/выключаются (у меня кстати 1.32 и включение/выключение отсутствующего реле зависания не вызывает). Сработка датчика в клиенте home assistant меньше чем за секунду появляется.

Пробросил все это в яндекс-дом и теперь алису можно спросить насчет температуры-влажности и сработок датчиков + реле поуправлять.

С разделами все не очень, но по ним попробую Болидовцев попинать. Ну вдруг получится.

 
arm-skifДата: Суббота, 25.02.2023, 16:41 | Сообщение # 18
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
up
Скажут, что 1.32 больше не поддерживается (и возможно 2 тоже), покупайте версию 3.0, скоро выйдет  yes

Насчет разделов. Посмотрите какие типы шлейфов входят в разделы. Я делал костыль для ПП 1.3х, если в раздел входит шлейф тип 6, то этим разделом управляем пошлейфно. Может еще на какие типы это распространить.
 
regressorДата: Понедельник, 27.02.2023, 15:23 | Сообщение # 19
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
В техподдержке Болида попросили конфиги и описание что я делаю. Скинул им конфиги и скриншоты как я с помощью mbpoll пытаюсь снять зону и как с2000-пп после этого себя ведет. Сразу в лес не послали. Будем посмотреть что из этого выйдет.

По пошлейфной постановке - у меня есть раздел 2 в котором только с2000-bt (две зоны типа 6 - температура и влажность). При постановке-снятии тоже зависает sad


Сообщение отредактировал regressor - Понедельник, 27.02.2023, 15:25
 
balyanДата: Среда, 01.03.2023, 15:35 | Сообщение # 20
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
Цитата regressor ()
Интеграцию доделал, шлифанул и запустил у себя в работу. Выложил на гитхабе: https://github.com/Regressor/hass-hubc2000pp
Добрый день! Спасибо вам и автору сайта за Ваш труд!
Для меня тема очень актуальна. Сам занимаюсь монтажом ОПС и дома себе собрал  сигнализацию которую также хотелось бы прокинуть в HA, но к сожалению мои познания в программировании практически = 0.
В вашей инструкции на github вы пишете о программе старше версии 2.0.2 , на форуме http://forum-bolid.ru/viewtopic.php?f=219&t=5793 нашел файлы автора  с программой, но там как раз таки версия 2.0.2 которая как я понял не рекомендуется.А где же взять последнее обновление этой программы ? (на этом сайте ее не нашел). И есть-ли какая-нибудь более подробная пошаговая инструкция по установке ПО на ПК и дальнейшем запуске интеграции в HA?

PS: (в моем случае ПК с ОС Debian 11 на который установлен HA в докер контейнере), буду очень признателен если вы сможете пошагово разжевать куда двигаться. С2000-ПП настроен на стенде, опрос идет а что дальше не совсем понятно.
 
arm-skifДата: Среда, 01.03.2023, 15:38 | Сообщение # 21
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Версия 2.1.0 появится на этой неделе. Осталось кое-что доделать.
 
regressorДата: Среда, 01.03.2023, 16:25 | Сообщение # 22
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Цитата balyan ()
И есть-ли какая-нибудь более подробная пошаговая инструкция по установке ПО на ПК и дальнейшем запуске интеграции в HA?

Более подробную инструкцию не делал. Я внес в исходники программы 2.0.2 несколько изменений (в 13 сообщении описаны - при желании можно самому добавить и пересобрать) и попросил автора добавить их в новую версию. Новая версия как я понял будет еще и с mqtt (т.е. это еще один способ пробросить все в HA) и она пока не готова.

Собственно там все просто с интеграцией.
1. Настроить программу HUB-C2000PP чтобы все было красиво, все работало и все описания были заполнены.
2. В окне ввода текста вкладки "Сценарии" конфигуратора заменить содержимое на script.js из моего репозитория, поправить в самом начале список соответствия номера зоны типу датчика и нажать кнопку сохранить.
3. Докер контейнер HA либо перезапустить с network_mode: "host" либо пробросить в него порт 22001/udp
4. В папку конфигурации HA в подкаталог custom_components скопировать каталог hubc2000pp из репозитория
5. Перезапустить HA
6. В настройках выбрать "Добавить интеграцию", в поиске написать hub, кликнуть найденную интеграцию и нажать запустить с настройками по умолчанию если сервер hub-c2000pp находится на той же машине.
7. Если все хорошо - все что есть в программе автоматически заедет в HA в виде устройств и различных элементов (сенсоров, свичей, зон и т.п.).
 
arm-skifДата: Среда, 01.03.2023, 16:39 | Сообщение # 23
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Mqtt пока не будет. Я думал оно уже и не требуется раз есть интеграция. Если что, позже добавлю, иначе до новой версии так и не доберусь.

В новой версии будет:
- Изменения сценариев из этой ветки форума.
- Возможность сохранить/восстановить целиком всю конфигурацию программы (вместе со сценарием и вообще всем) одним файлом.
- База данных АЦП/счетчиков с возможностью настроить гистерезис сохранения данных а так же графики АЦП/счетчиков за нужный промежуток времени.
- Измененный телеграм. Появятся меню с отображением шлейфов/разделов/реле в виде списка в дополнении к уже существующим отображениям в виде таблицы. И еще ко всем спискам добавлена кнопка "обновить".
- Для Orange новая файловая система OverlayFS, объединяющая два раздела с файловыми системами: erofs и f2fs. Этим сейчас занимаюсь, пока не готово.
 
regressorДата: Четверг, 02.03.2023, 08:43 | Сообщение # 24
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Вот если в телеграмме будет возможность сделать работу с чатом, а не ботом напрямую будет вообще огонь.
 
arm-skifДата: Четверг, 02.03.2023, 08:56 | Сообщение # 25
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Клиент вместо бота? Это было в первой версии, но потом телеграм начал менять API и я перешел на бота. Тем более у бота есть кнопки, а у клиента нет.
 
regressorДата: Четверг, 02.03.2023, 09:50 | Сообщение # 26
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Я просто может не в курсе как оно все работает. Есть же возможность взаимодействовать с ботом внутри группового чата. Т.е. создается чат, в нем находятся люди. В чат добавляется бот, потом достается из обновлений бота chat_id и далее весь обмен с ботом идет внутри этого чата. И уведомления туда же от бота прилетают. У меня задача в семейном чате получать уведомления от бота и ставить-снимать.

А в текущей реализации мне в приватном чате бот пишет и я ему команды пишу.
 
arm-skifДата: Четверг, 02.03.2023, 09:53 | Сообщение # 27
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Так и работает.
Вот бот в группе, можно попробовать: https://t.me/+DjjzqTS6K5gwNWVi
 
balyanДата: Четверг, 02.03.2023, 11:10 | Сообщение # 28
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
Цитата regressor ()
1. Настроить программу HUB-C2000PP чтобы все было красиво, все работало и все описания были заполнены.2. В окне ввода текста вкладки "Сценарии" конфигуратора заменить содержимое на script.js из моего репозитория, поправить в самом начале список соответствия номера зоны типу датчика и нажать кнопку сохранить.
Добрый день! Я правильно понимаю что для настройки программы необходим графический интерфейс, с помощью терминала возможна настройка (если графическая оболочка отсутствует на сервере)?
 
arm-skifДата: Четверг, 02.03.2023, 11:12 | Сообщение # 29
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Программа HUB-C2000PP клиент-серверная. У нее есть сетевой графический интерфейс.
 
regressorДата: Четверг, 02.03.2023, 12:50 | Сообщение # 30
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Цитата arm-skif ()
Программа HUB-C2000PP клиент-серверная. У нее есть сетевой графический интерфейс.
У меня сервер и HA запущены на rpi (cm4). Программу для настройки (конфигуратор) можно как из под windows запустить так и на линуксе с графикой - отлично все работает. Шикарно сделано. Особенно телеграмм бот с его менюшками.

Правда с ботом я видимо что-то не так делаю - у меня бот все уведомления о сработках непосредственно мне шлет в личные, а не в группу, куда я его добавил.
 
arm-skifДата: Четверг, 02.03.2023, 12:55 | Сообщение # 31
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Нужно в группе что-нибудь написать (или /start, или обратиться к нему по имени, не помню), после этого в конфигураторе у бота появится эта группа. Насколько помню, у группы ID отображается со знаком минус "-". И дальше в конфигураторе настроить отправку сообщений для этой группы.
 
regressorДата: Четверг, 02.03.2023, 13:20 | Сообщение # 32
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Ох. Оно живое! Спасибо!
 
balyanДата: Четверг, 02.03.2023, 17:19 | Сообщение # 33
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
Цитата arm-skif ()
Программа HUB-C2000PP клиент-серверная. У нее есть сетевой графический интерфейс.

Очень хорошая для меня новость! Жду не дождусь выхода новой версии, чтобы опробовать у себя)
 
arm-skifДата: Понедельник, 06.03.2023, 01:17 | Сообщение # 34
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Версия 2.1.0
 
arm-skifДата: Понедельник, 06.03.2023, 09:23 | Сообщение # 35
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
regressor, у вас на GitHub ссылка на arm-skif.ru, лучше сделайте ссылку на один из форумов болид (официальный или не официальный) с программой. Просто на arm-skif.ru нет описания этой программы, хотя да, сама она на нем лежит. Не хотел лишний раз мозолить глаза болидовцам smile Иначе люди будут дольше искать где скачать.
 
balyanДата: Понедельник, 06.03.2023, 11:05 | Сообщение # 36
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
Цитата arm-skif ()
Версия 2.1.0
Добрый день!
Подскажите пожалуйста. Как поставить программу на Debian, мой алгоритм действий :
1) Скачиваю исходные библиотеки по ссылке http://arm-skif.ru/download/HUB-C2000PP/HUB-C2000PP_src.7z
2) Распаковываю архив и перемещаю содержимое в home/balyanibl у меня появляется пака по адресу  home/balyanib/HUB-C2000PP_2.1.0_scr
3)Перехожу по указанному пути в папку Server cd /home/balyanibl/HUB-C2000PP_2.1.0_scr/Server
3)Выполняю команду qmake HUB-C2PP.pro
4)Выполняю команду make
Что дальше? Где должен появиться исполняемый файл HUB-C2000PP и как его запустить?

Добавлено (06.03.2023, 11:14)
---------------------------------------------

Цитата balyan ()
Что дальше? Где должен появиться исполняемый файл HUB-C2000PP и как его запустить?
Снимаю вопрос.
Запустил файл с именем HUB-C2PP сервер появился. Видимо в инструкции неточность, там указано "После окончания сборки в каталоге появится исполняемый файл HUB-C2000PP".

Добавлено (07.03.2023, 08:52)
---------------------------------------------
@regressor,  @arm-skif   Добрый день! Хотел еще раз Вас поблагодарить за ваш огромный труд, за основу которую положили в создание самого ПО и саму идею интеграции в унмый дом HA !
    Подскажите, возможно-ли сделать программу HUB-C2000PP дополнением в Hassio, чтобы можно было  установить, допустим из пользовательского репозитория магазина дополнений HUCS и запускать в Doker совместно с  ассистентом, без дополнительных перенаправлений портов и пересоздания работающего контейнера?

    Просто не совсем тема понятна с этой частью конечной интеграции продукта, в том числе тема реализации автоматического запуска  программы HUB-C2000PP при запуске системы. Думаю расширенный мануал или реализация предлагаемого метода установки  может поспособствовать удобству интеграции оборудования в умный дом HA пользователям с недостаточным опытом общения с OS Linux. 
    Наверное большая часть пользователей использует именно такой метод установки - в Doker контейнер, реализую его по готовым мануалам из сети интернет.  Вряд-ли эта часть пользователей с ходу способна осилить все эти действия из того, что написано в инструкции к интеграции:  (https://github.com/Regressor/hass-hubc2000pp)

 
regressorДата: Вторник, 07.03.2023, 13:47 | Сообщение # 37
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
@arm-skif ссылку поправил

@balyan
Сделать все через HACS точно не получится - там просто насколько я понял нет возможности запускать сторонние приложения. Плюс скорее всего в контейнер при таком запуске придется /dev/ttyUSB0 пробрасывать.

В принципе можно попробовать сделать докер-контейнер с HUB-C2000PP (а может автор уже сделал) - это чуть облегчит запуск для обычных пользователей, но пока руки даже не знаю когда дойдут.

Автоматический запуск я у себя сделал путем создания файла /etc/systemd/system/hub2000pp.service со следующим содержимым (путь до выполняемого файла надо поправить не забыть!):

 
 [Unit]Description=hub2000pp
 After=network.target

 
 [Service]ExecStart=/opt/hub-c2000pp/HUB-C2PP
 ExecStop=/bin/kill ${MAINPID}
 Restart=on-failure


 [Install]WantedBy=multi-user.target

После создания этого файла можно выполнить 2 команды:
Код
sudo systemctl daemon-reload
sudo systemctl enable hub2000pp.service

И собственно сервис после этого будет запускаться автоматически

Инструкцию сделаю подробнее как чуть разгребусь.


Сообщение отредактировал regressor - Четверг, 09.03.2023, 09:13
 
balyanДата: Вторник, 07.03.2023, 17:11 | Сообщение # 38
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
Цитата regressor ()
Плюс скорее всего в контейнер при таком запуске придется /dev/ttyUSB0 пробрасывать
Нужно не забывать про С2000-Ethernet , у меня на нем запустилось с пол пинка и работает)
Цитата regressor ()
В принципе можно попробовать сделать докер-контейнер с HUB-C2000PP (а может автор уже сделал) - это чуть облегчит запуск для обычных пользователей, но пока руки даже не знаю когда дойдут.
Тоже решение...
Цитата regressor ()
Автоматический запуск я у себя сделал путем создания файла /etc/systemd/system/hub2000pp.service со следующим содержимым (путь до выполняемого файла надо поправить не забыть!):
Про демонов читал но пока не понял, воспользуюсь Вашим мануалом, но пока по факту даже в ручном запуске программы, Hassio когда пытаюсь добавить интеграцию не видит сервер, видимо как  раз из-за перенаправления портов...
Цитата regressor ()
(а может автор уже сделал
Подождем комментарии автора ), а то что он будет крутиться в отдельном контейнере разве не будет проблемой взаимодействия с HA?
 
arm-skifДата: Вторник, 07.03.2023, 17:58 | Сообщение # 39
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Я с контейнерами не разбирался, с HA тоже. Мне как-то ближе OrangePI zero и телеграм smile
 
regressorДата: Среда, 08.03.2023, 01:56 | Сообщение # 40
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Если контейнеры в одной сети запущены, то между ними все замечательно без всяких пробросов бегает, а обращаться можно по имени контейнера, а не по ip адресу. Если C2000-Ethernet то вообще все отлично будет работать.

Интеграция должна видеть сервер HUB-C2000PP даже без перенаправления портов - перенаправление нужно, чтобы события приходили моментально. Без перенаправления тоже будет работать, но события будут через минуту приходить.

Вы скрипт в конфигураторе поменяли ? Ошибок не было ?
 
arm-skifДата: Среда, 08.03.2023, 06:47 | Сообщение # 41
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Заменил QVariant, чтобы не было лишнего преобразования. В скрипт, который по умолчанию, добавил новые функции, чтобы было видно что они есть. Проверил работу новых функций.
 
balyanДата: Среда, 08.03.2023, 21:32 | Сообщение # 42
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
Цитата regressor ()
Автоматический запуск я у себя сделал путем создания файла /etc/systemd/system/hub2000pp.service со следующим содержимым (путь до выполняемого файла надо поправить не забыть!):Код

[Unit]Description=hub2000pp
After=network.target

[Service]ExecStart=/opt/hub-c2000pp/HUB-C2PP
ExecStop=/bin/kill ${MAINPID}
Restart=on-failure

[Install]WantedBy=multi-user.target

После создания этого файла можно выполнить 2 команды:
Код
sudo systemctl daemon-reload
sudo systemctl enable hub2000pp.service

И собственно сервис после этого будет запускаться автоматически

Инструкцию сделаю подробнее как чуть разгребусь.
Добрый вечер!

Подскажите пожалуйста,  что не так ?

Создал файл в Nano: nano /etc/systemd/system/hub2000pp.service

со следующим содержанием:

[Unit]Description=HUB-C2PP
After=network.target

[Service]ExecStart= /home/balyanibl/HUB-C2000PP_2.1.0_src/Server/HUB-C2PP
ExecStop=/bin/kill ${MAINPID}
Restart=on-failure

[Install]WantedBy=multi-user.target

Перезагрузил демонов: sudo systemctl daemon-reload
Запускаю: sudo systemctl enable hub2000pp.service
Получаю сообщение: Failed to enable unit: File hub2000pp.service: Bad message

Мой файл с программой лежит по пути /home/balyanibl/HUB-C2000PP_2.1.0_src/Server/HUB-C2PP
 
regressorДата: Четверг, 09.03.2023, 07:06 | Сообщение # 43
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Мой косяк - после [Service]enter нужен

Короче это какой-то глюк форума
я пишу [Service]потому нажимаю ентер и пишу ExecStart=/opt/hub-c2000pp/HUB-C2PP
а форум берет и ентеры и пробелы между замыкающей квадратной скобкой и следующим текстом убирает. Там везде где [xxxx]надо ентеры поставить чтобы дальше с новой строки текст был.

Вот так должно быть:

Прикрепления: 6870353.png (6.9 Kb)


Сообщение отредактировал regressor - Четверг, 09.03.2023, 09:18
 
balyanДата: Четверг, 09.03.2023, 11:24 | Сообщение # 44
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
Цитата regressor ()
Мой косяк - после [Service]enter нужен[Service]ExecStart=/opt/hub-c2000pp/HUB-C2PP
Заработало в такой интерпретации:
 [Unit](тут должен быть ENTER)
Description=HUB-C2PP
After=network.target
 
[Service](тут должен быть ENTER)
ExecStart=
/home/balyanibl/HUB-C2000PP_2.1.0_src/Server/HUB-C2PP
ExecStop=/bin/kill ${MAINPID}
Restart=on-failure
 
 [Install](тут должен быть ENTER)
WantedBy=multi-user.target

Еще вопрос,  вот этот скрипт : https://github.com/Regressor/hass-hubc2000pp/blob/master/script.js его содержимое добавил  в 
содержимое сценариев конфигуратора C2000-HUB после основного текста который был. Изменил :
var host = "192.168.1.33";
var port = 22000;
const DLM = "__DLM__";

и типы сенсоров (на моем стенде их 2 : 
var sensor_types = {
1: "smokeSensor",
2: "motionSensor",
}
Больше в скрипте не чего не менял, возможно нужно что-то еще?

    Добавляю интеграцию в  HA - эти датчики залетают и отображаются как бинарные сенсоры, но при этом они не изменяют своего состояния и нет возможности снять или поставить на охрану. (в настройках С2000-ПП тип зоны датчиков "1" ), хотя через конфигуратор шлейфы управляются и в журнале событий приходят соответствующие уведомления.
 
regressorДата: Четверг, 09.03.2023, 15:15 | Сообщение # 45
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Скорее всего если под датчиком движения попрыгать минуту, то он обновиться в HA. Если так, то проблема в том, что udp пакеты из HUB-C2000PP не могут попасть в порт 22001.

Т.е. команды проходят, а push-обновления не долетают.

В инструкции вот этот вот пункт: "Если у вас home assistant запущен в виде docker контейнера необходимо добавить перенаправление порта 22001/udp и пересоздать контейнер (только если контейнер home assistant не запущен в режиме host)"
 
balyanДата: Четверг, 09.03.2023, 16:38 | Сообщение # 46
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
Цитата regressor ()
Если так, то проблема в том, что udp пакеты из HUB-C2000PP не могут попасть в порт 22001.
Как узнать в каком режиме запущен HA в host или нет? Напоминаю что у меня C2000-Ethernet , ранее вы говорили, что не должно быть с этим проблем или это не так? ) Не думаю что у меня получится пересоздать контейнер, с ходу, я бы может и попробовал, но для начала хотя бы адекватно закинуть что имеется )

Про порт 22001 в скрипте не чего нет, там указан только var port = 22000 в самом начале и всё; (м. б. чего-то не понимаю конечно wink )

При пробросе датчиков в HA не появились "кнопки" как в Вашем примере, на скрине панели управления ("кнопки" которые позволяют снять с охраны или поставить на охрану).  Всё то  что добавилось - одной кучей и находится в одном помещении без разделения по датчикам  просто бинарные сенсоры и sensor status, которые показывают только взят снят, а тревоги или что то еще не показывают cry

Моя схема подключения такая: С2000М-МИП-12RS-С2000-КДЛ-устройства ДПЛС.  В самом КДЛ уже сейчас подключены ДИП-34, С2000-ПИК-СТ и собственно С2000-ИК (его поставил потому, что в вашем примере нет С2000-ПИК и я подумал, что дело может быть в этом на примере почему не отображается тревога движения).

Цитата regressor ()
Скорее всего если под датчиком движения попрыгать минуту, то он обновиться в HA.

Суть в том, что С2000-КДЛ не присылает пульту постоянные события по RS об одной  сработке например ИК (или дымового) зашитого в его конфигурацию, событие отправлено из С2000-КДЛ - и его буфер событий очистился сразу, сколько не прыгай или не дыми, только если это не технологический ШС).

Не могли бы вы выложить Вашу конфигурацию из UPROG прибора C2000-КДЛ и самого С2000-ПП, а также сделать копию  скриптов конфигуратора С2000-HUB , у меня все таки подозрение что что-то я не доделал или сделал не так как надо.......

Также еще не дошел до этого, но уже есть вопрос про интеграцию допустим реле например (С2000-КПБ)  какой термин из "словаря" var sensor_types нужно указать чтобы устройство пробросилось в HA с нормальным названием и типом устройства? Насколько я понял набор  этого словаря ограничен теми устройствами что у вас есть на руках, а другие добавить как-нибудь можно?
Прикрепления: 3021931.jpg (142.1 Kb)


Сообщение отредактировал balyan - Четверг, 09.03.2023, 16:39
 
balyanДата: Четверг, 09.03.2023, 21:13 | Сообщение # 47
Группа: Проверенные
Сообщений: 22
Репутация: 2
Статус: Оффлайн
arm-skif, Добрый вечер!
Подскажите возможно подключить бот который используется для оповещения в другой программе по тому же, который используется в другом устройстве токену? Или нужно создавать отдельного бота?
Ввожу в настройки токен - состояние не подключено пишет


Сообщение отредактировал balyan - Пятница, 10.03.2023, 07:29
 
regressorДата: Пятница, 10.03.2023, 08:08 | Сообщение # 48
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
Порт 22001/udp открывается на HA чтобы ловить push пакеты от HUB-C2000PP. Он должен быть проброшен внутрь.

Режим сети и список сетей можно посмотреть командой docker inspect hass -f "{{json .NetworkSettings.Networks }}" (у меня контейнер называется hass)

У вас кнопки не появились, потому что в HA у вас автоматическая панель. Она когда авто - ведет себя мягко говоря странно smile Иногда распадается как у меня на скриншоте, а иногда в кучу. Я от автоматических давно избавился - настраиваю все вручную.

Для реле не надо указывать тип. Оно в ПП идет в отдельном столбце и там вариантов кроме "реле" нет. В HA попадает как один или несколько switch-ей. 

Копия моего скрипта HUB на git я ее как есть выложил.
 
arm-skifДата: Пятница, 10.03.2023, 08:32 | Сообщение # 49
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
balyan, добрый день. Одновременно с одним токеном должна работать только одна программа.
 
regressorДата: Пятница, 10.03.2023, 08:45 | Сообщение # 50
Группа: Проверенные
Сообщений: 31
Репутация: 8
Статус: Оффлайн
А. Еще. Я посмотрел скриншот и понял, что у вас видимо в HUB-C2000PP не заданы описания зон, реле и разделов (их можно отредактировать в конфигураторе и сохранить на сервер). Возможно поэтому разделы и не появились - там вроде я проверку делал, если нет описания - не показывать.
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Форма входа
Наш опрос
Для какой ОС будет востребована программа:
Всего ответов: 1457
Статистика