Я поэтому и спросил про 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
-
- Сообщения: 189
- Зарегистрирован: Сб окт 12, 2019 2:10 pm
- Благодарил (а): 6 раз
- Поблагодарили: 30 раз
Re: Циклическое выполнение команды
Raspberry pi3, xiaomi, sonoff rf.
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
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);
}
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 12
- Зарегистрирован: Вт окт 01, 2019 8:30 am
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: Циклическое выполнение команды
Сначала запускал прямо в коде выключателя.tarasfrompir писал(а): ↑Чт ноя 28, 2019 1:22 pmПодожди ану ка расскажи как ты запускаеш сам этот метод...
Сейчас сделал скрипт flash, а в коде выключателя
Код: Выделить всё
callMethod('switcher.switch');
runscript('flash');
-
- Сообщения: 189
- Зарегистрирован: Сб окт 12, 2019 2:10 pm
- Благодарил (а): 6 раз
- Поблагодарили: 30 раз
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
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: Циклическое выполнение команды
Создаеш УПРАВЛЯЕМОЕ РЕЛЕ - и в его методе ЛогикАктион вставляеш этот код что сверху - только вместо switcher - вставляеш Имя УПРАВЛЯЕМОГО РЕЛЕ. Теперь нажав на это реле у тебя начнут моргать лампочки - нажав еще раз они перестанут.Kumehtar писал(а): ↑Чт ноя 28, 2019 3:25 pmСначала запускал прямо в коде выключателя.tarasfrompir писал(а): ↑Чт ноя 28, 2019 1:22 pmПодожди ану ка расскажи как ты запускаеш сам этот метод...
Сейчас сделал скрипт flash, а в коде выключателяИтог: Скрипт запускается и работает правильно (устройства переключаются), но как только он запускается, другие выключатели не управляются и остановить скрипт тоже не могу...Код: Выделить всё
callMethod('switcher.switch'); runscript('flash');
- За это сообщение автора tarasfrompir поблагодарил:
- Kumehtar (Чт ноя 28, 2019 3:41 pm)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 12
- Зарегистрирован: Вт окт 01, 2019 8:30 am
- Благодарил (а): 3 раза
- Поблагодарили: 0
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');