[Модуль] Устройства Online (pinghosts)

Разработка дополнительных модулей, подключение различных приложений.

Модераторы: Bagir, Ivan, immortal, Vit, PAV

Vip
Сообщения: 72
Зарегистрирован: Вт авг 28, 2012 5:36 pm
Откуда: Kiev, Ukraine
Благодарил (а): 2 раза
Поблагодарили: 7 раз

[Модуль] Устройства Online (pinghosts)

Сообщение Vip » Ср окт 03, 2012 4:27 pm

Обсуждение страницы модуля Hosts Online

Сразу хочу уточнить.
Добавил я например хост google.com
Определение проходит отлично, а вот срабатывание сценариев и кода php не происходит.
Отдельно Сценарии по прямой ссылке выполняются.
В сценариях и в коде пытаюсь сделать
setGlobal('Online',1);
setGlobal('Online',0);
в зависимости от доступности хоста google.com
Аватара пользователя
sergejey
Site Admin
Сообщения: 4267
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1389 раз
Контактная информация:

Re: Hosts Online

Сообщение sergejey » Ср окт 03, 2012 5:31 pm

Странно... сам довольно активно этим модулем пользуюсь и всё срабатывает.
Попробуй в сценариях указывать что-то вроде
say("Интернет недоступен");
и
say("Доступ в интернет восстановлен");

чтобы наверняка проверить, что сценарии не выполняются

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Hosts Online

Сообщение Urbas81 » Вт окт 30, 2012 5:46 pm

А от чего может ложно срабатывать данный модуль, например я назначил проверку ping сайта ya.ru 2 раза в минуту, при обрыве связи назначил определенные действия, так вот вижу что интернет не обрывался, а действия происходили как при обрыве связи, или может контрольную проверку еще раз делать, какой скрипт за это отвечает?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4267
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1389 раз
Контактная информация:

Re: Hosts Online

Сообщение sergejey » Вт окт 30, 2012 6:37 pm

Urbas81 писал(а):А от чего может ложно срабатывать данный модуль, например я назначил проверку ping сайта ya.ru 2 раза в минуту, при обрыве связи назначил определенные действия, так вот вижу что интернет не обрывался, а действия происходили как при обрыве связи, или может контрольную проверку еще раз делать, какой скрипт за это отвечает?
Ложные срабатывания у меня иногда бывают, но это чисто системная заморочка -- по каким-то причинам компьютер именно в тот момент не смог достучаться. За проверку доступности отвечает модуль /modules/pinghosts.class.php

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 255 раз

Re: Hosts Online

Сообщение Alex » Вт окт 30, 2012 10:45 pm

Присоединяюсь. Хосты сами по себе, модуль сам по себе. Корреляцию между показаниями модуля и наличием хостов онлайн заметить не удалось. :D
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Hosts Online

Сообщение Urbas81 » Ср окт 31, 2012 9:31 am

Нет, ну я когда сам обрывал интернет, все корректно обрабатывалось.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4267
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1389 раз
Контактная информация:

Re: Hosts Online

Сообщение sergejey » Ср окт 31, 2012 10:40 am

Как вариант, ввести счётчик попыток, чтобы система запускала скрипт, удостоверившись что хост действительно доступен (или не доступен) попытавшись проверить его несколько раз. Что думаете?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 255 раз

Re: Hosts Online

Сообщение Alex » Ср окт 31, 2012 11:13 am

Наглядный экспкримент.

Смотрим на Ардуину.

- Ардуина Онлаин!

Ок. Вынимаем кабель из Ардуины.

- Ардуина Оффлайн!

Ок. Вставляем кабель обратно.

- Ардуина Онлайн!

Ок. Вынимаем кабель.

- Ардуина Онлайн!

Упс! Ждём 3 минуты.

- Ардуина Онлайн!

Упс! Ждём 5 минут.

- Ардуина Онлайн!

Упс! Ждём 10 минут.

- Ардуина Онлайн!

И где?..
Аватара пользователя
sergejey
Site Admin
Сообщения: 4267
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1389 раз
Контактная информация:

Re: Hosts Online

Сообщение sergejey » Сб апр 13, 2013 3:39 pm

в последней версии добавлена опция "Количество попыток"

Изображение

т.е. система не будет менять статус устройства, пока статус не подтвердится указанное количество раз.


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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
dmw
Сообщения: 464
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 39 раз
Поблагодарили: 78 раз

Re: Hosts Online

Сообщение dmw » Пн апр 29, 2013 2:42 pm

Есть возможность через GET-запрос изменить IP устройству, а не вручную через админку?
Например через запрос типа "http://сервер/objects/?object=Router&op=set&p=IP&v=ххх.ххх.ххх.ххх
Дело в том что второй удаленный сервер стоит за ADSL-модемом, а у модема вражденная несовместимость с DDNS-сервисом. Поэтому чтобы не связываться с DDNS, на удаленном сервере запускаю скрипт, который присылает внешний IP на основной сервер в объект Router.IP:

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

#!/bin/bash
MYIP=$(wget -O - -q http://icanhazip.com);
wget -O - -q "http://логин:пароль@адрес/objects/?object=Router&op=set&p=IP&v="$MYIP;
Но просто в переменную это не интересно. Интересно как его передать сразу в модуль Hosts Online?
Ответить