Blog - Home Assistant 19 pic 1920x1080 px
|

Home Assistant seriál s Jakubem: Díl 19: Shelly Blu TRV, Sonoff senzor teploty a vlhkosti a ovládání kotle

Úvod

V dnešním díle si nastavíme termostatickou hlavici Shelly BLU TRV, senzor teploty a vlhkosti od Sonoff a ukážeme si, jak spínat kotel podle požadavků na vytápění přímo z hlavice.

Hned na začátek je dobré si říct jednu důležitou věc – měření teploty přímo na termostatické hlavici je v praxi často nepřesné, protože je ovlivněné samotným radiátorem. Pokud už ale v místnosti máme samostatný senzor teploty (typicky někde uprostřed místnosti), je škoda ho nevyužít.

Použitím senzoru teploty přímo od Shelly se dá celý proces výrazně zjednodušit. Shelly BLU TRV ale oficiálně (v aplikaci) neumožňuje vybrat jiný externí senzor teploty než právě od Shelly. Naštěstí to není technické omezení samotné hlavice, ale jen softwarové rozhodnutí výrobce.
Tuto vlastnost lze obejít pomocí přímého RPC volání z Home Assistanta, kterým do hlavice pošleme aktuální teplotu z jiného senzoru – například ze Sonoffu. Nejde o žádný hack nebo úpravu firmware, ale o běžnou funkci, kterou Shelly BLU TRV podporuje. Vše si podrobně vysvětlíme dále v článku.

Co budeme potřebovat

Přidání senzoru Sonoff

Nejprve si přidáme senzor teploty a vlhkosti v místnosti. Postup bude stejný jako u všech Zigbee zařízení, která jsme integrovali v předchozích dílech seriálu.

V levém menu klikneme na položku Zigbee2MQTT. Pokud ji v menu nevidíme, otevřeme ji přes Settings -> Addons -> Zigbee2MQTT -> Open Web UI).

Následně si vybalíme náš senzor z krabičky a vytáhneme plastovou pásku na jeho straně – tím se senzor automaticky přepne do režimu párování.

V rozhraní Zigbee2MQTT klikneme na „Povolit vše“ a během několika sekund by se měl senzor úspěšně přidat a inicializovat.

Po dokončení integrace doporučuji senzor rovnou přejmenovat, aby bylo v Home Assistantu jasné, ke které místnosti patří. Já jsem zvolil název „Sonoff – Living Room Temperature & Humidity“, jak můžete vidět na screenu níže.

Přidání Shelly Blu TRV a BLE dongle

Externí senzor teploty a vlhkosti máme integrovaný, nyní přidáme samotnou termostatickou hlavici Shelly BLU TRV a Bluetooth dongle.

Přidání bluetooth dongle

Nejprve si hlavici vybalíme z krabičky a najdeme Bluetooth dongle, který je součástí balení. Ten je potřeba zapojit do USB portu v dané místnosti. Využít můžete například prodlužovací kabel s USB portem, nabíječku s USB výstupem nebo přímo USB port v serveru, na kterém běží Home Assistant.
Důležité je, aby byl dongle trvale napájený, protože bez něj hlavice s Home Assistantem nekomunikuje.

Shelly BLU TRV funguje následovně:

  • hlavice komunikuje s Bluetooth donglem přes Bluetooth Low Energy
  • dongle následně odesílá přijatá data přes Wi-Fi do Home Assistant serveru

Důležitá je také vzdálenost mezi donglem a termostatickou hlavicí. Doporučuji umístit dongle dostatečně blízko hlavice, ideálně tak, aby se obě zařízení nacházela ve stejné místnosti.
Pozor si dejte také na kovové překážky, jako jsou radiátory, vodovodní trubky nebo rozvodné skříně, které mohou Bluetooth signál výrazně tlumit.

V neposlední řadě se ujistěte, že má dongle v dané místnosti dostatečně silný Wi-Fi signál, protože veškerá komunikace směrem do Home Assistanta probíhá právě přes Wi-Fi.

