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

Описание кода без конкретной привязки

Модераторы: immortal, newz20

ZyaK
Сообщения: 407
Зарегистрирован: Вт окт 24, 2017 2:01 pm
Откуда: Ижевск
Благодарил (а): 45 раз
Поблагодарили: 69 раз

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

Сообщение ZyaK » Чт авг 30, 2018 7:41 am

Да, файл создавал, функции туда копировал, черт его знает почему не заработало.
ну да и чёрт с ним, сейчас у меня циклы начали двоиться какого то черта, не могу найти где и как победить :?
PI2 + MQTT + 5 ESP8266 + Atmega16
Аватара пользователя
Nail
Сообщения: 373
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

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

Сообщение 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);
  }
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
freesh
Сообщения: 189
Зарегистрирован: Сб окт 12, 2019 2:10 pm
Благодарил (а): 6 раз
Поблагодарили: 30 раз

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

Сообщение freesh » Пн ноя 25, 2019 4:59 pm

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');

}
}

}
Raspberry pi3, xiaomi, sonoff rf.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Пн ноя 25, 2019 5:28 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);
  }
Ну скобки же во второй строке(
Упс! С тапаталка смотрел, там код искорежен, осторожно(
2019-11-25_21-45-58.png
2019-11-25_21-45-58.png (29.64 КБ) 5337 просмотров
Отправлено с моего Redmi 4X через Tapatalk
Последний раз редактировалось xor Пн ноя 25, 2019 9:48 pm, всего редактировалось 1 раз.
Аватара пользователя
Nail
Сообщения: 373
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

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

Сообщение 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);
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Пн ноя 25, 2019 8:58 pm

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'); // включается сирена
 ...
}
За это сообщение автора xor поблагодарил:
Nail (Пн ноя 25, 2019 11:47 pm)
Рейтинг: 1.16%
freesh
Сообщения: 189
Зарегистрирован: Сб окт 12, 2019 2:10 pm
Благодарил (а): 6 раз
Поблагодарили: 30 раз

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

Сообщение freesh » Пн ноя 25, 2019 9:02 pm

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 сработают
Raspberry pi3, xiaomi, sonoff rf.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Пн ноя 25, 2019 9:35 pm

ну и чтоб исключить кэширование, вместо gg('object.property') в ифе можно попробовать getObject('object')->getProperty('property')
Аватара пользователя
Nail
Сообщения: 373
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

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

Сообщение Nail » Пн ноя 25, 2019 11:48 pm

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

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

if( $params['NEW_VALUE'] ==1 &&  $params['OLD_VALUE']==0 && gg('Сигнализация.status')==1){ //только открыли и сигнализация включена
 CallMethod('Relay28.turnOn'); // включается сирена
 ...
}
так ведь проще и все работает , спс, вот я в окружную пошел :lol:
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Semendey
Сообщения: 68
Зарегистрирован: Чт сен 26, 2019 4:14 pm
Откуда: Ярославль
Благодарил (а): 19 раз
Поблагодарили: 6 раз

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

Сообщение Semendey » Вс дек 22, 2019 12:33 am

Доброй ночи.

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

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

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

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