SenseCap Watcher: Integrazione con Home Assistant

Il SenseCap Watcher W1-A è un dispositivo di visione AI edge prodotto da Seeed Studio. Monta un piccolo schermo frontale, una fotocamera, un microfono e capacità di inferenza AI locale (riconoscimento oggetti, persone, scene). La connettività è Wi-Fi; i metodi di output principali sono MQTT, HTTP webhook e la piattaforma cloud SenseCraft.


Changelog

DataVersioneNote
2026-05-190.2Aggiunta sezione HACS dettagliata e link wiki ufficiali
2026-05-190.1Prima stesura

Riferimenti ufficiali

RisorsaURL
Wiki. Integrazione Watcher + HAhttps://wiki.seeedstudio.com/integrate_watcher_to_ha/
Wiki. SenseCap Watcher panoramicahttps://wiki.seeedstudio.com/watcher/
Wiki. Notifiche HTTP Proxyhttps://wiki.seeedstudio.com/http_proxy_notification/
Wiki. Integrazione Xiaozhi + HA + Difyhttps://wiki.seeedstudio.com/ha_dify_watcher_llms/
GitHub. SenseCraft HomeAssistanthttps://github.com/Seeed-Solution/SenseCraft-HomeAssistant

Metodi di integrazione

Esistono tre percorsi principali per collegare il Watcher a Home Assistant. Differiscono per dipendenza da cloud, latenza e flessibilità.


1. SenseCraft + Integrazione HA (HACS)

Come funziona Il Watcher si collega alla piattaforma cloud SenseCraft (Seeed). L’integrazione custom SenseCraft-HomeAssistant (installabile via HACS) autentica l’account e importa automaticamente i dispositivi come entità HA.

Nota: Questo metodo richiede il firmware standard del Watcher. Non è compatibile con il firmware Xiaozhi. Per Xiaozhi, vedere la guida dedicata.


Fase 1: Installare HACS

Se HACS non è già presente su HA, seguire questi passi.

Step 1. Abilitare Advanced Mode

In HA: clicca sull’icona profilo (angolo in basso a sinistra) → scorri fino a Advanced Mode → attiva il toggle.

Step 2. Installare l’add-on Terminal & SSH

Impostazioni → Add-on store → cerca Terminal & SSH → installa → avvia.

Step 3. Installare HACS via terminale

Apri il terminale Terminal & SSH e lancia:

cd /config
wget -q -O - https://install.hacs.xyz | bash -

Al termine riavvia HA: Impostazioni → Sistema → Riavvia.

Step 4. Aggiungere l’integrazione HACS

Dopo il riavvio: Impostazioni → Dispositivi e servizi → Aggiungi integrazione → cerca HACS.

Accetta i termini di utilizzo (check tutte le caselle) → clicca Invia.

Ti verrà chiesto di autenticarti con un account GitHub. Segui le istruzioni a schermo: inserisci il codice di verifica fornito da GitHub per autorizzare l’accesso. HACS completerà l’installazione e potrebbe richiedere un secondo riavvio.


Fase 2: Installare il plugin SenseCraft

Step 5. Aggiungere il repository custom in HACS

Apri HACS dalla sidebar → clicca il menu (tre puntini in alto a destra) → Custom repositories.

Nel campo URL incolla:

https://github.com/Seeed-Solution/SenseCraft-HomeAssistant.git

Nel campo categoria seleziona Integration → clicca Add.

Step 6. Scaricare e installare SenseCraft

In HACS → Integrations → cerca SenseCraft → clicca Download → conferma.

Riavvia HA per completare l’installazione.


Fase 3: Integrare il Watcher

Step 7. Aggiungere l’integrazione SenseCraft

Impostazioni → Dispositivi e servizi → Aggiungi integrazione → cerca SenseCraft.

Accedi con le credenziali dell’account SenseCraft (lo stesso usato nell’app). HA importerà automaticamente i dispositivi associati all’account, incluso il Watcher.

Step 8. Verifica entità create

Il Watcher appare come dispositivo con entità sensor.* per ogni task AI configurato.

Entità tipicamente create

EntitàTipoDescrizione
sensor.watcher_task_resultsensorUltima stringa di rilevamento AI
binary_sensor.watcher_alertbinary_sensoron quando il task si attiva
sensor.watcher_confidencesensorConfidence score (0-100)

Pro

  • Setup minimale, nessuna configurazione MQTT manuale.
  • Aggiornamenti OTA del firmware gestiti dal cloud.

Contro

  • Dipendenza da internet e dalla piattaforma Seeed.
  • Latenza extra (cloud → HA) rispetto a una soluzione locale.
  • Privacy: i frame o i metadati transitano su server esterni.

2. MQTT locale

Come funziona Il Watcher pubblica i risultati dei task AI su un topic MQTT definito dall’utente. HA li riceve tramite l’integrazione MQTT nativa (broker Mosquitto locale).

Configurazione sul Watcher

Nel menu del Watcher (o via SenseCraft app → Device → Settings → Notification):

