Страница 86 из 124
Re: Простые устройства / Simple Devices
Добавлено: Ср мар 20, 2019 1:28 pm
tarasfrompir
Уж очень мудрено там сделано - но я бы подправил файл SThermostats.html - и вместо callMethod("%.object_title%.switchEnable"); написал бы callMethod("%.object_title%.turnOff");
И кстати я так понял что Эко это далеко не то что я понимал под этим словом
Re: Простые устройства / Simple Devices
Добавлено: Ср мар 20, 2019 7:46 pm
Nail
я так понимаю если файл подправить , то все объекты термостат будут работать идентичное? я хотел именно данный термост1 ..,( эко это в ПУ переход на мин темп режим который выставляется в настройках термост. и включится так же по методу или сценарию если указать)
Re: Простые устройства / Simple Devices
Добавлено: Ср мар 20, 2019 7:49 pm
tarasfrompir
Nail писал(а): Ср мар 20, 2019 7:46 pm
я так понимаю если файл подправить , то все объекты термостат будут работать идентичное? я хотел именно данный термост1 ..,( эко это в ПУ переход на мин темп режим который выставляется в настройках термост. и включится так же по методу или сценарию если указать)
Давай я пересмотрю еще раз = хотя может кто еще что подскажет за это время...
Re: Простые устройства / Simple Devices
Добавлено: Ср мар 20, 2019 8:40 pm
nevceee
tarasfrompir писал(а): Ср мар 20, 2019 8:21 am
nevceee писал(а): Вт мар 19, 2019 11:34 pm
посмотрел блог. сделал все по инструкции. Свойство Temperature у меня с большой буквы. данные с датчика температуры переходят в температуру моей комнаты. но от комнаты в термостат не идут. волшебство какое то, блин.
Сори нашел еще ошибку сделай просто так - исправь метод на вот это
Код: Выделить всё
$roomTemp=$this->getProperty('Temperature');
$roomName=$this->object_title;
$termostats = getObjectsByClass('SThermostats');
foreach($termostats as $termostat) {
$deviceLinkedRoom=gg($termostat['TITLE'].'.linkedRoom');
if ($deviceLinkedRoom=$roomName){
sg($termostat['TITLE'].'.value',$roomTemp);
break;
}
}
ПС
Я ж говорю что писатель из меня еще тот... Мелочь увидел а главное пропустил. Просто эти тесты на работе и дома замучали...

Блог исправил. Поскольку у меня и происходило ложное срабатывание на последный проверенный термостат
Спасибо! передача данных заработала!!!

НО: они опять передаются в термостат с запятой, а не с точкой, и он снова глючит ))) я вернулся к тому, с чего начал. я тут подумал: а не может ли у меня быть проблема с моим питон скриптом и типами переменных? хотя из питон скипта по MQTT в MD приходят данные с точками. но впоследствии точка меняется на запятую. (23.45 -> 23,45)
Re: Простые устройства / Simple Devices
Добавлено: Ср мар 20, 2019 8:47 pm
tarasfrompir
nevceee писал(а): Ср мар 20, 2019 8:40 pm
tarasfrompir писал(а): Ср мар 20, 2019 8:21 am
nevceee писал(а): Вт мар 19, 2019 11:34 pm
посмотрел блог. сделал все по инструкции. Свойство Temperature у меня с большой буквы. данные с датчика температуры переходят в температуру моей комнаты. но от комнаты в термостат не идут. волшебство какое то, блин.
Сори нашел еще ошибку сделай просто так - исправь метод на вот это
Код: Выделить всё
$roomTemp=$this->getProperty('Temperature');
$roomName=$this->object_title;
$termostats = getObjectsByClass('SThermostats');
foreach($termostats as $termostat) {
$deviceLinkedRoom=gg($termostat['TITLE'].'.linkedRoom');
if ($deviceLinkedRoom=$roomName){
sg($termostat['TITLE'].'.value',$roomTemp);
break;
}
}
ПС
Я ж говорю что писатель из меня еще тот... Мелочь увидел а главное пропустил. Просто эти тесты на работе и дома замучали...

Блог исправил. Поскольку у меня и происходило ложное срабатывание на последный проверенный термостат
Спасибо! передача данных заработала!!!

