Moduł 25 · Lekcja 7
ESPHome state machine: CLOSED, OPENING, OPEN, CLOSING, PARTIALLY_OPEN, UNKNOWN i ERROR
Kurs Smart Home od Zera · LAB garaż i brama · Poziom: Zaawansowany
Gdy mam dwa wiarygodne czujniki i zmierzony czas ruchu, mogę opisać stan bramy uczciwiej niż prostym otwarte lub zamknięte. Maszyna stanów nie zgaduje: rozróżnia ruch, pozycję pośrednią, brak danych oraz sprzeczne sygnały. W stanie UNKNOWN lub ERROR blokuję automatyczne impulsy i wracam do oględzin na miejscu.
Publikujesz CLOSED, OPENING, OPEN, CLOSING, UNKNOWN, ERROR (oraz logikę częściowego otwarcia). Ruch z pilota Nice nie jest automatycznie OPENING/CLOSING. Endpoint fizyczny = źródło prawdy. Timeout nie staje się pozycją. Stary kontekst komendy wygasa, jeśli start się nie potwierdzi.
Wejście: CLOSED/OPEN powtarzalne, oba ON fizycznie niemożliwe, relay nie klika przy boot.
W module 25 kursu Smart Home od Zera (Home Assistant LAB · garaż i brama) lekcja Moduł 25 · Lekcja 7 to praktyka na prawdziwym napędzie: „ESPHome state machine: CLOSED, OPENING, OPEN, CLOSING, PARTIALLY_OPEN, UNKNOWN i ERROR”. Brama to maszyna z centralą, fotokomórkami i lokalnym sterowaniem - HA dodaje impuls, stan i alerty, nie zastępuje bezpieczeństwa napędu. LAB prowadzi dwie ścieżki (Shelly i ESPHome) od rozpoznania zacisków, przez fizyczne CLOSED, po dashboard i commissioning. Zasada: najpierw dokumentacja i testy na stole, potem SbS, potem logika - nigdy odwrotnie.
Kluczowe fakty z tej lekcji
| • | Kierunek tylko po własnej komendzie + odejściu od endstopu. |
| • | Pilot nie nadaje etykiety OPENING. |
| • | Fizyczny endpoint wygrywa z oczekiwaniem. |
| • | Timeout ≠ pozycja. |
| • | UNKNOWN/ERROR są legalnymi stanami. |
Czego się nauczysz
| ✓ | Warunki wejścia w OPENING/CLOSING |
| ✓ | Ruch zewnętrzny (pilot) vs komenda ESP |
| ✓ | PARTIALLY_OPEN / UNKNOWN / ERROR |
| ✓ | Wygasanie kontekstu komendy |
| ✓ | Timeout jako strażnik, nie czujnik |
| ✓ | Publikacja stanów do HA |
| ✓ | Test: stop w połowie, zanik Wi‑Fi, podwójny endstop |
| ✓ | Przygotowanie pod wspólną logikę HA |
Stan bez zgadywania kierunku
| 1. | Wdróż SM tylko na zaliczonych endpointach. |
| 2. | Zabroń OPENING przy ruchu z pilota bez własnej komendy. |
| 3. | Przetestuj timeout i wygaszenie kontekstu. |
| 4. | Upewnij się, że oba B-4S ON = ERROR. |
| 5. | Nie udawaj pozycji procentowej. |
Najczęściej zadawane pytania
Pilot = CLOSING w HA?
Nie - nie wiesz kierunku bez własnej komendy i endstopu.
Czas 12 s = OPEN?
Timeout to błąd/niepewność, nie OPEN.
PARTIAL jak 50% cover?
To brak obu endpointów, nie pozycja.
Ignorować UNKNOWN?
To uczciwszy stan niż kłamstwo CLOSED.