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

[Модуль] MegaD (megad)

Добавлено: Пн май 11, 2015 3:39 pm
sergejey
В маркет добавился модуль MegaD для поддержки соответствующих устройств (подробнее об устройстве на сайте производителя)

Изображение

Возможности модуля:
* Поиск и автоматическое добавление подключенных устройств
* Привязка входов/выходов к объектам/свойствам системы для управления и чтения статуса
* Привязка показаний со встроенного датчика температуры
* Настройка системных параметров устройства прямо из интерфейса модуля (смена IP, обновление ПО, чтение/запись конфигурации)
СкриншотыПоказать
Изображение

Изображение

Изображение

Изображение
Устанавливаем, тестируем, делимся впечатлениями :)

Дополнительно:

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 4:47 pm
Jager
sergejey писал(а):Устанавливаем, тестируем, делимся впечатлениями :)
Установил, просканировал. Все меги нашлись, но...
1. Внутренний датчик температуры виден только на одной меге, причем со старой прошивкой 3.28.
(после привязки любого объекта, датчик появляется)
2. На одной меге с прошивкой 3.30 видны только 5 портов на вход, остальные отсутствуют.
(аналогично, остальные порты появились после привязки объекта)
3. Аналоговые порты нормально считываются, чего не скажешь о портах настроенных как DSen.
Сейчас там по нулям, а по идее должно быть два значения, температура и влажность.

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 4:56 pm
sergejey
Jager писал(а):
sergejey писал(а):Устанавливаем, тестируем, делимся впечатлениями :)
Установил, просканировал. Все меги нашлись, но...
1. Внутренний датчик температуры виден только на одной меге, причем со старой прошивкой 3.28.
(после привязки любого объекта, датчик появляется)
2. На одной меге с прошивкой 3.30 видны только 5 портов на вход, остальные отсутствуют.
(аналогично, остальные порты появились после привязки объекта)
3. Аналоговые порты нормально считываются, чего не скажешь о портах настроенных как DSen.
Сейчас там по нулям, а по идее должно быть два значения, температура и влажность.
Не очень понял насчёт привязки объекта -- т.е. до привязки его не было в списке портов?
Вообще порты добавляются на этапе чтения конфигурации устройства -- его можно инициировать через кнопку Read config в разделе Advanced.
Кстати, по пункту 2, можно прислать содержимое большого текстового поля Config? Хочу посмотреть, почему не добавились порты. С датчиком температуры это должно быть связано, т.к. если устройство выдало портов меньше 16, то датчик температуры не добавится.

По пункту 3 -- что-то я не нашёл в API в каком виде выдаётся это значение? Может быть где-то есть более свежая документация, чем на страницах ab-log? (признаюсь, на форуме я там не искал)

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 5:05 pm
Jager
sergejey писал(а):Не очень понял насчёт привязки объекта -- т.е. до привязки его не было в списке портов?
Вообще порты добавляются на этапе чтения конфигурации устройства -- его можно инициировать через кнопку Read config в разделе Advanced.
Кстати, по пункту 2, можно прислать содержимое большого текстового поля Config? Хочу посмотреть, почему не добавились порты. С датчиком температуры это должно быть связано, т.к. если устройство выдало портов меньше 16, то датчик температуры не добавится.

