Контроль соединения с контроллером

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

karsotrade
Сообщения: 113
Зарегистрирован: Пт июн 09, 2017 11:18 pm
Благодарил (а): 17 раз
Поблагодарили: 13 раз

Контроль соединения с контроллером

Сообщение karsotrade » Ср дек 20, 2017 7:30 pm

Подскажите пожалуйста как можно осуществить контроль за наличием соединения с контроллером температуры (Arduino Nano с DHT датчиками, данные передаются через вэб переменные). В случае пропадания связи МЖД с контроллером хотелось бы, чтоб при этом показания температуры и влажности обнулялись (в вэб переменные или в свойства элемента сцены прописывались нули). Может уже есть готовые решения, хотелось бы знать о "пропадании" контроллера.
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Контроль соединения с контроллером

Сообщение Vovix » Ср дек 20, 2017 7:42 pm

karsotrade писал(а):Подскажите пожалуйста как можно осуществить контроль за наличием соединения с контроллером температуры (Arduino Nano с DHT датчиками, данные передаются через вэб переменные). В случае пропадания связи МЖД с контроллером хотелось бы, чтоб при этом показания температуры и влажности обнулялись (в вэб переменные или в свойства элемента сцены прописывались нули). Может уже есть готовые решения, хотелось бы знать о "пропадании" контроллера.
если он у вас через локалку подключен, дак и проверяйте пинг ip адреса! хоть в ручную, хоть через Устройства ONLINE!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Re: Контроль соединения с контроллером

Сообщение Берендей » Ср дек 20, 2017 8:03 pm

Я зделал это через анализ updatedText, та как если контролер в сети, но данные не шлет, то пингование не выявит проблемы...
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
karsotrade
Сообщения: 113
Зарегистрирован: Пт июн 09, 2017 11:18 pm
Благодарил (а): 17 раз
Поблагодарили: 13 раз

Re: Контроль соединения с контроллером

Сообщение karsotrade » Ср дек 20, 2017 9:16 pm

Берендей писал(а):Я зделал это через анализ updatedText, та как если контролер в сети, но данные не шлет, то пингование не выявит проблемы...
Если датчики "отваливаются" то всё нормально, данные сразу обнуляються, а вот если контроллер отсоединить, то в МЖД в вэб-переменных остаётся последнее значение и оно не обнуляеться. Вот и хочу этот вопрос как то разрешить.
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Re: Контроль соединения с контроллером

Сообщение Берендей » Ср дек 20, 2017 10:09 pm

Я делал так:

Это вызывается в Cron каждую минуту

Код: Выделить всё

if (substr(gg('Sensor_temp03.updatedText'),0,8)=="5 мин") 
{ sg('Sensor_temp03.alive',0);
  say("Внимание нет связи с метеостанцией",2);
}
 

Через 5 минут после последнего обновлениея значения датчика сбрасываем alive в 0, и сигнализируем о проблеме.
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
karsotrade
Сообщения: 113
Зарегистрирован: Пт июн 09, 2017 11:18 pm
Благодарил (а): 17 раз
Поблагодарили: 13 раз

Re: Контроль соединения с контроллером

Сообщение karsotrade » Ср дек 20, 2017 11:17 pm

А не подскажите как мне обнулять значение температуры и влажности. Например, в МЖД в сцене есть элемент "Температура/влажность гостинной" с кодом:
%DHTSens1.Temp%℃
%DHTSens1.Hum%%

Соответственно созданы вэб переменные DHTSens1.Temp и DHTSens1.Hum которые опрашивают периодически контроллер.
Каким кодом и где обнулять данные?
Molostov
Сообщения: 52
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 136 раз
Поблагодарили: 13 раз

Re: Контроль соединения с контроллером

Сообщение Molostov » Ср дек 20, 2017 11:20 pm

Код: Выделить всё

sg('DHTSens1.Temp',0);
sg('DHTSens1.Hum',0);
 
Вроде так.
За это сообщение автора Molostov поблагодарил:
karsotrade (Чт дек 21, 2017 10:01 pm)
Рейтинг: 1.16%
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am
Благодарил (а): 24 раза
Поблагодарили: 18 раз

Re: Контроль соединения с контроллером

Сообщение Берендей » Ср дек 20, 2017 11:34 pm

Выше советовали пинговать Нанку. В Cron создаете событие каждую минуту, в нем пингуете, и вслучае неудачи присваиваете переменым "0".
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: Контроль соединения с контроллером

Сообщение xor » Чт дек 21, 2017 12:44 am

Если данные читаются через веб-переменные, можно вывести ещё одну - счетчик любой, типа время или счетчик внутреннего цикла - и читать кроме ваших влажностей и температур и значение счетчика. Если счетчик не меняется, то - всё. Пинговать - время терять, неск. секунд.
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Контроль соединения с контроллером

Сообщение Vovix » Чт дек 21, 2017 8:33 am

Вы тут сейчас насоветуете человеку.... Crone....
Пинговать... я как раз рекомендовал бы через Устройства ONLINE, т.е. завести там запись!
Обнулять... сделайте код с двумя строчками указанными выше (или еще туда чего-нибудь затолкайте)

Код: Выделить всё

sg('DHTSens1.Temp',0);
sg('DHTSens1.Hum',0); 
и вызывайте его стандартно вписав в "Действие при переходе в Offline:" в устройствах ONLINE

любители Линукса блин...:-), а если у человека MDM на Windows? Он ведь не указывает систему?
За это сообщение автора Vovix поблагодарили (всего 2):
karsotrade (Чт дек 21, 2017 11:29 am) • Molostov (Чт дек 21, 2017 10:04 pm)
Рейтинг: 2.33%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить