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

Re: Примеры синтаксиса кода

Добавлено: Чт авг 30, 2018 7:41 am
ZyaK
Да, файл создавал, функции туда копировал, черт его знает почему не заработало.
ну да и чёрт с ним, сейчас у меня циклы начали двоиться какого то черта, не могу найти где и как победить :?

Re: [Код] Примеры синтаксиса кода

Добавлено: Пн ноя 25, 2019 4:51 pm
Nail
Не могу запустить сценарий что то не хватает) , помогите.

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

// если сработал геркон на двери
if(gg('Openclose02.status')<>1) {
CallMethod('Relay28.turnOn'); // включается сирена
// отправка смс на телефон
include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php');
$notify = new sms_ru();
$notify->sendNotifyAll("!!!Внимание Несанкционированное  Открытие входной двери",3);
say("Внимание Несанкционированное  Открытие входной двери",1);
  }

Re: [Код] Примеры синтаксиса кода

Добавлено: Пн ноя 25, 2019 4:59 pm
freesh
Nail писал(а):
Пн ноя 25, 2019 4:51 pm
Не могу запустить сценарий что то не хватает) , помогите.

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

// если сработал геркон на двери
if(gg('Openclose02.status')<>1) {
CallMethod('Relay28.turnOn'); // включается сирена
// отправка смс на телефон
include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php');
$notify = new sms_ru();
$notify->sendNotifyAll("!!!Внимание Несанкционированное  Открытие входной двери",3);
say("Внимание Несанкционированное  Открытие входной двери",1);
  }
А что именно не происходит? Посмотрите, сам статус меняется?
У меня датчик двери Xiaomi и там метод StatusUpdated я там проверяю:
СпойлерПоказать
if (gg('NobodyHomeMode.active')==(int)1)
{
if (gg(XiOpenclose01.status)==0){
if (gg('admin.atHome')==1) {
$greet='Приветствую дома';
} else {
$greet='Добро пожаловать';
}

$HomeTemp=gg('XiSensor_temp01.value');
$ToSay='Температура в квартире ' . round($HomeTemp) . ' градуса';
Say($greet,5);
runScript('reportStatus');
Say($ToSay,5);
callMethod('NobodyHomeMode.deactivate');
if (gg('XiRelay01.status')==(int)0){
callMethod('XiRelay01.turnOn');

}
}

}

Re: [Код] Примеры синтаксиса кода

Добавлено: Пн ноя 25, 2019 5:28 pm
xor
Nail писал(а):Не могу запустить сценарий что то не хватает) , помогите.

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

// если сработал геркон на двери
if(gg('Openclose02.status')<>1) {
CallMethod('Relay28.turnOn'); // включается сирена
// отправка смс на телефон
include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php');
$notify = new sms_ru();
$notify->sendNotifyAll("!!!Внимание Несанкционированное  Открытие входной двери",3);
say("Внимание Несанкционированное  Открытие входной двери",1);
  }
Ну скобки же во второй строке(
Упс! С тапаталка смотрел, там код искорежен, осторожно(
2019-11-25_21-45-58.png
2019-11-25_21-45-58.png (29.64 КБ) 5549 просмотров
Отправлено с моего Redmi 4X через Tapatalk

Re: [Код] Примеры синтаксиса кода

Добавлено: Пн ноя 25, 2019 8:21 pm
Nail
xor писал(а):
Пн ноя 25, 2019 5:28 pm
Ну скобки же во второй строке(
Так сценарий работает

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

CallMethod('Relay28.turnOn'); // включается сирена
а так пишу не хочет работать(

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

// и  если сработал геркон на двери
if(gg('Openclose02.status')<>1)
CallMethod('Relay28.turnOn'); // включается сирена
а идея общая такая

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

// когда дом установлен на охрану
if(gg('Сигнализация.status')==1)

// и  если сработал геркон на двери
if(gg('Openclose02.status')<>1)
CallMethod('Relay28.turnOn'); // включается сирена

// отправка смс на телефон
include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php');
$notify = new sms_ru();
$notify->sendNotifyAll("!!!Внимание Несанкционированное  Открытие входной двери",3);
say("Внимание Несанкционированное  Открытие входной двери",1);

Re: [Код] Примеры синтаксиса кода

Добавлено: Пн ноя 25, 2019 8:58 pm
xor
Nail писал(а):
Пн ноя 25, 2019 8:21 pm
xor писал(а):
Пн ноя 25, 2019 5:28 pm
Ну скобки же во второй строке(
Так сценарий работает

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

CallMethod('Relay28.turnOn'); // включается сирена
а так пишу не хочет работать(

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

// и  если сработал геркон на двери
if(gg('Openclose02.status')<>1)
CallMethod('Relay28.turnOn'); // включается сирена
а идея общая такая

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

// когда дом установлен на охрану
if(gg('Сигнализация.status')==1)

// и  если сработал геркон на двери
if(gg('Openclose02.status')<>1)
CallMethod('Relay28.turnOn'); // включается сирена

// отправка смс на телефон
include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php');
$notify = new sms_ru();
$notify->sendNotifyAll("!!!Внимание Несанкционированное  Открытие входной двери",3);
say("Внимание Несанкционированное  Открытие входной двери",1);
непонятно, каким образом этот скрипт запускается и где он находится - в скриптах или методах каких-нибудь?
я б проверки привязал к методу изменения статуса геркона:

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

if( $params['NEW_VALUE'] ==1 &&  $params['OLD_VALUE']==0 && gg('Сигнализация.status')==1){ //только открыли и сигнализация включена
 CallMethod('Relay28.turnOn'); // включается сирена
 ...
}

Re: [Код] Примеры синтаксиса кода

Добавлено: Пн ноя 25, 2019 9:02 pm
freesh
Nail писал(а):
Пн ноя 25, 2019 8:21 pm
xor писал(а):
Пн ноя 25, 2019 5:28 pm
Ну скобки же во второй строке(
Так сценарий работает
СпойлерПоказать

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

CallMethod('Relay28.turnOn'); // включается сирена
а так пишу не хочет работать(

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

// и  если сработал геркон на двери
if(gg('Openclose02.status')<>1)
CallMethod('Relay28.turnOn'); // включается сирена
а идея общая такая

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

// когда дом установлен на охрану
if(gg('Сигнализация.status')==1)

// и  если сработал геркон на двери
if(gg('Openclose02.status')<>1)
CallMethod('Relay28.turnOn'); // включается сирена

// отправка смс на телефон
include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php');
$notify = new sms_ru();
$notify->sendNotifyAll("!!!Внимание Несанкционированное  Открытие входной двери",3);
say("Внимание Несанкционированное  Открытие входной двери",1);
Попробуй так:

say('Состояние двери изменилось',1); //для дебага :)
if (gg('Openclose02.status')==0) {
say('Проверяю охрану и включаю сигнализацию',1); //для дебага :)
if (gg('Сигнализация.status')==1) {

CallMethod('Relay28.turnOn'); // включается сирена

// отправка смс на телефон
include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php');
$notify = new sms_ru();
$notify->sendNotifyAll("!!!Внимание Несанкционированное Открытие входной двери",3);
say("Внимание Несанкционированное Открытие входной двери",1);
}

}

И посмотри какие say сработают

Re: [Код] Примеры синтаксиса кода

Добавлено: Пн ноя 25, 2019 9:35 pm
xor
ну и чтоб исключить кэширование, вместо gg('object.property') в ифе можно попробовать getObject('object')->getProperty('property')

Re: [Код] Примеры синтаксиса кода

Добавлено: Пн ноя 25, 2019 11:48 pm
Nail
xor писал(а):
Пн ноя 25, 2019 8:58 pm
я б проверки привязал к методу изменения статуса геркона:

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

if( $params['NEW_VALUE'] ==1 &&  $params['OLD_VALUE']==0 && gg('Сигнализация.status')==1){ //только открыли и сигнализация включена
 CallMethod('Relay28.turnOn'); // включается сирена
 ...
}
так ведь проще и все работает , спс, вот я в окружную пошел :lol:

Re: [Код] Примеры синтаксиса кода

Добавлено: Вс дек 22, 2019 12:33 am
Semendey
Доброй ночи.

Подскажите как сделать.

Есть объект Test, у него есть свойство Lock

Свойство может принимать значения 0 или 1.

Делаю сцену HTML и в Коде <script> состояния могу считать данную переменную val = Zamok = %test.Lock%;
Далее проверяю какое значение получено, меняю его на противоположное.
А вот обратно передать значение не получается, нужно переменную Zamok присвоить test.Lock в function