По пункту 3 -- что-то я не нашёл в API в каком виде выдаётся это значение? Может быть где-то есть более свежая документация, чем на страницах ab-log? (признаюсь, на форуме я там не искал)
1. Да, до привязки виделось только 5 портов, но это на одной конкретной меге.
Сейчас все порты видны и файл конфига правильный.
2. На двух были видны все порты, но не было видно внутреннего датчика.
3. Запрос порта настроенного как DSen стандартный http://192.168.2.93/sec/?pt=6&cmd=get
В ответ приходит temp:19/hum:27

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 5:19 pm
sergejey
Jager писал(а):
sergejey писал(а):Не очень понял насчёт привязки объекта -- т.е. до привязки его не было в списке портов?
Вообще порты добавляются на этапе чтения конфигурации устройства -- его можно инициировать через кнопку Read config в разделе Advanced.
Кстати, по пункту 2, можно прислать содержимое большого текстового поля Config? Хочу посмотреть, почему не добавились порты. С датчиком температуры это должно быть связано, т.к. если устройство выдало портов меньше 16, то датчик температуры не добавится.
По пункту 3 -- что-то я не нашёл в API в каком виде выдаётся это значение? Может быть где-то есть более свежая документация, чем на страницах ab-log? (признаюсь, на форуме я там не искал)
1. Да, до привязки виделось только 5 портов, но это на одной конкретной меге.
Сейчас все порты видны и файл конфига правильный.
2. На двух были видны все порты, но не было видно внутреннего датчика.
Буду думать. Дело в том, что датчик добавляется принудительно после добавления 15-ти портов, независимо от того есть он там или нет.
Jager писал(а):3. Запрос порта настроенного как DSen стандартный http://192.168.2.93/sec/?pt=6&cmd=get
В ответ приходит temp:19/hum:27
А данные не приходят при смене значений на скрипт сервера? Дело в том, что принудительный опрос значений используется только в настройках и считается, что обновления будут приходить через скрипт /megad.php

И ещё вопрос, что выдаётся на команду:
http://192.168.2.93/sec/?cmd=all

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 5:52 pm
Jager
sergejey писал(а):А данные не приходят при смене значений на скрипт сервера? Дело в том, что принудительный опрос значений используется только в настройках и считается, что обновления будут приходить через скрипт /megad.php

И ещё вопрос, что выдаётся на команду:
http://192.168.2.93/sec/?cmd=all
1. Если выбран режим srv loop на меге, то она раз в минуту отсылает состояние всех портов.
2. OFF/16;ON/824;ON/824;ON/823;ON/855;ON/825;temp:19/hum:28;OFF;ON;ON;ON;OFF;OFF;OFF;305;234

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 5:54 pm
sergejey
Jager писал(а):1. Если выбран режим srv loop на меге, то она раз в минуту отсылает состояние всех портов.
А как? Я так понимаю, что на тот же скрипт, но в каком формате?

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 6:03 pm
Jager
sergejey писал(а):А как? Я так понимаю, что на тот же скрипт, но в каком формате?
"GET /megad.php?mdid=123&all=OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;OFF;OFF;63;516 HTTP/1.1" 200 173 "-" "tgr/1.1"
http://www.ab-log.ru/forum/viewtopic.ph ... oop#p13450

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 6:10 pm
sergejey
Jager писал(а):
sergejey писал(а):А как? Я так понимаю, что на тот же скрипт, но в каком формате?
"GET /megad.php?mdid=123&all=OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;OFF;OFF;63;516 HTTP/1.1" 200 173 "-" "tgr/1.1"
http://www.ab-log.ru/forum/viewtopic.ph ... oop#p13450
Ага, с этим понятно. Вроде бы добавил поддержку. С датчиками температуры/влажности тоже понял, но пока думаю как решить. Дело в том, что сейчас формат в базе данных для текущего значения это число и строковые данные приводятся к нулю при сохранении. Видимо, надо менять формат поля на строку (update: готово).

Re: Модуль "MegaD"

Добавлено: Пн май 11, 2015 6:16 pm
Jager
sergejey писал(а):С датчиками температуры/влажности тоже понял, но пока думаю как решить. Дело в том, что сейчас формат в базе данных для текущего значения это число и строковые данные приводятся к нулю при сохранении. Видимо, надо менять формат поля на строку.
Я нуб в этом деле :) сейчас у меня DSen обрабатывается так
$state = file_get_contents('http://192.168.2.93/sec/?pt=6&cmd=get');
$value = explode('/',$state);
sg('tempOutdoor.temp',substr($value[0],5));
sg('humOutdoor.humidity',substr($value[1],4));
sg("humOutdoor.updatedTime",date("H:i",time()));
sg("tempOutdoor.updatedTime",date("H:i",time()));
Надо звать Bagir в тему, он собаку съел на меге.