Термостат OpenTherm на ESP8266

miks69
Offline
Зарегистрирован: 16.02.2020

tsv_33 пишет:

miks69 пишет:

Еще я бы посмотрел что котел отвечает на запрос ID10: Number of Transparent-Slave-Parameters supported by slave

Если есть такое, тогда надо пробовать ID6:LB1: max CHsetpoint [ read-only, read/write ] и ID6:HB1: max CHsetpoint [ transfer disabled, transfer enabled ]

А что смотреть и пробовать то?

Что с этим делать будете, кроме, как взять на заметку о возможностях котла?

Ну как раз и понять, принимает он установку температуры в принципе или нет...

tsv_33
Offline
Зарегистрирован: 11.04.2019

miks69 пишет:

А 57-й если прочитать, что показывает? Не 38 случайно...

Резистор (крутилка) в задатчике его котла, полагаю, с мастером не работает, но прочитать стоит...

mistert83, а какая плата в котле?

miks69
Offline
Зарегистрирован: 16.02.2020

mistert83, 57-й регистр что выдает по запросу на чтение/запись?

Мой Buderus например как раз и не хотел устанавливать max CH setpoint выше чем установлено руками.

tsv_33
Offline
Зарегистрирован: 11.04.2019

miks69 пишет:

Мой Buderus например как раз и не хотел устанавливать max CH setpoint выше чем установлено руками.

Потому и цифры менялись в 49-м вашего котла.

У этого, константы, полагаю.

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

Плата управления DBM01 на проце ST72C334J4. Подобные платы устанавливаются в серию котлов Ferroli F24 C24 F32 и C32.

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

Итак кое-как (синтаксиса языка Си я не знаю) часть кода OldNavi  вкорячил в demo OpenTherm master и получил следующий листинг:

Central Heating: on
Hot Water: off
Flame: off
Boiler temperature is 32.00 degrees C
ID 0 Request - 0 Response - 0 Status: SUCCESS
ID 4 Request - 80040000 Response - 0 Status: INVALID
ID 5 Request - 50000 Response - 0 Status: SUCCESS
ID 6 Request - 60000 Response - 0 Status: SUCCESS
ID 9 Request - 90000 Response - 0 Status: INVALID
ID 10 Request - A0000 Response - 0 Status: SUCCESS
ID 11 Request - 800B0000 Response - 0 Status: SUCCESS
ID 12 Request - C0000 Response - 0 Status: SUCCESS
ID 13 Request - 800D0000 Response - 0 Status: SUCCESS
ID 15 Request - F0000 Response - 0 Status: INVALID
ID 16 Request - 90101500 Response - 0 Status: INVALID
ID 17 Request - 110000 Response - 0 Status: SUCCESS
ID 18 Request - 120000 Response - 0 Status: INVALID
ID 19 Request - 80130000 Response - 0 Status: INVALID
ID 20 Request - 140000 Response - 0 Status: INVALID
ID 21 Request - 80150000 Response - 0 Status: INVALID
ID 22 Request - 80160000 Response - 0 Status: INVALID
ID 23 Request - 10171500 Response - 0 Status: INVALID
ID 24 Request - 10181500 Response - 0 Status: INVALID
ID 28 Request - 801C0000 Response - 0 Status: INVALID
ID 33 Request - 210000 Response - 0 Status: INVALID
ID 49 Request - 80310000 Response - 0 Status: SUCCESS
ID 57 Request - 390000 Response - 0 Status: SUCCESS
ID 58 Request - 3A0000 Response - 0 Status: INVALID
ID 100 Request - 80640000 Response - 0 Status: INVALID
ID 115 Request - 80730000 Response - 0 Status: INVALID
ID 116 Request - 740000 Response - 0 Status: INVALID
ID 117 Request - 80750000 Response - 0 Status: INVALID
ID 118 Request - 80760000 Response - 0 Status: INVALID
ID 119 Request - 770000 Response - 0 Status: INVALID
ID 120 Request - 780000 Response - 0 Status: INVALID
ID 121 Request - 80790000 Response - 0 Status: INVALID
ID 122 Request - 807A0000 Response - 0 Status: INVALID
ID 123 Request - 7B0000 Response - 0 Status: INVALID
ID 124 Request - 807C0000 Response - 0 Status: INVALID
ID 126 Request - 7E0000 Response - 0 Status: INVALID
ID 125 Request - 7D0000 Response - 0 Status: INVALID
ID 126 Request - 7E0000 Response - 0 Status: INVALID
 