Já jsem využil prodlužovací kabel s USB portem, který se nachází kousek od routeru i samotné hlavice – v mém případě tedy ideální scénář :). Díky tomu jsem nemusel řešit ani dosah Bluetooth, ani kvalitu Wi-Fi signálu.

Dongle zapojíme do USB portu a připojíme se na jeho Wi-Fi síť (hotspot), kterou po zapnutí automaticky vysílá.

Poté v internetovém prohlížeči otevřeme adresu 192.168.33.1, kde se nám zobrazí konfigurační rozhraní Bluetooth donglu.

Klikneme na Configure Wi-Fi settings.
V části Wi-Fi 1 settings aktivujeme položku Enable Wi-Fi a následně klikneme do pole Network. Dongle vyhledá všechny dostupné Wi-Fi sítě v okolí. Vybereme naši domácí síť, do pole Password zadáme heslo a konfiguraci uložíme tlačítkem Save settings.

Volitelně můžeme zaškrtnout položku Static IP a nastavit donglu statickou IP adresu. Tím zajistíme, že jeho IP adresa zůstane stejná a zařízení bude vždy dostupné pod jednou konkrétní adresou.

Po uložení nastavení se dongle restartuje a připojí se do zvolené Wi-Fi sítě.

Nyní si otevřeme novou IP adresu donglu, kterou zjistíme například v DHCP nastavení routeru a přejdeme k párování termostatické hlavice.

Přidání Shelly Blu TRV

Nyní vybalíme z krabičky termostatickou hlavici a stejně jako u Sonoff senzoru teploty a vlhkosti vyjmeme ochranný plastový proužek mezi bateriemi. Po jeho vytažení se hlavice aktivuje a na displeji se zobrazí symboly.

Na BLE donglu stiskneme tlačítko Pair a následně na zadní straně hlavice zmáčkneme bílé tlačítko (7).

Po pár vteřinách by na displeji hlavice mělo zobrazit bílé YES, což znamená úspěšné spárování. Pokud se objeví NO, je potřeba postup zopakovat, případně znovu stisknout tlačítko pair na BLE donglu.

Párovací režim je aktivní přibližně 30 sekund, poté je nutné jej znovu spustit.

Nastavení Shelly Blu TRV

V internetovém prohlížeči si otevřeme IP adresu BLE donglu a v menu přejdeme do Settings -> Access Point. Zde aktivujeme položku Disable Access Point, čímž vypneme konfigurační hotspot donglu. Tím zajistíme, že se k zařízení nebude moci připojit nikdo neoprávněný.

Pokud chceme hotspot z nějakého důvodu ponechat aktivní (například pro budoucí servisní zásah), doporučuji jej alespoň zabezpečit silným heslem. To provedeme zaškrtnutím volby Password protected network, zadáním hesla a uložením nastavení pomocí tlačítka Save settings.


V menu přejdeme do sekce Home, kde bychom již měli vidět termostatickou hlavici připárovanou .


Klikneme na její název a provedeme následující nastavení:

Name
Doporučuji nastavit název podle místnosti (například Living Room TRV), aby bylo v přehledu zařízení jasné, kam hlavice patří.

Calibrate TRV
Klikneme na tlačítko Calibrate.
Po několika sekundách by měl zmizet červený nápis Not Calibrated. Pokud nezmizí, akci zopakujeme.

TRV Behavior
Doporučuji zaškrtnout všechna políčka kromě Balanced heating.
Nejdůležitější je první volba Underfloor heating, která umožní využívat externí senzor teploty.

TRV Interface
Zde lze upravit uživatelské nastavení hlavice – například změnit jednotky z °C na °F, uzamknout změnu teploty otočením hlavice nebo upravit orientaci a jas displeje.

Enable TRV
Zkontrolujeme, že je zaškrtnutá volba Enable.

Temperature offset
Zde lze nastavit korekci teploty.
Pro můj radiátor se jako nejvhodnější ukázala hodnota 1,5 °C, ale je potřeba s hodnotou experimentovat podle konkrétní instalace.

Ostatní položky můžeme ponechat v výchozím nastavení.

Nakonec klikneme na položku TRV update. Pokud se zobrazí hlášení Your TRV has new firmware update!, doporučuji provést aktualizaci kliknutím na Update.

