МОДУЛЬ ТЕРМОСТАТ

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

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

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение xor » Вс янв 07, 2018 1:54 am

Фух, спасибо olehs ещё раз.
Вроде, добил ПИД, я извиняюсь, с ШИМом.
2018-01-07_01-37-19.png
2018-01-07_01-37-19.png (138.53 КБ) 6733 просмотра
Добился стабильности +-0,1 градуса (ну, иногда 0,2)
Чуть доработанный класс прилагаю.
Запуск из Крона каждые 3 минуты с помощью кода
sg('pid1.InputVal',gg('temp_00.value')); //передаем в инстанс значение температуры

Upd. Поправил код чуть-чуть во вложении (ограничил немного И-составляющую)
Вложения
PIDController (2).txt
(7.48 КБ) 707 скачиваний
Последний раз редактировалось xor Пн янв 08, 2018 3:54 am, всего редактировалось 1 раз.
За это сообщение автора xor поблагодарил:
olehs (Пн янв 08, 2018 5:33 pm)
Рейтинг: 1.16%
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение ученик » Вс янв 07, 2018 10:34 am

А данный термостат можно использовать в качестве термостата холодильника?
Но PID регулирование тут не прокатит так-как после постоянных частых остановок компрессора компрессор гарантированно вылетит.
Пытался делать через простые устройства
но чего то не пошло .. Почему то, нельзя выбрать в качестве исполнительного устройства, реле, которое стоит в группе.
Например есть броадлинковский удлинитель у него каждый вход с отдельным управлением. Так вот к одному выходу подключил холодильник, задал температуры, а выбрать реле управление не получается.
выбирает реле группы но все равно этой группой не управляет.
Второй момент, у реле должен быть тайм аут после выключения мин 10 мин.
должно быть какой то таймер
но почему то, если в других сценариях есть команда setTimeOut
предыдущий таймер обнуляется приходится вручную перезапускать
Еще момент связанный с таймером
Таймер более 20 мин не устанваливается.
пока делаю автономное реле с передачей данных на MD, мешают праздники.
На данный момерт использую два скрипта с такой задержкой на вкл. и выкл
которые перезапускают друг друга

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

sg('extension.status1',0);
setTimeOut('timer','runScript("timer_on");',1200);
 

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

sg('extension.status1',1);
setTimeOut('timer','runScript("timer_off");',900);
 
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение xor » Вс янв 07, 2018 3:27 pm

В холодильниках ставят простое термореле, вроде. Это работает так, как сейчас в простых устройствах - просто по уровню.
А зачем холодильником управлять из МЖД? Там нужно оперативно рулить температурой?
По поводу таймеров в 20 минут, не сталкивался. У вас названия таймеров разные? А то при запуске одноименного таймера старый сбрасывается.
Для уникальности имени таймера можно использовать конструкцию:
"имя таймера".time()
Если использовать вместо SetTimeOut
AddScheduledJob("title","commands",$datetime, $expire=60);
там просто абсолютное время запуска надо использовать.
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение woow » Пн янв 15, 2018 4:57 pm

что тут не так, руками переключаешь +- (не слайдер а плюс минус кнопочки) температуру реакция реле вкл/откл всё гуть, а сам код как бы не работает, температура меняется по MQTT приходит, но переключение не происходит.

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

if ($this->getProperty('tempr')>($this->getProperty('set_tempr')+1)){

getURL("http://192.168.1.179/cm?cmnd=Power%20Off");
}    

if ($this->getProperty('tempr')<($this->getProperty('set_tempr')-1)) {

getURL("http://192.168.1.179/cm?cmnd=Power%20On");
} 
Raspberry Pi 3B+
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение xor » Пн янв 15, 2018 6:17 pm

woow писал(а):что тут не так, руками переключаешь +- (не слайдер а плюс минус кнопочки) температуру реакция реле вкл/откл всё гуть, а сам код как бы не работает, температура меняется по MQTT приходит, но переключение не происходит.

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

if ($this->getProperty('tempr')>($this->getProperty('set_tempr')+1)){

getURL("http://192.168.1.179/cm?cmnd=Power%20Off");
}    

if ($this->getProperty('tempr')<($this->getProperty('set_tempr')-1)) {

getURL("http://192.168.1.179/cm?cmnd=Power%20On");
}
А пробовали так написать:
getURL("http://192.168.1.179/cm?cmnd=Power%20Off",0);
?

Отправлено с моего Redmi 4X через Tapatalk
За это сообщение автора xor поблагодарил:
batihor (Вс мар 18, 2018 12:43 pm)
Рейтинг: 1.16%
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение woow » Пн янв 15, 2018 7:51 pm