Notification method: MQTT
Broker: 192.168.x.x   ← IP del tuo broker Mosquitto
Port: 1883
Topic: sensecap/watcher/<device_id>
Username: <user>
Password: <password>

Payload di esempio

{
  "device_eui": "2CF7F1C04300XXXX",
  "timestamp": 1716120000,
  "task": "person_detected",
  "result": "detected",
  "confidence": 92,
  "image_url": ""
}

Configurazione HA (configuration.yaml)

mqtt:
  sensor:
    - name: "Watcher Task Result"
      state_topic: "sensecap/watcher/2CF7F1C04300XXXX"
      value_template: "{{ value_json.result }}"
      unique_id: "watcher_task_result"
 
    - name: "Watcher Confidence"
      state_topic: "sensecap/watcher/2CF7F1C04300XXXX"
      value_template: "{{ value_json.confidence }}"
      unit_of_measurement: "%"
      unique_id: "watcher_confidence"
 
  binary_sensor:
    - name: "Watcher Alert"
      state_topic: "sensecap/watcher/2CF7F1C04300XXXX"
      value_template: "{{ value_json.result }}"
      payload_on: "detected"
      payload_off: "not_detected"
      unique_id: "watcher_alert"
      device_class: motion

Pro

  • Completamente locale, zero cloud.
  • Bassa latenza (LAN).
  • Nessun dato esce dalla rete.

Contro

  • Richiede broker MQTT raggiungibile dal Watcher.
  • La struttura del payload può variare tra versioni firmware, verificare sempre con un client MQTT (es. MQTT Explorer) prima di configurare i template.

Nota: Il Watcher non supporta MQTT over TLS nelle versioni firmware attuali. Tenerlo su rete LAN isolata o VLAN IoT.


3. HTTP Webhook

Come funziona Il Watcher invia una richiesta HTTP POST all’endpoint webhook di HA quando un task AI si attiva.

Configurazione HA

Creare un webhook in HA: Impostazioni → Automazioni → Crea automazione → Trigger: Webhook.

HA genera un URL del tipo:

http://<ha-ip>:8123/api/webhook/<webhook_id>

Configurazione sul Watcher

Notification method: HTTP
URL: http://192.168.x.x:8123/api/webhook/<webhook_id>
Method: POST
Content-Type: application/json

Automazione HA di esempio

alias: "Watcher - Persona rilevata"
trigger:
  - platform: webhook
    webhook_id: "<webhook_id>"
    allowed_methods:
      - POST
condition:
  - condition: template
    value_template: "{{ trigger.json.result == 'detected' }}"
action:
  - service: notify.mobile_app
    data:
      message: "Watcher: {{ trigger.json.task }} ({{ trigger.json.confidence }}%)"

Pro

  • Non richiede broker MQTT.
  • Semplice da configurare per automazioni one-shot.

Contro

  • Il webhook di default è non autenticato (chiunque sulla rete può chiamarlo).
  • Meno flessibile per stream continui di dati rispetto a MQTT.
  • Non crea entità persistenti: lo stato esiste solo nell’automazione al momento del trigger.

Confronto tra metodi

CriterioSenseCraft+HACSMQTT localeWebhook HTTP
Dipendenza cloud✅ Sì❌ No❌ No
Entità HA persistenti✅ Sì✅ Sì❌ No
LatenzaMediaBassaBassa
Complessità setupBassaMediaBassa
Privacy⚠️ Cloud Seeed✅ Locale✅ Locale
Flessibilità payloadBassaAltaMedia

Task AI configurabili sul Watcher

Il Watcher permette di definire task testuali in linguaggio naturale che vengono eseguiti localmente o via modello cloud. Esempi pratici:

  • "Tell me when you see a person"
  • "Notify me if a cat is present"
  • "Alert when a vehicle enters the frame"
  • "Detect if a fire or smoke is visible"

Ogni task genera un output binario (detected / not_detected) + confidence score che viene poi inviato tramite il metodo di notifica configurato.


Use case in Home Assistant

  • Rilevamento presenze: alternativa a PIR/radar in ambienti dove serve conferma visiva.
  • Sicurezza perimetrale: trigger per luci, allarmi, notifiche push quando si rileva una persona fuori orario.
  • Automazione contestuale: accendere la TV solo se una persona è effettivamente seduta sul divano.
  • Monitoraggio animali domestici: rilevare presenza del gatto in una stanza specifica.
  • Integrazione con Frigate: il Watcher può affiancare Frigate NVR su angoli ciechi dove una IP camera tradizionale è sovradimensionata.

Note e avvertenze

Il Watcher non è una IP camera standard. Non espone un feed RTSP nativo accessibile da Frigate o go2rtc nelle versioni firmware attuali. È pensato per output AI, non per streaming video grezzo.

Verificare sempre la versione firmware prima di configurare il payload MQTT. Seeed ha modificato la struttura JSON tra alcune release.

Per uso in produzione preferire sempre MQTT locale rispetto al cloud per garantire funzionamento offline e ridurre dipendenze esterne.