Подключение контроллера MegaD-328

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение контроллера MegaD-328

Сообщение Panchez » Сб фев 23, 2013 12:25 am

Как такогого скрипта нет, у меня мега управляет светом напрямую через Action и свое состояние передает на сервер, пример скрипта выше. А в меню управления в выключателях ссылки управления мегой http://192.168.1.100/sec/?cmd=2:1 включить и =2:0 выключить.
Если нужно что бы управлял именно сервер, то нужно делать через функцию echo, но так не пробовал небыло необходимости.
С уважением
Александр.
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Подключение контроллера MegaD-328

Сообщение jonyzs » Сб фев 23, 2013 12:31 am

Значит на меге сервер непрописан и она работает проста как выключалка или включалка чего понадобытса ?
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение контроллера MegaD-328

Сообщение Panchez » Сб фев 23, 2013 12:51 am

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

if ($params['pt']==1) {
// pt=1
// Включился свет на кухне
sg("ThisComputer.KitchenLight","1");

итд...

так устанавливается глобальное свойство объекта, а его уже можно использовать где угодно, в сценах например.
С уважением
Александр.
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Подключение контроллера MegaD-328

Сообщение jonyzs » Сб фев 23, 2013 11:12 pm

Немогли бы на примере описать что и где какой код вставить чтоб например считивал состояние порта 1(настроен на вход) и на сайте отоброжал состояние а также второй пример чтоб включил на сайте выключатель и поменялось состояние порта 7 (настроен на выход),что то у меня никак неполучаетса понять.
Попробовал так,но подозреваю что неменяет состояние порта из-за того что у меня система на виртуальном хосте потому что если напрамую копирую сылку в браузер http://192.168.1.14/sec/?cmd=8:1 порт состояние меняет.
Вложения
testswitch.PNG
testswitch.PNG (80.14 КБ) 19377 просмотров
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение контроллера MegaD-328

Сообщение Panchez » Вс фев 24, 2013 1:00 am

Насчет состояния порта не могу сейчас подсказать, нужно пробовать, у меня небыло такой задачи. Сейчас нет возможности попробовать, как только доберусь попробую.
С уважением
Александр.
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение контроллера MegaD-328

Сообщение Panchez » Вт фев 26, 2013 12:26 am

попробовал такой код

if ($params['pt']==1) {
// pt=1
say("Что-то включилось 1");
getURL("http://192.168.1.100/sec/?cmd=2:2");

Он должен при срабатывании порта 1 менять состояние порта 2 на противоположное, но не хочет, из браузера работает, возможно нужно вместо getURL применять другой вызов.
С уважением
Александр.
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Подключение контроллера MegaD-328

Сообщение jonyzs » Вт фев 26, 2013 12:47 am

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

Re: Подключение контроллера MegaD-328

Сообщение sergejey » Вт фев 26, 2013 11:31 am

в коде стоит добавить ",0", потому что по-умолчанию getURL использует кэширование и вторым параметром задаётся время в секундах, в течении которых будет на одинаковые запросы выдаваться результат из кэша:
getURL("http://192.168.1.100/sec/?cmd=2:2",0); -- запрос без кэша

насчёт "на линуксе непочатый край" -- не соглашусь, система одинаково работает как на Windows (и даже надёжней наверное, сказать по правде), по крайней мере в той части, что не касается особенностей управления аудио-видео плэерами. с настройкой разве что может быть сложнее, т.к. надо где-то атрибуты нужные поставить, где-то ini-файлы подкрутить, но на форуме это многократно уже обсуждалось.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
jonyzs
Сообщения: 86
Зарегистрирован: Чт фев 21, 2013 11:35 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Подключение контроллера MegaD-328

Сообщение jonyzs » Вт фев 26, 2013 1:50 pm

Вроде и у меня в коде стоит этот ноль,но неработает такой запрос,сегодня попробую всё на свежую систему поставить,посмотрим на результат.
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Подключение контроллера MegaD-328

Сообщение Panchez » Вт фев 26, 2013 7:49 pm

sergejey писал(а):в коде стоит добавить ",0", потому что по-умолчанию getURL использует кэширование и вторым параметром задаётся время в секундах, в течении которых будет на одинаковые запросы выдаваться результат из кэша:
getURL("http://192.168.1.100/sec/?cmd=2:2",0); -- запрос без кэша
Спасибо за подсказку, не знал. В таком варианте работает отлично.
Состояние порта я смотрю через веб-переменные запросом http://192.168.1.100/sec/?pt=2&cmd=get (отображается как ON и OFF), которое вывожу в свойства объекта.
Теперь вот думаю, как все это совместить с выключателем и индикацией состояния.
Т.е. принцип такой, проверяется глобальное свойство объекта, и исходя из состояния устанавливается начальное положение выключателя, а оба положения выключателя имеют одинаковую ссылку.(Удобно установить тактовые выключатели и алгоритм работы настроить на - нажал кнопку состояние изменилось на противоположное. И без сервера хорошо работает)
Через веб переменные наверно не очень элегантное решение, на сайте автора контроллера используется такой код получения свойств:
<?
$state = file_get_contents('http://192.168.1.100/sec/?pt=2&cmd=get');
?>
После выполнения данной команды в переменной $state у нас будет содержаться ON (если порт находит в активном состоянии), OFF или текущее значение, если порт настроен в режим PWM (ШИМ) или ADC (АЦП).
С уважением
Александр.
Ответить