Подключение контроллера MegaD-328
Модератор: immortal
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
dimik Как вариант, использовать getOutput. Запускать так же из onNewMinute с требуемым интервалом. Ответ в виде temp:25/hum:43 будет записан в указанное свойство. А дальше его можно сразу раскидать на нужные составляющие.
BlackWarrior Возможно я просто не понял суть вопроса, но почему бы с ардуины не использовать обычные GET запросы?
BlackWarrior Возможно я просто не понял суть вопроса, но почему бы с ардуины не использовать обычные GET запросы?
- Amarok
- Сообщения: 1427
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Подключение контроллера MegaD-328
А пример можно?Bagir писал(а):BlackWarrior Возможно я просто не понял суть вопроса, но почему бы с ардуины не использовать обычные GET запросы?
Моя Алиска живёт на Proxmox в Debian 12
-
- Сообщения: 141
- Зарегистрирован: Пн апр 22, 2013 10:42 am
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
Re: Подключение контроллера MegaD-328
Пример как это сделать проще?Bagir писал(а):dimik Как вариант, использовать getOutput. Запускать так же из onNewMinute с требуемым интервалом. Ответ в виде temp:25/hum:43 будет записан в указанное свойство. А дальше его можно сразу раскидать на нужные составляющие.
BlackWarrior Возможно я просто не понял суть вопроса, но почему бы с ардуины не использовать обычные GET запросы?
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Не могу пока помочь. Моя ардуина еще только едет с алиэеспресс. Я так понимаю, Вам интересно вообще в целом как на ардуино выполнить GET запрос. Такое популярное железо, уверен, что либо примеры есть на форуме, либо Вам обязательно помогут.
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Вот пример опроса датчика газаdimik писал(а):Запрос в браузере выглядит вот так:
http://192.168.1.25/sec/?pt=11&cmd=get
ответ вот так:
temp:25/hum:43
пока смог придумать только так:
в onNewMinute прописалКод: Выделить всё
$state = file_get_contents('http://192.168.1.25/sec/?pt=11&cmd=get'); $value = explode('/',$state); sg('Room.Temperature',substr($value[0],5)); sg('Room.Humidity',substr($value[1],4));
Код: Выделить всё
callMethod('MegaD1.getOutput',array('port'=>14,'objName'=>'sensorOutdoorAirGas','propertyName'=>'status'));
Код: Выделить всё
$cmdUrl = sprintf ("http://%s/%s/?pt=%d&cmd=get", $this->getProperty('IpAddress'), $this->getProperty('Password'), intval($params['port']));
$state = trim(file_get_contents($cmdUrl));
- Рейтинг: 1.16%
-
- Сообщения: 141
- Зарегистрирован: Пн апр 22, 2013 10:42 am
- Благодарил (а): 3 раза
- Поблагодарили: 8 раз
Re: Подключение контроллера MegaD-328
О! Спасибо за наводку, я как раз и думал откуда IP-шник взять......
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Файл megad.php и класс теперь находятся тут http://smartliving.ru/forum/viewtopic.php?f=14&t=1832 Обсуждение продолжаем в этой ветке.
-
- Сообщения: 9
- Зарегистрирован: Пт окт 10, 2014 7:48 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: Подключение контроллера MegaD-328
Здравствуйте.Bagir писал(а):Файл megad.php и класс теперь находятся тут http://smartliving.ru/forum/viewtopic.php?f=14&t=1832 Обсуждение продолжаем в этой ветке.
Являюсь пользователем Megad, установил MajorDomo и Ваш класс и megad.php
В процессе настройки возник вопрос: в настройках Megad есть опция srv loop, которая периодически передает статус всех портов на сервер в виде
OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;OFF;OFF;174;147
На сколько я понял, то Ваш скрипт обрабатывает такой ответ не правильно, поскольку идет реакция, как будто сработал нулевой порт.
Можно ли каким-то образом периодически обновлять статусы всех портов? например при обновлении страницы на сайте или по мере сработки самого порта. Например: в закладке "Свет" есть несколько выключателей света, и нужно, чтобы они меняли свое положение (ВКЛ<->ВЫКЛ) если я переключу этот порт не с сайта, а с выключателя на стене.
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Да действительно я даже и не думал о srv loop. А в случае управления с разных терминалов это будет полезно. Уверен, тут совсем все просто. Постараюсь сегодня ночью посмотреть и допилить!
-
- Сообщения: 9
- Зарегистрирован: Пт окт 10, 2014 7:48 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: Подключение контроллера MegaD-328
Отлично, буду ждать для тестированияBagir писал(а):Да действительно я даже и не думал о srv loop. А в случае управления с разных терминалов это будет полезно. Уверен, тут совсем все просто. Постараюсь сегодня ночью посмотреть и допилить!

На сколько я понимаю, то реакция на срабатывания портов прописывается также в файле megad.php?
Как правильно прописывать реакцию на порты если устройств несколько?
Можно ли добавить в этот скрипт функцию ведения логов срабатывания портов в базе данных?
Было бы удобно смотреть, какие сработки были за время отсутствия, кто звонил в дверь, кто ходил под окнами (датчик движения активирует фото или видео съемку), до какой температуры нагревался котёл и какие лампы больше всего были включены на месяц или год.
Или эта функция уже есть? Если есть, то как ею пользоваться?
Также как можно реализовать автоматическое выключение порта через заданный период времени не было сработок датчика движения в помещении?
Чувствую, что с моими большими запросами придется изучать РHP
