Страница 1 из 15

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

Добавлено: Ср окт 03, 2012 4:27 pm
Vip
Обсуждение страницы модуля Hosts Online

Сразу хочу уточнить.
Добавил я например хост google.com
Определение проходит отлично, а вот срабатывание сценариев и кода php не происходит.
Отдельно Сценарии по прямой ссылке выполняются.
В сценариях и в коде пытаюсь сделать
setGlobal('Online',1);
setGlobal('Online',0);
в зависимости от доступности хоста google.com

Re: Hosts Online

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

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

Re: Hosts Online

Добавлено: Вт окт 30, 2012 5:46 pm
Urbas81
А от чего может ложно срабатывать данный модуль, например я назначил проверку ping сайта ya.ru 2 раза в минуту, при обрыве связи назначил определенные действия, так вот вижу что интернет не обрывался, а действия происходили как при обрыве связи, или может контрольную проверку еще раз делать, какой скрипт за это отвечает?

Re: Hosts Online

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

Re: Hosts Online

Добавлено: Вт окт 30, 2012 10:45 pm
Alex
Присоединяюсь. Хосты сами по себе, модуль сам по себе. Корреляцию между показаниями модуля и наличием хостов онлайн заметить не удалось. :D

Re: Hosts Online

Добавлено: Ср окт 31, 2012 9:31 am
Urbas81
Нет, ну я когда сам обрывал интернет, все корректно обрабатывалось.

Re: Hosts Online

Добавлено: Ср окт 31, 2012 10:40 am
sergejey
Как вариант, ввести счётчик попыток, чтобы система запускала скрипт, удостоверившись что хост действительно доступен (или не доступен) попытавшись проверить его несколько раз. Что думаете?

Re: Hosts Online

Добавлено: Ср окт 31, 2012 11:13 am
Alex
Наглядный экспкримент.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И где?..

Re: Hosts Online

Добавлено: Сб апр 13, 2013 3:39 pm
sergejey
в последней версии добавлена опция "Количество попыток"

Изображение

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


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

Re: Hosts Online

Добавлено: Пн апр 29, 2013 2:42 pm
dmw
Есть возможность через 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?