Před pár dny se mi stala situace, kdy došlo k výpadku proudu a zároveň mi nenastartoval HomeAssistant běžící na Raspberry, což způsobilo, že některé zařízení v Zigbee síti nešlo ovládat.
Konkrétně šlo o chytré žárovky, které u sebe nemají žádný fyzický vypínač a bohužel byly všechny nastaveny do stavu ON po výpadku proudu – takže všechny vesele svítily i když byl den.
Přivedlo mě to až k uvědomění si mezery ve znalostech Zigbee / WiFi, kdy jsem netušil zda toto chování jde změnit a pokud ano tak jak.
Naštěstí nastavení možné minimálně v některých konkrétních případech možné je a my si ukážeme v tomto článku jak na to.
Ziggee zařízení
Nejprve se podíváme na Zigbee zařízení, kde je situace poněkud jednodušší. Nastavení najdeme v Zigbee Clusteru On/Off (id 0x0006) pod názvem PowerOn OnOff
a nebo Power Outage Memory (id 0x4003)
.
Hodnoty nastavení jsou tři:
On
– při výpadku proudu bude zařízení obnoveno jako zapnutéOff
– obnovení jako vypnutéPrevious (Restore)
– bude ve stejném stavu jako před výpadkem proudu
Konkrétní nastavení závisí na SW routeru Zigbee. My si ukážeme nastavení pro deCONZ a Ziggbe2MQTT, které používám já.
deCONZ router
V případě deCONZu budeme potřebovat část UI s názvem deCONZ:
kde si najdeme zařízení, které chceme nastavit. V mém případě budu chtít nastavit chování pro Ikea žárovku, kterou si najdu na mapě a rozkliknu seznam clusterů a v něm si najdu ten s názvem On/Off
:
Ve spodní části najdeme seznam atributů patřící do clusterů a v něm si najdeme atribut PowerOn OnOff
na který klikneme
Vlastnost v editoru změníme na požadovanou hodnotu a klikneme na write.
Tím máme hotovo a můžeme rovnou zkoušet, zda se zařízení chová tak jak jsme chtěli.
Zigbee2MQTT router
Pokud provozujeme Zigbee2MQTT tak je situace poněkud jednodušší, jelikož nastavení najdeme po kliknutí na detail v sekci Vystavuje (poněkud zvláštní překlad Exposes) a vlastnost se jmenuje power_outage_memory.
Stačí pouze kliknout na požadovaný stav – jeden ze tří dostupných – a vše je hotovo.
WiFi zařízení
U WiFi zařízení je situace poněkud složitější, jelikož každé zařízení může mít absolutně jiný firmware. Ukážeme si tak postup pro situaci kdy používám custom firmware Tasmota a nebo ESPHome.
Tasmota firmware
V případě firmware Tasmota jde vše nastavit prostřednictvím webového UI, kdy nejprve klikneme na hlavní obrazovce na položku Konzole:
a poté pomocí příkazu PowerOnState nastavíme jednu z následujících hodnot:
0
–OFF
– ponechá relé ve vypnutém stavu po zapnutí1
–ON
– zapne relé po zapnutí2
–TOGGLE
– přepne relé z předchozího uloženého stavu3
– zachová poslední uložený stav4
– zapne relé a znemožní přepínání stavu5
– po intervalu definovaném vPulseTime
zapne relé
? Konfigurační parametr zařízení PowerOnState
se použije pouze při prvním zapnutí zařízení. Nevztahuje se na restarty zařízení.
Příklad z konzoly:
13:18:54.707 CMD: PowerOnState
13:18:54.713 MQT: sonoff_basic02/stat/RESULT = {"PowerOnState":0}
ESPHome firmware
U ESPHome budeme muset jít do konfigurace zařízení a nastavit vlastnost relé pomocí vlastnosti restore_mode, které může mít jednu z následujících hodnot:
RESTORE_DEFAULT_OFF
– výchozí nastavení – pokusí se obnovit předchozí stav a pokud to není možné pak nastartuje ve vypnutém stavuRESTORE_DEFAULT_ON
– pokusí se obnovit předchozí stav a pokud to není možné pak se nastartuje v zapnutém stavuRESTORE_INVERTED_DEFAULT_OFF
– pokusí se nastartovat v opačném stavu než byl předchozí stav a pokud to není možné pak nastartuje ve vypnutém stavuRESTORE_INVERTED_DEFAULT_ON
– pokusí se nastartovat v opačném stavu než byl předchozí stav a pokud to není možné pak nastartuje v zapnutém stavuALWAYS_OFF
– nastartuje ve vypnutém stavuALWAYS_ON
– nastartuje v zapnutém stavu
Jak vidíte nastavit výchozí chování po výpadku elektřiny nemusí být až tak složité, ale zároveň zejména v případě WiFi zařízení není cesta jak to udělat stejná.
Dobrý den,
se zájmem jsem si přečetl článek avšak mám otázku. Vlastním zařízení Sonoff S26 R2 ZB a Sonoff ZB mini. Obě tato zařízení neumožňují v Zigbee2mqtt stav Power Outage Memory. Jak mohu u těchto zařízení zajistit jejich spuštění po výpadku jejich napájení? Firmware v zařízeních je originální Sonoff/eWelink. Připojeno do HA. Děkuji za odpověď.
Dobrý den, já nemám ani jedno z těchto zařízení, takže to nemohu fyzicky ověřit, ale pokud to tam není tak bych to jako workaround udělal pomocí automatizace se spouštěčem
homeassistant.start
, která vám nastaví požadovaný stav po výpadku. Předpokladem je pouze to, že se vám HomeAssistant při výpadku taky restartuje a drobná nevýhoda, že vám to bude nastavovat tento stav i při restartu HA.Dobrý den,
děkuji za odpověď.
HA se naštěstí s výpadken nerestartuje.
S automatizací se peru a nedaří se.
Je vytvořen pomocník pro přepínač a dále automatizace
alias: zapnoutpovypadku
description: „“
trigger:
– platform: time_pattern
minutes: /1
condition: []
action:
– if:
– condition: state
entity_id: input_boolean.zasuvka
state: „on“
then:
– type: turn_on
device_id: 15e0c8f85f21cd65a77bcad1214228b8
entity_id: f2e081d0c470f035400a5c404a28e614
domain: switch
– if:
– condition: state
entity_id: input_boolean.zasuvka
state: „off“
then:
– type: turn_off
device_id: 15e0c8f85f21cd65a77bcad1214228b8
entity_id: f2e081d0c470f035400a5c404a28e614
domain: switch
mode: single
Výpadek simuluji na pokusné zásuvce síťovým vypínačem.
Po jeho opětovném zapnutí se zásuvka nevrátila do stavu ON.
Aktuálně tedy mám nastaveno: spoouštěč – přechod střídače z EPS
akce: po 1min zapni zásuvku.
Toto však nepokryje sav, kdy potřebuji, aby byla opravdu Off.
Takových zařízení mám doma, ke své smůle několik. Jejich výměnu provedu až poté co se pokazí.