Integrace hlavice a dongle do HA

Integrace obou zařízení do HA je velmi jednoduchá.

V nabídce Settings -> Devices & services by se měla obě zařízení objevit v horní části obrazovky v sekci Discovered.

V mém případě už byla hlavice dříve přidaná kvůli testování, proto na screenshotu vidíte pouze BLE dongle. Pokud hlavici ještě integrovanou nemáte, zobrazí se vám zde stejným způsobem a přidáte ji kliknutím na Add.

Obě zařízení následně naleznete v Devices & Services pod integrací Shelly.

V seznamu by se vám měla zobrazit dvě zařízení – BLE dongle a Shelly BLU TRV.

Obě zařízení doporučuji přejmenovat, aby bylo v přehledu jasné, k jaké místnosti patří.

Přejmenování provedete otevřením integrace Shelly v seznamu zařízení a kliknutím na ikonu tužky vedle konkrétního zařízení.

Nastavení posílání externí teploty do hlavice

Shelly BLU TRV oficiálně umožňuje použít jako externí zdroj teploty pouze zařízení od Shelly. V aplikaci ani v rozhraní gateway tedy nelze vybrat jiný senzor (například Sonoff), i když je dostupný v Home Assistantu.

Nejde o technické omezení samotné hlavice – ta externí teplotu přijmout umí. Omezení je pouze softwarové, na úrovni konfigurace výrobce. Proto je nutné hodnotu z jiného senzoru do hlavice posílat ručně. Hodnota externí teploty se nastavuje přes entitu external_temperature. Interně ji Shelly integrace předává hlavici pomocí RPC metody Trv.SetExternalTemperature.

Automatizace

Automatizace běží každou minutu a zároveň při každé změně teploty, aby hlavice reagovala co nejrychleji a aby se případné výpadky BLE komunikace samy opravily.

Pokud vám tento interval nevyhovuje, stačí v automatizaci upravit parametr minutes: /1 na jinou hodnotu.

V automatizaci je nutné upravit následující hodnoty:

  • sensor.living_room_temperature_and_humidity_sensor_ble_temperature
    → nahraďte entitou vašeho teplotního senzoru
  • number.shellyblutrv_f844771e302f_external_temperature
    → nahraďte entitou vaší Shelly BLU TRV hlavice

Názvy entit naleznete v Settings → Devices & Services → Entities.

Funkčnost automatizace si můžeme jednoduše ověřit přímo v bráně (BLE donglu).

V jejím webovém rozhraní přejdeme do sekce Diagnostics a aktivujeme položku Enable WebSocket debug logs. Po zapnutí se začne zobrazovat detailní log komunikace mezi hlavicí a Home Assistantem.

Pokud je automatizace nastavena správně, uvidíte v logu pravidelně volání metody:

Hodnota t_C odpovídá teplotě z vašeho externího senzoru.
Záznam result null je v tomto případě v pořádku – zařízení většinou pouze potvrdí provedení akce bez návratové hodnoty.

Pokud se tato hlášení v logu nezobrazují, automatizace se pravděpodobně nespouští nebo nemá správně nastavené entity.

Řízení teploty podle přítomnosti a denní doby

Protože doma nemám centrální kotel, řeším komfort pomocí změny cílové teploty přímo na hlavici. Nastavení se automaticky přizpůsobuje přítomnosti, denní době a stavu okna.

Než samotnou automatizaci vytvoříme, je potřeba si připravit několik helperů, které budeme používat jak v automatizaci, tak následně na dashboardu pro pohodlné ovládání.

Vytvoření helperů

V Settings → Devices & Services → Helpers vytvoříme následující pomocné entity:

Input Number (4×):

  • living_room_heating_day_temp – denní teplota
  • living_room_heating_night_temp – noční teplota
  • living_room_heating_away_temp – útlumová teplota při nepřítomnosti
  • living_room_heating_override_temp – ručně nastavená teplota (override)

Typ: Number
Jednotka: °C
Rozumný rozsah například 5–25 °C

Input Datetime (2×):

  • living_room_heating_morning_start – začátek denního režimu
  • living_room_heating_night_start – začátek nočního režimu

