Страница 4 из 7
Re: Нужна помощь из скриптом
Добавлено: Вт окт 22, 2019 11:49 am
Divan
У вас видимо устройство включается\выключается одной кнопкой, иначе бы при повторном запуске метода turnOff у вас бы не включался свет. Вам нужно задать правило для скрипта turnOff, чтобы сверял статус и запускал метод turnOff, только когда status 1, если status 0, то метод просто не сработает
Re: Нужна помощь из скриптом
Добавлено: Вт окт 22, 2019 11:54 am
viktor6
Divan писал(а): Вт окт 22, 2019 11:49 am
У вас видимо устройство включается\выключается одной кнопкой, иначе бы при повторном запуске метода turnOff у вас бы не включался свет. Вам нужно задать правило для скрипта turnOff, чтобы сверял статус и запускал метод turnOff, только когда status 1, если status 0, то метод просто не сработает
Да устройство вкл/вык одной кнопкой.
Можно пример что нужно добавить в скрипт?
Re: Нужна помощь из скриптом
Добавлено: Вт окт 22, 2019 12:20 pm
Divan
Я собрал код в блокли.
В настройке метода turnOff, выбираем никогда не вызывать родительский метод.

- метод turnOff.jpg (107.9 КБ) 4292 просмотра
Пример кода в блокли. Метод запустится только, если стоит статус 1, если стоит статус 0, то метод не сработает. Но, если вы выберите запускать родительский метод, то этот код не будет работать.

- код в методе turnOff.JPG (80.85 КБ) 4292 просмотра
Re: Нужна помощь из скриптом
Добавлено: Вт окт 22, 2019 12:32 pm
Divan
То же самое сделайте и для метода turnOn, чтобы он у вас при повторном вызове не сработал, в правило для статуса, нужно установить 0. Тогда метод запустится, если стоит статус 0, а если статус 1, то метод не запустится.
Re: Нужна помощь из скриптом
Добавлено: Вт окт 22, 2019 12:59 pm
viktor6
Вроде все сделал правильно но не хочет выключатся устройство по ссылке хотя выключатель(кнопка) выключается

- 78.jpg (30.58 КБ) 4283 просмотра
Код: Выделить всё
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);
}
}
Re: Нужна помощь из скриптом
Добавлено: Вт окт 22, 2019 1:11 pm
Divan
Если хотите использовать код 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);
}
}
Re: Нужна помощь из скриптом
Добавлено: Ср окт 23, 2019 8:40 am
viktor6
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) {
Re: Нужна помощь из скриптом
Добавлено: Ср окт 23, 2019 10:58 am
Divan
тогда включите запускать родительский метод перед запуском кода
Re: Нужна помощь из скриптом
Добавлено: Чт апр 23, 2020 10:31 pm
viktor6
Ребята помогите, не хочу новую тему создавать.
Суть такова сделал гирлянду на esp+ ws2812b и управляю через http
https://github.com/evilgeniuslabs/tree-v2
Создал класс
ws2812 в нем свойство
girlynda2 и методы
turnOn
turnOff
switch
Код: Выделить всё
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));
}
но почему когда в консоле прописую
cm("girlynda2.switch"); гирлянда не выключается.
Что не так я делаю?
Re: Нужна помощь из скриптом
Добавлено: Чт апр 23, 2020 10:40 pm
Chainik
viktor6 писал(а): Чт апр 23, 2020 10:31 pm
...
Что не так я делаю?
Может код метода 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));
}