mysensors

Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: mysensors

Сообщение nightwind » Вт май 22, 2018 6:15 pm

lanket писал(а):
Вт май 22, 2018 5:56 pm
nightwind писал(а):А можно ли в модуле сделать метод или свойство, сигнализирующее о пропадании связи со шлюзом? очень надо)
Модуль 'устройства онлайн'

Отправлено с моего Redmi Note 4 через Tapatalk
ping устройства ничего не дает. оно всегда онлайн. мне надо знать, соединился ли модуль MySensors со службой шлюза.
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: mysensors

Сообщение smart_g » Вт май 22, 2018 7:20 pm

nightwind писал(а):
Вт май 22, 2018 4:14 pm
smart_g писал(а):
Вт май 22, 2018 12:01 pm
nightwind писал(а):
Вт май 22, 2018 11:28 am
А можно ли в модуле сделать метод или свойство, сигнализирующее о пропадании связи со шлюзом? очень надо)
В Устройствах есть Устройства Online. Добавте туда ip шлюза mysensors. Создайте объект связанный с этим устройством и отслеживайте его состояние.
Шлюз конечно же отслеживается. Но иногда, очень редко, падает служба майсенсорс. приходится заходить по ssh и перезапускать ее. Хотелось бы чтобы этим занимался модуль (хотя бы можно было привязать скрипт на событие потери связи.)
Можно конечно из скрипта коннектиться на порт шлюза и проверять, но это костыль и только запутает код.

В службе mysensors в x-ray можно установить перезапуск автоматически и не надо заходить по ssh.
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: mysensors

Сообщение nightwind » Вт май 22, 2018 10:54 pm

smart_g писал(а):
Вт май 22, 2018 7:20 pm
nightwind писал(а):
Вт май 22, 2018 4:14 pm
smart_g писал(а):
Вт май 22, 2018 12:01 pm
nightwind писал(а):
Вт май 22, 2018 11:28 am
А можно ли в модуле сделать метод или свойство, сигнализирующее о пропадании связи со шлюзом? очень надо)
В Устройствах есть Устройства Online. Добавте туда ip шлюза mysensors. Создайте объект связанный с этим устройством и отслеживайте его состояние.
Шлюз конечно же отслеживается. Но иногда, очень редко, падает служба майсенсорс. приходится заходить по ssh и перезапускать ее. Хотелось бы чтобы этим занимался модуль (хотя бы можно было привязать скрипт на событие потери связи.)
Можно конечно из скрипта коннектиться на порт шлюза и проверять, но это костыль и только запутает код.

В службе mysensors в x-ray можно установить перезапуск автоматически и не надо заходить по ssh.
да блин, падает не цикл мажордома, а служба на малине. причем не падает, а висит. в это время цикл майсенсорс от мажордома сыпет в лог ошибки про невозможность подключения к шлюзу, но их никак не увидеть из php кода, или опять же городить костыли.
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: mysensors

Сообщение smart_g » Ср май 23, 2018 9:36 am

А так было всегда? У меня в MySensors возникла проблема после обновления системы до 17.10, а с ней и PHP
viewtopic.php?f=6&t=5109&start=100#p77529
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: mysensors

Сообщение smart_g » Чт май 24, 2018 10:17 am

А вот у меня возникла другая засада. Понадобилось проверить новую ноду. Сеть mysensors на другом объекте. Собрал быстро serialgate на клоне Arduini Nano. Ясное дело, что в системе определяется как /dev/ttyUSB0. В настройках модуля так и указываю, но gate не определяется. Хотя под windows с помощью MYSController все нормально, конект со шлюзом нормальный. Посмотрел файл PhpSerial.php. Для Linux упоминаются только устройства /dev/ttyS. Че делать?
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: mysensors

Сообщение lanket » Чт май 24, 2018 12:12 pm


smart_g писал(а):А вот у меня возникла другая засада. Понадобилось проверить новую ноду. Сеть mysensors на другом объекте. Собрал быстро serialgate на клоне Arduini Nano. Ясное дело, что в системе определяется как /dev/ttyUSB0. В настройках модуля так и указываю, но gate не определяется. Хотя под windows с помощью MYSController все нормально, конект со шлюзом нормальный. Посмотрел файл PhpSerial.php. Для Linux упоминаются только устройства /dev/ttyS. Че делать?
На такой вопрос лучше Иван ответит. Но как я понимаю суть проблемы : модуль мажора написан под решение прямого подключения Нрф к малине и дрова под это решение жёстко выдают путь к устройству, и поэтому модуль мажора не представляет что могут быть другие пути.

Отправлено с моего Redmi Note 4 через Tapatalk

Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: mysensors

Сообщение smart_g » Чт май 24, 2018 12:25 pm

Вот че написано в файле PhpSerial.php:

* Device set function : used to set the device name/address.
* -> linux : use the device address, like /dev/ttyS0
* -> osx : use the device address, like /dev/tty.serial
* -> windows : use the COMxx device name, like COM1 (can also be used
* with linux)
ну и собственно строки
if (preg_match("@^COM(\\d+):?$@i", $device, $matches)) {
$device = "/dev/ttyS" . ($matches[1] - 1);
Т.е. устройства типа /dev/ttyUSB не обрабатываются. Думаю костыльно просто отредактировать строчку.
$device = "/dev/ttyUSB" . ($matches[1] - 1);
А вообще бы правильно отредактировать этот файл. Но это к автору модуля.
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: mysensors

Сообщение lanket » Чт май 24, 2018 6:50 pm


smart_g писал(а):...
А вообще бы правильно отредактировать этот файл. Но это к автору модуля.
Так опенсоурс ведь. Отредактируй и пуллреквест к Ивану. Видимо у него в мыслях не было что через USB кто-то будет работать.

Отправлено с моего Redmi Note 4 через Tapatalk

Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: mysensors

Сообщение smart_g » Чт май 24, 2018 6:53 pm

Я не очень силен в PHP. Надо не мой костыль вставить, а правильно парсить строку с определением номера порта.
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: mysensors

Сообщение smart_g » Чт май 24, 2018 6:57 pm

К тому же костыль помог на половину. Пришлось повозится с правами доступа к /dev/ttyUSB
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
Ответить