miks69
Offline
Зарегистрирован: 16.02.2020

Сделал тестовый скетч, в котором собрал все ID, которые в принципе можно прочитать из мозгов котла

Скачать можно по ссылке https://yadi.sk/d/tPupf8trkyye2w

Попробуйте запустить и лог в студию...

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

Спасибо большое, очень помогли. А вот результат работы этой проги:

--------------- CUT HERE FOR EXCEPTION DECODER ---------------
 
 ets Jan  8 2013,rst cause:2, boot mode:(3,6)
 
load 0x4010f000, len 3584, room 16 
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld
Start
ID=0: OpenTherm status request
Fault status: off
CH mode: on
DHW mode: off
Flame status: on
Cooling status: off
CH2 mode: off
Diagnostic event: off
ID=5: Fault flags & code
OEM-specific fault/error code (HEX): 0
Service request: off
Lockout-reset: off
Low water press: off
Gas/flame fault: off
Air press fault: off
Water over-temp: off
ID=115: OEM diagnostic code
Error: Invalid response 70730000
ID=3: Slave configuration & MemberID code
MemberID code (HEX): 9
DHW present: on
Control type modulating: off
Cooling supported: off
DHW config: off
Master low-off&pump control function allowed: off
CH2 present: off
ID=125: OpenTherm protocol version
Error: Invalid response f07d0000
ID=127: Slave product version
Error: Invalid response 707f0000
ID=17: Relative Modulation Level, %
Data: 0.0
ID=18: CH water pressure, bar
Error: Invalid response f0120000
ID=19: DHW flow rate, L/min
Error: Invalid response 70130000
ID=20: Day of Week & Time of Day
Error: Invalid response f0140000
ID=21: Date
Error: Invalid response 70150000
ID=22: Year
Error: Invalid response 70160000
ID=25: Boiler water temp (°C)
Data: 37.0
ID=26: DHW temperature (°C)
Data: 24.0
ID=27: Outside air temperature (°C)
Error: Invalid response f01b0000
ID=28: Return water temperature (°C)
Error: Invalid response 701c0000
ID=29: Solar storage temperature (°C)
Error: Invalid response f01d0000
ID=30: Solar collector temperature (°C)
Error: Invalid response f01e0000
ID=31: Flow water temperature CH2 circuit (°C)
Error: Invalid response 701f0000
ID=32: Domestic hot water temperature 2 (°C)
Error: Invalid response 70200000
ID=33: Boiler exhaust temperature (°C)
Error: Invalid response f0210000
ID=116: Number of starts burner
Error: Invalid response f0740000
ID=117: Number of starts burner
Error: Invalid response 70750000
ID=118: Number of starts DHW pump/valve
Error: Invalid response 70760000
ID=119: Number of starts burner during DHW mode
Error: Invalid response f0770000
ID=120: Number of hours that burner is in operation (i.e. flame on)
Error: Invalid response f0780000
ID=121: Number of hours that CH pump has been running
Error: Invalid response 70790000
ID=122: Number of hours that DHW pump has been running or DHW valve has been opened
Error: Invalid response 707a0000
ID=123: Number of hours that burner is in operation during DHW mode
Error: Invalid response f07b0000
ID=6: Remote boiler parameter transfer-enable & read/write flags
DHW setpoint read/write: on
max CHsetpoint read/write: on
DHW setpoint transfer-enable: on
max CHsetpoint transfer-enable: on
ID=48: DHW setpoint upper & lower bounds for adjustment (°C)
DHWsetp low-bound: 40
DHWsetp upp-bound: 65
ID=49: Max CH water setpoint upper & lower bounds for adjustment (°C)
max CHsetp low-bound: 30
max CHsetp upp-bound: 85
ID=50: OTC heat curve ratio upper & lower bounds for adjustment  (°C)
OTC heat curve ratio low-bound: 30
OTC heat curve ratio upp-bound: 85
ID=56: Domestic hot water temperature setpoint (°C)
Data: 48.0
ID=57: Maximum allowable CH water setpoint (°C)
Data: 30.0
ID=58: OTC heat curve ratio (°C)
Error: Invalid response f03a0000
ID=10: Number of Transparent-Slave-Parameters supported by slave
Data: 18
ID=12: Size of Fault-History-Buffer supported by slave
Data: 8
ID=15: Maximum boiler capacity (kW) / Minimum boiler modulation level(%)
Error: Invalid response f00f0000
ID=9: Remote override room setpoint
Error: Invalid response f0090000
ID=100: Remote override function
Error: Invalid response 70640000
Finished
 
