In questa guida vi mostro come creare un bot per ricevere notifiche e comandare la propria casa domotica da telegram senza dover aprire nessuna porta e non installando nessun programma/script python.
Adesso vediamo come fare, vi consiglio di creare un packages ma potete mettere tutto anche nel configuration.yaml anche se incasina un pò.
Come prima cosa inseriamo questa configurazione:
[php light=”true”] telegram_bot:– platform: polling
api_key: TOKEN
allowed_chat_ids:
– CHAT ID
– platform: webhooks
api_key: TOKEN
parse_mode: html
allowed_chat_ids:
– CHAT ID
notify:
– name: HA NOTIFICHE
platform: telegram
chat_id: CHAT ID
[/php]
Adesso vedete le scritte che ho messo in maiuscolo ci servono avere queste due cose il token del bot e il chat id, vediamo come crearli:
- il bot basta cercare su BotFather e usare il comando /newbot e seguire tute le sue istruzioni a schermo, infine dovrebbe avervi dato il token, sostituite nella configurazione le scritte TOKEN in maiuscolo con il token del bot.
- Adesso usate questo bot (FalconGate), fatelo partire e date il comando /get_my_id e copia l’id al posto di CHAT ID nella configurazione per di Home Assistant
- Riavviate Home Assistant e avete configurato telegram
Adesso vediamo come fare automazioni per le notifiche, ecco un esempio (all’accensione della luce arriva la notifica):
[php light=”true”] – alias: Accensione Lampadario Cameratrigger:
– entity_id: light.lampadario
from: ‘off’
platform: state
to: ‘on’
condition: [] action:
– data:
message: Si è acceso il lampadario della camera
service: notify.ha_notifiche
[/php]
Adesso vediamo al comando come far restituire un messaggio, ecco l’esempio:
[php light=”true”] – alias: Info camera telegramtrigger:
– platform: event
event_type: telegram_command
event_data:
command: /infocamera
action:
– data:
message: "“`Ecco le informazioni della Camera:
\n – Il Lampadario in camera é {{states(‘light.lampadario’)}}.
\n – La Luce Letto in camera é {{states(‘light.luce_letto’)}}.
\n – RGB in camera é {{states(‘light.striscia_led_rgb’)}}.
\n – La Temperatura in camera é {{states(‘sensor.temperature’) | int | string}}°C.
\n – L’umidità in camera è {{states(‘sensor.humidity’) | int | string}}%.
\n – La Temperatura esterna é {{states(‘sensor.temperature_esterna’) | int | string}}°C.
\n – L’umidità esterna è {{states(‘sensor.humidity_esterna’) | int | string}}%.“`"
service: notify.ha_notifiche
[/php]
al comando fare un’azione, ecco l’esempio:
[php light=”true”] – alias: accendi lampadariotrigger:
– platform: event
event_type: telegram_command
event_data:
command: /accendilamp
action:
– service: homeassistant.turn_on
data:
entity_id:
– light.lampadario
[/php]
al comando far uscire i pulsanti per altri comandi, ecco l’esempio:
[php light=”true”] – alias: Visualizza i comandihide_entity: True
trigger:
platform: event
event_type: telegram_command
event_data:
command: ‘/comandi’
action:
– service: notify.ha_notifiche
data:
message: ‘Ecco i comandi:’
data:
keyboard:
– ‘/infoipssl, /infocamera’
– ‘/accendilamp, /spegnilamp’
– ‘/accendiletto, /spegniletto’
– ‘/accendirgb, /spegnirgb’
– ‘/telecomando, /infospotify’
– ‘/restartha, /stopha’
– ‘/rebootrpi, /spegnirpi’
[/php]
Far restituire le informazioni di spotify con l’immagine dell’album, ecco l’esempio:
[php light=”true”] – alias: Info Spotify telegramtrigger:
– platform: event
event_type: telegram_command
event_data:
command: /infospotify
action:
– service: notify.ha_notifiche
data:
message: " "
data:
photo:
– url: "https://HADDNS:8123{{states.media_player.spotify.attributes.entity_picture}}&api_password=legacypassword"
– delay:
seconds: 1
– service: notify.ha_notifiche
data:
message: "“`\n Titolo: {{states.media_player.spotify.attributes.media_title}}.
\n Artista: {{states.media_player.spotify.attributes.media_artist}}.
\n Album: {{states.media_player.spotify.attributes.media_album_name}}.
\n URI: {{states.media_player.spotify.attributes.media_content_id}}“`"
[/php]
Così potete comandare la vostra casa domotica con Telegram!! (quando inserite le automazioni potete riavviare anche solo il servizio delle automazioni senza riavviare tutto Home Assistant).