MegaLight - контроллер освещения на Arduino Mega 2560+W5100

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

Модератор: immortal

Yashalta
Сообщения: 318
Зарегистрирован: Вс май 20, 2018 9:27 am

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение Yashalta »

karsotrade писал(а): Сб янв 20, 2018 10:39 pm Я планирую использовать выключатели в виде кнопок (без фиксации), т.е. нажал - включилось, нажал - выключилось.
Подскажите пожалуйста как вы реализовали в MegaLight2 обычный выключатель т.е. нажал кнопку - включилось, отжал кнопку - выключилось? Мне нужно сразу же отжать обратно, что бы включилось т.е. мне нужно задействовать бесконтактный выключатель!
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs »

Yashalta писал(а): Пт янв 18, 2019 2:26 pm
karsotrade писал(а): Сб янв 20, 2018 10:39 pm Я планирую использовать выключатели в виде кнопок (без фиксации), т.е. нажал - включилось, нажал - выключилось.
Подскажите пожалуйста как вы реализовали в MegaLight2 обычный выключатель т.е. нажал кнопку - включилось, отжал кнопку - выключилось? Мне нужно сразу же отжать обратно, что бы включилось т.е. мне нужно задействовать бесконтактный выключатель!

Код: Выделить всё

event=press
action=on

event=release
action=off
Yashalta
Сообщения: 318
Зарегистрирован: Вс май 20, 2018 9:27 am

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение Yashalta »

olehs писал(а): Пт янв 18, 2019 9:10 pm

Код: Выделить всё

event=press
action=on

event=release
action=off
+1000 к твоей карме!!!! Просто ОГРОМНОЕ ТЕБЕ СПАСИБО! НО, вопросы у меня не кончились... ;)
Yashalta
Сообщения: 318
Зарегистрирован: Вс май 20, 2018 9:27 am

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta »

Не могу победить метод "switch" у меня он включает если выключено и сразу выключает и наоборот! А нужно, что бы только включал если выключено и только выключал если включено!
ниже код

Код: Выделить всё

if(getGlobal("Lamp1.status") == 1){
$handle = fopen("http://192.168.18.21/state?c=set&n=1&o=1", "r");
say("Свет на кухне ВЫКЛючен!");
  $objects=array('Lamp1');
 //
 foreach($objects as $o) {
  callMethod($o.'.turnOff');
 } 
 }else{
 $handle = fopen("http://192.168.18.21/state?c=set&n=1&o=0", "r");
 say("Свет на кухне ВКЛючен!");
 $objects=array('Lamp1');
 //
 foreach($objects as $o) {
  callMethod($o.'.turnOn');
 }
  }
А если не жалко, поделитесь своим рабочим кодом! PLEASE!!!
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение olehs »

А что этот switch то должен делать?
У меня простой, в классе Relays

Код: Выделить всё

$status=$this->getProperty("status");
if ($status) {
 $this->callMethod('turnOff');
} else {
 $this->callMethod('turnOn');
}
Yashalta
Сообщения: 318
Зарегистрирован: Вс май 20, 2018 9:27 am

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta »

olehs писал(а): Пт янв 18, 2019 11:18 pm А что этот switch то должен делать?
У меня простой, в классе Relays

Код: Выделить всё

$status=$this->getProperty("status");
if ($status) {
 $this->callMethod('turnOff');
} else {
 $this->callMethod('turnOn');
}
Да, именно то, что делает ваш код! И мне кажется я видел где-то ваш код но, как всегда я....
Yashalta
Сообщения: 318
Зарегистрирован: Вс май 20, 2018 9:27 am

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta »

Подскажите не понимаю!
Если включать реле с веб. интерфейса MajorDomo то, с вероятность 100% измениться свойство "Lamp1.status" на "1" или "0" см. скрин ниже
Изображение
т.к. при клике на иконку у меня отрабатывается команда setGlobal("Lamp1.status", "0"); или setGlobal("Lamp1.status", "1"); в зависимости от того, что мне нужно.
А вот если включать реле с настенного выключателя то, вероятность в лучшем случае 50/50!!! И не понимаю как добиться стабильности!
Я возможно сделал где то ошибку...
Я правильно понимаю?
За связь между MD и реле отвечает метод setRelayState который я добавил в свойства компьютера? Который должен сразу менять статус реле в MD как только реле включится или выключиться см. ниже скрин
Изображение
Но, он не справляется со своей работай в моем случае!
Или нужно написать скрипт который будет проверять состояние реле с периодичностью каждую секунду? А если выключателей много?
Molostov
Сообщения: 53
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Molostov »

