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
| Data | Versione | Note |
|---|---|---|
| 2026-05-19 | 0.2 | Aggiunta sezione HACS dettagliata e link wiki ufficiali |
| 2026-05-19 | 0.1 | Prima stesura |
Riferimenti ufficiali
| Risorsa | URL |
|---|---|
| Wiki. Integrazione Watcher + HA | https://wiki.seeedstudio.com/integrate_watcher_to_ha/ |
| Wiki. SenseCap Watcher panoramica | https://wiki.seeedstudio.com/watcher/ |
| Wiki. Notifiche HTTP Proxy | https://wiki.seeedstudio.com/http_proxy_notification/ |
| Wiki. Integrazione Xiaozhi + HA + Dify | https://wiki.seeedstudio.com/ha_dify_watcher_llms/ |
| GitHub. SenseCraft HomeAssistant | https://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à | Tipo | Descrizione |
|---|---|---|
sensor.watcher_task_result | sensor | Ultima stringa di rilevamento AI |
binary_sensor.watcher_alert | binary_sensor | on quando il task si attiva |
sensor.watcher_confidence | sensor | Confidence 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: motionPro
- 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
| Criterio | SenseCraft+HACS | MQTT locale | Webhook HTTP |
|---|---|---|---|
| Dipendenza cloud | ✅ Sì | ❌ No | ❌ No |
| Entità HA persistenti | ✅ Sì | ✅ Sì | ❌ No |
| Latenza | Media | Bassa | Bassa |
| Complessità setup | Bassa | Media | Bassa |
| Privacy | ⚠️ Cloud Seeed | ✅ Locale | ✅ Locale |
| Flessibilità payload | Bassa | Alta | Media |
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.