miks69
Offline
Зарегистрирован: 16.02.2020

mistert83 пишет:

ID 49 Request - 80310000 Response - 0 Status: SUCCESS
ID 57 Request - 390000 Response - 0 Status: SUCCESS

Судя по вашим результатам котел просто не позволяет делать установку Setpoint, что собственно подтверждает предположение tsv_33

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

Интересно, в ID=57 Max CH water setpoint (°C) (Remote parameters 2) котёл выдаёт значение 30 -  минимальная температура.

miks69
Offline
Зарегистрирован: 16.02.2020

Меня больше заинтересовало вот что:

ID=3: Slave configuration & MemberID code
MemberID code (HEX): 9
DHW present: on
Control type modulating: off
Cooling supported: off
DHW config: off
Master low-off&pump control function allowed: off
CH2 present: off
 
Судя по всему котел без модуляции, т.е. только вкл/выкл...
 
Хотя значение модуляции выдает:
ID=17: Relative Modulation Level, %
Data: 0.0
 
Странно...
mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

Согласно протокола ID=57 Read/Write. Значит надо просто записать в котёл новое значение например 70 градусов. 

miks69
Offline
Зарегистрирован: 16.02.2020

mistert83 пишет:

Согласно протокола ID=57 Read/Write. Значит надо просто записать в котёл новое значение например 70 градусов. 

Ну конечно надо попробовать, я вам вчера еще писал про это

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021
miks69
Offline
Зарегистрирован: 16.02.2020

При записи нового значения в ID=57 посмотрите ответ котла, там должно быть вновь установленное значение

miks69
Offline
Зарегистрирован: 16.02.2020

И еще рекомендую посмотреть в сервисном меню параметры 5 и 6 - что там установлено

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021
Значение записалось (для проверки "правильности кода" ещё перезаписал значение горячей воды, потому как знал что оно точно перезаписывается).
 
Было:
ID=56: Domestic hot water temperature setpoint (°C)
Data: 48.0
ID=57: Maximum allowable CH water setpoint (°C)
Data: 30.0
Записал:
ID=57:Write Maximum allowable CH water setpoint (°C)
Data: 70.0
ID=56: Write Domestic hot water temperature setpoint (°C)
Data: 50.0
Проверил:
ID=56: Domestic hot water temperature setpoint (°C)
Data: 50.0
ID=57: Maximum allowable CH water setpoint (°C)
Data: 70.0
 
 
miks69
Offline
Зарегистрирован: 16.02.2020

Ну хорошо, теперь можно запускать термостат, по логике должно работать

Отпишитесь по результату

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

Спасибо за помощь miks69, tsv_33, OldNavi и всем остальным кто помог советом.

Итак , проблема решилась, котёл выполнил тестовый скетч OpenTherm Master (нагрел отопление до 64 град.).

Программа OldNavi не заработала так сказать из "коробки" потому что котёл Ferroli DomiProject F24 при размыкании перемычки и подключении OpenTherm термостата  руководствуется параметром: 

ID=57: Maximum allowable CH water setpoint (°C), который равен нижнему порогу параметра:

ID=49: Max CH water setpoint upper & lower bounds for adjustment (°C) max CHsetp low-bound: 30

то есть 30 градусов.
Таким образом вне зависимости от флага CH enable (ID=0 HB bit=0) и параметра Control setpoint  CH water temperature setpoint (°C) (ID=1) котёл включался когда температура теплоносителя опускалась ниже 30, потом нагревал до 38 и отключался. Почему до 38, да скорей всего из уставки минимального времени работы горелки, а уж до какой температуры за это время нагреется теплоноситель котлу неважно, лишь бы >30 .
 
