[Модуль] MegaD (megad)
Модератор: immortal
Re: Модуль "MegaD"
По хорошему бы галочку "учитывать не учитывать сценарии по умолчанию" сделать.Совсем от них отказываться не хочется...
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
CONNECT: http://connect.smartliving.ru/profile/311
Re: Модуль "MegaD"
Есть пару вопросов.
Поскольку в МД обновление сценариев происходит раз в секунду, написал внешний скрипт на php для того чтобы нарастание и убывание происходило плавно в течении 5-10 сек такого содержания:
mega_off.php
Создал сценарий такого типа:
Плавное выключение происходит приятно, но на время выключения света МД ждет завершение внешнего скрипта и только после того как он выполняется до конца дает что либо делать дальше. Как можно сделать, чтобы он выполнял скрипт, но при этом сам МД был доступен на выполнение других операций?
Второй вопрос
Хотелось бы с кнопки управлять димером при быстром нажатии включалось/выключалось, при долгом нажатии увеличивалось/уменьшалось пока не отпустишь. Кто нибудь писал такой метод? Если есть какие соображения по этому вопросу - поделитесь пожалуйста.
Поскольку в МД обновление сценариев происходит раз в секунду, написал внешний скрипт на php для того чтобы нарастание и убывание происходило плавно в течении 5-10 сек такого содержания:
mega_off.php
Код: Выделить всё
<?php
$ip = $_GET['ip'];
$pwd = $_GET['pwd'];
$port = $_GET['port'];
$pwm = $_GET['pwm'];
function get($ip, $pwd, $port, $pwm)
{
file_get_contents("http://".$ip."/".$pwd."/?pt=$port&pwm=$pwm");
}
if ($port == 10 || $port == 12 || $port == 13) {
while ($pwm > 0)
{
$pwm = $pwm - 5;
get ($ip, $pwd, $port, $pwm);
usleep(150000);
}
}
?>
Код: Выделить всё
getURL('http://localhost/mega_off.php?ip=10.10.100.10&pwd=sec&port=10&pwm='.getGlobal('MegaD1_10.value'),0);
Второй вопрос
Хотелось бы с кнопки управлять димером при быстром нажатии включалось/выключалось, при долгом нажатии увеличивалось/уменьшалось пока не отпустишь. Кто нибудь писал такой метод? Если есть какие соображения по этому вопросу - поделитесь пожалуйста.
Re: Модуль "MegaD"
БАГРЕПОРТ:
Похоже модуль обрезает строку запроса по длине к megad.php
в результате вместо temp:24.00/hum:44.00; передается только te
22:50:35 DEBUG [root]: megad: /megad.php?mdid=2&all=temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;te (172.16.0.242) (at /var/www/lib/general.class.php:547)
Возможно обрезается весь запрос из php GET['all']
MegaD-14-IN, вывод ?cmd=all:
temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:24.00/hum:44.00;temp:-1.19;temp:25.93;temp:22.00/hum:51.00;temp:22.00/hum:49.00;temp:0.00/hum:0.00;OFF/0;1;4
Похоже модуль обрезает строку запроса по длине к megad.php
в результате вместо temp:24.00/hum:44.00; передается только te
22:50:35 DEBUG [root]: megad: /megad.php?mdid=2&all=temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;te (172.16.0.242) (at /var/www/lib/general.class.php:547)
Возможно обрезается весь запрос из php GET['all']
MegaD-14-IN, вывод ?cmd=all:
temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:24.00/hum:44.00;temp:-1.19;temp:25.93;temp:22.00/hum:51.00;temp:22.00/hum:49.00;temp:0.00/hum:0.00;OFF/0;1;4
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Контактная информация:
Re: Модуль "MegaD"
А из какого места получилась строка "22:50:35 ..."?in4m писал(а):БАГРЕПОРТ:
Похоже модуль обрезает строку запроса по длине к megad.php
в результате вместо temp:24.00/hum:44.00; передается только te
22:50:35 DEBUG [root]: megad: /megad.php?mdid=2&all=temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;te (172.16.0.242) (at /var/www/lib/general.class.php:547)
Возможно обрезается весь запрос из php GET['all']
MegaD-14-IN, вывод ?cmd=all:
temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:0.00/hum:0.00;temp:24.00/hum:44.00;temp:-1.19;temp:25.93;temp:22.00/hum:51.00;temp:22.00/hum:49.00;temp:0.00/hum:0.00;OFF/0;1;4
В модуле каких-либо обрезаний данных не нашёл.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Модуль "MegaD"
строка "22:50:35 ..." из X-Ray -> Debug, после раскоментирования строчки DebMes("megad: ".$_SERVER['REQUEST_URI']. " (".$_SERVER['REMOTE_ADDR'].")"); в megad.php
или когда выводишь через из php файла через DebMes GET['all'] или $_SERVER['REQUEST_URI']
когда данные в модуле все порты настроены как DSEN и обновление происходит через megad.php, то переменная портов дальше DSen 9 затирается (раньше писалось просто 'te'),
но стоит нажать кнопку в настройках модуля 'обновить' и данные обновляются корректно.
Глюк возникает только в меге с новым исполнительным модулем MegaD-14-IN.
или когда выводишь через из php файла через DebMes GET['all'] или $_SERVER['REQUEST_URI']
когда данные в модуле все порты настроены как DSEN и обновление происходит через megad.php, то переменная портов дальше DSen 9 затирается (раньше писалось просто 'te'),
но стоит нажать кнопку в настройках модуля 'обновить' и данные обновляются корректно.
Глюк возникает только в меге с новым исполнительным модулем MegaD-14-IN.
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Контактная информация:
Re: Модуль "MegaD"
А это не может быть глюк самой меги? Просто $_SERVER['REQUEST_URI'] всегда содержит передаваемый URL, а он уже формируется самой мегой.in4m писал(а):строка "22:50:35 ..." из X-Ray -> Debug, после раскоментирования строчки DebMes("megad: ".$_SERVER['REQUEST_URI']. " (".$_SERVER['REMOTE_ADDR'].")"); в megad.php
или когда выводишь через из php файла через DebMes GET['all'] или $_SERVER['REQUEST_URI']
когда данные в модуле все порты настроены как DSEN и обновление происходит через megad.php, то переменная портов дальше DSen 9 затирается (раньше писалось просто 'te'),
но стоит нажать кнопку в настройках модуля 'обновить' и данные обновляются корректно.
Глюк возникает только в меге с новым исполнительным модулем MegaD-14-IN.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Модуль "MegaD"
Может и глюк, попробую либо дождаться новых прошивок, либо откатиться на предыдущие.sergejey писал(а):А это не может быть глюк самой меги? Просто $_SERVER['REQUEST_URI'] всегда содержит передаваемый URL, а он уже формируется самой мегой.in4m писал(а):строка "22:50:35 ..." из X-Ray -> Debug, после раскоментирования строчки DebMes("megad: ".$_SERVER['REQUEST_URI']. " (".$_SERVER['REMOTE_ADDR'].")"); в megad.php
или когда выводишь через из php файла через DebMes GET['all'] или $_SERVER['REQUEST_URI']
когда данные в модуле все порты настроены как DSEN и обновление происходит через megad.php, то переменная портов дальше DSen 9 затирается (раньше писалось просто 'te'),
но стоит нажать кнопку в настройках модуля 'обновить' и данные обновляются корректно.
Глюк возникает только в меге с новым исполнительным модулем MegaD-14-IN.
Re: Модуль "MegaD"
Какая-то проблема с модулем имеется. Вчера наблюдал следующую картинку. Срабатывание двух входов на меге(5 и 6) наблюдаю визуально(по индикаторам), в веб-интерфейсе самой меги, а в МД - только срабатываение 5-го входа, 6-ой без изменений. Если нажать кнопочку обновить в модуле - появляется правильный статус и 6-го входа, но только таким принудительным способом. Попробовал в модуле просто дать команду сохранить конфигурацию - наглухо повесил мегу. Не помогает сброс питания, она перестала видеться по сети. При этом в модуле она видна, он что-то с нее читает и даже пишет, не выдавая никаких ошибок. При этом конфигуратор самой меги ее даже в сети не видит. Подробней разбираться было некогда - отложил на выходные...
Re: Модуль "MegaD"
В общем сделал мне модуль после попытки обновления прошивки из Меги "кирпич"...
Не помогает даже режим восстановления описанный на сайте производителя. Сегодня сконфигурирую запасную Мегу и вечером поставлю в шкаф, посмотрим как она будет отображать статус 6-го входа. Если кто рискнет обновить прошивку Меги через модуль сейчас - дайте знать о результатах.
Re: Модуль "MegaD"
Такая же фигня была, когда неудачно с ноута отработал скрипт и завис на перепрошивке с очисткой EEPROM.Victor_S писал(а):В общем сделал мне модуль после попытки обновления прошивки из Меги "кирпич"...Не помогает даже режим восстановления описанный на сайте производителя. Сегодня сконфигурирую запасную Мегу и вечером поставлю в шкаф, посмотрим как она будет отображать статус 6-го входа. Если кто рискнет обновить прошивку Меги через модуль сейчас - дайте знать о результатах.
Ноуту присвоил ip 192.168.0.1 зальше запустил скрипт прошивки megad-cfg.php --fw megad-328.hex -f -e
На моменте поиска девайса, передернул питание Меге.
Мега восстановилась.