Toto je starší verze dokumentu!


Baxi - kotel

Mám kotel BAXI, který využívá komunikační protokol OpenTherm. Problém protokolu je, že pokud mám připojení termostat, kotel počítá s jedním připojeným zařízením. Není možné tedy připojit termostat a třetí zařízení. Prostě by to spolu nekomunikovalo.

Řešením by však mohl být prostředník (man in the middle), který by signál z termostatu zpracoval přijal, poté posunul na kotel a z kotle poslal odpověď na termostat. Jak by prostředník s informacemi naložil, už záleží na něm. A tady se otevírá prostor pro vlastní řešení v kombinaci se stávajícím.

Nejsem jediný, kdo tento problém řešil a zdá se, že Jiří Praus na to připravil velmi nadějné řešení.

OpenTherm protokol vyžaduje dvoukabelové připojení k termostatu. Operuje s napětím 7-15 V. Ihor Melnyk poupisuje využití knihovy OpenTherm, jejíž zdrojové kódy umístil na github. Knihovna je napsaná v CPP a je určena pro použití s Arudionem či ESP8266/ESP32.

Je projekt od Jiřího Prause z ČR. Je možné si koupit rozšiřující destičku pro Arduino.

Tady je schéma zapojení destičky v režimu Gateway.

zdroj: hackster.io

Destičku lze provozovat i v režimu master/slave, kdy není připojen termostat. V tu chvíli musí být logika ovládání implementována přímo na destičce a pak není potřeba ani 24 V napájení. Ve chvíli, kdy chci pracovat s termostatem, musím mít 24V napájení. Předpokládám, že to vychází z povahy OpenTherm protokolu, kdy se komunikační napětí mezi termostatem a kotlem pohybuje mez 7-15V.

Zde autor popisuje možnosti zapojení destičky a jednotlivé komunikační módy.

Musím říct, že se mi zpočátku do Arduina moc nechtělo. Neměl jsem v plánu se moc pouštět do programování v CPP. Ale čím víc jsem přemýšlel nad projektem Jiřího, tím víc mi přijde, že to nebude tak složité. Začnu tím, že zdrojové kódy k použití jeho destičky jsou na Githubu. Mimochodem destička je OpenSource, takže si harware může kdokoli vyrobit.

Má tam také napsaný jednoduchý kód pro použití v režimu Gateway. Po zapojení destičky se kód stará o to, aby přeposílal informace z termostatu do kotle a naopak. Kód je tedy připravený na to, abych si napsal logiku ovládání mimo termostat sám. Což přináší samozřejmě řadu složitostí a moc se mi zatím do CPP pouštět nechce.

Nicméně nabízí se řešení, které přenese logiku jinam. Se zkušenostmi s ESP8266 bych dokázal napsat krátký kód v CPP, který bude posílat posílat informace na MQTT Broker a také informace přijímat. A celou logiku si tak implementuji v NodeRED. Jiří píše, že zpravy, které se přeposílají jsou díky knihovně OpenTherm dekódované, takže bych zpočátku mohl odchytat chování a strukturu a později vyřešit i ovládání a posílání zpráv. Uvidím, až to vyzkouším.

Co se týče Arduina, tak jsem pochopil, že jsou vývojové destičky WeMos D1 s Wi-Fi ESP8266, ke které je možné rozšíření připojit. Našel jsem například tyto:

  • it/iot/baxi.1677425792.txt.gz
  • Poslední úprava: 2023/02/26 15:36
  • autor: Petr Nosek