Установка параметра ID=57: Maximum allowable CH water setpoint (°C) = 70 градусов решила проблему.
Сделал я это как смог, лишь бы сработало:
 
      ID = 57;  // max CH water setpoint (f8.8)
  Serial.println("ID="+String(ID)+":Write Maximum allowable CH water setpoint (°C)");
  request = ot.buildRequest(OpenThermRequestType::WRITE, OpenThermMessageID::MaxTSet, 0x4600);
  response = ot.sendRequest(request);
  if (checkResult(response)) {
    Serial.println("Data: " + String((response >> 8) & 0xFF) + "." + String(response & 0xFF));
  }
Кстати miks69, вот данные, которые свидетельствуют что котёл с модуляцией. Вот так она менялась по мере нагрева
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 1.0
ID=25: Boiler water temp (°C)
Data: 44.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 2.0
ID=25: Boiler water temp (°C)
Data: 45.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 4.0
ID=25: Boiler water temp (°C)
Data: 46.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 8.0
ID=25: Boiler water temp (°C)
Data: 48.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 10.0
ID=25: Boiler water temp (°C)
Data: 48.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 17.0
ID=25: Boiler water temp (°C)
Data: 50.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 26.0
ID=25: Boiler water temp (°C)
Data: 52.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 33.0
ID=25: Boiler water temp (°C)
Data: 54.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 34.0
ID=25: Boiler water temp (°C)
Data: 60.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 33.0
ID=25: Boiler water temp (°C)
Data: 63.0
 

 

miks69
Offline
Зарегистрирован: 16.02.2020

Ну хорошо, главное что удалось найти проблему и решить ее.
Теперь осталось "допилить" термостат и радоваться жизни )))
Удачи!

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

mistert83 пишет:

Спасибо за помощь miks69, tsv_33, OldNavi и всем остальным кто помог советом.

Итак , проблема решилась, котёл выполнил тестовый скетч OpenTherm Master (нагрел отопление до 64 град.).

Программа OldNavi не заработала так сказать из "коробки" потому что котёл Ferroli DomiProject F24 при размыкании перемычки и подключении OpenTherm термостата  руководствуется параметром: 

ID=57: Maximum allowable CH water setpoint (°C), который равен нижнему порогу параметра:

ID=49: Max CH water setpoint upper & lower bounds for adjustment (°C) max CHsetp low-bound: 30

то есть 30 градусов.
Таким образом вне зависимости от флага CH enable (ID=0 HB bit=0) и параметра Control setpoint  CH water temperature setpoint (°C) (ID=1) котёл включался когда температура теплоносителя опускалась ниже 30, потом нагревал до 38 и отключался. Почему до 38, да скорей всего из уставки минимального времени работы горелки, а уж до какой температуры за это время нагреется теплоноситель котлу неважно, лишь бы >30 .
 
Установка параметра ID=57: Maximum allowable CH water setpoint (°C) = 70 градусов решила проблему.
Сделал я это как смог, лишь бы сработало:
 
      ID = 57;  // max CH water setpoint (f8.8)
  Serial.println("ID="+String(ID)+":Write Maximum allowable CH water setpoint (°C)");
  request = ot.buildRequest(OpenThermRequestType::WRITE, OpenThermMessageID::MaxTSet, 0x4600);
  response = ot.sendRequest(request);
  if (checkResult(response)) {
    Serial.println("Data: " + String((response >> 8) & 0xFF) + "." + String(response & 0xFF));
  }
Кстати miks69, вот данные, которые свидетельствуют что котёл с модуляцией. Вот так она менялась по мере нагрева
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 1.0
ID=25: Boiler water temp (°C)
Data: 44.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 2.0
ID=25: Boiler water temp (°C)
Data: 45.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 4.0
ID=25: Boiler water temp (°C)
Data: 46.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 8.0
ID=25: Boiler water temp (°C)
Data: 48.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 10.0
ID=25: Boiler water temp (°C)
Data: 48.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 17.0
ID=25: Boiler water temp (°C)
Data: 50.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 26.0
ID=25: Boiler water temp (°C)
Data: 52.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 33.0
ID=25: Boiler water temp (°C)
Data: 54.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 34.0
ID=25: Boiler water temp (°C)
Data: 60.0
-----------------------------------------
ID=17: Relative Modulation Level, %
Data: 33.0
ID=25: Boiler water temp (°C)
Data: 63.0
 

 

Вы можете выложить скетч для тестирования плата Honeywell AMB03 на котел bluesens ?

