Olá a pedido do utilizador @karma sobre de como adicionar uma mapa com as temperaturas de Portugal ao frontend, foram feitos alguns testes e hoje vou ensinar como poderás fazer.
Ok, isto foi testado em Hassio, não sei para quem usa rasbian etc se vai resultar.
Primeiro que tudo no teu configuration.yaml vais ter que adicionar estas linhas:
whitelist_external_dirs:
- /config
- /config/script
Vai ficar algo parecido com isto:
homeassistant:
name: Geral
latitude: !secret latitude_home
longitude: !secret longitude_home
elevation: 17
unit_system: metric
time_zone: Europe/Lisbon
customize: !include customize.yaml
customize_glob: !include customize_glob.yaml
packages: !include_dir_named packages
whitelist_external_dirs:
- /config
- /config/script
config:
De seguida crias uma pasta chamada script e coloca dentro da tua pasta /config
Depois dentro da pasta script crias um ficheiro com o nome : mapa.sh atenção o sh é a extensão.
Uma vez que já tens o ficheiro mapa.sh dentro da pasta script vais agora colar o que te mostro abaixo dentro do ficheiro mapa.sh
#!/bin/bash
YEAR=$(date +%Y)
MONTH=$(date +%m)
DAY=$(date +%d)
HOUR=$(($(date +%H) - 1))
wget "https://maps.otempo.pt/eltiempo/maps"$YEAR"/"$MONTH"/"$DAY"/weather/temp/portugal/680x537/portugal-weather-temp-"$YEAR$MONTH$DAY"0900.jpg" -O /config/aaa.png
NOTA IMPORTANTE
Eu uso o editor de ficheiros NOTEPAD++ para salvares o ficheiro, tens que antes o converter em UNIX.
Podes fazer como te demonstro na imagem que se segue:
Ok, caso uses ficheiros PACKAGES cria um novo ficheiro como o nome que quiseres. Ex:( mapa.yaml) e cola o que ves em baixo dentro desse ficheiro.
homeassistant:
camera:
- platform: local_file
file_path: /config/aaa.png
name: mapa
shell_command:
mapa: 'bash /config/script/mapa.sh'
automation:
#Mapa temperatura 1
- alias: Mapa temperatura 1
trigger:
platform: time
at: '01:30'
action:
- service: shell_command.map
#Mapa temperatura 4
- alias: Mapa temperatura 4
trigger:
platform: time
at: '04:30'
action:
- service: shell_command.mapa
#Mapa temperatura 7
- alias: Mapa temperatura 7
trigger:
platform: time
at: '07:30'
action:
- service: shell_command.mapa
#Mapa temperatura 10
- alias: Mapa temperatura 10
trigger:
platform: time
at: '10:30'
action:
- service: shell_command.mapa
#Mapa temperatura 13
- alias: Mapa temperatura 13
trigger:
platform: time
at: '13:30'
action:
- service: shell_command.mapa
#Mapa temperatura 16
- alias: Mapa temperatura 16
trigger:
platform: time
at: '16:30'
action:
- service: shell_command.mapa
#Mapa temperatura 19
- alias: Mapa temperatura 19
trigger:
platform: time
at: '19:30'
action:
- service: shell_command.mapa
#Mapa temperatura 22
- alias: Mapa temperatura 22
trigger:
platform: time
at: '22:30'
action:
- service: shell_command.mapa
Dentro do teu groups.yaml chama o ficheiro:
- camera.mapa
E podes salvar.
O que esta configuração faz??
Esta configuração vai fazer com que seja descarregado o mapa diarariamente a X horas do dia, estas horas estão nas automações que podes ver acima.
Não convem alterares essas horas, pois elas estão de acordo com as actualizações internas do site de onde vem a informação.
Agora que já fizeste tudo, podes reiniciar o teu Home Assistant e para veres se o mapa está a ser descarregado manualmente podes fazer o que ves abaixo:
Se tudo correr bem vais ter dentro da tua pasta /config um ficheiro chamado aaa.png
E vais ver isto no teu frontend.
Créditos do script : @ricain