Typ: Time (bez data)

Input Boolean (1×):

  • living_room_heating_override – zapnutí/vypnutí ručního override režimu

Typ: Toggle

Tyto helpery nám umožní:

  • měnit teploty bez zásahu do YAML
  • upravovat časové režimy přímo z dashboardu
  • aktivovat dočasný override jedním kliknutím

Zároveň je později využijeme při tvorbě dashboardu, kde si vytvoříme jednoduché ovládací prvky pro komfortní změnu hodnot.

Princip automatizace

Automatizace funguje v následujícím pořadí priorit:

  1. Override režim – pokud je aktivní, nastaví se pevná teplota a další podmínky se nevyhodnocují.
  2. Otevřené okno – nastaví se 5 °C, aby hlavice netopila při větrání.
  3. Nepřítomnost – nastaví se útlumová teplota.
  4. Denní režim – pokud je někdo doma a je mezi ranním a nočním časem.
  5. Noční režim – pokud je doma, ale mimo denní časový úsek.

Automatizace se spouští:

  • při změně přítomnosti,
  • při otevření nebo zavření okna,
  • při změně některého z helperů,
  • a každých 5 minut jako bezpečnostní kontrola.

Co je potřeba upravit podle vlastní instalace

V automatizaci je nutné upravit následující entity podle vašeho systému:

  • climate.shellyblutrv_f844771e302f
    → nahraďte entitou vaší Shelly BLU TRV hlavice
  • person.majda
    → nahraďte entitou osoby, podle které chcete řídit přítomnost
  • binary_sensor.living_room_window_sensor_contact
    → nahraďte senzorem otevření okna ve vaší místnosti
  • všechny entity input_number.*, input_datetime.* a input_boolean.*
    → je nutné vytvořit vlastní helpery se stejnými názvy nebo upravit automatizaci podle vašich názvů

Názvy entit naleznete v Settings → Devices & Services → Entities.

Dashboard pro ovládání režimů

Abych nemusel kvůli každé změně otevírat automatizace nebo upravovat YAML, vytvořil jsem jednoduchý dashboard postavený na kartách Mushroom. Ten mi umožní měnit denní/noční/útlumovou teplotu, nastavovat časy režimů, zapnout ruční override a v případě potřeby okamžitě „přepočítat“ režim bez čekání na další trigger automatizace.

Horní karta zároveň přehledně zobrazuje aktuální režim (Day / Night / Away / Window open / Override) a ukazuje cílovou a aktuální teplotu hlavice.

Co je potřeba mít

  • nainstalované Mushroom cards (HACS)
  • helpery z předchozí kapitoly (výše) (input_number / input_datetime / input_boolean)
  • automatizaci Living Room Heating Control (kvůli tlačítku „Apply schedule now“)

Co je potřeba upravit podle vlastní instalace

V dashboardu je nutné změnit tyto entity:

  • climate.shellyblutrv_f844771e302f
    → entita vaší Shelly BLU TRV hlavice (kvůli Target/Current teplotě)
  • person.majda
    → entita osoby, podle které řídíte přítomnost
  • binary_sensor.living_room_window_sensor_contact
    → senzor otevření okna
  • všechny input_number.*, input_datetime.*, input_boolean.*
    → odpovídají helperům, které jste si vytvořili (nebo je přizpůsobte vlastním názvům)
  • automation.living_room_heating_control
    → entita vaší automatizace (tlačítko „Apply schedule now“)

Ruční override režim

Override slouží pro situace, kdy chcete dočasně ignorovat automatické řízení podle přítomnosti a denní doby.

Po jeho zapnutí se nastaví pevná teplota z helperu override_temp a automatizace přestane vyhodnocovat ostatní podmínky (přítomnost, čas i režim dne/noci). Hlavice tak drží nastavenou hodnotu bez ohledu na běžný plán.

Override lze kdykoliv vypnout jedním kliknutím na dashboardu, čímž se systém vrátí zpět do automatického režimu. Tento režim se hodí například v situacích, kdy chcete rychle zatopit.

Spínání kotle přes Shelly 1 Gen4