miks69
Offline
Зарегистрирован: 16.02.2020

knt58dualtv пишет:

Вы можете выложить скетч для тестирования плата Honeywell AMB03 на котел bluesens ?

Исходный код скетча для тестирования не привязан к модели котла или версии платы, он опрашивает все описанные в протоколе DATA-ID и выводит ответ.

miks69 пишет:

Сделал тестовый скетч, в котором собрал все ID, которые в принципе можно прочитать из мозгов котла

Скачать можно по ссылке https://yadi.sk/d/tPupf8trkyye2w

Попробуйте запустить и лог в студию...

Берите и пользуйтесь. Только просьба выложить сюда результат работы скетча с указанием модели котла.

Дополнительно версия с выводом результата тестирования на web-страницу https://yadi.sk/d/1eCX8mZ5nno5pA

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

[/quote] Вы можете выложить скетч для тестирования плата Honeywell AMB03 на котел bluesens ?[/quote]

Пожалуйста берите. https://yadi.sk/d/sBwhKKpICvurMQ

В прошивке сначала идёт установка ID=57  - 70 градусов, потом включается нагрев и установка температуры теплоносителя 64 градуса. Дальше в цикле опрос температуры в контуре отопления и опрос всех ID.

Как только температура достигает 64 градусов нагрев выключается.

Проверил на своём котле Ferroli DomiProject F24 - работает.

Кто хорошо разбирается в Си , можете исправить и оптимизировать код.

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

спасибо, как только будет теплая погода и буду попробовать !

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

OldNavi, подскажите как перезаписать значения по умолчанию в EEPROM?

OldNavi
Offline
Зарегистрирован: 22.08.2019

В файле Variables.h - структура MAIN_VARIABLES vars.  Там дефолтные значения для первой инициализации. Но вообще как только сделаете установку - значения запишутся в EEPROM и будут там.

knt58dualtv
Offline
Зарегистрирован: 08.01.2019
 
 
// ЗАПИСИЯ В ПАМЯТЬ
 
 
StaticJsonDocument<256> cfg;
 
void cfgSetup() {
  SPIFFS.begin();
  String pre_cfg = SPIFFS.open(F("/config.json"), "r").readString();
  Serial.println(String(F("\nCFG: ")) + pre_cfg);
  if (pre_cfg == "") pre_cfg = "{}";
  else deserializeJson(cfg, pre_cfg);
}
 
void cfgWrite(String key, String value) {
  if (cfg[key] != value) {
    cfg[key] = value;
    String pre_cfg;
    serializeJson(cfg, pre_cfg);
    SPIFFS.open(F("/config.json"), "w").print(pre_cfg);
  }
}
 
String cfgRead(String key) {
  return cfg[key];
}
 
 
использовать 
....
вызов для записии
  Float Delta;
  Delta = ....;
  cfgWrite(F("Delta"), String(Delta));  //Запись в конфиг, Сохранение в память. cfgWrite([String], [String])
 
вызов для Read
  // Delta обявите в глобал перемент в файл *.h
  Delta = cfgRead(F("Delta")).toFloat();
 
knt58dualtv
Offline
Зарегистрирован: 08.01.2019

датчик температура улица а если у меня нет датчик NTC 10k - на это место можно просто использовать 18b20 ?

unsigned long request27 = ot.buildRequest(OpenThermRequestType::READ, OpenThermMessageID::Toutside, 0);

mistert83
mistert83 аватар
Offline
Зарегистрирован: 24.01.2021

Так как в моём котле нет датчиков температуры комнатного и наружного воздуха, я к ESP подключил DHT22(комнатный) и DS18b20(наружный) и в программе изменил:

   // Main OpenTherm loop
  void loop()
     {  
    //getOutsideTemp();    
      getsensorTemp();  //Читаем температуру в доме и на улице
     }
 
  void getsensorTemp()
  {
    vars.house_temp.value = dht.readTemperature(); // получить текущее значение температуры в доме
    sensors.requestTemperatures();                 
    vars.outside_temp.value = sensors.getTempCByIndex(0);// от DS18b20 получаем значение внешней темп-ры
  }

Как я понял в программе OldNavi внешняя температура только для информации.

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

имеею данные

1. температура улица

2. температура в комнате

3. выставляная температура в комнате (термостат)

