Очень интересно, но ничего непонятно!
Re: Очень интересно, но ничего непонятно!
Нужна помощь.
Как правильно и возможно ли сделать сценарий для автоматики отопления в соответствии температурам, на базе МегаД и МД?
Данные:
1.Температура на улице - Sensor_temp07
2.Температура в доме - Sensor_temphum01
3. температура подачи -Sensor_temp13
4. термостат Boiler1
5. гистерезис мне кажется здесь будет константа.
ТЗ:
При статусе термостата
свойство "Boiler1.status =1"
При изменении наружной температуры и температуры в доме,
отопление свойство "Boiler1.targetTemp" - изменять температуру подачи
т.е.
1. при температуре на улице от -25 до -15
"Boiler1.targetTemp" должен выставить температуру 60 °C
и в помещении ниже 23 °C то 65 °C, но если выше то 25 то 55°C
2. при температуре на улице -15 до -5
"Boiler1.targetTemp" должен выставить температуру 55 °C
и в помещении ниже 23°C то 60 °C, но выше то 25 то 47°C
3. при температуре на улице -5 до +5
"Boiler1.targetTemp" должен выставить температуру 47 °C
и в помещении ниже 23°C то 50 °C, но выше то 25 то 45°C
4.при температуре на улице +5 до +15
"Boiler1.targetTemp" должен выставить температуру 35 °C
и в помещении ниже 23°C то 40 °C, но выше то 25 то 30°C
ПРИМЕРНО как то так.
Как правильно и возможно ли сделать сценарий для автоматики отопления в соответствии температурам, на базе МегаД и МД?
Данные:
1.Температура на улице - Sensor_temp07
2.Температура в доме - Sensor_temphum01
3. температура подачи -Sensor_temp13
4. термостат Boiler1
5. гистерезис мне кажется здесь будет константа.
ТЗ:
При статусе термостата
свойство "Boiler1.status =1"
При изменении наружной температуры и температуры в доме,
отопление свойство "Boiler1.targetTemp" - изменять температуру подачи
т.е.
1. при температуре на улице от -25 до -15
"Boiler1.targetTemp" должен выставить температуру 60 °C
и в помещении ниже 23 °C то 65 °C, но если выше то 25 то 55°C
2. при температуре на улице -15 до -5
"Boiler1.targetTemp" должен выставить температуру 55 °C
и в помещении ниже 23°C то 60 °C, но выше то 25 то 47°C
3. при температуре на улице -5 до +5
"Boiler1.targetTemp" должен выставить температуру 47 °C
и в помещении ниже 23°C то 50 °C, но выше то 25 то 45°C
4.при температуре на улице +5 до +15
"Boiler1.targetTemp" должен выставить температуру 35 °C
и в помещении ниже 23°C то 40 °C, но выше то 25 то 30°C
ПРИМЕРНО как то так.
- Вложения
-
- Screenshot_2.jpg (25.37 КБ) 1144 просмотра
Re: Очень интересно, но ничего непонятно!
Судя по тому, что вы описали, логика должна выглядеть, примерно, так:
Код: Выделить всё
if (gg('Boiler1.status') == 1) {
$TempOutDoor = gg('Sensor_temp07.value');
$TempHouse = gg('Sensor_temphum01.value');
//при температуре на улице от -25 до -15
if ($TempOutDoor >= -25 && $TempOutDoor < -15) {
if ($TempHouse < 23) sg('Boiler1.targetTemp',65);
if ($TempHouse >= 23 && $TempHouse <= 25) sg('Boiler1.targetTemp',60);
if ($TempHouse > 25) sg('Boiler1.targetTemp',55);
}
//при температуре на улице -15 до -5
if ($TempOutDoor >= -15 && $TempOutDoor < -5) {
if ($TempHouse < 23) sg('Boiler1.targetTemp',60);
if ($TempHouse >= 23 && $TempHouse <= 25) sg('Boiler1.targetTemp',55);
if ($TempHouse > 25) sg('Boiler1.targetTemp',47);
}
//при температуре на улице -5 до +5
if ($TempOutDoor >= -5 && $TempOutDoor < 5) {
if ($TempHouse < 23) sg('Boiler1.targetTemp',50);
if ($TempHouse >= 23 && $TempHouse <= 25) sg('Boiler1.targetTemp',47);
if ($TempHouse > 25) sg('Boiler1.targetTemp',45);
}
//при температуре на улице +5 до +15
if ($TempOutDoor >= 5 && $TempOutDoor < 15) {
if ($TempHouse < 23) sg('Boiler1.targetTemp',40);
if ($TempHouse >= 23 && $TempHouse <= 25) sg('Boiler1.targetTemp',35);
if ($TempHouse > 25) sg('Boiler1.targetTemp',30);
}
}
Re: Очень интересно, но ничего непонятно!
Наверное, да. Раз вы привязываетесь к уличной температуре.
Re: Очень интересно, но ничего непонятно!
Значит если я правильно "трактую", если в методе "Sensor_temp07.valueUpdated" прописываем "сценарий"(код) то по изменению температуры , и оно будут меняться с периодичностью равной -время выставленное в модуле "времени опроса"(180сек) и будет выполнятся сценарий сам каждые 180 сек.?
Ну что бы не писать в скрипт в "тайм мин".
...
Судя по наблюдениям за выполнением сценария похоже , что не менее 180сек. если было изменение температуры на уличном датчике .
Ну что бы не писать в скрипт в "тайм мин".
...
Судя по наблюдениям за выполнением сценария похоже , что не менее 180сек. если было изменение температуры на уличном датчике .
Последний раз редактировалось nail 29 мар 2021, 22:44, всего редактировалось 1 раз.
Re: Очень интересно, но ничего непонятно!
Скорее, у вас ПУ, с которыми я не знаком (и не планирую). Могу предположить, что код будет отрабатываться, когда свойство "Sensor_temp07.value" будет меняться. А вот по какому механизму и с какой периодичностью будет меняться это свойство, сказать не могу.
Re: Очень интересно, но ничего непонятно!
Да ПУ.
Понаблюдаю , прокатаю - отпишусь.
Еще раз спс.
Понаблюдаю , прокатаю - отпишусь.
Еще раз спс.
-
- Сообщения: 123
- Зарегистрирован: 23 янв 2021, 15:55
Re: Очень интересно, но ничего непонятно!
Доброго дня.Ruslan наблюдал продолжительное время за нашим счетчиком.В основном все нормально но есть момент,когда записались два одинаковых значения в свойство МeterReading (виртуальный счетчик), Однако в свойство MonthConsumption (потребление за месяц) показания записались правильно. в чем может быть причина?
- Вложения
-
- Скриншот 30-03-2021 130327.jpg (44.25 КБ) 1126 просмотров
-
- МeterReading.jpg (48.43 КБ) 1126 просмотров
Re: Очень интересно, но ничего непонятно!
Что-то где-то "хулиганит" или какая-то ситуация нами не учтена. Если за секунду действительно прошло 20 литров (10 и еще 10), то в свойстве МeterReading (виртуальный счетчик) это должно было отразиться (1030, потом 1040). Если реально прошло только 10 литров, тогда почему в свойство с историей записалось 10 и еще раз 10...
Попытаться прояснить ситуацию можно, если в включить лог в модуле и проанализировать, какие сообщения поступают от Меги в момент, когда возникает вышеописанный случай.
Попытаться прояснить ситуацию можно, если в включить лог в модуле и проанализировать, какие сообщения поступают от Меги в момент, когда возникает вышеописанный случай.
-
- Сообщения: 123
- Зарегистрирован: 23 янв 2021, 15:55
Re: Очень интересно, но ничего непонятно!
Это был тест на большой расход .В течении 2 секунд было три срабатывания входа.Таких ситуаций может и не быть в эксплуатации просто сам факт интересен. В одно свойство записались верные значения, а в другое нет там еще дубль присутствует. Будем наблюдать .
Re: Очень интересно, но ничего непонятно!
Да, надо понаблюдать. И для анализа этой ситуации, думаю, без лога (в сравнении с изменениями свойств) не обойтись.
А касательно того, что в свойство MonthConsumption (потребление за месяц) записалось верное значение, то это обнадеживающее обстоятельство, если значение свойства вычисляется путем обработки истории. А если свойство у вас вычисляется как разность ежемесячных показаний (исходные данные их свойства МeterReading (виртуальный счетчик)), [уже не помню, как именно у вас организовано] тоже неплохо. Однако вариант с обработкой истории технологичнее и гибче.
А касательно того, что в свойство MonthConsumption (потребление за месяц) записалось верное значение, то это обнадеживающее обстоятельство, если значение свойства вычисляется путем обработки истории. А если свойство у вас вычисляется как разность ежемесячных показаний (исходные данные их свойства МeterReading (виртуальный счетчик)), [уже не помню, как именно у вас организовано] тоже неплохо. Однако вариант с обработкой истории технологичнее и гибче.
Re: Очень интересно, но ничего непонятно!
Замечено что В МД в свойствах и на сцене !сценарий" срабатывает изменения свойства Boiler1.targetTemp относительно теп. улица .
- Вложения
-
- Screenshot_4.jpg (24.8 КБ) 1096 просмотров
Re: Очень интересно, но ничего непонятно!
А вот в самой МегеД нет , на понижение сработал , а на повышение "Val 35.00" не сработал так и остался.
- Вложения
-
- Screenshot_3.jpg (16.45 КБ) 1096 просмотров
Re: Очень интересно, но ничего непонятно!
Подскажите, в результате выполнения какого метода (название) происходит выполнение команды на изменение значения "Val" в контроллере. И каким образом вызывается этот метод.
Ну и сам код метода покажите.
Ну и сам код метода покажите.
Re: Очень интересно, но ничего непонятно!
В методе Boiler1.targetTempDown * и Boiler1.targetTempUp *
- Вложения
-
- Screenshot_12.jpg (15.65 КБ) 1092 просмотра
-
- Screenshot_9.jpg (71.97 КБ) 1092 просмотра
Re: Очень интересно, но ничего непонятно!
Да и в коде "Sensor_temp07.valueUpdated" в уличный датчик , сделал изменение. мне показалось логичнее
поменял на
Код: Выделить всё
if (gg('Boiler1.status') == 1) {
Код: Выделить всё
if (gg('Boiler1.termostatActiveted') == 1) {
Re: Очень интересно, но ничего непонятно!
Заметил что Статус WebSocket- буквально час-два назад работали щас такая картина, если связь между ГЕТ -запросами из сценария с МегаД?
- Вложения
-
- Screenshot_14.jpg (29.97 КБ) 1086 просмотров
Re: Очень интересно, но ничего непонятно!
и метод свич
- Вложения
-
- Screenshot_15.jpg (77.26 КБ) 1075 просмотров
Re: Очень интересно, но ничего непонятно!
Насчет вебсокетов не подскажу, т.к. не занимался этой темой и не обновлялся до версии, где показывается статус вебсокетов.
А что касается изменения целевой температуры в контроллере, то надо дополнить код метода управления целевой температурой соответствующей командой.
Я бы строчку
заменил на
По аналогии надо сделать и в оставшихся блоках.
А что касается изменения целевой температуры в контроллере, то надо дополнить код метода управления целевой температурой соответствующей командой.
Я бы строчку
Код: Выделить всё
if ($TempHouse >= 23 && $TempHouse <= 25) sg('Boiler1.targetTemp',60);
Код: Выделить всё
if ($TempHouse >= 23 && $TempHouse <= 25) {
sg('Boiler1.targetTemp',60);
file_get_contents("http://192.168.0.4/sec/?pt=30&misc=60");}