Помогите с кодом при срабатывании датчика.

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

Модератор: immortal

Ответить
Lisk
Сообщения: 16
Зарегистрирован: Пн апр 13, 2015 12:15 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Помогите с кодом при срабатывании датчика.

Сообщение Lisk » Ср мар 17, 2021 8:04 am

Есть датчик, он шлет в простые устройства свой статус каждую минуту через веб-переменные, я в statusUpdated написал такой код:

$state=gg("Leak02.status");
if($state==1) say("Внимание, зафиксировано прибытие грунтовых вод в котельной" ,2);
if($state==0) say("Уровень грунтовых вод в котельной в норме" ,2);

Все работает, но посылает каждую минуту. Как поправить код что-бы сообщение отсылала только 1 раз после изменения?
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Помогите с кодом при срабатывании датчика.

Сообщение tarasfrompir » Ср мар 17, 2021 8:30 am

Lisk писал(а):
Ср мар 17, 2021 8:04 am
Есть датчик, он шлет в простые устройства свой статус каждую минуту через веб-переменные, я в statusUpdated написал такой код:

$state=gg("Leak02.status");
if($state==1) say("Внимание, зафиксировано прибытие грунтовых вод в котельной" ,2);
if($state==0) say("Уровень грунтовых вод в котельной в норме" ,2);

Все работает, но посылает каждую минуту. Как поправить код что-бы сообщение отсылала только 1 раз после изменения?
в начале кодавставить вот это
if ($params['NEW_VALUE'] == $params['OLD_VALUE']) return;
и почитать тута - https://mdminfo.ru/wiki/NEW_VALUE_%D0%B8_OLD_VALUE
За это сообщение автора tarasfrompir поблагодарил:
Lisk (Ср мар 17, 2021 10:22 am)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
Logrus
Сообщения: 2077
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 456 раз

Re: Помогите с кодом при срабатывании датчика.

Сообщение Logrus » Ср мар 17, 2021 10:56 am

Lisk писал(а):
Ср мар 17, 2021 8:04 am
Есть датчик, он шлет в простые устройства свой статус каждую минуту через веб-переменные, я в statusUpdated написал такой код:

$state=gg("Leak02.status");
if($state==1) say("Внимание, зафиксировано прибытие грунтовых вод в котельной" ,2);
if($state==0) say("Уровень грунтовых вод в котельной в норме" ,2);

Все работает, но посылает каждую минуту. Как поправить код что-бы сообщение отсылала только 1 раз после изменения?
из веб переменных писать только при изменении значения
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Ответить