Yashalta писал(а): Сб янв 19, 2019 11:12 pm Подскажите не понимаю!
Ну вообще megalight сам сообщает Алисе о том что что-то переключилось.
У вас такая строка есть
Снимок.PNG
Снимок.PNG (2.16 КБ) 5365 просмотров
С вашим IP адресом конечно.

У меня на сценах вот так сделано для включения, и условие =0 для выключения
Снимок2.PNG
Снимок2.PNG (20.29 КБ) 5365 просмотров
А в свойствах реле вот так
Снимок3.PNG
Снимок3.PNG (6.76 КБ) 5365 просмотров
R05 - это уже элемент который в правиле OUTPUT записан со своим пином

А в RULES вот так

Код: Выделить всё

input=03
output=R05
final=false
event=click
action=toggle
final=false, потому что ещё longclick настроен.

Включение/выключение света у меня возможно как через сцену, так и через выключатели переделанные в кнопки (т.е. выключатель с пружинкой, всегда в нормально разомкнутом состоянии).


P.S. У меня тоже были сложности и глюки, когда я напрямую через gg статус менял (по моему при таком способе есть проблема с синхронизацией Алисы и megalight), стал переключать через метод switch и всё работает как часы - за год ни разу не глюкнуло!
Вложения
Снимок3.PNG
Снимок3.PNG (6.76 КБ) 5367 просмотров
Снимок2.PNG
Снимок2.PNG (20.29 КБ) 5367 просмотров
Снимок.PNG
Снимок.PNG (2.16 КБ) 5367 просмотров
Снимок3.PNG
Снимок3.PNG (6.76 КБ) 5368 просмотров
Yashalta
Сообщения: 318
Зарегистрирован: Вс май 20, 2018 9:27 am

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta »

Molostov писал(а): Вс янв 20, 2019 3:19 am P.S. У меня тоже были сложности и глюки, когда я напрямую через gg статус менял (по моему при таком способе есть проблема с синхронизацией Алисы и megalight), стал переключать через метод switch и всё работает как часы - за год ни разу не глюкнуло!
Спасибо, сделал тоже через метод switch... Но, проблемка осталась. Реле послушно срабатывает каждое нажатие кнопки и так же послушно срабатывает если кликать с веб интерфейса MD! НО, не каждый раз на MD отправляется новое значение реле если вкл/выкл с выключателя на стене! Я уже и не знаю куда копать... Сделал скрины моих настроек...
Содержание папки "INPUTS"
Изображение
Содержание папки "OUTPUTS"
Изображение
Содержание папки "RULES"
Изображение
IP моей MegaLight
Изображение
Объект Releys
Изображение
Метод "switch" объекта Releys
Изображение
Методы MegaLight
Изображение
Свойства объекта Кухня
Изображение
Методы объекта Кухня
Изображение
Метод Computer-> setRelayState
Изображение
Molostov
Сообщения: 53
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Molostov »

Yashalta писал(а): Вс янв 20, 2019 4:44 pm НО, не каждый раз на MD отправляется новое значение реле если вкл/выкл с выключателя на стене! Я уже и не знаю куда копать...
Это похоже на проблемы со связью Megalight и Алисы. А Megalight IP адрес Алисы правильно записан?
В файле config.txt на флешке адрес верный?

Код: Выделить всё

mac=34-AD-BE-43-FE-68
ip=192.168.2.210

mdHost=192.168.2.100
mdPort=80
mdAuth=
Роутер IP адреса не поменял? У меня, на всякий случай, все важные адреса через резервирование DHCP (Static Leases DHCP) в роутере прописаны.

Может попробовать перепрошить arduino, только EEPROM полностью очистить прошив перед этим EEPROM clean (Примеры->EEprom->eeprom_clear).
Ответить