Всем доброе время суток! Огромное спасибо, что откликнулись и ответили, особенно Михаилу за его выдержку
.
остальное толком не понял что не работает...
Сейчас постараюсь объяснить.
Как привел пример кода Михаил ( я сверил с тем, что у меня, может быть что-то упустил?) то, у меня так же и это все работает ( я может и не совсем разбираюсь в коде, но в этом я разобрался, это я понял, там понятно, что от куда берется и куда подставляется и как один метод вызывает другой и т.д. по цепочке) а не работает …..как раз метод
sendCommand, ну, сам метод то работает, но с одним НО : - вот эта строчка
$cmdline='sleep 0.5; /usr/local/bin/noolitepc -api '.'-set_color_ch '.$this->getProperty("channel").' '.$r_value.' '.$g_value.' '.$b_value;
safe_exec($cmdline);
подставляет все кроме переменных
.$r_value.' '.$g_value.' '.$b_value; , которые формируются в предыдущем методе
refresh, их просто нет: в памяти, или в этом цикле( ну, или я не совсем правильно изъяснился) . Так вот, если в методе
sendCommand перед этой строчкой, т.е., в самом начале, их(эти переменные) еще раз присвоить , типа так
$r_value =$this->getProperty("R");
$g_value =$this->getProperty("G");
$b_value =$this->getProperty("B");
То, метод полностью подставляет все значения и на выходе получается что-то типа
20:27:01 DEBUG [root]: Executing: sleep 0.5; /usr/local/bin/noolitepc -api -set_color_ch 1 000 050 100 (at /var/www/lib/general.class.php:553)
И канал есть и цвет. В итоге цветовые часы работают. А если не присваивать, а оставить код метода без изменений, то ничего не происходит. Типа так:
22:00:06 DEBUG [root]: Executing: sleep 0.5; /usr/local/bin/noolitepc -api -set_color_ch 1 (at /var/www/lib/general.class.php:553)
Только канал, установок цвета нету. Вот и вопрос, почему оно не держит в памяти переменные , которые присвоило в предыдущем методе
refresh? Как я ни пытался изменять метод
refresh, какие переменные не присваивал -
$r_value =$this->getProperty("R"); или
$r=$this->getProperty("R"); а потом, конечно, соответственно менял в
sendCommand ( чтоб было одинаково) то это никак не отображалось на выходе,
sendCommand не работал, и только если изменить его код, как я писал выше ( в самом начале кода еще раз присвоить переменные) только тогда все работало как нужно.
Еще раз огромное всем спасибо!