Usare un dispositivo Android come IP Cam su Home Assistant

4 minuti di lettura
SCOPI DELLA GUIDA
  • Integrare uno smartphone o un tablet Android come IP Cam  su Home Assistant
  • Livello di difficoltàbasso
  • Categoria d’integrazione: Local Polling
CONCETTI AFFRONTATI:
  • Utilizzo e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI
DISPOSITIVI FISICI UTILIZZATI:
GUIDA maggiormente indicatA per:

Android

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione guida: 1.2

Abstract

Molti di noi posseggono vecchi smartphone e/o tablet basati su Android magari non più utilizzati per obsolescenza o altri motivi. Stanno abbandonati, chiusi in polverosi cassetti, in attesa che qualcuno si ricordi di loro… per buttarli o per offrirgli una nuova vita.

Questa guida illustra come utilizzare un vecchio dispositivo Android (ma nulla vieta di utilizzarne uno nuovo, ben inteso) come IP Cam di sorveglianza domestica presso Home Assistant: si tratta di un’integrazione particolarmente semplice da realizzare e al contempo particolarmente funzionale, sia per la possibilità di dotarsi di una IP Cam a costo zero, sia per la flessibilità delle entità che questa integrazione fornisce.

Il meccanismo è piuttosto semplice:

  • si installa e configura un’app presso Android;
  • si esegue la modalità server di tale app (la quale espone sulla rete locale il flusso video);
  • si configura l’integrazione su Home Assistant;
  • vengono generale le entità fornite da tale integrazione.

Come vedremo, la cosa particolarmente apprezzabile di tale integrazione non sta solo nella possibilità di ottenere uno stream video, ma anche nella la possibilità di censire alcune metriche del dispositivo (batteria, livello di luminosità, rilevazione presenza ecc.) nonché di controllarne alcune funzionalità (gestione del GPS, dei parametri della telecamera, eccetera). La configurazione dell’app Android, inoltre, è valida anche per l’utilizzo su Network Video Recorder (come per esempio motionEye).

ATTENZIONE: Per capire fino in fondo questa guida si consiglia la lettura di questa scheda formativa.

Si parte

Installazione app

In primis è necessario installare sul dispositivo target l’applicazione IP Webcam.

N.b. L’applicazione indicata è solo consigliata: in realtà questa integrazione IP Cam accetta qualsiasi stream MJPEG, quindi l’app è solo consigliata in quanto in grado di erogare questo tipo di funzionalità. Per l’integrazione dei sensori e degli switch di controllo del dispositivo Android, invece, l’integrazione descritta in questa guida prevede esplicitamente l’utilizzo di IP Webcam.

android_ip_webcam - icon

Configurazione app

L’app è piuttosto articolata: la configurazione può essere altrettanto dettagliata, per quanto nella presente guida descriveremo solo i passi fondamentali al raggiungimento dello scopo.

I più curiosi sicuramente avranno cura di perfezionare la configurazione sia delle “Preferenze Video“, sia delle “Impostazioni di connessione / broadcasting locale“:

A prescindere da queste configurazioni, per avviare lo streaming è necessario e sufficiente:

  • accertarsi che il dispositivo sia collegato alla medesima rete/Wi-Fi del dispositivo che ospita Home Assistant e che l’assegnazione dell’IP sia fissa;
  • accertarsi che il dispositivo sia collegato ad una fonte di alimentazione;
  • abilitare la voce “Data logging / Enable data logging

dopodiché è sufficiente cliccare su “Avvio del server“:

Android IP Webcam - App - 4

A questo punto l’app avvierà la funzionalità di streaming e presenterà una schermata che non solo rappresenterà ciò che la telecamera vede, ma anche l’indirizzo assegnato allo streaming:

Android IP Webcam - App - 3

L’indirizzo (o meglio, gli indirizzi, dato che viene fornito sia quello http – non sicuro – che l’https – sicuro) non è specificamente necessario all’integrazione; quel che è certamente necessario conosce è la porta (in questo caso 8080) e l’IP (statico, in questo caso 192.168.1.19).

