Страница 1 из 2
Периодический опрос состояния пинов на выключателе
Добавлено: Вс янв 20, 2019 9:57 pm
Alexander Travkin
Доброго времени суток уважаемые!
Прошу прощения если эта тема уже поднималась на форуме, но я не нашел.
Вопрос вот в чем: Как в MajorDomo организовать опрос состояния пинов выключателя раз в секунду.
У меня есть 3 китайских NoName выключателя, каждый управляется с помощью GET команд типа:
Код: Выделить всё
$value = 'http://192.168.1.61/i.js?stas=' . '0' . '&dchannel=0'
а состояние пинов в данный момент можно отследить через запрос
который возвращает строку JSON
Есть два метода 1 - для опроса пинов 2 - для включения/выключения пинов. Временно повесил управление на кнопки (сначала запуск первого сценария, потом запуск второго), но хотелось бы отображать в меню реальную картину, когда домашние переключают свет, чтобы у меня тоже показывалось
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Вс янв 20, 2019 10:19 pm
Chainik
Alexander Travkin писал(а): ↑Вс янв 20, 2019 9:57 pm
...
Вопрос вот в чем: Как в MajorDomo организовать опрос состояния пинов выключателя раз в секунду.
...
Пишите в конце метода, который занимается опросом
Код: Выделить всё
setTimeOut('myTimer'.time(),'callMethod("Имя_текущего_ОбъектМетода");',1);
В результате метод будет перезапускать сам себя раз в секунду.
Чтобы этот метод первоначально запускался после старта MajorDomo, можно записать в «onNewMinute» (Панель управления --> ОБЪЕКТЫ --> Объекты --> [класс] Timer --> ClockChime --> onNewMinute) такой код же код (ниже строки «$m=date('i',time());»), т.е.
Код: Выделить всё
setTimeOut('myTimer_1'.time(),'callMethod("Имя_опрашивающего_ОбъектМетода_1");',1);
setTimeOut('myTimer_2'.time(),'callMethod("Имя_опрашивающего_ОбъектМетода_2");',1);
setTimeOut('myTimer_3'.time(),'callMethod("Имя_опрашивающего_ОбъектМетода_3");',1);
Раз у вас 3 выключателя.
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Вс янв 20, 2019 10:54 pm
skysilver
Alexander Travkin писал(а): ↑Вс янв 20, 2019 9:57 pm
а состояние пинов в данный момент можно отследить через запрос
Они точно не умеют сами слать события о смене своего состояния? И зачем каждую секунду опрашивать?
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Пн янв 21, 2019 12:15 am
Alexander Travkin
skysilver писал(а): ↑Вс янв 20, 2019 10:54 pm
Alexander Travkin писал(а): ↑Вс янв 20, 2019 9:57 pm
а состояние пинов в данный момент можно отследить через запрос
Они точно не умеют сами слать события о смене своего состояния? И зачем каждую секунду опрашивать?
Сами не умеют(((
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Пн янв 21, 2019 12:16 am
Alexander Travkin
Код: Выделить всё
setTimeOut('myTimer'.time(),'callMethod("Имя_текущего_ОбъектМетода");',1);
Не сработало((( Может у меня что-то не включено?
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Пн янв 21, 2019 12:18 am
skysilver
А раз в секунду за каким их опрашивать? Или реле свое они сами тоже не умеют локально переключать?
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Пн янв 21, 2019 12:20 am
Alexander Travkin
Свое реле умеют переключать. Опрашиваю, чтобы знать в какое состояние переключить в 0 или 1. И чтобы отклик был от кнопок.
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Пн янв 21, 2019 12:28 am
skysilver
Alexander Travkin писал(а): ↑Пн янв 21, 2019 12:20 am
Свое реле умеют переключать. Опрашиваю, чтобы знать в какое состояние переключить в 0 или 1. И чтобы отклик был от кнопок.
Т.е. по факту только для актуального отображения в веб-морде. И зачем раз в секунду-то? Ты постоянно сидишь и втыкаешь в веб-морду, чтобы увидеть вот этот моментальных отклик? Ты понимаешь, сколько будет сделано запросов за сутки, ради пары-тройки щелканий выключателем?
Имхо, пиши в минутный таймер. Опроса раз в минуту выше крыши хватит.
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Пн янв 21, 2019 12:35 am
Alexander Travkin
Написал в минутный таймер
Код: Выделить всё
callMethod("Имя_опрашивающего_ОбъектМетода_1");
при перезапуске majordomo информация не обновляется
Re: Периодический опрос состояния пинов на выключателе
Добавлено: Пн янв 21, 2019 1:17 am
skysilver
Alexander Travkin писал(а): ↑Пн янв 21, 2019 12:35 am
Написал в минутный таймер
Код: Выделить всё
callMethod("Имя_опрашивающего_ОбъектМетода_1");
при перезапуске majordomo информация не обновляется
Скрин покажи, куда и как вписал.
И код самого метода неплохо бы увидеть.