V domku máme podlahové topení řízené přes krabičku Tecomat, která podle teploty v místnosti a nastavené cílové teploty otevírá a zavírá hlavice a tím pouští teplou vodu do každé místnosti zvlášť.
Šikovný pán nám naklikal webové rozhraní:
Do kuchyně jsem si pořídil tablet, který je neustále ON a na kterém máme toto rozhraní zobrazené, ale nedalo mi to a chtěl jsem si vyrobit dashboard, kde půjde vidět půdorys domu a teplota v každé místnosti. Tecomat bude mít asi nějaké TecoAPI, už od roku …. 2018.
Šikovný pán nám TecoAPI nepovolil, resp. nevytvořil žádného uživatele. Není problém, připojí se vzdáleně. Je totiž z druhé strany republiky.
Dokud nám v obci neaktivují optiku, tak používáme LTE internet a k tomu nemáme statickou IP. Nevadí, udělám SSH tunel přes RaspberryPI namířený na Tecomat a to přes službu pitunnel.com což je moje oblíbená služba (a dost unikátní, i když pomalá).
Šikovný pán tvrdí, že potřebuje UDP, což pitunnel neumí. Kašlu na to, nejsem síťař abych dělal takové caviky.
Konečně využití pro Raspberry! Ačkoli tady na blogu neustále píšu o tom, co se dá z Raspberry udělat, reálně to prostě nepoužívám.
Takže s pomocí Node.js a package Puppeteer spouštím headless Chromium, které se přihlásí do webového rozhraní a po přihlášení vyčte teploty z HTML. A třeba i takové informace, jako jestli se zrovna topí nebo ne (porovnává to CSS background image …)
Následně s pomocí cron Python skriptu uploadnu výsledný JSON na webserver (tím pádem se budu moci na teploty podívat odkudkoli, bez veřejné IP a bez zpřístupnění Raspberry zvenku).
Tam topení nemáme a tím pádem ani senzor. Bastlířský eshop jsem ukončil k 1.2.2022 a zbylo mi pár součástek - vyrobil jsem si teplotní senzor s pomocí NodeMCU a teplotního modulu. NodeMCU je takový výkonější Arduino-kompatibilní kontroler, má Wifi a je pro něj dostupná webserverovská knihovna.
Na webserveru jsem si napsal aplikaci ve Vue3, která periodicky stahuje JSON s teplotami a zobrazuje je v SVG půdorysu domu, který jsem si pracně vyrobil. Barva každé místnosti se změní podle toho, jaká je v ní teplota. Zobrazuje se i venkovní teplota a pokud se v místnosti topí, zobrazí se emoji teploměr.
Zdrojové kódy najdete na GitHubu. Některé kódy jsem převzal z mého předchozího projektu, meteostanice kterou rovněž najdete na GitHubu.