Нужна помощь из скриптом
Модератор: immortal
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: Нужна помощь из скриптом
У вас видимо устройство включается\выключается одной кнопкой, иначе бы при повторном запуске метода turnOff у вас бы не включался свет. Вам нужно задать правило для скрипта turnOff, чтобы сверял статус и запускал метод turnOff, только когда status 1, если status 0, то метод просто не сработает
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
-
- Сообщения: 273
- Зарегистрирован: Вс авг 20, 2017 1:46 am
- Благодарил (а): 142 раза
- Поблагодарили: 13 раз
Re: Нужна помощь из скриптом
Да устройство вкл/вык одной кнопкой.Divan писал(а): ↑Вт окт 22, 2019 11:49 amУ вас видимо устройство включается\выключается одной кнопкой, иначе бы при повторном запуске метода turnOff у вас бы не включался свет. Вам нужно задать правило для скрипта turnOff, чтобы сверял статус и запускал метод turnOff, только когда status 1, если status 0, то метод просто не сработает
Можно пример что нужно добавить в скрипт?
Raspberry Pi3, с образа от Сергея 3.34
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: Нужна помощь из скриптом
Я собрал код в блокли.
В настройке метода turnOff, выбираем никогда не вызывать родительский метод.
Пример кода в блокли. Метод запустится только, если стоит статус 1, если стоит статус 0, то метод не сработает. Но, если вы выберите запускать родительский метод, то этот код не будет работать.
В настройке метода turnOff, выбираем никогда не вызывать родительский метод.
СпойлерПоказать
СпойлерПоказать
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: Нужна помощь из скриптом
То же самое сделайте и для метода turnOn, чтобы он у вас при повторном вызове не сработал, в правило для статуса, нужно установить 0. Тогда метод запустится, если стоит статус 0, а если статус 1, то метод не запустится.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
-
- Сообщения: 273
- Зарегистрирован: Вс авг 20, 2017 1:46 am
- Благодарил (а): 142 раза
- Поблагодарили: 13 раз
Re: Нужна помощь из скриптом
Вроде все сделал правильно но не хочет выключатся устройство по ссылке хотя выключатель(кнопка) выключается
СпойлерПоказать
Код: Выделить всё
if ($this->getProperty('status') == 1) {
if (getGlobal('wifi'.'.'.'admin') == 0 && getGlobal('wifi'.'.'.'luda') == 0) {
$this->setProperty('status', '0');
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/off\'', 0);
say('дома нет', 2);
}
}
Raspberry Pi3, с образа от Сергея 3.34
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: Нужна помощь из скриптом
Если хотите использовать код PHP, то после блокли нужно его подкорректировать, убрать лишние точки и символы.
if ($this->getProperty('status') == 1) {
if (getGlobal('wifi'.'.'.'admin') == 0 && getGlobal('wifi'.'.'.'luda') == 0) {
$this->setProperty('status', '0');
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/off\'', 0); - по мне это неверный код, так как у вас же был такой код getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
say('дома нет', 2);
}
}
Сам код в PHP
if ($this->getProperty('status') == 1) {
if (getGlobal('wifi'.'.'.'admin') == 0 && getGlobal('wifi'.'.'.'luda') == 0) {
$this->setProperty('status', '0');
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/off\'', 0); - по мне это неверный код, так как у вас же был такой код getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
say('дома нет', 2);
}
}
Сам код в PHP
Код: Выделить всё
if ($this->getProperty('status') == 1) {
if (getGlobal('wifi.admin') == 0 && getGlobal('wifi.luda') == 0) {
$this->setProperty('status', '0');
getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
say('дома нет', 2);
}
}
- Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
-
- Сообщения: 273
- Зарегистрирован: Вс авг 20, 2017 1:46 am
- Благодарил (а): 142 раза
- Поблагодарили: 13 раз
Re: Нужна помощь из скриптом
Блин ну не хотет он выключать устройство и всеDivan писал(а): ↑Вт окт 22, 2019 1:11 pmЕсли хотите использовать код PHP, то после блокли нужно его подкорректировать, убрать лишние точки и символы.
if ($this->getProperty('status') == 1) {
if (getGlobal('wifi'.'.'.'admin') == 0 && getGlobal('wifi'.'.'.'luda') == 0) {
$this->setProperty('status', '0');
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/off\'', 0); - по мне это неверный код, так как у вас же был такой код getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
say('дома нет', 2);
}
}
Сам код в PHPКод: Выделить всё
if ($this->getProperty('status') == 1) { if (getGlobal('wifi.admin') == 0 && getGlobal('wifi.luda') == 0) { $this->setProperty('status', '0'); getURL('http://'.gg('girlynda2.ipaddr').'/off', 0); say('дома нет', 2); } }
ошибка тут как по мне
Код: Выделить всё
if (getGlobal('wifi.admin') == 0 && getGlobal('wifi.luda') == 0) {
Код: Выделить всё
if (getGlobal("admin.WiFi") == 0 && getGlobal("luda.WiFi") == 0) {
Raspberry Pi3, с образа от Сергея 3.34
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: Нужна помощь из скриптом
тогда включите запускать родительский метод перед запуском кода
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
-
- Сообщения: 273
- Зарегистрирован: Вс авг 20, 2017 1:46 am
- Благодарил (а): 142 раза
- Поблагодарили: 13 раз
Re: Нужна помощь из скриптом
Ребята помогите, не хочу новую тему создавать.
Суть такова сделал гирлянду на esp+ ws2812b и управляю через http https://github.com/evilgeniuslabs/tree-v2
Создал класс ws2812 в нем свойство girlynda2 и методы
turnOn
turnOff
switch
но почему когда в консоле прописую cm("girlynda2.switch"); гирлянда не выключается.
Что не так я делаю?
Суть такова сделал гирлянду на esp+ ws2812b и управляю через http https://github.com/evilgeniuslabs/tree-v2
Создал класс ws2812 в нем свойство girlynda2 и методы
turnOn
Код: Выделить всё
SetGlobal('girlynda2.status', 1);
Код: Выделить всё
SetGlobal('girlynda2.status', 0);
Код: Выделить всё
if (getGlobal("girlynda2.status") =="1")
{
postURL('http://192.168.0.120/power', array('value'=>1));
} else if (getGlobal("girlynda2.status") =="0")
{
postURL('http://192.168.0.120/power', array('value'=>0));
}
Что не так я делаю?
Raspberry Pi3, с образа от Сергея 3.34
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Нужна помощь из скриптом
Может код метода switch чуть поменять?
Код: Выделить всё
if (getGlobal("girlynda2.status") =="1")
{
postURL('http://192.168.0.120/power', array('value'=>0));
} else if (getGlobal("girlynda2.status") =="0")
{
postURL('http://192.168.0.120/power', array('value'=>1));
}