====== Baxi - kotel ====== ===== Nastavení termostatu ===== {{youtube>DHsd7NXg-Qc?}} ===== Sběrnicové řešení BSB ===== Zjistil jsem, že sběrnicové řešení nemám, tak jsem se už hledáním dál nezabýval. Nicméně tady jsou alespoň zdroje pro sběrnicové řešení, které vypadají docela nadějně. Uvádím zdroje pro vytvoření destiček ke kotli. * [[https://1coderookie.github.io/BSB-LPB-LAN_EN/toc.html|Manual for the BSB-LAN Hard- & Software]] * https://github.com/fredlcore/BSB-LAN#bsb-lpb-pps-lan * https://github.com/1coderookie/BSB-LPB-LAN_EN ===== OpenTherm ===== 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 ==== OpenTherm protokol vyžaduje dvoukabelové připojení k termostatu. Operuje s napětím 7-15 V. Ihor Melnyk poupisuje využití [[https://ihormelnyk.com/opentherm_library|knihovy OpenTherm]], jejíž zdrojové kódy umístil na [[https://github.com/ihormelnyk/opentherm_library/|github]]. Knihovna je napsaná v CPP a je určena pro použití s Arudionem či ESP8266/ESP32. ==== OpenTherm Gateway Arduino Shield ==== Je projekt od Jiřího Prause z ČR. Je možné [[https://www.tindie.com/products/jiripraus/opentherm-gateway-arduino-shield/|si koupit rozšiřující destičku]] pro Arduino. Tady je schéma zapojení destičky v režimu Gateway. {{:it:iot:pasted:20230226-161659.png}} 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. [[https://www.hackster.io/jiripraus/connect-your-central-heating-to-arduino-7818f5#toc-using-the-shield-to-create-a-thermostat-4|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 [[https://github.com/jpraus/arduino-opentherm|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. [[https://github.com/jpraus/arduino-opentherm/blob/master/examples/gateway/gateway.ino|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 [[it:iot: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: * https://dratek.cz/arduino/1457-esp8266-esp-12e-ota-wemos-d1-ch340-wifi.html * https://www.laskakit.cz/wemos-d1-r2-uno-esp8266/#relatedFiles ==== OpenTherm Gateway Kit ==== Dalším řešením může být shield [[https://www.nodo-shop.nl/en/featured/211-opentherm-gateway.html|OpenTherm Gateway Kit]]. Vypadá to, že nepotřebuje 24V napájení. Je také potřeba připojit k nějaké destičce - například [[https://www.nodo-shop.nl/en/our-products/213-wemos-d1-mini.html|Wemos D1 mini]]. Shield má k sobě připravený firmware. Odhaduji, že v základním režimu zapojení shield přeposílá informace mezi kotlem a termostatem. ==== Zdroje ==== * https://github.com/jpraus/arduino-opentherm * https://www.tindie.com/products/jiripraus/opentherm-gateway-arduino-shield/ * https://diyless.com/product/esp8266-opentherm-gateway * https://ihormelnyk.com/opentherm_library * https://www.domoticz.com/wiki/Opentherm_Gateway_OTGW * https://github.com/rvdbreemen/OTGW-firmware * https://otgw.tclcode.com/ * https://ihormelnyk.com/opentherm_adapter * http://otgw.tclcode.com/features.html#comparators