из этих три фактора можно ли делать автоматическая расчетная формура

для  выставки температуры в котел 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

knt58dualtv пишет:

имеею данные

1. температура улица

2. температура в комнате

3. выставляная температура в комнате (термостат)

из этих три фактора можно ли делать автоматическая расчетная формура

для  выставки температуры в котел 

Нет.

Этих данных недостаточно.

Собственно, недостает именно расчетной формулы.

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

andriano пишет:

knt58dualtv пишет:

имеею данные

1. температура улица

2. температура в комнате

3. выставляная температура в комнате (термостат)

из этих три фактора можно ли делать автоматическая расчетная формура

для  выставки температуры в котел 

Нет.

Этих данных недостаточно.

Собственно, недостает именно расчетной формулы.

какие еще нужные данные ?

п.с когда в дома то могу ручную выставить но не удбоно 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Я же сказал: нужна формула.

И, кстати, если вручную Вы выставить можете, то откуда Вы узнаете, какое значение нужно выставлять?

leonzone
Offline
Зарегистрирован: 31.12.2019

да пожалуйста - https://github.com/maxvdovin/termostat

tsv_33
Offline
Зарегистрирован: 11.04.2019

leonzone пишет:

да пожалуйста - https://github.com/maxvdovin/termostat

Это типичное управление ПЗА по отопительным кривым, но не полноценная автоматика, т.к. требует длительного и утомительного подбора параметров.

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

leonzone пишет:

да пожалуйста - https://github.com/maxvdovin/termostat

спасибо

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

miks69 пишет:
При записи нового значения в ID=57 посмотрите ответ котла, там должно быть вновь установленное значение

Ferroli bluesens 4

