Home Assistant -Notifiche Telegram con Snapshot da Videocamere di Sicurezza
di Luigi Duchi
03 Novembre 2019
Guide
In passato abbiamo avuto più volte modo di parlare di come integrare varie funzioni all'interno del nostro personal HUB Home Assistant.
Abbiamo parlato di come creare un bot Telegram che possa notificare mediante un messaggio e opzionalmente anche una foto, un determinato evento.
Home Assistant - aggiungiamo le notifiche Telegram
Abbiamo utilizzato anche Motion eye, un software di gestione delle telecamere installato direttamente sul nostro Raspberry
Hackeriamo le CAM Xiaomi Xiaofang e usiamo Motion EYE per visualizzarle in Home Assistant
Con il tempo ho notato che il software di gestione telecamere Motion Eye impegnava non poco la cpu del Raspberry, così sono passato ad utilizzare direttamente su Home Assistant il component FFMPEG e il component STREAM
Dopo vedremo come configurare al meglio questi due component e la telecamera.
Certo Motion EYE permette di rilevare il movimento direttamente dalla telecamera, invece con questi due component non si può, se non utilizzando un sensore di movimento supplementare.
Ad oggi credo che questo sia il miglior compromesso se non ci si vuol dotare di hardware "esagerato" per la gestione delle CAM.
Per questa guida io ho utilizzato dei sensori di movimento Xiaomi
Lo potrete acquistare al seguente link Amazon:
Il sensore era già presente nel mio impianto per accendere la luce del portico.
Il rilevatore in questione lavora con il protocollo Zigbee perciò lo potrete abbinare ad Home Assistant mediante l'utilizzo del proprio gateway
oppure grazie alla chiavetta usb zigbee2mqtt come abbiamo discusso in questa Guida QUI.
Ovviamente questa guida è valida con qualsiasi altro tipo di sensore, con qualsiasi protocollo di comunicazione, purchè sia stato precedentemente configurato su Home Assistant.
Veniamo al dunque, che cosa faremo oggi?
Semplice ci faremo inviare uno screenshot sul nostro Telegram alla rilevazione di movimento del sensore.
vediamo come fare:
per prima cosa, come anticipato, dovrete inserire in configuration.yaml i due component ffmpeg e stream.
Lo farete aggiungendo queste due stringhe:
ffmpeg:
stream:
una volta che avete inserito queste due stringhe, sarà necessario inserire la vostra videocamera in HA
per farlo vi servirà il flusso video RTSP della telecamera. Ogni telecamera si differenzia dall'altra per la sintassi del codice rtsp, in genere nel libretto di istruzioni, se la cam è compatibile con tale protocollo, c'è la stringa giusta per la vostra cam, che dovrà ovviamente essere completata con la username e password da voi impostate.
Nel caso abbiate difficoltà a reperire l'informazione sull flusso video RTSP, c'è questa pagina QUI che ne raggruppa una grande quantità per marca. Se la vostra telecamera lo supporta dovreste trovarlo.
Una volta ottenuta la stringa RTSP andate in camera.yaml,se non avete questo file createlo allo stesso livello di configuration.yaml e inserite appunto in configuration.yaml questo:
camera: !include camera.yaml
In camera.yaml andrete ad inserire la vostra cam come nell'esempio:
- platform: ffmpeg
input: rtsp://username:password@192.168.1.xx:554//h264Preview_01_main
name: Esterno
Come detto prima, probabilmente il vostro flusso RTSP sarà diverso, ovviamente dovrete inserire il vostro dopo la voce input:
Bene, una volta riavviato il vostro Home Assistant, dovreste trovare la vostra cam nelle entità.
Adesso dovete inserirla in Lovelace, per farlo dovete editare il vostro file ui-lovelace.yaml inserendo il codice seguente:
- title: Telecamere
cards:
- type: picture-entity
entity: camera.nomedellavostracam
camera_view: live
Do per scontato che abbiate già abilitato le notifiche Telegram sul vostro Home Assistant così come do per scontato che abbiate già aggiunto il vostro sensore di rilevazione movimento.
Una volta che avete la vostra cam su Lovelace, il sensore di presenza integrato e le notifiche Telegram, potrete creare questa automazione per farvi inviare uno screenshot sul vostro Telegram alla rilevazione del movimento da parte del PIR.
- alias: ir ingresso
initial_state: true
trigger:
platform: state
entity_id: binary_sensor.nomedelvostrosensoredipresenza
from: 'off'
to: 'on'
action:
- service: notify.telegram
data_template:
message: "ripresa esterna"
data:
photo:
url: 'https://ddnsvostroHA.duckdns.org{{states.camera.nomevostracam.attributes.entity_picture}}'
A questa automazione dovrete sostituire:
- il nome del sensore con il nome del vostro;
- il nome della vostra cam;
- l'indirizzo ddns del vostro Home Assistant;
- ed eventualmente il nome del vostro servizio di notifica che nel mio caso si chiama notify.telegram.
Questo sistema è molto veloce perchè non va a scattare una foto per poi immagazzinarla nel raspberry (o sulla macchina su cui avete installato Home Assistant) ma fa uno screenshot della card della relativa cam su Lovelace senza memorizzare alcun dato sul dispositivo.
Il risultato è questo:
L'orario e la data varierà in automatico tramite l'automazione effettuata.
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.