xor писал(а):А пробовали так написать:
getURL("http://192.168.1.179/cm?cmnd=Power%20Off",0);
?
Я взял из примера https://github.com/arendst/Sonoff-Tasmota/wiki/Commands :

Web
Commands can be executed via HTTP requests, for example:

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

http://sonoff/cm?cmnd=Power%20On
http://sonoff/cm?cmnd=Power%20off  
Raspberry Pi 3B+
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение xor » Пн янв 15, 2018 8:12 pm

woow писал(а):
xor писал(а):А пробовали так написать:
getURL("http://192.168.1.179/cm?cmnd=Power%20Off",0);
?
Я взял из примера https://github.com/arendst/Sonoff-Tasmota/wiki/Commands :

Web
Commands can be executed via HTTP requests, for example:

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

http://sonoff/cm?cmnd=Power%20On
http://sonoff/cm?cmnd=Power%20off   
Функция getURL($url,0);
Нолик после урл попробуйте, это говорит о том, что не из кэша брать


Отправлено с моего Redmi 4X через Tapatalk
Аватара пользователя
dioxin
Сообщения: 175
Зарегистрирован: Вт фев 14, 2017 4:43 pm
Откуда: Иваново
Благодарил (а): 15 раз
Поблагодарили: 46 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение dioxin » Вт апр 24, 2018 1:41 pm

2018-04-24_13-31-37.png
2018-04-24_13-31-37.png (3.18 КБ) 5936 просмотров

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

$temp_vannay=gg('ESP82660014aa2b.dsw3');
$temp_zall=gg('ESP82660014aa2b.dsw4');
$temp_min_main_room=gg('ESP82660014aa2b.temp_min_main_room');
$temp_real=gg('ESP82660014aa2b.bmpt');
$status_reley=gg('ESP82660014aa2b.termostat_status');
$manual=gg('ESP82660014aa2b.termostat_manual_status');
$temp_kotla=gg('ESP82660014aa2b.dsw1');
if ($temp_real <= $temp_min_main_room && $status_reley==0 && $manual==0 && $temp_kotla<=70){getURL ("http://192.168.1.30/gpio?st=1&pin=5");sg('ESP82660014aa2b.termostat_status',1);}
if ($temp_real >= $temp_min_main_room+0.3 && $status_reley==1 && $manual==0 or $temp_kotla>=75){getURL ("http://192.168.1.30/gpio?st=0&pin=5");sg('ESP82660014aa2b.termostat_status',0);}
Как то так я сделал.
На случай падения сервера, в прошивке esp8266 есть условие, при >85 градусах котла, отключать его.
В самой прошивке wifi_iot есть модуль термостата, но он там не такой гибкий, поэтому написал для себя сам. Гистерезис = +0.3 градуса, мне так комфортнее :)
Вот тут видосик есть: https://www.youtube.com/watch?v=NBsTBjVXY54&t=1107s
Алиска прописана на Debian 11 | Мой канал на youtube по MajorDomo
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение Yashalta » Вт фев 19, 2019 11:05 pm

xor писал(а):
Вс янв 07, 2018 1:54 am
Фух, спасибо olehs ещё раз.
Вроде, добил ПИД, я извиняюсь, с ШИМом.
2018-01-07_01-37-19.png
Добился стабильности +-0,1 градуса (ну, иногда 0,2)
Чуть доработанный класс прилагаю.
Запуск из Крона каждые 3 минуты с помощью кода
sg('pid1.InputVal',gg('temp_00.value')); //передаем в инстанс значение температуры

Upd. Поправил код чуть-чуть во вложении (ограничил немного И-составляющую)
Поделитесь пожалуйста схемой подключения "NewPIDController"? И куда подсовывать прикрепленный файл? очень нужная штука!
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение xor » Ср фев 20, 2019 1:16 am

Yashalta писал(а):
Вт фев 19, 2019 11:05 pm
Поделитесь пожалуйста схемой подключения "NewPIDController"? И куда подсовывать прикрепленный файл? очень нужная штука!
Эээ, этот файлик -- для импорта класса -- в объектах внизу после нажатия кнопки инструменты откроется возможность импорта класса из файла тхт. после импорта должен появиться класс. в нем создаете свои пид-регуляторы, привязываете к реле, которым будете пид-управлять. настраиваете цикличную подачу входного сигнала -- я это делал через модуль крон и начинаете играть с коэффициентами
Вложение 2019-02-20_01-11-30.png больше недоступно
Вложения
2019-02-20_01-11-30.png
2019-02-20_01-11-30.png (25.65 КБ) 4692 просмотра
За это сообщение автора xor поблагодарил:
Yashalta (Ср фев 20, 2019 11:28 am)
Рейтинг: 1.16%
Ответить