Como publicar os preços dos combustíveis no seu Home Assistant


(Henrique Ferreira) #161

Muito obrigado … pela excelente ajuda. :wink: thanks, abraço…


(Alexandre Oliveira) #162

Boa tarde, sou novo por estas bandas, e estou a precisar de ajuda

tenho o home assistant em virtualizaçao LXD, com o ubuntu server como base.

Agora estava intrressado neste post dos combustiveis e dei conta que nao tenho/ou nao encontro a pasta /config.

Já agora eu tenho a minha configuração toda do homeassistant no ficheiro “configuration.yaml”
e apartir daqui chamo os script…

em por ai que me possa das uma maozinha???

Obrigado


(Rodolfo) #163

Podes usar a pasta www em vez da pasta config.
algo tipo isto /home/homeassistant/.homeassistant/www/
Lê com atenção o tópico deste o inicio,para absorveres alguma informação importante.
Em relação a teres toda a configuração no configuration.yaml, tenta primeiro “arrumar” a casa toda usando os packages
📑 Como utilizar ficheiros “package”, quando tiveres tudo arrumado poderás então começar a usar isto, para ser mais simples para ti se não vai se tornar um pouco confuso.


(Alexandre Oliveira) #164

Bom dia. ja adicionei a configuraçao isto…mas mesmo assim nao mostra valores.



image
criei o ficheiro combustiveis.yaml

sensor:
  platform: template
  sensors:
    #Estado do Tempo
    gasoolinasimples:
      value_template: "{{states.sensor.fuel_gasolina_simples_95.state}}"
      unit_of_measurement: '€'
    gasolinaoptima:
      value_template: "{{states.sensor.fuel_gasolina_especial_95.state}}"
      unit_of_measurement: '€'
    gasoleosimples:
      value_template: "{{states.sensor.fuel_gasoleo_simples.state}}"
      unit_of_measurement: '€'
    gasoleooptima:
      value_template: "{{states.sensor.fuel_gasoleo_especial.state}}"
      unit_of_measurement: '€'

automation:


#Ao iniciar o Home Assistant corre o batch fuel_info.sh
- alias: Correr Combustiveis
  trigger:
    platform: homeassistant
    event: start
  action:
    - service: shell_command.correr_combustiveis


# O  utilizador ao escrever /combustiveis no telegram recebe os preços actuais do Posto de Combustível
- alias: Precos Combustiveis
  hide_entity: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/combustiveis'
  action:
    service: notify.telegram
    data_template:
      title: 'Preços Combustíveis'
      message: "
                Gasolina Simples - {{states.sensor.fuel_gasolina_simples_95.state}}

                Gasolina Óptima - {{states.sensor.fuel_gasolina_especial_95.state}}

                Gásoleo Simples - {{states.sensor.fuel_gasoleo_simples.state}}

                Gásoleo Optima  - {{states.sensor.fuel_gasoleo_especial.state}}"


###############################################################################
#                                                                             #
#                         S H E L L _ C O M MM A N D                          #
#                                                                             #
###############################################################################

shell_command:
  correr_combustiveis: 'bash /root/.homeassistant/packages/fuel.info.sh'

(Alexandre Oliveira) #165

ficheiro fuel.info.sh

PROTOCOL="http"
HOST_IP_OR_NAME="localhost"
PORT_NUMBER="8123"
HAPASSWORD="qwerty:)"
SHOWFUELSHOPLOCATION="NO" \

(Rodolfo) #166

@cafeoliveira como tens instalado o teu homeassistant? hassbian? raspassio?outro?


(Alexandre Oliveira) #167

Eu tenho Ubuntu server… Depois instalei através de: python virtual env

PS… Posso dar acesso teamviewer


(Rodolfo) #168

Verifica as permissões:

chmod 755 /root/.homeassistant/packages/fuel.info.sh

E caso uses o editor notepad++, abres o ficheiro fuel.info.sh
depois clicas em:
Editar -> Conversão EOL (fim de linha) -> Converter para formato Unix

