[AI路由器] 在HomeAssistant 串接Frigate

這篇教學將帶您完成在 HomeAssistant 中串接 Frigate,並展示如何利用 AI 物件偵測來觸發自動化事件。透過這些步驟,您將能夠充分發揮 Frigate 的強大功能,提升您的智慧家庭體驗。

 

前置準備

在開始之前,請確保您已完成以下準備工作:

    1. 已安裝並設定好 Home Assistant,並能正常運作。可參考 Home Assistant 安裝與入門教學

    2. 已安裝並設定好 Frigate,並能正常運作。可參考 安裝Frigate設定 Frigate 攝影機

    3. 在Home Assistant 中已安裝 MQTT Broker (如 Mosquitto),並能正常運作。可參考 在 Home Assistant 增加 MQTT Broker

    4. 在Home Assistant 中已安裝 HACS,並能正常運作。可參考 HACS 安裝教學

 

 

1. 在HACS 中安裝 Frigate 整合

  • 進入 Home Assistant HACS 頁面,搜尋 [Frigate],並點擊安裝。

  • 仔細閱讀安裝說明,確認無誤後,點擊 [DOWNLOAD] 進行安裝。

  • 安裝完成後,重新啟動 Home Assistant 以載入新的整合。

 

 

2. 設定 Frigate 整合

  • 重新啟動完成後,點擊「設定(Settings)」-->「裝置與服務(Devices & Services)」。

 

  • 點擊右下角的「新增整合(Add integration)」--> 然後在搜尋框中輸入 Frigate,找到後進入。

 

  • 在彈出的視窗中,輸入 Frigate URL,Validate SSL 取消選取,輸入Frigate 使用者名稱及密碼。

 

  • 接下來你會看到Frigate 中已設定的攝影機。

 

  • 點擊完成後,會看到已成功新增 Frigate 整合。

 

  • 新增到儀表板後,可以看到影像及偵測物件的情況,這是物件的情況都是 Unavailable,因為還要修改 Frigate 的設定檔,讓它能夠將偵測到的物件資訊傳送到 Home Assistant。

 

 

 

3. 修改 Frigate 設定檔,加入MQTT 資訊

  • 進入 Frigate 的管理介面,點選左側選單的 Configuration editor。
  • 修改設定檔如下範例,將 cameras 區塊中的 Name the cameraRTSP URL 替換成您的攝影機名稱及 RTSP 串流網址。 RTSP URL 各品牌的格式可能不同,請參考您的攝影機說明文件取得正確的 RTSP URL 格式。 <username><password> 是您在攝影機設定的 RTSP 專用帳號密碼,<IPCam IP> 是攝影機的 IP 位址,請記得替換成您的攝影機資訊。
  • 修改 mqtt 區塊中的 hostuserpassword 替換成您的 MQTT Broker IP 及帳號密碼。
  • 調整完設定檔後,點選右上角的 Save & Restart 儲存設定,並重新啟動 Frigate 讓設定生效。

mqtt: 
     enabled: false 
     host: <YOUR AI Board IP>   # 你的 MQTT Broker 伺服器 IP(或容器網路名稱) 
     port: 1883 
     topic_prefix: frigate 
     user: <Mosquitto USERNAME>                # 你在 MQTT Broker 建立的使用者 
     password: <Mosquitto PASSWORD> # 你在 MQTT Broker 建立的使用者 
     client_id: frigate 
detectors: 
    routernpu: 
        type: npu

 

model: 
      path: /cpu_model.tflite 
      width: 320 
      height: 320

 

objects: 
    track: 
      - person 
    filters: 
      person: 
          min_score: 0.40     # 低於此分數的框直接丟棄、不追蹤 
          threshold: 0.40     # 事件/通知的判定門檻(提高可減少誤報)

 

cameras: 
    AMCREST_Example: # <- Name the camera 
          enabled: true 
          ffmpeg:

             hwaccel_args: -c:v h264_v4l2m2m    #使用硬體加速

             input_args: preset-rtsp-generic    #使用硬體加速

             inputs: 
                - path: rtsp://<username>:<password>@<IPCam IP>:554/cam/realmonitor?channel=1&subtype=0 # <- RTSP URL 
                   roles: 
                      - detect 
          detect: 
              enabled: true # <---- disable detection until you have a working camera feed
              width: 640
              height: 360

 

Tapo_Example: # <- Name the camera
   enabled: true
   ffmpeg:
      hwaccel_args: -c:v h264_v4l2m2m    #使用硬體加速

      input_args: preset-rtsp-generic    #使用硬體加速

      inputs: 
        - path: rtsp://<username>:<password>@<IPCam IP>:554/stream1 # <- RTSP URL
          roles: 
             - detect
   detect:
       enabled: true # <---- disable detection until you have a working camera feed
       width: 640
       height: 360

 

version: 0.15-1

 

 

4. 在Home Assistant 中進行自動化設定

  • 回到 Home Assistant 的儀表板,您就可以看到 Frigate 偵測到的物件數量。

 

  • 接下來可以進入「設定(Settings)」-->「自動化與場景(Automations & Scenes)」,點擊右下角的「新增自動化(Add Automation)」。這邊以「當偵測到有人時,開啟燈光」為例。

 

  • 「When」 的部份按下「增加觸發(Add Trigger)」。

 

  • 選擇「實體(Entities)」,選擇剛剛 Frigate 新增的攝影機,選擇「Person count」事件。數值設定大於 0,代表偵測到有人時觸發。

 

  • 「Then」 的部份按下「增加動作(Add Action)」,選擇「裝置(Device)」,選擇要控制的燈光裝置,並設定開啟燈光。

 

 

 

 

這樣當偵測到有人時,開啟燈光的自動化就完成了。您可以依照需求,設定更多不同的自動化事件,讓您的智慧家庭更加聰明。

 

 

 

 

如何取得(Utility / Firmware)?

您可以在華碩下載中心取得最新的軟體,手冊,驅動程式和韌體。

如果您需要有關華碩下載中心的更多訊息,請參考此連結