Страница 1 из 2

Отключение по сценарию.

Добавлено: Вс мар 15, 2020 3:06 pm
Forth
Не могу разобраться почему не работает сценарий отключение по времени , прошу оказать консультацию.
Необходимо на даче отключать по определенному периоду кран полива в теплице.
Но почему то функция setTimeOut('15 сек', " setGlobal('Rele_1_K'.'.'.'status', '0');", (int)('15')); у меня ну не как не хочет работать
Хочу при активности кнопки 1 logicAction включать сценарий отключения полива в зависимости от выбранных данных
https://ru.files.fm/u/sfzdvmne
Но по сценарию не отключается, подскажите пожалуйста, что я не так делаю?

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

if (timeIs(getGlobal('Tame_1_Kr_Utro'.'.'.'Tame_On')) && getGlobal('Kr_1_Off'.'.'.'status') == 0 && getGlobal('Kr_1_Utro'.'.'.'status') == 1) 
{
  //if (getGlobal('DenPoliva'.'.'.'status') <= date("d.m.y")) // необходимо доработать
  //{
    if (getGlobal('Kr_1_Utro'.'.'.'status') == 1) 
    {
     setGlobal('Rele_1_K'.'.'.'status', '1');
     if (getGlobal('Kr_1_2min'.'.'.'status') == 1) 
     {
      setTimeOut('Выключить через', "  setGlobal('Rele_1_K'.'.'.'status', '0');", (int)('60')); //время полива при нажатой 1 кнопки (2мин - 120)
     }
     if (getGlobal('Kr_1_4min'.'.'.'status') == 1) 
     {
      setTimeOut('Выключить через', "  setGlobal('Rele_1_K'.'.'.'status', '0');", (int)('120')); //время полива при нажатой 2 кнопки (4мин - 240)
     }
     if (getGlobal('Kr_1_6min'.'.'.'status') == 1) 
     {
      setTimeOut('Выключить через', "  setGlobal('Rele_1_K'.'.'.'status', '0');", (int)('180')); //время полива при нажатой 3 кнопки (6мин - 360)
     }
     if (getGlobal('Kr_1_8min'.'.'.'status') == 1) 
     {
      setTimeOut('Выключить через', "  setGlobal('Rele_1_K'.'.'.'status', '0');", (int)('240')); //время полива при нажатой 4 кнопки (8мин-480)
     }
     if (getGlobal('Kr_1_5min'.'.'.'status') == 1) 
     {
      setTimeOut('Выключить через', "  setGlobal('Rele_1_K'.'.'.'status', '0');", (int)('300')); //время полива при нажатой 5 кнопки (5мин - 300)
     }
     if (getGlobal('Kr_1_10min'.'.'.'status') == 1) 
     {
      setTimeOut('Выключить через', "  setGlobal('Rele_1_K'.'.'.'status', '0');", (int)('360')); //время полива при нажатой 6 кнопки (10мин - 600)
     }
      say(time_poliva,2);
    }
}

Re: Отключение по сценарию.

Добавлено: Вс мар 15, 2020 4:11 pm
Forth
Почему если в методе logicAction ставлю так setGlobal('Rele_1_K'.'.'.'status', '0'); то работает, сразу отключает, а так не работает setTimeOut('Выключить через', " setGlobal('Rele_1_K'.'.'.'status', '0');", (int)('120'));
:cry:

Re: Отключение по сценарию.

Добавлено: Вс мар 15, 2020 4:17 pm
Logrus
setTimeOut('off_timer_2_minutes', "setGlobal('Rele_1_K.status', 0);", 120);

Re: Отключение по сценарию.

