Я создал переключатель "Свет в гостиной"
Период авто-обновления "5"
Прописал связанный объект "svetGostinaya.status"
Добавил код (192.168.1.177 - IP Arduino)
if ($params['VALUE']) {
getURL("http://192.168.1.177/?LED1=1",0);
say('Свет в гостиной включен');
setGlobal("svetGostinaya.status",1);
}
else {
getURL("http://192.168.1.177/?LED1=0",0);
say('Свет в гостиной выключен');
setGlobal("svetGostinaya.status",0);
}
В Объектах добавил новый класс "svetGostinaya", добавил свойство "status".
Добавил метод "statusChanged", в свойствах прописал код $this->setProperty('status',$params['status']);
Отправляю запрос в адресной строке браузера (192.168.1.2 - IP компа) " http://192.168.1.2/objects/?object=svet ... op=set&v=1 ", но переключатель не реагирует. Что я сделал не так? или не доделал?
Прошу сильно не ругать. С Web программированием не сталкивался еще.
Как заставить работать Switch с свойством (значения ON\OFF)
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Как заставить работать Switch с свойством (значения ON\O
да вроде бы всё так. даже метод statusChanged в данном случае необязателен, раз код прописан в самом переключателе.
т.е. после вызова http://192.168.1.2/objects/?object=svet ... op=set&v=1 значение свойства объекта не меняется? (переключатель пока оставим, разберёмся работает ли установка свойства)
т.е. после вызова http://192.168.1.2/objects/?object=svet ... op=set&v=1 значение свойства объекта не меняется? (переключатель пока оставим, разберёмся работает ли установка свойства)
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 22
- Зарегистрирован: Пн апр 08, 2013 3:54 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Как заставить работать Switch с свойством (значения ON\O
я создал метод "govori", который вызывается при изменении статуса, в нем прописал код say('статус изменился');
По идее, Алиса должна сказать это при изменении статуса, да?
а как посмотреть изменение статуса? я отметил хранить историю 5 дней, но в истории объектов "No Data".
Но тишина... а в окне браузера, где написал запрос появляется следующее: Request: &object=svetGostinaya&p=status&op=set&v=1
Все! Разобрался! моя ошибка была в том, что я создал только класс, а объектов в нем не создал. Теперь переименовал класс в "svet", создал в нем объект "svetGostinaya". Отправил запрос и переключатель переключился.
Спасибо большое за помощь! Теперь буду дальше разбираться. Надо погоду с gismeteo.ru прикрутить. Может кто-то уже использовал гисметео?
По идее, Алиса должна сказать это при изменении статуса, да?
а как посмотреть изменение статуса? я отметил хранить историю 5 дней, но в истории объектов "No Data".
Но тишина... а в окне браузера, где написал запрос появляется следующее: Request: &object=svetGostinaya&p=status&op=set&v=1
Все! Разобрался! моя ошибка была в том, что я создал только класс, а объектов в нем не создал. Теперь переименовал класс в "svet", создал в нем объект "svetGostinaya". Отправил запрос и переключатель переключился.
Спасибо большое за помощь! Теперь буду дальше разбираться. Надо погоду с gismeteo.ru прикрутить. Может кто-то уже использовал гисметео?
-
- Сообщения: 949
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 68 раз
- Поблагодарили: 94 раза
Re: Как заставить работать Switch с свойством (значения ON\O
Следующий
Помогите разобраться.
На ардуине отслеживается датчик движения.
Через Arduino GW значения передаются в Мажордом.
GET /objects/?object=sensorMovement1&op=m&m=statusChanged&status=1 HTTP/1.0
Создал Объект sensorMovement1 - все работает.
sensorMovement1.status = 0
sensorMovement1.statusText =
sensorMovement1.updatedTimestamp = 1386859713
Как теперь заставить выключатель в главном меню включаться и выключаться в зависимости от состояния датчика?
Создал в меню выключатель
прописал
Связанный объект.Свойство: sensorMovement1.status
Запускать Объект.Метод: sensorMovement1.statusChange
Не работает. Ну что такое?
Помогите разобраться.
На ардуине отслеживается датчик движения.
Через Arduino GW значения передаются в Мажордом.
GET /objects/?object=sensorMovement1&op=m&m=statusChanged&status=1 HTTP/1.0
Создал Объект sensorMovement1 - все работает.
sensorMovement1.status = 0
sensorMovement1.statusText =
sensorMovement1.updatedTimestamp = 1386859713
Как теперь заставить выключатель в главном меню включаться и выключаться в зависимости от состояния датчика?
Создал в меню выключатель
прописал
Связанный объект.Свойство: sensorMovement1.status
Запускать Объект.Метод: sensorMovement1.statusChange
Не работает. Ну что такое?
-
- Сообщения: 949
- Зарегистрирован: Пт дек 06, 2013 11:30 am
- Откуда: Москва
- Благодарил (а): 68 раз
- Поблагодарили: 94 раза
Re: Как заставить работать Switch с свойством (значения ON\O
Вопрос снят. Слишком быстро меняются значения датчика.
Создал объект Switch.HallLight
В методах датчика прописал
sg("HallLight.status","1");
sg('HallLight.statusText','Включено');
clearTimeOut("HallLight");
SetTimeOut("HallLight",'sg("HallLight.status","0");
sg("HallLight.statusText","Выключено");',30);
Теперь свет горит 30 секунд.
У выключателя поставил обновление раз в 1 сек.
Все заработало
Создал объект Switch.HallLight
В методах датчика прописал
sg("HallLight.status","1");
sg('HallLight.statusText','Включено');
clearTimeOut("HallLight");
SetTimeOut("HallLight",'sg("HallLight.status","0");
sg("HallLight.statusText","Выключено");',30);
Теперь свет горит 30 секунд.
У выключателя поставил обновление раз в 1 сек.
Все заработало
Re: Как заставить работать Switch с свойством (значения ON\OFF)
Доброго времени суток!
Столкнулся с проблемой описанной dimitrystd в первом сообщении.
Задача: Настроить управление реле (Xiaomi LLKZMK11LM) с помощью выключателя (Xiaomi QBKG25LM).
Сразу оговорюсь, все описанные рекомендации в данной ветки, и в парочке других, я опробовал в различных комбинациях (с/без вызов родительского метода, код только в одном из методов и т.д.). Описываю вариант на котором потерял надежду запустить самостоятельно.
Мои действия:
1) Отвязал реле от кнопки выключателя с помощью MQTT Explorer (т.к. для выключателя QBKG25LM еще не реализован пользовательский интерфейс отвязки кнопок, как для QBKG03LM);
2) Создал простое устройство типа реле;
3) Привязал к простому устройству объект "реле/управляемый выключатель". В методах TurnON, TurnOFF и Switch прописал команды отправки сообщений в Zigbee2mqtt (Пример части кода для метода Switch: $z2m->sendcommand('zigbee2mqtt/0x...ed2/set', '{"state_l1": "TOGGLE"}')). Отключил вызов родительского метода;
4) На событие выключателя _Single привязал созданное в п.2 простое устройство с отработкой метода Switch;
Результат: по нажатию на клавишу выключателя реле включается и сразу выключается.
Прошу помочь в реализации данной настройки.
Столкнулся с проблемой описанной dimitrystd в первом сообщении.
Задача: Настроить управление реле (Xiaomi LLKZMK11LM) с помощью выключателя (Xiaomi QBKG25LM).
Сразу оговорюсь, все описанные рекомендации в данной ветки, и в парочке других, я опробовал в различных комбинациях (с/без вызов родительского метода, код только в одном из методов и т.д.). Описываю вариант на котором потерял надежду запустить самостоятельно.
Мои действия:
1) Отвязал реле от кнопки выключателя с помощью MQTT Explorer (т.к. для выключателя QBKG25LM еще не реализован пользовательский интерфейс отвязки кнопок, как для QBKG03LM);
2) Создал простое устройство типа реле;
3) Привязал к простому устройству объект "реле/управляемый выключатель". В методах TurnON, TurnOFF и Switch прописал команды отправки сообщений в Zigbee2mqtt (Пример части кода для метода Switch: $z2m->sendcommand('zigbee2mqtt/0x...ed2/set', '{"state_l1": "TOGGLE"}')). Отключил вызов родительского метода;
4) На событие выключателя _Single привязал созданное в п.2 простое устройство с отработкой метода Switch;
Результат: по нажатию на клавишу выключателя реле включается и сразу выключается.
Прошу помочь в реализации данной настройки.