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

Сценарий на выключение по условию

Добавлено: Чт апр 13, 2017 6:59 pm
ученик
Набросал небольшой сценарий на отключение устройств управляемых ir
создал для каждого устройства объект, создал свойство статус (вкл=1; выкл=0) для каждого объекта
что бы не выключать уже выключенные устройства
перед применением проверяем статус объекта вкл 1 выкл 0
если равен 1 то выключаем его и присваиваем статус объекта 0
Если 0 то значит команду не отправляем
отрабатываю сценарий после успешного выключения
проверяю статусы объекта показывает 0
повторно включаю этот же сценарий
сценарий считает что статус объекта равен 1 и посылает команду на выключение что приводит ко включению откл устройств ( так как ir команды вкл и откл идентичны)
хотя после отработке сценария в статус объекта записывается 0
вот код

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

$sony=gg("Sonytv.status");
if($sony = 1){
    getURL('http://192.168.1.21:8888/?devMAC=b4:43:0d:f9:24:51&action=send&name=sonyoff', 0);
    setGlobal('Sonytv.status', 0);
 }
    else{}
 
как победить эту проблему?
 

Re: Сценарий на выключение по условию

Добавлено: Чт апр 13, 2017 7:21 pm
devoff
Ну сначала нужно исправить ошибку - "if($sony == 1)"
А то в Вашем коде он как раз устанавливает 1, а не проверят, что это 1 )))

Re: Сценарий на выключение по условию

Добавлено: Чт апр 13, 2017 7:38 pm
ученик
devoff писал(а):Ну сначала нужно исправить ошибку - "$sony==gg("Sonytv.status");"
А то в Вашем коде он как раз устанавливает 1, а не проверят, что это 1 )))
Исправил ошибку, попробовал, так же включает после выключения
так же поставил изменение статуса объектов в конец скрипта а не в теле условия
поставил определение одного устройства условие на выключен
второго на включен
эффект тот же

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

$sony==gg("Sonytv.status");
if($sony = 0){
} else{
getURL('http://192.168.1.21:8888/?devMAC=b4:43:0d:f9:24:51&action=send&name=sonyoff', 0);
  }
$rolsen==gg("Rolsen.status");
 if($rolsen = 1){
    getURL('http://192.168.1.21:8888/?devMAC=b4:43:0d:f9:24:51&action=send&name=rolsenoff', 0);
   
 } else{}
    setGlobal('Sonytv.status', 0); 
    setGlobal('Rolsen.status', 0);
видимо php скрипту надо вписывать
что надо переходить на выполнение сл команды
когда то давным давно пытался чего то делать на бейсике то там просто при выполнении или не выполнении условий, пишешь команду then goto номер строки куда надо идтти и все а в php скрипте искал в командах и ничего не нашел или не там искал :oops:

Re: Сценарий на выключение по условию

Добавлено: Чт апр 13, 2017 7:46 pm
devoff
$sony=gg("Sonytv.status"); //здесь верно - переменной присваивается свойство

if($sony == 1){ // а вот здесь именно == (если просто = то установить 1)
getURL('http://192.168.1.21:8888/?devMAC=b4:43: ... me=sonyoff', 0);
setGlobal('Sonytv.status', 0);
}

Re: Сценарий на выключение по условию

Добавлено: Чт апр 13, 2017 7:50 pm
ученик
devoff писал(а):$sony=gg("Sonytv.status"); //здесь верно - переменной присваивается свойство

if($sony == 1){ // а вот здесь именно == (если просто = то установить 1)
getURL('http://192.168.1.21:8888/?devMAC=b4:43: ... me=sonyoff', 0);
setGlobal('Sonytv.status', 0);
}
Спасибо, заработало :D