Добавлено: Вс мар 15, 2020 5:06 pm
Forth
Logrus писал(а):
Вс мар 15, 2020 4:17 pm
setTimeOut('off_timer_2_minutes', "setGlobal('Rele_1_K.status', 0);", 120);
Спасибо не жалко, но не работает :(
В чем же дело?

Re: Отключение по сценарию.

Добавлено: Вс мар 15, 2020 6:29 pm
xor
Forth писал(а):
Вс мар 15, 2020 5:06 pm
Logrus писал(а):
Вс мар 15, 2020 4:17 pm
setTimeOut('off_timer_2_minutes', "setGlobal('Rele_1_K.status', 0);", 120);
Спасибо не жалко, но не работает :(
В чем же дело?
вы спасибо не поставили)
в консоли эта строка выполняется? в х-рее в закладке таймеров появляется?

Re: Отключение по сценарию.

Добавлено: Вс мар 15, 2020 6:39 pm
Chainik
На всякий случай попробуйте вид кавычек поменять.

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

setTimeOut('off_timer_2_minutes','setGlobal("Rele_1_K.status", 0);',120);

Re: Отключение по сценарию.

Добавлено: Пн мар 16, 2020 5:47 am
Forth
Chainik писал(а):
Вс мар 15, 2020 6:39 pm
На всякий случай попробуйте вид кавычек поменять.

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

setTimeOut('off_timer_2_minutes','setGlobal("Rele_1_K.status", 0);',120);
Смена кавычек не помогает :(

Re: Отключение по сценарию.

Добавлено: Пн мар 16, 2020 5:59 am
Forth
xor писал(а):
Вс мар 15, 2020 6:29 pm
в консоли эта строка выполняется? в х-рее в закладке таймеров появляется?
Я не знаю как открыть консоль, вот найду как консоль открывается и проверю команду.
тут описание есть, а как её открывать информации нет https://kb.mjdm.ru/faq/#toc39
>>в х-рее в закладке таймеров появляется?
И это для меня диковинка, как это найти, где почитать?

Re: Отключение по сценарию.

Добавлено: Пн мар 16, 2020 8:47 am
Chainik
Forth писал(а):
Пн мар 16, 2020 5:59 am
xor писал(а):
Вс мар 15, 2020 6:29 pm
в консоли эта строка выполняется? в х-рее в закладке таймеров появляется?
Я не знаю как открыть консоль, вот найду как консоль открывается и проверю команду.
тут описание есть, а как её открывать информации нет https://kb.mjdm.ru/faq/#toc39
>>в х-рее в закладке таймеров появляется?
И это для меня диковинка, как это найти, где почитать?
Когда в Панель управления входите, наверху Консоль и X-Ray. В Консоль надо вставить команду и выполнить, а потом в X-Ray надо смотреть на вкладку "Таймеры" (появился там таймер или нет).

Re: Отключение по сценарию.

Добавлено: Пн мар 16, 2020 8:26 pm
Forth
Chainik писал(а):
Пн мар 16, 2020 8:47 am
Когда в Панель управления входите, наверху Консоль и X-Ray. В Консоль надо вставить команду и выполнить, а потом в X-Ray надо смотреть на вкладку "Таймеры" (появился там таймер или нет).
Большое спасибо за консультацию.
На закладке Timers обнаружил следующую ошибку.
Прошу дать рекомендацию по её устранению.

Error
Details
http://192.168.2.3/admin.php?pd=cGFuZWw ... =undefined
145: Table '.\db_terminal\jobs' is marked as crashed and should be repaired
SELECT jobs.* FROM jobs WHERE EXPIRED!=1 AND PROCESSED!=1 AND 1 ORDER BY jobs.RUNTIME

При запуске команды
setTimeOut('off_timer_2_minutes', "setGlobal('Rele_1_K.status', 0);", 12);

Error
Details
http://192.168.2.3/admin.php?pd=pz_&md= ... setTimeOut(%27off_timer_2_minutes%27%2C%20%22setGlobal(%27Rele_1_K.status%27%2C%200)%3B%22%2C%2012)%3B
145: Table '.\db_terminal\jobs' is marked as crashed and should be repaired
DELETE FROM jobs WHERE TITLE = 'off_timer_2_minutes'