Co budeme potřebovat

  • Shelly 1 Gen4 (já jsem používal variantu 16 A)
  • přístup k rozhraní kotle / termostatnímu vstupu (typicky „room thermostat“, „TA“, „RT“, „T1/T2“… podle výrobce)
  • základní nářadí + krabička / lišta (a ideálně elektrikář, pokud si nejste jistí)

Bezpečnost: Kotel je zařízení s 230 V a často i s požadavky výrobce na zapojení termostatu. Pokud si nejsi jistý, svěř to elektrikáři. Špatné zapojení umí odpálit elektroniku kotle.

Integrace Shelly 1 Gen4 do Home Assistanta

Shelly 1 Gen4 přidáme do Home Assistanta podobně jako ostatní Shelly zařízení, ale postup připojení k Wi-Fi je klasický „Shelly style“.

  • Připojíme se k síti typu:
    Shelly1G4-XXX
  • V prohlížeči otevřeme IP adresu
    http://192.168.33.1


V levém menu otevřeme Settings → Wi-Fi a připojíme zařízení k naší domácí Wi-Fi síti (stejně jako u BLE donglu).


Vrátíme se zpět do Home Assistanta, otevřeme Settings -> Devices & Services.

Zařízení by se mělo automaticky zobrazit v horní části obrazovky v sekci Discovered.

Klikneme na Add, vyplníme název zařízení a jeho umístění a dokončíme integraci.

Popis svorek na Shelly 1 Gen4

Shelly 1 Gen4 má několik svorek, které je potřeba si před zapojením správně vysvětlit.

L – napájení (Live)

Svorka L slouží pro napájení samotného modulu.
Přivádí se sem fáze (u 230 V AC) nebo kladný pól (u DC napájení).

N – napájení (Neutral)

Svorka N je neutrální vodič (u AC) nebo záporný pól (u DC).

Tyto dvě svorky slouží výhradně k napájení Shelly.
Nemají žádnou souvislost s výstupem pro kotel.

12V – napájení

Svorka pro 12V DC napájení modulu.

Používá se tehdy, pokud Shelly napájíme přes 12V DC místo 230V.
V takovém případě:

  • +12V → svorka 12V
  • − → svorka N

Nepoužívá se současně s 230V napájením.

Shelly lze napájet:

  • 110–240 V AC
  • 12 V DC
  • 24–48 V DC

I a O – relé (suchý kontakt)

Jedná se o bezpotenciálový (suchý) kontakt, což znamená:

  • Shelly na těchto svorkách negeneruje žádné vlastní napětí
  • pouze je mezi sebou spojí nebo rozpojí
  • chová se jako obyčejný mechanický vypínač

Na pořadí I a O nezáleží – proud může téct oběma směry.
Pro kotel tedy připojíte dva vodiče z termostatního vstupu právě na tyto svorky.

Relé je dimenzováno přibližně na:

  • až 16 A při 240 V AC
  • až cca 10 A při 30 V DC

Pro spínání termostatního vstupu kotle je to výrazně předimenzované a tedy bezpečné (z pohledu proudu).

SW – vstup pro externí spínač

Svorka SW není výstup.

Jedná se o vstup pro externí tlačítko nebo vypínač, který může ručně ovládat relé.

Typické využití:

  • připojení klasického nástěnného vypínače
  • manuální sepnutí relé bez Home Assistanta
  • kombinace automatizace + fyzického ovládání

Například:

  • při sepnutí mezi L a SW se relé přepne
  • v Home Assistantu zároveň uvidíte změnu stavu vstupu

Pro řízení kotle není SW nutný, ale může být užitečný například pro servisní manuální režim.

Praktický princip zapojení ke kotli

Pro běžný kotel s dvouvodičovým termostatním vstupem zapojíte:

Shelly pak pouze propojuje nebo rozpojuje tyto dva vodiče.

Do těchto svorek se nepřivádí 230 V (pokud to výrobce kotle výslovně nepožaduje).

Rozdíl mezi Shelly 1 Gen4 a Shelly 1PM

Pro spínání kotle je zásadní použít Shelly 1 Gen4 (dry contact verzi).

