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

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

Модератор: immortal

majkl84
Сообщения: 11
Зарегистрирован: Пт июн 30, 2017 9:11 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Модуль

Сообщение majkl84 » Пн июл 10, 2017 3:41 pm

koshnv писал(а):
majkl84 писал(а): Не давно я подключал не сколько датчиков на один интерфейс и тоже значения были бредовые убрал привязку в MGM в устройствах и все стало ок.
Не много не понял, вы без дописывания своих скриптов получали значения температурных датчиков на одной шине с меги?
Сценарий конечно есть
СпойлерПоказать
//Отображение влажности (HTU21D/Si7021)
$hum = file_get_contents("http://10.0.6.65/sec/?pt=31&scl=30&i2c_dev=htu21d"); sg('HTU21D.Hum',$hum);
//Отображение температуры (HTU21D)
$temp = file_get_contents("http://10.0.6.65/sec/?pt=31&scl=30&i2c_ ... &i2c_par=1"); sg('HTU21D.Temp',$temp);

//Отображение атмосферного давления (BMP280/BME280)
$pres = file_get_contents("http://10.0.6.65/sec/?pt=31&scl=30&i2c_dev=bmx280"); sg('BME280.pres',$pres);
//Отображение температуры (BMP280/BME280)
$temp = file_get_contents("http://10.0.6.65/sec/?pt=31&scl=30&i2c_ ... &i2c_par=1"); sg('BME280.temp',$temp);
//Отображение влажности (BME280)
$hum = file_get_contents("http://10.0.6.65/sec/?pt=31&scl=30&i2c_ ... &i2c_par=2"); sg('BME280.hum',$hum);
koshnv
Сообщения: 18
Зарегистрирован: Пт июн 30, 2017 9:43 pm
Откуда: Златоуст
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Модуль

Сообщение koshnv » Пн июл 10, 2017 7:37 pm

majkl84 писал(а): Сценарий конечно есть
Из кода я понял что вы вешали датчики на цифровой шине I2C, верно?
В моем случае разговор идет про датчики на шине 1-wire и ответ приходит строкой "8aad6a070000:32.43;85a56a070000:32.43;8aad6a070000:32.43;85a56a070000:32.43;"
Не нашел в документации на контролер запроса показаний конкретного датчика на шине, буду рад если подскажите.
yantarik писал(а):Есть кнопка на меге, прописано action 5:4;6:4 но модуль отказывается выполнять второе действие, выполняет только 5:4.
Выдерните сетевой кабель из меги, если проблема осталась то посмотрите настройки портов на меге.
Такие вопросы лучше на ab-log.ru задавать, но раз вы тут задали, просветите за чем вам эти режимы?
Используете фиксированный выключатель?
ferenir
Сообщения: 18
Зарегистрирован: Сб июн 03, 2017 4:57 am
Откуда: Красноярск
Благодарил (а): 9 раз
Поблагодарили: 1 раз

Re: Модуль

Сообщение ferenir » Вт июл 11, 2017 7:57 am

koshnv писал(а): В моем случае разговор идет про датчики на шине 1-wire и ответ приходит строкой "8aad6a070000:32.43;85a56a070000:32.43;8aad6a070000:32.43;85a56a070000:32.43;"
Не нашел в документации на контролер запроса показаний конкретного датчика на шине, буду рад если подскажите.
После
$T=file_get_contents("запрос");
Делать $T = substr($T,х,у);
http://php.net/manual/ru/function.substr.php
In vino veritas...
_________________
http://connect.smartliving.ru/profile/1533
koshnv
Сообщения: 18
Зарегистрирован: Пт июн 30, 2017 9:43 pm
Откуда: Златоуст
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Модуль

Сообщение koshnv » Вт июл 11, 2017 8:12 am

ferenir писал(а): Делать $T = substr($T,х,у);
Благодарю, за подсказку, но вопрос в другом, я хотел узнать что не нагородил велосипед и в реализации модуля, и нет штатного функционала по работе с ответом порта 1wbus.
Теперь уверен что нет, и реализовывать в принципе не стоит торопиться, скриптом проще.

Разделители в строке постоянные лучше использовать не substr(), а explode().
Код выкладывал ранее... код, в качестве болванки может кому сгодиться.
ferenir
Сообщения: 18
Зарегистрирован: Сб июн 03, 2017 4:57 am
Откуда: Красноярск
Благодарил (а): 9 раз
Поблагодарили: 1 раз

Re: Модуль

Сообщение ferenir » Вт июл 11, 2017 11:16 am

