Inteligentne scenariusze alarmowe: Integracja detekcji AI Frigate z Home Assistant
Część 2 z 2 serii Monitoring wizyjny na własnym sprzęcie

Spis treści
Integracja Frigate NVR z systemem Home Assistant przekształca bierny monitoring wideo w aktywną, inteligentną platformę ochrony obwodowej. Tradycyjne silniki automatyzacji bazujące na prostym detektorze ruchu generują ciągłe fałszywe alarmy wywoływane przez ruchomą roślinność czy zwierzęta, co czyni syreny alarmowe i reflektory bezużytecznymi. Wykorzystując dane telemetryczne MQTT w czasie rzeczywistym oraz precyzyjne śledzenie obiektów przez AI z systemu Frigate, Home Assistant może uruchamiać ukierunkowane działania odstraszające – takie jak natychmiastowe powiadomienia push ze zdjęciami, aktywację naświetlaczy czy syrenę alarmową – wyłącznie po faktycznym wykryciu nieupoważnionych osób w określonych strefach bezpieczeństwa.
1. Architektura integracji: Broker MQTT i integracja Frigate
Most komunikacyjny pomiędzy Frigate NVR a Home Assistant opiera się na asynchronicznych wiadomościach MQTT oraz dedykowanej integracji systemowej:
- Strumień zdarzeń MQTT: System Frigate publikuje ładunki danych JSON w czasie rzeczywistym na temacie
frigate/eventsza każdym razem, gdy obiekt zostanie wykryty, zarejestrowany lub zaktualizowany w zdefiniowanych strefach kamer. - Integracja Frigate w Home Assistant: Zainstalowana za pośrednictwem HACS (Home Assistant Community Store), integracja ta automatycznie tworzy czujniki binarne, encje kamer oraz strumienie mediów w Home Assistant.
- Punkt końcowy pamięci podręcznej mediów: Zdjęcia w wysokiej rozdzielczości oraz klipy wideo z zarejestrowanych zdarzeń są udostępniane lokalnie poprzez bezpieczne punkty API (np.
/api/frigate/notifications/{event_id}/snapshot.jpg), co umożliwia ich bezpośrednie dołączanie do powiadomień mobilnych.
2. Konfiguracja MQTT i HACS krok po kroku
W celu zestawienia potoku telemetrycznego konieczne jest uwierzytelnienie i połączenie integracji ze wspólnym brokerem MQTT:
- Weryfikacja brokera MQTT: Upewnić się, że zarówno Frigate NVR, jak i Home Assistant są połączone z tą samą instancją brokera Mosquitto MQTT. Konfiguracja
mqtt.hostwe Frigate musi wskazywać adres IP brokera. - Instalacja Frigate przez HACS: Otworzyć HACS w Home Assistant, wyszukać Frigate w sekcji Integracje, pobrać repozytorium i zrestartować Home Assistant Core.
- Dodanie integracji: Przejść do Ustawienia > Urządzenia i usługi > Dodaj integrację, wybrać Frigate i wpisać lokalny adres URL HTTP instancji Frigate NVR (np.
http://192.168.10.20:5000).
3. Produkcyjna automatyzacja alarmowa w Home Assistant
Poniższy skrypt automatyzacji Home Assistant nasłuchuje zdarzeń MQTT z systemu Frigate, weryfikuje strefy, włącza naświetlacze, wysyła priorytetowe powiadomienie ze zdjęciem oraz uruchamia syrenę alarmową po wykryciu intruza w nocy:
alias: "Bezpieczeństwo: Detekcja intruza w strefie podjazdu"
description: "Uruchamia naświetlacze, syrenę i wysyła powiadomienia ze zdjęciem po wykryciu człowieka."
trigger:
- platform: mqtt
topic: frigate/events
condition:
- condition: template
value_template: "{{ trigger.payload_json['type'] == 'new' or (trigger.payload_json['type'] == 'update' and 'podjazd_prywatny' not in trigger.payload_json['before']['entered_zones']) }}"
- condition: template
value_template: "{{ trigger.payload_json['after']['label'] == 'person' }}"
- condition: template
value_template: "{{ 'podjazd_prywatny' in trigger.payload_json['after']['entered_zones'] }}"
- condition: template
value_template: "{{ trigger.payload_json['after']['top_score'] >= 0.80 }}"
- condition: time
after: "22:00:00"
before: "06:00:00"
action:
# 1. Włączenie naświetlaczy zewnętrznych
- service: light.turn_on
target:
entity_id: light.naswietlacz_podjazd
data:
brightness_pct: 100
# 2. Uruchomienie syreny alarmowej na 15 sekund
- service: siren.turn_on
target:
entity_id: siren.syrena_zewnetrzna
data:
duration: 15
# 3. Wysyłka powiadomienia mobilnego ze zdjęciem w wysokiej rozdzielczości
- service: notify.notify
data:
title: "🚨 WYKRYTO INTRUZA"
message: "Wykryto nieupoważnioną osobę w prywatnej strefie podjazdu."
data:
image: "/api/frigate/notifications/{{ trigger.payload_json['after']['id'] }}/snapshot.jpg"
tag: "intruz_podjazd"
priority: high
ttl: 0
clickAction: "/api/frigate/notifications/{{ trigger.payload_json['after']['id'] }}/clip.mp4"
mode: single
4. Optymalizacja powiadomień i eliminacja fałszywych wyzwoleń krok po kroku
W celu zapewnienia niezawodności działania i uniknięcia niepotrzebnych powiadomień należy wdrożyć precyzyjne parametry filtrowania:
- Próg pewności detekcji (Confidence Score): Wymagać minimalnej wartości
top_scorena poziomie0.80(80% prawdopodobieństwa) w warunkach automatyzacji, aby odrzucić niepewne klasyfikacje. - Weryfikacja stref (Entered Zones): Warunki wyzwolenia opierać na tablicy
entered_zoneszamiast na ogólnym ruchu, ograniczając alarmy wyłącznie do obszaru prywatnej posesji. - Ograniczanie częstotliwości (Throttling): Ustawić tryb wykonywania automatyzacji na
singlez buforem opóźnienia, co zapobiega wielokrotnemu wysyłaniu alertów podczas długotrwałej obecności obiektu.
5. Podsumowanie i wartość architektoniczna
Co da się osiągnąć dzięki temu poradnikowi: Wdrożenie zaawansowanej integracji detekcji obiektów AI z Frigate NVR w systemie Home Assistant przy użyciu MQTT i HACS, tworzącej zautomatyzowany, precyzyjny system reagowania alarmowego.
Wynikająca z tego wartość: Uciążliwe, fałszywe alarmy wywoływane przez deszcz, cienie czy zwierzęta zostają całkowicie wyeliminowane. Działania odstraszające – takie jak naświetlacze, syreny dźwiękowe oraz natychmiastowe powiadomienia push ze zdjęciami i linkami do wideo – uruchamiają się wyłącznie po zweryfikowanym wtargnięciu człowieka. Zapewnia to natychmiastową świadomość sytuacyjną oraz skuteczną ochronę posesji bez opłat za subskrypcje chmurowe.
Pytania i odpowiedzi
Czy system alarmowy działa także przy awarii połączenia z internetem?
W większej części tak. Detekcja we Frigate, broker MQTT, automatyzacja w Home Assistant, naświetlacze i syrena działają w sieci lokalnej i nie potrzebują połączenia na zewnątrz. Inaczej jest z powiadomieniem push na telefon: nie trafia ono bezpośrednio z serwera do urządzenia, lecz zwykle przez usługi powiadomień Apple i Google, więc bez internetu nie dociera do telefonu poza domem. Tylko w domowej sieci Wi-Fi aplikacja Companion może, zależnie od ustawień, odbierać powiadomienia bezpośrednio z Home Assistant.
Druga zależność tkwi w obrazie. Automatyzacja nie wysyła zdjęcia, tylko ścieżkę, /api/frigate/notifications/…/snapshot.jpg; telefon pobiera obraz z Home Assistant dopiero przy wyświetlaniu powiadomienia. Poza domem udaje się to tylko wtedy, gdy Home Assistant jest osiągalny z zewnątrz; w przeciwnym razie powiadomienie pojawia się bez obrazu, a klipu nie da się otworzyć.
Alarm, który ma do kogoś dotrzeć także przy awarii łącza, potrzebuje więc drogi, która nie biegnie przez to samo łącze, na przykład połączenia komórkowego jako zapasowego na routerze. Syrena na miejscu jest od tego wszystkiego niezależna.
Dlaczego sam tryb single nie zapobiega wielokrotnym powiadomieniom?
Bo single blokuje drugie uruchomienie tylko dopóty, dopóki trwa pierwsze, a ono kończy się niemal natychmiast po włączeniu światła, syreny i wysłaniu powiadomienia: 15 sekund syreny odlicza urządzenie, a nie automatyzacja. Dopiero końcowa akcja delay, na przykład na kilka minut, sprawia, że przebieg trwa dalej, a kolejne wyzwolenia w tym czasie przepadają. Parametr tag powiadomienia powoduje ponadto, że nowe powiadomienie na telefonie zastępuje starsze o tej samej wartości, zamiast pojawiać się obok niego.
Monitoring wizyjny na własnym sprzęcie
- Inżynieria pamięci masowej i przepustowości dla sieci CCTV
- Inteligentne scenariusze alarmowe: Integracja detekcji AI Frigate z Home Assistant