📑 Como adicionar um mapa com a temperatura de Portugal ao frontend

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.

Capturar

Créditos do script : @ricain

4 Likes

Para comentares este tópico utiliza este link: