Chainik писал(а): Чт фев 27, 2020 5:10 pm
Скорее всего при while у вас "набросало" сообщений в очередь и будет проговаривать до второго пришествия (хотя сам метод фактически закончил выполнение).
Попробуйте, как правильно подсказали, добавить в код строчку с SetTimeOut, скажем, с 10-секундной задержкой выполнения).
SDevices_statusUpdated не предназначен для такого, есть SDevices_logicAction
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
if ($this->getProperty('status')) {
say("пожар в гараже",3);
SetTimeOut("Timer_fire_garage","callMethod('Relay19.statusUpdated');",10);
}
Ура! Так заработало в statusUpdated. Даже теща прибежала ))
Logrus писал(а): Вс мар 01, 2020 3:11 pm
SDevices_statusUpdated не предназначен для такого, есть SDevices_logicAction
Почему? Чем грозит использование этого кода в методе statusUpdate объекта в Sdevices ?
Спасибо всем за помощь!
в инжекции есть много лишнего
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
//script FireAlarm
if (gg('Object.status')) { //кричать, пока свойство=1
say("пожар в гараже",3);
SetTimeOut("Timer_fire_garage","runscript('FireAlarm');",10);
}
а инициировал бы его один раз вызовом из откуда он там вызывается