koshnv писал(а):
Благодарю, за подсказку, но вопрос в другом, я хотел узнать что не нагородил велосипед и в реализации модуля, и нет штатного функционала по работе с ответом порта 1wbus.
Теперь уверен что нет, и реализовывать в принципе не стоит торопиться, скриптом проще.

Разделители в строке постоянные лучше использовать не substr(), а explode().
Код выкладывал ранее... код, в качестве болванки может кому сгодиться.
Если у вас хватает знаний, то почему бы и не реализовать? %)
In vino veritas...
_________________
http://connect.smartliving.ru/profile/1533
koshnv
Сообщения: 18
Зарегистрирован: Пт июн 30, 2017 9:43 pm
Откуда: Златоуст
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Модуль "MegaD"

Сообщение koshnv » Чт июл 13, 2017 6:18 am

После сборки своего проекта, буду рад внести посильный вклад. Тем более что идеология и люди во круг проекта мне крайне близки и интересны.
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль "MegaD"

Сообщение Amarok » Вт июл 18, 2017 10:44 am

А в модуле есть поддержка Click/DoubleClick/LongClick? Вот тут написано - http://www.ab-log.ru/smart-house/ethernet/megad-2561 о этих функциях
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
koshnv
Сообщения: 18
Зарегистрирован: Пт июн 30, 2017 9:43 pm
Откуда: Златоуст
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Модуль "MegaD"

Сообщение koshnv » Чт июл 20, 2017 9:09 am

Amarok писал(а):А в модуле есть поддержка Click/DoubleClick/LongClick?
Как я понял, у модуля и не было задачи отлавливать подобное. Модуль лишь интегрирует Мегу в систему, давая доступ к ее API.
То есть, модуль видит настройки порта и позволяет привязать к нему «Объект», «Свойство», «Метод».
И вот уже в логике должно быть описано как отлов различных нажатий, так и реакция на них.

Советую просмотреть вот эту ветку
MegaD, ab-log.ru, MegaD-328, Контроллер ввода/вывода
В ней реализованы ваши задачи.
Ivan_A
Сообщения: 62
Зарегистрирован: Пн апр 06, 2015 10:57 am
Благодарил (а): 19 раз
Поблагодарили: 3 раза

Re: Модуль "MegaD"

Сообщение Ivan_A » Ср авг 02, 2017 9:12 am

Здравствуйте, уважаемые знатоки!
Пытаюсь прикрутить мегадевайсы в мажордоме, поставил модуль из маркета дополнений, прописал сервер, скрипт на мегадевайсе, нашел его, привязал свойства, методы...
А вот работать так как мне хочется они отказываются... Есть следующие глюки:
1. Если вход запрограммирован как кнопка с фиксацией (P&R), а к входу контроллера не привязаны ни свойство, ни метод то действие мегадевайса по-умолчанию выполняется не только при нажатии кнопки и отпускании, но и через 1,5 секунды. Аналогичная ситуация и в режиме входа P, если удерживать кнопку нажатой, то через 1,5 сек снова выполняется действие.
2. Не отменяется действие контроллера по-умолчанию, хотя флажок стоит. То есть почему-то он не работает.. Точнее не всегда работает
3. Есть тормоза. На некоторых кнопках, к которым привязаны скрипты слишком быстрое нажатие на кнопку не срабатывает. Если скрипт меняет сразу состояние нескольких зон, то эти зоны включаются/выключаются с задержкой около секунды, а то и больше.
4. Есть несистемные глюки. Когда иногда все работает правильно, а иногда нет.

Может у меня что-то в настройках недопилено? куда копать, подскажите.
Контроллеры MegaD-328, прошивки 3.54 и 3.56b1, модуль с маркета дополнений обновлен.
Если надо покажу конкретно все скрины и коды, и распишу что и как делаю... Прошу помощи или совета
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Модуль "MegaD"

Сообщение Chainik » Ср авг 02, 2017 9:39 am

По п.1 - это не глюк, а штатная работа контроллера в режиме "P&R". В текущей ветке форума уже с этим поборолись (стр.56). Нужно самостоятельно провести "модернизацию" кода модуля.
Подробнее можно также посмотреть, например, здесь (http://ab-log.ru/forum/viewtopic.php?f= ... 309#p28309) в конце поста после подзаголовка "ДОПОЛНЕНИЕ/УТОЧНЕНИЕ".
По остальным неполадкам, подозреваю, что что-то у вас с сетью (сетевым трафиком) не так. Все должно работать мгновенно. У меня и на MegaD-328 и на MegaD-2561 никаких тормозов. Если Мега не получает ответ за 1,5-2 секунды, то сама выполняет команду по умолчанию. Думаю, нужно анализировать сетевой трафик (как это сделать, подсказать не смогу, ибо не специалист).
Ответить