Я поэтому и спросил про StatusUpdated - этот метод же отработает если мы просто статус поменяем. опять-таки смотря как зпускать, если по switcher.activate / deactivate то кнопка по умолчанию пишет 1 / 0 в статус жеtarasfrompir писал(а): Чт ноя 28, 2019 1:33 pmЯ бы добавил сюда + запускать этот же метод в свойстве statusfreesh писал(а): Чт ноя 28, 2019 1:28 pmДа, решение от tarasfrompir получше и должно работать, видимо пускаешь неправильно. Грубо говоря по нажатию кнопки - если перешло в режим ВключитьПеремигивание - в switcher.status должна записаться 1 а при выключении должна туда записаться 0Kumehtar писал(а): Чт ноя 28, 2019 1:16 pmТак вообще не запускается =(tarasfrompir писал(а): Чт ноя 28, 2019 12:20 pm Вот так будет просто и надежно
Но это для старта - а там уже логику можна и на таймеры повесить
НО ТОЛЬКО ВСЕ СДЕЛАТЬ ПО ДРУГОМУ.... а не так как сделано
А так, вроде, работает. Но "повесил" пока на onNewMinute. Теперь понять, как сделать что-то типа onNewSecond
(как тут: viewtopic.php?t=386#p1932)
Или добавить в логиактион этот кусок кода
Циклическое выполнение команды
Модератор: immortal
Re: Циклическое выполнение команды
Raspberry pi3, xiaomi, sonoff rf.
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
Re: Циклическое выполнение команды
Все проверил - все четко
Только нужно еще и дописать немного
Только нужно еще и дописать немного
Код: Выделить всё
while (true) // бесконечный цикл
{
$status0=gg('switcher.status');
if ($status0 <> 1){
callMethod('Living_room_f.turnoff'); // выключить второе устройство
callMethod('CEB00F_test.turnoff'); // включить первое устройство
break; // если выключатель поменял состояние ("выключен") выйти из цикла
}
callMethod('CEB00F_test.turnon'); // включить первое устройство
callMethod('Living_room_f.turnoff'); // выключить второе устройство
sleep(3);
$status0=gg('switcher.status');
if ($status0 <> 1){
callMethod('Living_room_f.turnoff'); // выключить второе устройство
callMethod('CEB00F_test.turnoff'); // включить первое устройство
break; // если выключатель поменял состояние ("выключен") выйти из цикла
}
callMethod('CEB00F_test.turnoff'); // включить первое устройство
callMethod('Living_room_f.turnon'); // выключить второе устройство
sleep(3);
}
Спасибо нам ПОМОЖЕТ..!
Re: Циклическое выполнение команды
Сначала запускал прямо в коде выключателя.tarasfrompir писал(а): Чт ноя 28, 2019 1:22 pm Подожди ану ка расскажи как ты запускаеш сам этот метод...
Сейчас сделал скрипт flash, а в коде выключателя
Код: Выделить всё
callMethod('switcher.switch');
runscript('flash');
Re: Циклическое выполнение команды
У меня метод свитч в Xiaomi home тоже мне устраивал светомузыку и не выключался))Kumehtar писал(а): Чт ноя 28, 2019 3:25 pmСначала запускал прямо в коде выключателя.tarasfrompir писал(а): Чт ноя 28, 2019 1:22 pm Подожди ану ка расскажи как ты запускаеш сам этот метод...
Сейчас сделал скрипт flash, а в коде выключателяИтог: Скрипт запускается и работает правильно (устройства переключаются), но как только он запускается, другие выключатели не управляются и остановить скрипт тоже не могу...Код: Выделить всё
callMethod('switcher.switch'); runscript('flash');
Попробуй CallMethod('switcher.turnon'); - для включения и turnoff для выключения.
Raspberry pi3, xiaomi, sonoff rf.
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
Re: Циклическое выполнение команды
Создаеш УПРАВЛЯЕМОЕ РЕЛЕ - и в его методе ЛогикАктион вставляеш этот код что сверху - только вместо switcher - вставляеш Имя УПРАВЛЯЕМОГО РЕЛЕ. Теперь нажав на это реле у тебя начнут моргать лампочки - нажав еще раз они перестанут.Kumehtar писал(а): Чт ноя 28, 2019 3:25 pmСначала запускал прямо в коде выключателя.tarasfrompir писал(а): Чт ноя 28, 2019 1:22 pm Подожди ану ка расскажи как ты запускаеш сам этот метод...
Сейчас сделал скрипт flash, а в коде выключателяИтог: Скрипт запускается и работает правильно (устройства переключаются), но как только он запускается, другие выключатели не управляются и остановить скрипт тоже не могу...Код: Выделить всё
callMethod('switcher.switch'); runscript('flash');
Спасибо нам ПОМОЖЕТ..!
Re: Циклическое выполнение команды
tarasfrompir писал(а): Чт ноя 28, 2019 3:31 pmСоздаеш УПРАВЛЯЕМОЕ РЕЛЕ - и в его методе ЛогикАктион вставляеш этот код что сверху - только вместо switcher - вставляеш Имя УПРАВЛЯЕМОГО РЕЛЕ. Теперь нажав на это реле у тебя начнут моргать лампочки - нажав еще раз они перестанут.Kumehtar писал(а): Чт ноя 28, 2019 3:25 pmСначала запускал прямо в коде выключателя.tarasfrompir писал(а): Чт ноя 28, 2019 1:22 pm Подожди ану ка расскажи как ты запускаеш сам этот метод...
Сейчас сделал скрипт flash, а в коде выключателяИтог: Скрипт запускается и работает правильно (устройства переключаются), но как только он запускается, другие выключатели не управляются и остановить скрипт тоже не могу...Код: Выделить всё
callMethod('switcher.switch'); runscript('flash');