10:17:55.644 -> Central Heating: off
10:17:55.644 -> Hot Water: off
10:17:55.644 -> Flame: off
10:17:56.050 -> Boiler temperature is 24.00 degrees C
10:17:56.050 -> --------------------------------------------------------------------------------------------
10:17:57.070 -> ID=0: OpenTherm status request
10:17:57.307 -> Fault status: on
10:17:57.307 -> CH mode: off
10:17:57.307 -> DHW mode: off
10:17:57.307 -> Flame status: off
10:17:57.307 -> Cooling status: off
10:17:57.307 -> CH2 mode: off
10:17:57.341 -> Diagnostic event: off
10:17:57.749 -> Boiler temperature is 24.00 degrees C
10:17:57.749 -> ID=5: Fault flags & code
10:17:57.953 -> OEM-specific fault/error code (HEX): 2f
10:17:57.953 -> Service request: off
10:17:57.953 -> Lockout-reset: off
10:17:57.953 -> Low water press: off
10:17:57.953 -> Gas/flame fault: off
10:17:57.953 -> Air press fault: off
10:17:57.953 -> Water over-temp: off
10:17:57.953 -> ID=115: OEM diagnostic code
10:17:58.157 -> Error: Invalid response 70730000
10:17:58.157 -> ID=3: Slave configuration & MemberID code
10:17:58.362 -> MemberID code (HEX): 9
10:17:58.362 -> DHW present: on
10:17:58.362 -> Control type modulating: off
10:17:58.362 -> Cooling supported: off
10:17:58.362 -> DHW config: off
10:17:58.362 -> Master low-off&pump control function allowed: off
10:17:58.395 -> CH2 present: off
10:17:58.395 -> ID=125: OpenTherm protocol version
10:17:58.565 -> Error: Invalid response f07d0000
10:17:58.598 -> ID=127: Slave product version
10:17:58.802 -> Product type: 0
10:17:58.802 -> Product version: 0
10:17:58.802 -> ID=17: Relative Modulation Level, %
10:17:59.005 -> Data: 0.0
10:17:59.005 -> ID=18: CH water pressure, bar
10:17:59.209 -> Data: 0.0
10:17:59.209 -> ID=19: DHW flow rate, L/min
10:17:59.413 -> Data: 0.0
10:17:59.413 -> ID=20: Day of Week & Time of Day
10:17:59.617 -> Error: Invalid response f0140000
10:17:59.617 -> ID=21: Date
10:17:59.822 -> Error: Invalid response 70150000
10:17:59.855 -> ID=22: Year
10:18:00.059 -> Error: Invalid response 70160000
10:18:00.059 -> ID=25: Boiler water temp (°C)
10:18:00.263 -> Data: 24.0
10:18:00.263 -> ID=26: DHW temperature (°C)
10:18:00.467 -> Data: 23.0
10:18:00.467 -> ID=27: Outside air temperature (°C)
10:18:00.671 -> Data: 23.0
10:18:00.671 -> ID=28: Return water temperature (°C)
10:18:00.875 -> Data: 23.0
10:18:00.875 -> ID=29: Solar storage temperature (°C)
10:18:01.112 -> Error: Invalid response f01d0000
10:18:01.112 -> ID=30: Solar collector temperature (°C)
10:18:01.316 -> Error: Invalid response f01e0000
10:18:01.316 -> ID=31: Flow water temperature CH2 circuit (°C)
10:18:01.520 -> Error: Invalid response 701f0000
10:18:01.520 -> ID=32: Domestic hot water temperature 2 (°C)
10:18:01.724 -> Error: Invalid response 70200000
10:18:01.724 -> ID=33: Boiler exhaust temperature (°C)
10:18:01.929 -> Data: 6400
10:18:01.929 -> ID=116: Number of starts burner
10:18:02.134 -> Data: 16842
10:18:02.134 -> ID=117: Number of starts burner
10:18:02.377 -> Error: Invalid response 70750000
10:18:02.377 -> ID=118: Number of starts DHW pump/valve
10:18:02.593 -> Error: Invalid response 70760000
10:18:02.593 -> ID=119: Number of starts burner during DHW mode
10:18:02.781 -> Data: 54022
10:18:02.781 -> ID=120: Number of hours that burner is in operation (i.e. flame on)
10:18:02.984 -> Data: 5720
10:18:02.984 -> ID=121: Number of hours that CH pump has been running
10:18:03.190 -> Data: 5335
10:18:03.190 -> ID=122: Number of hours that DHW pump has been running or DHW valve has been opened
10:18:03.393 -> Data: 0
10:18:03.393 -> ID=123: Number of hours that burner is in operation during DHW mode
10:18:03.629 -> Error: Invalid response f07b0000
10:18:03.629 -> ID=6: Remote boiler parameter transfer-enable & read/write flags
10:18:03.833 -> DHW setpoint read/write: on
10:18:03.833 -> max CHsetpoint read/write: on
10:18:03.833 -> DHW setpoint transfer-enable: on
10:18:03.833 -> max CHsetpoint transfer-enable: on
10:18:03.833 -> ID=48: DHW setpoint upper & lower bounds for adjustment (°C)
10:18:04.037 -> DHWsetp low-bound: 40
10:18:04.037 -> DHWsetp upp-bound: 65
10:18:04.037 -> ID=49: Max CH water setpoint upper & lower bounds for adjustment (°C)
10:18:04.241 -> max CHsetp low-bound: 20
10:18:04.241 -> max CHsetp upp-bound: 90
10:18:04.241 -> ID=50: OTC heat curve ratio upper & lower bounds for adjustment  (°C)
10:18:04.445 -> OTC heat curve ratio low-bound: 20
10:18:04.445 -> OTC heat curve ratio upp-bound: 90
10:18:04.479 -> ID=56: Domestic hot water temperature setpoint (°C)
10:18:04.683 -> Data: 40.0
10:18:04.683 -> ID=57: Maximum allowable CH water setpoint (°C)
10:18:04.887 -> Data: 70.0
10:18:04.887 -> ID=58: OTC heat curve ratio (°C)
10:18:05.091 -> Error: Invalid response f03a0000
10:18:05.091 -> ID=10: Number of Transparent-Slave-Parameters supported by slave
10:18:05.295 -> Data: 16
10:18:05.295 -> ID=12: Size of Fault-History-Buffer supported by slave
10:18:05.499 -> Data: 8
10:18:05.499 -> ID=15: Maximum boiler capacity (kW) / Minimum boiler modulation level(%)
10:18:05.703 -> max boiler capacity: 35
10:18:05.703 -> min modulation level: 25
10:18:05.703 -> ID=9: Remote override room setpoint
10:18:05.940 -> Error: Invalid response f0090000
10:18:05.940 -> ID=100: Remote override function
10:18:06.144 -> Error: Invalid response 70640000
10:18:06.144 -> Finished
 

для котела Феллори 