Shelly 1 Gen4 má bezpotenciálové relé (I/O), které pouze propojuje dva vodiče mezi sebou a negeneruje vlastní napětí.

Naopak například Shelly 1PM:

  • nemá suchý kontakt
  • na výstupu přepíná přímo fázi (L)
  • není vhodná pro přímé připojení na termostatní vstup kotle

Pokud byste použili model bez suchého kontaktu, mohli byste do vstupu kotle přivést 230 V, což může poškodit elektroniku kotle.

Pro kotel tedy vždy používejte variantu s I/O relé (dry contact).

Bezpečnostní upozornění

Shelly 1 Gen4 může být napájena síťovým napětím 230 V a její relé může spínat silové obvody.

Manipulace s elektrickým napětím vyžaduje odpovídající znalosti a zkušenosti.
Pokud si nejste jisti zapojením, neznáte rozdíl mezi napájením a suchým kontaktem nebo si nejste jisti typem vstupu svého kotle, doporučuji zapojení konzultovat s kvalifikovaným elektrikářem nebo topenářem.

Nesprávné zapojení může vést k poškození zařízení, ztrátě záruky nebo v krajním případě k úrazu elektrickým proudem.

Automatizace

Ukážeme si dvě varianty automatizace.

První, jednodušší, bude podle atributu hvac_action. Pokud alespoň jedna hlavice hlásí hvac_action: heating (má požadavek na teplo), kotel se zapne. Pokud žádná hlavice netopí (hvac_action: idle), kotel se s krátkým zpožděním vypne.

Druhá, lehce složitější varianta, bude spínat kotel podle procenta otevření ventilu. Pokud je ventil otevřen nad nastavenou prahovou hodnotu (např. 20 %), kotel se zapne. Pokud všechny ventily klesnou pod tuto hodnotu, kotel se s krátkým zpožděním vypne.

Tato varianta může být v některých instalacích přesnější a rychlejší, protože vychází z fyzické polohy ventilu, nikoli z logického atributu integrace.

Součástí obou variant je také ochrana proti častému spínání (anti-cycling):

  • krátké zpoždění vypnutí kotle
  • minimální doba běhu kotle po sepnutí

Díky tomu nedochází k neustálému zapínání a vypínání, které kotlům obecně neprospívá.

Vyzkoušejte, která varianta vám bude více vyhovovat.

Co je potřeba upravit podle vlastní instalace:

switch.shelly_1_gen_4
→ entita vašeho relé, které spíná kotel

Varianta A (hvac_action)
→ upravte seznam trvs: (přidejte další climate.* hlavice)

Varianta B (ventil %)
→ upravte seznam valve_sensors: (přidejte další sensor.*_valve_position)
→ prahovou hodnotu valve_threshold si dolaďte (doporučení 15–25 %)

Varianta A (hvac_action)

Varianta B (% otevření ventilu)

Závěr

Tento díl byl výrazně delší než předchozí – a měl k tomu dobrý důvod.

Neřešili jsme jen přidání jednoho zařízení, ale kompletní logiku vytápění:

  • integraci Shelly BLU TRV
  • odesílání externí teploty přes RPC
  • vytvoření helperů
  • automatizaci podle přítomnosti, času a otevřeného okna
  • dashboard pro pohodlné ovládání
  • integraci Shelly 1 Gen4
  • vysvětlení suchého kontaktu a bezpečného zapojení
  • dvě varianty spínání kotle včetně ochrany proti cyklování

To už je plnohodnotný topný systém postavený na Home Assistantu.

Chtěl jsem, aby článek nebyl jen „zkopírujte YAML a hotovo“, ale abyste rozuměli tomu, jak jednotlivé části spolupracují a proč je řešení navrženo právě takto.

Pokud vám něco nefunguje, něčemu nerozumíte nebo si nejste jisti zapojením, napište do komentářů pod článek. Rád poradím nebo vysvětlím konkrétní část podrobněji.

A pokud máte vlastní vylepšení – například více místností, složitější logiku nebo jiný způsob spínání kotle – budu rád, když se o ně podělíte.

Tak teplu zdar!

Podobné příspěvky

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *