LW IT Solutions
« Przegląd bloga /CCTV/Tutorials / Inteligentne scenariusze alarmowe: Integracja detekcji AI Frigate...
Ten artykuł w innych językach:

Inteligentne scenariusze alarmowe: Integracja detekcji AI Frigate z Home Assistant

Część 2 z 2 serii Monitoring wizyjny na własnym sprzęcie

Inteligentne scenariusze alarmowe: Integracja detekcji AI Frigate z Home Assistant
Spis treści
  1. 1. Architektura integracji: Broker MQTT i integracja Frigate
  2. 2. Konfiguracja MQTT i HACS krok po kroku
  3. 3. Produkcyjna automatyzacja alarmowa w Home Assistant
  4. 4. Optymalizacja powiadomień i eliminacja fałszywych wyzwoleń krok po kroku
  5. 5. Podsumowanie i wartość architektoniczna
  6. Pytania i odpowiedzi
  7. Źródła

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/events za 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.
Kaskada pięciu warunków filtrujących zdarzenie MQTT z Frigate aż do prawdziwego alarmu, który uruchamia naświetlacze, syrenę i powiadomienie push
Każdy warunek usuwa jeden rodzaj fałszywego alarmu, zanim cokolwiek się uruchomi. Dopiero zdarzenie, które przetrwa wszystkie pięć, włącza światło, syrenę i powiadomienie.

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:

  1. 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.host we Frigate musi wskazywać adres IP brokera.
  2. Instalacja Frigate przez HACS: Otworzyć HACS w Home Assistant, wyszukać Frigate w sekcji Integracje, pobrać repozytorium i zrestartować Home Assistant Core.
  3. 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:

  1. Próg pewności detekcji (Confidence Score): Wymagać minimalnej wartości top_score na poziomie 0.80 (80% prawdopodobieństwa) w warunkach automatyzacji, aby odrzucić niepewne klasyfikacje.
  2. Weryfikacja stref (Entered Zones): Warunki wyzwolenia opierać na tablicy entered_zones zamiast na ogólnym ruchu, ograniczając alarmy wyłącznie do obszaru prywatnej posesji.
  3. Ograniczanie częstotliwości (Throttling): Ustawić tryb wykonywania automatyzacji na single z 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

  1. Inżynieria pamięci masowej i przepustowości dla sieci CCTV
  2. Inteligentne scenariusze alarmowe: Integracja detekcji AI Frigate z Home Assistant
Lukas Wójcik

Lukas Wójcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Napisanie komentarza

Doświadczenia z innymi kamerami, obiektywami lub rejestratorami oraz pytania o konfigurację są tu mile widziane.

Adres e-mail nie jest publikowany. Pola obowiązkowe oznaczono gwiazdką.

Artykuły i kategorie

CCTV

Śledź tę kategorię przez RSS

Cloud & AI

Wszystkie artykuły w tej kategorii (11) Śledź tę kategorię przez RSS

Data Privacy

Wszystkie artykuły w tej kategorii (18) Śledź tę kategorię przez RSS

Digital Analytics

Wszystkie artykuły w tej kategorii (58) Śledź tę kategorię przez RSS

Digital Marketing

Wszystkie artykuły w tej kategorii (37) Śledź tę kategorię przez RSS

IT & Networks

Wszystkie artykuły w tej kategorii (17) Śledź tę kategorię przez RSS

Music Production

Wszystkie artykuły w tej kategorii (16) Śledź tę kategorię przez RSS

Raspberry Pi

Śledź tę kategorię przez RSS

SaaS & Internet Earning

Artykuły w przygotowaniu

Smart Home

Wszystkie artykuły w tej kategorii (18) Śledź tę kategorię przez RSS

Tworzenie stron internetowych

Wszystkie artykuły w tej kategorii (11) Śledź tę kategorię przez RSS

Wtyczki i triki WordPress

Wszystkie artykuły w tej kategorii (13) Śledź tę kategorię przez RSS