Страница 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, выбираем никогда не вызывать родительский метод.
SPOILERSPOILER_SHOW
метод turnOff.jpg
метод turnOff.jpg (107.9 КБ) 4292 просмотра
Пример кода в блокли. Метод запустится только, если стоит статус 1, если стоит статус 0, то метод не сработает. Но, если вы выберите запускать родительский метод, то этот код не будет работать.
SPOILERSPOILER_SHOW
код в методе turnOff.JPG
код в методе turnOff.JPG (80.85 КБ) 4292 просмотра

Re: Нужна помощь из скриптом

Добавлено: Вт окт 22, 2019 12:32 pm
Divan
То же самое сделайте и для метода turnOn, чтобы он у вас при повторном вызове не сработал, в правило для статуса, нужно установить 0. Тогда метод запустится, если стоит статус 0, а если статус 1, то метод не запустится.

Re: Нужна помощь из скриптом

Добавлено: Вт окт 22, 2019 12:59 pm
viktor6
Вроде все сделал правильно но не хочет выключатся устройство по ссылке хотя выключатель(кнопка) выключается
SPOILERSPOILER_SHOW
78.jpg
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

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

SetGlobal('girlynda2.status', 1);
turnOff

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

SetGlobal('girlynda2.status', 0);
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));
}