Abilitazione
Il primo passaggio da eseguire è abilitare le API come indicato nella documentazione ufficiale, quindi aggiungere al file “configuration.yaml”:
# API
api:
Riavviare Home Assistant e dal proprio profilo creare un token a lunga vita. Verrà fornita una stringa da annotarsi:
Utilizzo delle API
# sudo apt-get install curl
# chmod 755 /sbin/cmd_hass
Editare il file impostando i seguenti valori:
api_token="<YOUR TOKEN>" // Token a lunga vita generato
server="<YOUR HASS SERVER IP>" // Indirizzo IP di Home Assistant
port="8123" // Porta di Home Assistant
Tramite questo script è possibile:
- Eseguire servizi:
- Esempi: Accendere una luce, eseguire uno script.
- Sintassi: cmd_hass service <entità> <dominio/azione>
- Scrivere valori:
- Esempi: Scrivere un valore in un campo di testo.
- Sintassi: cmd_hass write <entità> <valore>
- Leggere valori:
- Scopo: leggere lo stato di un’entità.
- Sintassi: cmd_hass read <entità> <extract>
Notare nell’immagine sottostante che il valore indicato nel comando “write” è stato scritto all’interno del campo di testo:
L’utilizzo del parametro “extract” nella lettura dei valori è particolarmente utile nel caso sì volesse estrapolare lo specifico stato dell’entità.
Per eseguire questa operazione, essendo l’output in JSON, è necessario installare il seguente tool:
# sudo apt-get install jq
Quindi estrapolare lo stato dell’entità:
# echo $(cmd_hass read switch.luce_corridoio extract | jq '.state' | tr -d \")
Estrapolato il valore è possibile sfruttarlo in altri script per eseguire delle analisi o qualsiasi altra operazione sì desideri.
Nei prossimi articoli vedremo come sfruttare a livello pratico questo strumento.