Страница 15 из 141
Re: Модуль "MegaD"
Добавлено: Чт июн 25, 2015 3:52 pm
sergejey
zverev.sv писал(а):Да спасибо, заработало, только ещё теперь из модуля не получается сменить ip адрес
Я ужасно невнимателен бываю, когда быстро что-то пытаюсь исправить ))
Теперь должно работать.
Re: Модуль "MegaD"
Добавлено: Чт июн 25, 2015 4:02 pm
zverev.sv
Да работает, спасибо!
Re: Модуль "MegaD"
Добавлено: Чт июн 25, 2015 4:09 pm
zverev.sv
Небольшое но,
Модуль меняет адрес, если Мега и Сервер находятся в одной подсети, а если в разных, то уже нехочет.
Re: Модуль "MegaD"
Добавлено: Пт июн 26, 2015 2:17 pm
AHgpeu
Уважаемый Сергей, огромная просьба включить в модуль очередную маленькую доработку:
в файле
readvalues.inc.php
добавить строку
на 100ю и 85ю строки
в файле
megad.class.php
добавить строку
на 400ю и 375ю строки.
очень не хватает информации о том, какая из мег вызывает метод.
заранее спасибо.
UPD
и ещё одно пожелание: модифицировать function
sendCommand() для возможности отправлять свои команды
правка файла
megad.class.php:
Код: Выделить всё
$url='http://'.$device['IP'].'/'.$device['PASSWORD'].'/?cmd='.$command; // 497 строка
// заменить на
$url='http://'.$device['IP'].'/'.$device['PASSWORD'].'/?'.$command;
$this->sendCommand($prop['DEVICE_ID'], $prop['NUM'].':'.$value); // 522 строка
// на
$this->sendCommand($prop['DEVICE_ID'], 'cmd='.$prop['NUM'].':'.$value);
if ($this->sendCommand($device, $command)) { // 195 строка
//на
if ($this->sendCommand($device, 'cmd='.$command)) {
или есть способ намного красивее:
Код: Выделить всё
function sendCommand($id, $command, $own=false) {
$device=SQLSelectOne("SELECT * FROM megaddevices WHERE ID='".$id."'");
if (!$device['ID']) {
$device=SQLSelectOne("SELECT * FROM megaddevices WHERE TITLE LIKE '".DBSafe($id)."'");
}
if (!$device['ID']) {
$device=SQLSelectOne("SELECT * FROM megaddevices WHERE IP='".DBSafe($id)."'");
}
if ($device['ID']) {
$url='http://'.$device['IP'].'/'.$device['PASSWORD'].'/?'.($own ? '' : 'cmd=').$command;
getURL($url, 0);
return 1;
} else {
return 0;
}
}
Re: Модуль "MegaD"
Добавлено: Пт июн 26, 2015 4:17 pm
sergejey
AHgpeu, добавил
Re: Модуль "MegaD"
Добавлено: Вт июн 30, 2015 9:44 am
ILGAS
Нужна помощь.
Настроил мегу и даже на сцене установил значки. На сцене все отлично работает и даже был рад этому. Но позже понял что не работают выключатели (железные кнопки). Пробовал писать в метод sey ("свет") но даже это не дает результат. В чате пишет только после того как нажмешь кнопку обновить или нажмешь Read config в модуле. И еще сама по себе появилась мега с ip 192.168.1.1 которой нет. появляется снова после удаления.
Отправлено с моего SM-G7508Q через Tapatalk
Re: Модуль "MegaD"
Добавлено: Вт июн 30, 2015 10:54 am
zverev.sv
forumhouse
Re: Модуль "MegaD"
Добавлено: Вт июн 30, 2015 1:19 pm
AHgpeu
Уважаемый Сергей, огромная просьба включить в модуль очередную маленькую доработку
(в связи с изменениями прошивки меги)
в файле readvalues.inc.php
изменить строку 58:
Код: Выделить всё
} elseif ($type==3 && preg_match('/temp:([\d\.]+)\/hum:([\d\.]+)/', $states[$i], $m)) {
ILGAS писал(а):Но позже понял что не работают выключатели (железные кнопки). Пробовал писать в метод sey ("свет") но даже это не дает результат. В чате пишет только после того как нажмешь кнопку обновить или нажмешь Read config в модуле.
почитайте
http://smartliving.ru/Main/module_megad
пара вопросов: что значит "не работают железные выключатели"? мега не реагирует на кнопки? в автономном режиме реакция есть? реакция в самой меге прописана?
подробности плз. можно сюда же выложить листинг настроек меги.
и да, функция называется s
ay()
Re: Модуль "MegaD"
Добавлено: Вт июн 30, 2015 2:35 pm
ILGAS
почитайте
http://smartliving.ru/Main/module_megad
пара вопросов: что значит "не работают железные выключатели"? мега не реагирует на кнопки? в автономном режиме реакция есть? реакция в самой меге прописана?
подробности плз. можно сюда же выложить листинг настроек меги.
и да, функция называется s
ay()
Я установил мегадевайсы уже как 2-3 месеца назад они работали автономно.
1. железные кнопки - это физические выключатели в виде кнопок.
2. не включается/выключается свет при нажатии на кнопку при подключенном к серверу, в автономном режиме реакция есть.
3. в модуле
https://yadi.sk/i/MqiP-U_qhaB7v в методе указано
Код: Выделить всё
if ($params['status']) {
$this->setProperty('status',$params['status']);
}
$this->setProperty('updatedTimestamp',time());
$this->setProperty("alive",1);
$ot=$this->object_title;
$alive_timeout=(int)$this->getProperty("aliveTimeOut");
if (!$alive_timeout) {
$alive_timeout=12*60*60;
}
clearTimeOut($ot."_alive");
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout);
в мегедевайсе это
Код: Выделить всё
cf=1&eip=192.168.1.108&pwd=sec&gw=192.168.1.1&sip=192.168.1.40:80&sct=megad.php&tc=&at=&pr=1
cf=2&mdid=gB9kI&sl=1
pn=0&ecmd=7:2ð=&naf=&m=0
pn=1&ecmd=8:2ð=&naf=&m=0
pn=2&ecmd=9:2ð=&naf=&m=0
pn=3&ecmd=10:2ð=&naf=&m=0
pn=4&ecmd=11:2ð=&naf=&m=0
pn=5&ecmd=12:2ð=&naf=&m=0
pn=6&ecmd=13:2ð=&naf=&m=0
pn=7&d=0
pn=8&d=0
pn=9&d=0
pn=10&d=0
pn=11&d=0
pn=12&d=0
pn=13&d=0
pn=14&misc=&ecmd=ð=&naf=&m=0
pn=15&misc=&ecmd=ð=&naf=&m=0
ps спасибо что откликнулся.
Re: Модуль "MegaD"
Добавлено: Вт июн 30, 2015 4:04 pm
AHgpeu
уберите из кода
Код: Выделить всё
if ($params['status']) {
$this->setProperty('status',$params['status']);
}
в статье написано же, что модуль САМ уже переключает всё, что нужно.
и дублирование функций модуля приводит к неработоспособности.
а лучше вообще отвяжите все свойства и методы от железных кнопок. как на картинке в статье