ESP8266

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Altair1335
Сообщения: 7
Зарегистрирован: Сб мар 12, 2016 9:24 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: ESP8266

Сообщение Altair1335 » Чт апр 14, 2016 4:12 pm

Спасибо за ответ! Разобрался! Получилось у меня вот таким способом : addClassObject('ESP8266',$params['hostname']);
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: ESP8266

Сообщение ivannag » Пн апр 18, 2016 5:34 pm

Для выключателей использую метод switch вместо on и off.
Только в нем не использую проверку состояния гпио на модуле и затем его смену, а посылаю команду, которая просто инвертирует его... вместо st=1 или st=0 на прошивке от Макса можно использовать st=2. Мне так удобнее, но если опытные жильцы этого форума укажут на недостатки такого метода буду признателен.
Собственно, для наглядности выложу целый метод для гпио 14 switch_14
СпойлерПоказать
$cmdUrl ="http://".$this->getProperty("wanip")."/gpio?st=2&pin=14";
getURL($cmdUrl,0);
Методы прописываю для класса, и после привязки элемента сцены к обьекту, выражение ".$this->getProperty("wanip")." позволяет не заботиться об ip адресах и кнопки будут работать даже тогда, когда адрес ESP8266 изменится.
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: ESP8266

Сообщение ivannag » Пн апр 18, 2016 5:39 pm

MaksMS82 писал(а):Как я понял можно использовать имя модуля,
вместо $idesp использовать везде $hostname
addClassObject('ESP8266',$hostname); //Создаёт класс заданного имени дочерним от ParentClass
Спасибо за совет и за прошивку)) тоже пользуюсь аналогичным способом, теперь гораздо удобнее создавать кнопки и индикаторы для комнат привязывая их к модулям по их названиям а не по непонятным цифрам. Хотя idesp уникален, а hostname может и повторится и вызвать путаницу...
kastortroy
Сообщения: 11
Зарегистрирован: Вт апр 26, 2016 11:14 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: ESP8266

Сообщение kastortroy » Вт апр 26, 2016 12:30 pm

Приветствую, требуется помощь.
Пробую сделать управление светом, на плату esp12 (прошивка homes-smart) подключено 2 реле - одно управление (gpio4 input и gpio4 output изменяют состояние реле), второе состояние лампы (gpio5 input 0 выкл, 1 вкл)
Пытаюсь завести по предложенным тут кодам, но не получается(

if (($this->getProperty("gpiout4")) =="0")
{
getURL('http://192.168.0.106/gpiout?st=1&pin=4&flash=1', 0);
} else if (($this->getProperty("gpiout4")) =="1")
{
getURL('http://192.168.0.106/gpio?st=1&pin=4&flash=1', 0);
}

Какие бы комбинации не пробовал не работает... Выдает ошибку
Fatal error: Call to undefined method scripts::getProperty() in /var/www/modules/scripts/scripts.class.php(139) : eval()'d code on line 1
AirKing
Сообщения: 87
Зарегистрирован: Вс фев 01, 2015 10:43 pm
Откуда: Муром
Благодарил (а): 16 раз
Поблагодарили: 7 раз

Re: ESP8266

Сообщение AirKing » Вт апр 26, 2016 12:48 pm

а ничего что одно gpio может быть или input или output
Получи Cashback до 18% с покупок
kastortroy
Сообщения: 11
Зарегистрирован: Вт апр 26, 2016 11:14 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: ESP8266

Сообщение kastortroy » Вт апр 26, 2016 1:18 pm

AirKing, да, но переключение происходит при изменении состояния в веб-интерфейсе модуля
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: ESP8266

Сообщение sergejey » Вт апр 26, 2016 2:20 pm

kastortroy писал(а):Какие бы комбинации не пробовал не работает... Выдает ошибку
Fatal error: Call to undefined method scripts::getProperty() in /var/www/modules/scripts/scripts.class.php(139) : eval()'d code on line 1
Внутри скрипта вы не можете использовать $this->getProperty() и $this->setProperty() эта конструкция работает только внутри метода. В скрипте можете использовать альтернативу в виде getGlobal('object.property')

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
kastortroy
Сообщения: 11
Зарегистрирован: Вт апр 26, 2016 11:14 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: ESP8266

Сообщение kastortroy » Вт апр 26, 2016 3:01 pm

К сожалению выдало аналогичную ошибку
Fatal error: Call to undefined method scripts::getGlobal() in /var/www/modules/scripts/scripts.class.php(139) : eval()'d code on line 1
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: ESP8266

Сообщение sergejey » Вт апр 26, 2016 3:13 pm

kastortroy писал(а):К сожалению выдало аналогичную ошибку
Fatal error: Call to undefined method scripts::getGlobal() in /var/www/modules/scripts/scripts.class.php(139) : eval()'d code on line 1
без $this-> просто getGlobal :)
За это сообщение автора sergejey поблагодарил:
zarro (Пн май 02, 2016 10:16 am)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
kastortroy
Сообщения: 11
Зарегистрирован: Вт апр 26, 2016 11:14 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: ESP8266

Сообщение kastortroy » Вт апр 26, 2016 3:32 pm

Спасибо, без $this-> скрип заработал, но ничего не происходит...
Скорее всего из за того что у меня gpio4 стоит на out... Дома переставлю на in и попробую
А удаленно это сделать нельзя?
Ответить