Integrazione Home Assistant

A questo punto abbiamo tutti gli elementi per provvedere all’integrazione con Home Assistant.
La configurazione base da inserire è la seguente:

android_ip_webcam:
  - host: 192.168.1.19
  - port: 8080

la quale provvede all’attivazione della componente e alla generazione della entità relativa alla IP Cam, la quale sarà di tipo “Camera“.
Ovviamente il campo “host” rappresenterà l’IP del server eseguito presso il dispositivo Android, mentre “port” ovviamente la porta TCP/IP.

Per integrare anche i sensori e gli switch citati nell’abstract è necessario aggiungere alcuni campi.
Vediamo tutti quelli disponibili:

host (Stringa, obbligatorio) IP (statico) del dispositivo Android presso la Wi-Fi domestica.
port (Stringa, opzionale) Porta TCP/IP sul quale il dispositivo espone il servizio di streaming. Default: 8080.
name (Stringa, opzionale) Definisce il nome dell’entità. Default: IP Webcam.
username (Stringa, opzionale) Username d’accesso al servizio. Viene definita su Android presso l’app IP Webcam.
password (Stringa, opzionale) Password d’accesso al servizio. Viene definita su Android presso l’app IP Webcam.
scan_interval (Intero, opzionale) Definisce l’intervallo di aggiornamento. Default: 10.
sensors (Lista, opzionale) Definisce quali sensori attivare.

audio_connections Connessioni audio.
battery_level Livello di carica della batteria del dispositivo.
battery_temp Temperatura della batteria del dispositivo.
battery_voltage Voltaggio della batteria del dispositivo.
light Il livello di luminosità rilevato dal dispositivo.
motion Sensore di movimento (basato sull’immagine della telecamera).
pressure Pressione barometrica (se disponibile) rilevata dal dispositivo.
sound Rilevamento di rumore da parte del dispositivo.
video_connections Connessioni video.
switches (Lista, opzionale) Definisce quali switch attivare.

exposure_lock Attiva/disattiva il blocco d’esposizione.
ffc Attiva/disattiva la telecamera frontale.
focus Controlla il fuoco della telecamera.
gps_active Attiva/disattiva il GPS del dispositivo.
night_vision Attiva/disattiva la visione notturna del dispositivo.
overlay Attiva/disattiva l’overlay.
torch Attiva/disattiva il led d’illuminazione del dispositivo.
whitebalance_lock Attiva/disattiva il bilanciamento automatico del bianco.
video_recording Attiva/disattiva la registrazione video (comodo in abbinamento automatico con il sensore di rilevamento di movimento.
motion_sensor (Booleano, opzionale) Attiva il sensore di movimento laddove auto_discovery sia disabilitato.

Un esempio completo di configurazione:

android_ip_webcam:
  - host: 192.168.1.202
    port: 8000
    sensors:
      - audio_connections
      - battery_level
      - battery_temp
      - battery_voltage
      - light
      - motion
      - pressure
      - proximity
      - sound
      - video_connections
    switches:
      - exposure_lock
      - ffc
      - focus
      - gps_active
      - night_vision
      - overlay
      - torch
      - whitebalance_lock
      - video_recording

Uso

Questa integrazione, come spiegato, fornisce entità di tipo “Camera”, “Sensor” e “Switch”, le quali possono essere utilizzate in modo ordinario sia presso frontend che tramite automazioni.

Tra i vari sensori, come già suggerito, il più interessante è quello dedicato alla rilevazione del movimento (“motion“):  in abbinamento allo switch “video_recording” e magari a un sistema d’allarme integrato a Home Assistant, viene particolarmente utile per l’eventuale rilevazione e innesco allarme in caso di presenza intrusi.

Home Assistant su Raspberry Pi: le varie installazioni, le cose da fare


Home Assistant Official Logo ATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Telegram News Channel