Модуль работы с Z-Wave устройствами

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

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Модуль работы с Z-Wave устройствами

Сообщение Bagir » Пн сен 29, 2014 2:19 pm

Да, конечно! Вот по этой ссылке как раз
http://localhost:8083/ZWaveAPI/Run/devi ... tate.value
ответ будет число 255. Это значение value.
Или если надо сразу все 6 групп, то так:
http://localhost:8083/ZWaveAPI/Run/devi ... larmSensor
ответПоказать
{"supported":true,"name":"AlarmSensor","data":{"name":"devices.19.instances.0.commandClasses.156.data","type":"NoneType","value":null,"updateTime":1410993460,"invalidateTime":1410993459,"version":{"name":"version","type":"int","value":1,"updateTime":1410993461,"invalidateTime":1410993460},"security":{"name":"security","type":"bool","value":false,"updateTime":1410993460,"invalidateTime":1410993459},"interviewDone":{"name":"interviewDone","type":"bool","value":true,"updateTime":1410993463,"invalidateTime":1410993459},"interviewCounter":{"name":"interviewCounter","type":"int","value":9,"updateTime":1410993462,"invalidateTime":1410993459},"alarmMap":{"name":"alarmMap","type":"int","value":33,"updateTime":1410993463,"invalidateTime":1410993459},"alarms":{"name":"alarms","type":"NoneType","value":null,"updateTime":1410993460,"invalidateTime":1410993459},"0":{"name":"0","type":"NoneType","value":null,"updateTime":1410993464,"invalidateTime":1411860768,"srcId":{"name":"srcId","type":"int","value":19,"updateTime":1411861633,"invalidateTime":1410993463},"sensorState":{"name":"sensorState","type":"int","value":255,"updateTime":1411861633,"invalidateTime":1410993463},"sensorTime":{"name":"sensorTime","type":"int","value":0,"updateTime":1411861633,"invalidateTime":1410993463}},"5":{"name":"5","type":"NoneType","value":null,"updateTime":1410993464,"invalidateTime":1411860768,"srcId":{"name":"srcId","type":"int","value":19,"updateTime":1411860808,"invalidateTime":1410993463},"sensorState":{"name":"sensorState","type":"int","value":0,"updateTime":1411860808,"invalidateTime":1410993463},"sensorTime":{"name":"sensorTime","type":"int","value":0,"updateTime":1411860808,"invalidateTime":1410993463}}},"id":156}
Это пример датчика протечки. У него из 6 групп есть только 0-General и 5-Flood.
К примеру у датчика дыма есть три группы. Их можно видеть в топике обзора на него.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Модуль работы с Z-Wave устройствами

Сообщение Bagir » Пн сен 29, 2014 2:31 pm

Сергей, это конечно наверное нагло с моей стороны просить, но может сразу и 43 класс добавите. Он очень маленький и нужен для брелков и выключателей. И похоже как пока что нужен только мне одному. Но в будущем конечно должен пригодиться и остальным. Ответ браузера и описание я обновил в обзорном топике на брелок http://smartliving.ru/forum/viewtopic.p ... 921#p13921
В будущем я уверен, что сумею помогать в разработке системы не только идеями, но и работой. А пока что мне сложновато въехать в написанный код. В структуре файлов z-Wave я разобрался, но многое еще не ясно.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль работы с Z-Wave устройствами

Сообщение sergejey » Вт сен 30, 2014 1:46 pm

Добавил поддержку класса Alarm и класса контроллера сцены (пультов). В последнем читаю свойство CurrentScene -- возможно не то, что нужно, так что надо тестировать.
Для добавления новых свойств надо нажать на сканирование сети -- уже настроенные связи останутся и добавяться новые свойства.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Модуль работы с Z-Wave устройствами

Сообщение Bagir » Вт сен 30, 2014 3:00 pm

