Страница 48 из 376

Re: Модуль Broadlink

Добавлено: Пт апр 07, 2017 10:31 pm
SolarW
yurat2008 писал(а):Так я их в модуле запишу и вызывать в сценариях буду через broadlink. Вполне рабочая схема
По возможности расскажите в теме как получится.

Re: Модуль Broadlink

Добавлено: Сб апр 08, 2017 10:26 am
Zubkov
yurat2008 писал(а):Так я их в модуле запишу и вызывать в сценариях буду через broadlink. Вполне рабочая схема
также планирую... только время надо выбрать и набить десяток другой команд... пока пользую три команды на вкл (тепло и холод) и выкл... и все работает отлично...

Re: Модуль Broadlink

Добавлено: Вс апр 09, 2017 2:05 pm
scorp49
Вчера подключил 4 двух секционных TC2 выключателя это надо было записать 16 кодов, всё записалось прекрасно. Включаются, выключаются прекрасно. Спасибо вам за модуль за вашу работу. Температура с RM2-PRO у меня их 2 и все параметры с A1 снимаются прекрасно. MP1 правдо не получилось подключить.

Re: Модуль Broadlink

Добавлено: Вс апр 09, 2017 2:12 pm
nick7zmail
Отлично, рад что всё получилось. А с МР1 что не пошло? Вроде тут кто-то подключал уже.

Re: Модуль Broadlink

Добавлено: Вс апр 09, 2017 3:26 pm
scorp49
Нашёл причину, заработал MP1. Сразу не заметил при поиске IP адрес отображается задом наперёд, естественно по этому и не работал. Если можете поправьте, а так всё отлично работает и даже обратная связь. Спасибо вам.

Re: Модуль Broadlink

Добавлено: Вс апр 09, 2017 4:26 pm
yurat2008
Победил.
Итак мой вариант логики для шаблона поведения охлаждение кондиционера. Надо еще датчик открытия на окно поставить, но пока я до этого не дорос. Поставлю, добавлю еще отключение по состоянию датчика открытия окна.

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

// охлаждение логика кондишена
$temper = round(gg('Broadlink_spalnia_obj.temperature')); // берем температуру с улицы
$temperset = ($temper-"4");// выставляем температуру кондиционера (идеально на 4 градуса меньше чем улица)

if ($temperset < 18){ // у меня команды для кондиционера настроены от 18 до 28 градусов
$temperset = (18);
}
if ($temperset > 28){ 
$temperset = (28);
}

if ($temper <= 21){ // проверяем или надо вообще охлаждать
say("В комнате и так не жарко. Команда отменена",3);
}else{    
say("Включаю кондиционер в спальне в режим охлаждения",3);
setGlobal('ToshibaSpalnia.status',"1");
setGlobal('ToshibaSpalnia.timeon',timeNow());
setGlobal('ToshibaSpalnia.dataon',date("m.d.y"));
setGlobal('ToshibaSpalnia.mode',"режим охлаждения");
setGlobal('ToshibaSpalnia.actual_temperature',$temper);
say("Кондиционер установлен на оптимальную температуру ".$temper." градусов цельсия",3);
include_once('modules/dev_broadlink/command.php');
  brLinkCommand('holod_'.$temper);
}
 
в модуле broadlink команды прописаны holod_18....holod_28
создан модуль ToshibaSpalnia в который собираю всю возможную инфу, типа время включения, режим, температура итд итп


Скрипт рабочий проверил, только свои коды управления подставить надо

Re: Модуль Broadlink

Добавлено: Вс апр 09, 2017 4:59 pm
nick7zmail
Это когда выдало то? При каком действии?

Re: Модуль Broadlink

Добавлено: Вс апр 09, 2017 5:15 pm
nick7zmail
scorp49 писал(а):Нашёл причину, заработал MP1. Сразу не заметил при поиске IP адрес отображается задом наперёд, естественно по этому и не работал. Если можете поправьте, а так всё отлично работает и даже обратная связь. Спасибо вам.
Хм...очень интересная особенность)) На самом деле хз как исправлять...прикол в том, что функция получения IP для всех девайсов одна и та же...я конечно могу "насильно" перевернуть IP для MP1 - но может это "разовый" прецендент, и на других МР1 он не повторится?

У кого ещё МР1 - так же определяются?

Re: Модуль Broadlink

Добавлено: Вс апр 09, 2017 5:21 pm
yurat2008
nick7zmail писал(а):Это когда выдало то? При каком действии?
нашел в скрипте было две команды и два раза прописана строчка

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

include('modules/dev_broadlink/command.php');
 
Это оно так болезненно на это реагировало

Re: Модуль Broadlink

Добавлено: Вс апр 09, 2017 5:26 pm
nick7zmail
yurat2008 писал(а): нашел в скрипте было две команды и два раза прописана строчка

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

include('modules/dev_broadlink/command.php');
Это оно так болезненно на это реагировало
Это да...сам натыкался на такое при разработке модулей))
Стал использовать

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

include_once(); 
Она подгружает файл, только в случае если он не подгружен. И её в скрипте можно повторять несколько раз.