НО: они опять передаются в термостат с запятой, а не с точкой, и он снова глючит ))) я вернулся к тому, с чего начал. я тут подумал: а не может ли у меня быть проблема с моим питон скриптом и типами переменных? хотя из питон скипта по MQTT в MD приходят данные с точками. но впоследствии точка меняется на запятую. (23.45 -> 23,45)
2 строкой вставь - пропиши такое
$roomTemp = str_replace(",", ".", $roomTemp);
Re: Простые устройства / Simple Devices
Добавлено: Ср мар 20, 2019 9:35 pm
nevceee
УРА!

заработало!

НО! появилась новая проблема, которую мне помог решить друг через TeamViewer. у меня в комнате "Ванная" тоже стояла галочка "основной сенсор помещения". и когда на мой термостат передавались нужные данные от датчика температуры в гостиной, они тут же через 5 секунд заменялись данными из ванной. мы нашли опечатку у Вас. в сравнении if один знак равно... мы поставили == и теперь все заработало как надо. спасибо Вам.

Re: Простые устройства / Simple Devices
Добавлено: Ср мар 20, 2019 9:38 pm
tarasfrompir
nevceee писал(а): Ср мар 20, 2019 9:35 pm
УРА!

заработало!

НО! появилась новая проблема, которую мне помог решить друг через TeamViewer. у меня в комнате "Ванная" тоже стояла галочка "основной сенсор помещения". и когда на мой термостат передавались нужные данные от датчика температуры в гостиной, они тут же через 5 секунд заменялись данными из ванной. мы нашли опечатку у Вас. в сравнении if один знак равно... мы поставили == и теперь все заработало как надо. спасибо Вам.
по поводу == действительно пропустил - правда должно быть 2 шт.
ПС
Спасибо вверху справа от поста ...
Re: Простые устройства / Simple Devices
Добавлено: Ср мар 20, 2019 10:55 pm
Nail
Nail писал(а): Ср мар 20, 2019 11:52 am
Вопрос начинающего.
ПУ термостат(Thermostat01) имеет связанные устройства ПУ(Relay10).
При положении "Обычный" -Термостат запускает "Relay10" (конечно с условием температуры выставленной на термостате),
но если есть необходимость просто выключить термостат и нажать на "выкл" он отключается сам , но "Relay10" остается в положении off.
Помогите ,какой самый простой метод и куда вписать что бы при положении термостата "выкл" , он выполнял действие отключить "Relay10"?
Вставил в метод "statusUpdated" термостата
if(gg(' Thermostat01.relay_status') <>1) ;
// Выключаем тен
{
CallMethod('Relay10.turnOff');
}
say('Выключаю отопление',1);
выключает сразу даже при включения термостата в "обычный" режим, никак не доходит до меня что надо((
Re: Простые устройства / Simple Devices
Добавлено: Чт мар 21, 2019 6:50 am
nick7zmail
Может быть так?
Код: Выделить всё
if(gg('Thermostat01.relay_status') != 1)
// Выключаем тен
{
CallMethod('Relay10.turnOff');
say('Выключаю отопление',1);
}
(лишняя ; в 1 строке, условие != вместо <>, и оповещение, только при соблюдении этого условия) а да...и пробел перед словом термостат лишний явно, аккуратнее с копипастом.
Re: Простые устройства / Simple Devices
Добавлено: Чт мар 21, 2019 8:26 am
tarasfrompir
Nail писал(а): Ср мар 20, 2019 10:55 pm
Nail писал(а): Ср мар 20, 2019 11:52 am
Вопрос начинающего.
ПУ термостат(Thermostat01) имеет связанные устройства ПУ(Relay10).
При положении "Обычный" -Термостат запускает "Relay10" (конечно с условием температуры выставленной на термостате),
но если есть необходимость просто выключить термостат и нажать на "выкл" он отключается сам , но "Relay10" остается в положении off.
Помогите ,какой самый простой метод и куда вписать что бы при положении термостата "выкл" , он выполнял действие отключить "Relay10"?
Вставил в метод "statusUpdated" термостата
if(gg(' Thermostat01.relay_status') <>1) ;
// Выключаем тен
{
CallMethod('Relay10.turnOff');
}
say('Выключаю отопление',1);
выключает сразу даже при включения термостата в "обычный" режим, никак не доходит до меня что надо((
Метод СтатусАпдатед - не метод выключения термостата.
Этот метод называется - SThermostats_switchEnable.php. Его и надо мучить
