Detectar se existem updates do HomeAssistant

Boas.

Depois de alguém ter ‘reclamado’ que o próprio HomeAssistant (no meu caso raspbian com virtualenv) era incapaz de se atualizar, resolvi investigar um pouco e até agora consegui isto:

No configuration.yaml:

sensor:
   - platform: version
  
   - platform: rest
     name: "Last version"
     resource: https://pypi.python.org/pypi/homeassistant/json
     value_template: '{{ value_json.info.version }}'
     scan_interval: 3600

Tenho um script bash no servidor que corre e que ativa o virtualenv para atualizar

Gostaria de criar uma automação que me colocasse em visivel um card de um script que corre esse script da command line

Script (autoria do Manuel Barbosa)

#!/bin/bash
echo "HASS ## Stop Home Assistant"
sudo systemctl stop home-assistant@homeassistant.service
echo "HASS ## Become user 'homeassistan'"
sudo -u homeassistant -H -s <<'EOF'
echo "HASS ## Activate the virtualenv"
source /srv/homeassistant/bin/activate
echo "HASS ## Upgrade Home Assistant"
pip3 install --upgrade homeassistant
echo "HASS ## Leave user virtualenv"
exit
EOF
echo "HASS ## Restart Home Assistant"
sudo systemctl start home-assistant@homeassistant.service

A minha duvida é que se colocar isto nos templates, consigo obter um true or false:

{{(states.sensor.last_version.state) > (states.sensor.versao_instalada.state) }}

Mas estou com dificuldades em validar isto numa condição de automação…

Serei só eu a achar uma péssima ideia a “auto-actualização”!?!?

E se existir uma breaking change que deita todo o sistema a baixo??

1 Like

Não será uma auto-atualização assim que houver uma nova release…mas sim um mecanismo de atualização que é disponibilizado no HA a partir do momento em que há uma release…para evitar que tenhamos de aceder por ssh ao servidor e digitar os comandos

Ahhh… Não tinha percebido isso. Nesse caso é excelente essa opção. Nunca senti falta disso porque o Hassio trata desse assunto automaticamente.

Ola Nuno_Silva,

Eu tenho essa automação que me alerta se existe um update, copiei daqui do forum:

- alias: Update HA
  trigger:
    platform: state
    entity_id: updater.updater
  action:
    - service: notify.telegram
      data:
        title: "Home Assistant"
        message: "Update Disponível para o HA"
    - service: script.notify_save_to_file
      data:
        message: '{{ as_timestamp (now()) | timestamp_custom("%d/%m %H:%M") }} - Update HA'
    - service: notify.gmail
      data:
        title: "Home Assistant"
        message: "Update Disponível para o HA"

Com isso nas action pode pôr a correr o teu script:

- alias: Update HA
  trigger:
    platform: state
    entity_id: updater.updater
  action:
    - service: shell_command.oteuscriptdeupdate

Espero que te vai ajudar.

Atualizei para a ultima versão (0.79.3) e o updater.updater desapareceu!
Não o consigo referenciar nas entities, no entanto aparece-me como um loaded component:

Agora resta saber se a automação que o Ricardo sugeriu vai funcionar da proxima vez!

gostei da ideia do script para atualizar…
já está na ultima versao.
hastebin

Este tópico foi automaticamente fechado 90 dias após a última resposta. Novas respostas não são permitidas.