Após teres feito isto, clicas no primeiro icone do lado esquerdo
image

Procuras no service por: shell_command.correr_combustiveis
e fazes execute.

E verifica se já aparecem os valores.
Caso não aparecem, sugiro que leias este tópico desde início, pois contem muita informação que pode ajudar a resolver o problema.


(Alexandre Oliveira) #169

já fiz isso…ele já estava nesse formato…quando eu reinicio o serviço ele chama pelo script.
image

Nao ha maneira que testar por linha de comandos???

Nao deveria colocar tb o codigo da gasolineira???algures


(Rodolfo) #170

O código do posto de combustivel colocas dentro do fuel.info.sh como está explicado no inicio.
E já leste desde inicio o tópico? eu uso hassio , caso continues com problemas o @ricain poderá depois quando tiver tempo ajudar-te.


(Ricardo Silva) #172

Ola Alexandre,

Verifica o seguinte:

  • Se o script esta com 755: chmod 755 /home/homeassistant/.homeassistant/packages/fuel.info.sh
  • O teu caminho esta correcto? Acho que é mais parecido com aquilo que meti em cima em venv
  • Ao criares o package combustível, não deves criar os sensores porque é o próprio script que faz isso e ficam assim:
    imagem
    Sabendo que o numero é o numero do posto que queres extrair a informação
  • O teu shell command esta mal, deveria ser parecido com isso:
    correr_combustiveis: 'bash script/fuel.info.sh -f "183782 184680 184524 181430 188253"'
    indicando o numero do posto.

Convém releres o tópico do inicio para poderes perceberes como funciona o script a integração com o Home Assistant e assim veres o que esta mal :wink:


(Alexandre Oliveira) #173

obrigado pela ajuda que me estao a dar…mas até agora nao mostra valores…

agora descobri uns ficheiros oculos dentro da minha pasta packages:

.data e .information…

ou seja eu estou a ir buscar os resultados mas nao aparecem na pagina.


(Rodolfo) #174

Já chamaste o shell_command.correr_combustiveis no developer tools como te disse lá em cima? Quando fazes isso o que te aparece nohome-assistant.log


(Alexandre Oliveira) #175

nao aparece nada,

já testei, a chamar outros shell_command e no home-assistant.log nao acrescenta nada


(Alexandre Oliveira) #176

vou postar aqui alguns dos meus ficheiros, poderá ser mais facil ajudar…
https://drive.google.com/open?id=16nBbpI4b3LHfd4bVT5yGN2dbcE6rs8gk


(Rodolfo) #177

@cafeoliveira para ser mais fácil a consulta não utilizes o Drive, usa o hastebin.com e não precisas de todos os os ficheiros apenas o que colocaste.


(Alexandre Oliveira) #178

combustiveis.yaml
https://hastebin.com/edoxofudot.coffeescript

configuration.yaml
https://hastebin.com/atiziroqoh.shell

fuel.info.sh
https://hastebin.com/obaveqofeh.bash

groups.yaml
https://hastebin.com/wefakuluse.css

penso que é tudo…


(Rodolfo) #179

O teu shell_command está mal terás que por:

shell_command:
  correr_combustiveis: 'bash /root/.homeassistant/packages/fuel.info.sh -f "COLOCA_AQUI_O_NUMERO_DO_POSTO"'

Depois terás dessa alteracao reinicia, corre o shell_command e nas entities do HA verifica se aparecer algo começado por:

sensor.fuel…
tipo:
image

Após isso terás que editar o nome dos teus sensores pois eles tão mal.


(Alexandre Oliveira) #180

alteraçoes efetuadas, agora quando mando corre o shell_command já aparece nos logs…
mas dá erro:


(Rodolfo) #181

Caso uses o editor notepad++, abres o ficheiro fuel.info.sh
depois clicas em:
Editar -> Conversão EOL (fim de linha) -> Converter para formato Unix

Verifica isso.