Аларм отлично настроился. Сразу получаю в объект свойство тревоги. Вечерком обновлю обзоры датчика дыма и протечки, и можно будет считать их законченными.
А пульт и выключатель не обновляет свое свойство, пока не зайдешь в настройки Z устройств в МД, и не откроешь его (где линкуем свойства). Вероятно в этот момент происходит повторный опрос.
Изображение
Пульт ведет себя несколько по другому. Ранее я на это просто не обратил внимание. Если посмотреть на тот же датчик протечки, то при опускании его в воду, мы сразу увидим
Изображение
где 19 это id датчика протечки. Такое можно наблюдать со всеми устройствами в момент передачи ими данных. А теперь посмотрим, что будет, если нажать на кнопку пульта:
Изображение
2 это id стика (usb свистка - главного контроллера сети)
а id пульта 28. Но его тут нет. Соответственно и свойство само не обновляется. Пока что это все наблюдения. Будем копать.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль работы с Z-Wave устройствами

Сообщение sergejey » Вт сен 30, 2014 3:10 pm

Можно попробовать в файле ./modules/zwave/zwave.class.php
после строчки

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

echo "Unknown device (".$m[0].")\n"; 
добавить

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

echo serialize($v); 
перезапустить циклы и посмотреть что будет выдаваться -- возможно там "выщемим" код пульта

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Модуль работы с Z-Wave устройствами

Сообщение Bagir » Вт сен 30, 2014 3:41 pm

Сейчас сделаю!
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Модуль работы с Z-Wave устройствами

Сообщение Bagir » Вт сен 30, 2014 3:54 pm

Ну задачка. Вот, посмотрите сами, может на что глаз упадет:
Изображение
id выключателя 29
id пульта 28
Но этих цифр тут нет.
Сначала нажал на кнопку выключателя. Затем сразу на кнопку пульта. Отличия есть, но выключатель настроен "из коробки", а пульт я настроил на запуск сцен. Сейчас для чистоты эксперимента, я настрою выключатель точно так же как и пульт и все повторю.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Модуль работы с Z-Wave устройствами

Сообщение Bagir » Вт сен 30, 2014 4:13 pm

Настроил выключатель так же на запуск сцен, и теперь по записям даже нельзя понять, какой выключатель был нажат
Изображение
instances.<цифра> зависит от кнопки. 1-4. А 0 всегда сопутствует. Видимо чтобы увидеть повторное нажатие той же кнопки.
Дело ясное, что дело темное. Если есть идеи, пишите! Пока буду копать вслепую.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль работы с Z-Wave устройствами

Сообщение sergejey » Вт сен 30, 2014 4:32 pm

Возможно нажатие кнопки на пульте меняет текущую сцену, которая хранится в общем контроллере сети. В таком случае, нужно будет делать привязку к этому свойству для устройства типа контроллер, а не для пульта.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Модуль работы с Z-Wave устройствами

Сообщение Bagir » Вт сен 30, 2014 4:37 pm

Я тоже так подумал. В пользу этого предположения еще факт отсутствия этого класса в интервью пульта и выключателя. Возможно действительно надо смотреть в сторону свойств контроллера.
И еще грабли: Допустим мы нажали на кнопку 1.
http://localhost:8083/ZWaveAPI/Run/devi ... cene.value приняло значение 11. Мы увидим, что значение поменялось на 11, и поймем что нажата кнопка кнопка 1.
А вот если второй раз нажать на кнопку 1, то поллингом этого адреса мы уже ничего не увидим, т.к. значение как было 11, так таким и осталось. Следовательно, нам нужен сигнал о том, что было совершено действие с кнопками, а какое именно мы уже и поймем по этому значению value.
Но получается так, что и выключатель и пульт шлют одинаковые данные, и понять кто это прислал с помощью анализа echo serialize($v); невозможно. Придется как то подбивать клинья к контроллеру. Что то как то за мудрили zеторубы в этом вопросе... Но есть лазейка. Можно смотреть свойство updateTime, и сравнивать его с предыдущим. Так мы можем понять, что была нажата та же кнопка, если value не изменилось.
Вообще я слышал, что они собираются в корне переделать ПО, работающее по http://localhost:8083. И что даже там будут возможности указать GET запросы, чтобы не нужно было делать поллинг. Ну как бы это конечно правильно. Непонятно только куда смотрели до сих пор. Я вообще думал, что Z тема давно выглажена, чиста и прозрачна. А тут оказывается еще не вспаханное поле для творчества. Ну может быть даже так интересней..
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить