code device

Данный раздел предназначен для русскоязычных пользователей. Если вы владеете английским, рекомендуем также просмотреть общую ветку обсуждений на английском.
User avatar
PoltoS
Posts: 7579
Joined: 26 Jan 2011 19:36

Re: code device

Post by PoltoS »

ссылку в студию, я поправлю
parovoZZ
Posts: 3
Joined: 11 Jul 2016 22:03

Re: code device

Post by parovoZZ »

Продолжу тему на предмет Code Devices. Создал я виртуальное реле типа SwitchBinary и привязал её к GPIO24 на Raspberry. Для включения реле прописал команду:

Code: Select all

system('echo "1" > /sys/class/gpio/gpio24/value');
Для выключения:

Code: Select all

system('echo "0" > /sys/class/gpio/gpio24/value');
Всё прекрасно работает, но не пойму, как заставить Z-Way отслеживать состояние этого реле. Пишу в запросе состояния:

Code: Select all

system('if [[ $(cat /sys/class/gpio/gpio24/value) == "1" ]];  then echo "on";  else echo "off";  fi')
Возвращает:
0, off
Хотя скрипт в баше отрабатывает правильно: возвращает ON или OFF в зависимости от состояния.
Что надо подправить?

Где прочитать про этот Code Device? Про system узнал не из доков, а где-то в тырнете...
User avatar
PoltoS
Posts: 7579
Joined: 26 Jan 2011 19:36

Re: code device

Post by PoltoS »

Прочитать нужно про system(). Он возвращает код выполнения команды первым параметром, а вывод вторым.

Потому ответ:
system('if [[ $(cat /sys/class/gpio/gpio24/value) == "1" ]]; then echo "on"; else echo "off"; fi')[1]
но лучше сделать так:
system('cat /sys/class/gpio/gpio24/value')[1] == "1" ? "on" : "off"
parovoZZ
Posts: 3
Joined: 11 Jul 2016 22:03

Re: code device

Post by parovoZZ »

Разобрался уже :)))


Но всё равно спасибо, мил человек)))

Ещё вопрос про denied by policy. Изначально в файл .syscommands ничего не писал и все команды работали. Потом что-то глюкнуло (включил SPI интерфейс)))), в общем параметры порта ttyAMA0 слетели. Не долго думая, заинсталлировал ещё раз я-way. После этого команды cat и echo возвращали Error: This command is denied by policy. Записал их в файл /opt/../.syscommands и они стали выполняться как и раньше. Отчего такое происходит? К слову, второй экземпляр z-way заинсталился в папку рядом с первым экземпляром + дописал в названии папки текущую дату, но выполняется из папки первого экземпляра.
User avatar
PoltoS
Posts: 7579
Joined: 26 Jan 2011 19:36

Re: code device

Post by PoltoS »

В папке с датой старая версия. Новая в /opt/z-way-server/

Думаю, и ранее были эти строки в .syscommands. Так было с самого начала, видимо забыли, что писали. Или была супер старая версия (хотя, кажется, так с первого дня system()).
User avatar
10der
Posts: 80
Joined: 08 Jul 2016 00:23
Location: Ukraine - Berkeley, CA

Re: code device

Post by 10der »

Привет

Может мне кто ответит тоже тут?
Вроде и задача простая, а неееет :(
https://forum.z-wave.me/viewtopic.php?f=3419&t=23722

Спасибо!
gsaw
Posts: 78
Joined: 22 Aug 2016 00:26

Re: code device

Post by gsaw »

10der wrote:Привет

Может мне кто ответит тоже тут?
Вроде и задача простая, а неееет :(
https://forum.z-wave.me/viewtopic.php?f=3419&t=23722

Спасибо!
Я сейчас попробовал с Dummy Device вместо Code Device и оно работает. Состояние переключается если в бровзере набираю

Code: Select all

http://127.0.0.1:8083/ZAutomation/api/v1/devices/DummyDevice_41/command/on
User avatar
10der
Posts: 80
Joined: 08 Jul 2016 00:23
Location: Ukraine - Berkeley, CA

Re: code device

Post by 10der »

я в курсе про дамми девайс. но я хотел девайс _без_ регуляторов и переключаторов - r/o
ну что придется сделать копию dummy dev и добавить самому что я хочу.
печаль.
gsaw
Posts: 78
Joined: 22 Aug 2016 00:26

Re: code device

Post by gsaw »

10der wrote:я в курсе про дамми девайс. но я хотел девайс _без_ регуляторов и переключаторов - r/o
ну что придется сделать копию dummy dev и добавить самому что я хочу.
печаль.
то-есть сенсор? Как тогда обновлятиь статус? Через HTTP не получится же. Самому интересно. По мне так и Дамми Дейвас подошел бы. Просто не переключать через гуи.
User avatar
10der
Posts: 80
Joined: 08 Jul 2016 00:23
Location: Ukraine - Berkeley, CA

Re: code device

Post by 10der »

ща по русски еще раз объясню. =)
есть rpi стоящий в комнате (к zway отношения не имеет. просто rpi + pioneer600, я прикрутил часы на дисплей + кучу датчиков насувал....) так вот я хочу по событию на этой rPi отсылать инфу разную на zway. в частости инфу о датчике движения в этой комнате - т.е. не что бы zway постоянно "поллил" бедную rpi, а моя rpi сама сообщила котролеру что датчик сработал. Ну и в качестве бонуса еще кое какие мелочи хочу сообщать на контроллер - дотчик звука я научил отсылать кол-во хлопков - хлопнул 2 раза - rpi у меня отсылает на контролер на рид-онли мультисенсор - 2, хлопнул 3 раза - отсылает 3... ну и соотв. можно повесится на это событие...
т.е. мне банально нужны readonly dummy устростройства, которые я смогу обновлять через http api

как то так...
Post Reply