Guarda camera da casa secondaria in Home Assistant
Ho scritto non molto tempo fa un post sulla gestione della mia casa secondaria con Home Assistant. Grazie al componente la magia è possibile, ma un aggiornamento di HA ha complicato un po’ le cose. Qualche giorno fa c’è stato il problema che il componente non riusciva più a collegarsi con le istanze remote, poi da sempre (per me) non è possibile visualizzare le camere remote.
Problema collegamento istanze remote
Il primo caso si risolve aggiornando il componente all’ultima versione (> 3.4 o master) e installarlo anche nelle istanze remote. Inoltre nelle istanze remote si deve aggiungere alla configurazione 2 semplici righe:
remote_homeassistant:
instances:
I dettagli li potete trovare nella issue su GitHub.
Visualizzare camera di una istanza remota
Secondo un bug riportato su GitHub da molto tempo le camere remote non sono visibili nell’istanza principale. Non era un problema urgente per me, ma prima o poi volevo sistemare anche con un bricolage la situazione. Così ho aggirato il problema.
Requisito / informazione
La webcam è accessibile tramite la rete dall’istanza principale di Home Assistant. Nel mio caso uso una Tapo C200 che dispone di uno stream rtsp
.
Comando shell
Prima di tutto si deve scaricare l’immagine dalla istanza remota grazie all’api si HA. Questa permette di visualizzare un’immagine all’apertura della pagina in Lovelance.
Nella configurazione dell’istanza principale aggiungere:
shell_command:
take_camera_picture: 'curl -X GET -H "Authorization: Bearer ABCDEF" -H "Content-Type: application/json" https://example.com/api/camera_proxy/camera.your_camera_name -o ./www/image.jpg'
Sostituire l’indirizzo con quello della HA remota e dell’entità camera. Sostituire ABCDEF
con un token permanente.
Chiamando questo comando è verrà salvata l’immagine image.jpg
nella cartella /config/www/
(creare la cartella se non è presente, maggiori informazioni).
Automazione
Un automazione può chiamare il comando shell regolarmente per aggiornare l’immagine. Esempio per eseguire il comando ogni 15 minuti.
alias: Save camera picture
description: ''
trigger:
- platform: time_pattern
minutes: /15
condition: []
action:
- service: shell_command.take_camera_picture
mode: single
Camera generica
Nell’istanza principale creare una camera generica che utilizza l’immagine dell’automazione come immagine ferma e lo stream rtsp
quando si vuole guardare lo streaming live.
camera:
- platform: generic
name: Camera RTSP
stream_source: rtsp://user:password@1.2.3.4:554/stream2
still_image_url: https://home.momo.casa/local/image.jpg
Sostituire il nome utente e password dello streaming rtsp, modificare anche l’indirizzo IP.
Lo so non è una soluzione super elegante, ma funziona!