1. сначала надо установить макс темп-ры

    здадим 80с  
    setBoilerTemperature(80);
    получаем текущие значение тем-ры установленно в котеле на приемре 50с 
    temperature = ot.getBoilerTemperature();
    println("Boiler temperature = "+String(temperature )+"C");

           а установил новое значение sp=60с  - вызовать   ot.setBoilerTemperature(op) ?

 

464       op = pid(sp, pv, pv_last, ierr, dt);
465       //Set CH Temperature
466       ot.setBoilerTemperature(op);

после этого надо ли делать записии по  ID 57 (W) MaxTSet f8.8 ?  

unsigned long request57 = ot.buildRequest(OpenThermRequestType::WRITE, OpenThermMessageID::MaxTSet, hex57);
3   unsigned long respons57 = ot.sendRequest(request57);
4   uint16_t dataValue57 = respons57 & 0xFFFF;

и на дисклей котела  = 60с для отопления 

miks69
Offline
Зарегистрирован: 16.02.2020

knt58dualtv пишет:

OEM-specific fault/error code (HEX): 2f


Обратите внимание

miks69
Offline
Зарегистрирован: 16.02.2020

у вас ID=57 выдает 70 град, т.е. для установки 60 град ничего делать не надо, а вот если нужно будет поставить 80 град, тогда видимо придется сначала установить ID=57 в 80 град

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

miks69 пишет:
knt58dualtv пишет:

OEM-specific fault/error code (HEX): 2f

Обратите внимание

не нашел в интернете что за ошибка OEM-specific fault/error code (HEX): 2f ?

miks69
Offline
Зарегистрирован: 16.02.2020

knt58dualtv пишет:

не нашел в интернете что за ошибка OEM-specific fault/error code (HEX): 2f ?

и не найдете, это только в сервис центре может быть знают

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

я  подключил ТОЛЬКО плату на столе  без датчиков и т.д...... и поэтому выдали эти ошибки ?

 

miks69
Offline
Зарегистрирован: 16.02.2020

knt58dualtv пишет:

я  подключил ТОЛЬКО плату на столе  без датчиков и т.д...... и поэтому выдали эти ошибки ?

боюсь что данная ошибка с этим никак не связана

tsv_33
Offline
Зарегистрирован: 11.04.2019

miks69 пишет:

knt58dualtv пишет:

я  подключил ТОЛЬКО плату на столе  без датчиков и т.д...... и поэтому выдали эти ошибки ?

боюсь что данная ошибка с этим никак не связана

А с чем, по вашему, связана, если

miks69 пишет:

...это только в сервис центре может быть знают

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

ID 5 - связанным что НЕТ датчики ..... ( Service request,Lockout-reset,Low water press,Gas/flame fault,Air press fault,Water over-temp) ?

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

другой вопрос

на вашем котле - установки температуры 

мин 24с и макс 80с ?

а шаг 24с  28с 32с ......до 80с ?

хочу узнать и проиграть з коэф контура отопления взави от кривой !

 

Diminator
Offline
Зарегистрирован: 15.09.2015

Ничего не понял, но очень интересно! :) А как происходит сопряжение esp с интерфейсом OpenTherm котла или я что-то упустил в теме? Очень уж тема интересна, хочется на котел прикрутить погодозависимую автоматику но до сих пор не нашел ничего интересного :(

miks69
Offline
Зарегистрирован: 16.02.2020

Diminator пишет:

Ничего не понял, но очень интересно! :) А как происходит сопряжение esp с интерфейсом OpenTherm котла или я что-то упустил в теме? Очень уж тема интересна, хочется на котел прикрутить погодозависимую автоматику но до сих пор не нашел ничего интересного :(

http://ihormelnyk.com/opentherm_adapter

Diminator
Offline
Зарегистрирован: 15.09.2015

Спасибо. И далее логика скетч на esp?

knt58dualtv
Offline
Зарегистрирован: 08.01.2019

Diminator пишет:

Ничего не понял, но очень интересно! :) А как происходит сопряжение esp с интерфейсом OpenTherm котла или я что-то упустил в теме? Очень уж тема интересна, хочется на котел прикрутить погодозависимую автоматику но до сих пор не нашел ничего интересного :(

схема плата от автора 

купить или сами делайте далее установите библеотеку на ардуино 

как использовать см.