Não é esse API. Estou a referir-me a uma entrada chamada api:
que fica ao mesmo nível do http:
Ui… é isto?
@ - A ultima linha adicionei agora mesmo… após a tua dica. É assim que tem que estar?
############
# INCLUDES #
############
group: !include groups.yaml
zone: !include zones.yaml
input_select: !include input_select.yaml
automation: !include automation.yaml
shell_command: !include shell_commands.yaml
proximity: !include_dir_merge_named proximity
script: !include_dir_merge_named script
Antes da api_password
pões só isto api:
Sem api não podes escrever nada.
Se isto não funcionar envia-me o debug.txt que o script gera com a opção -d
Mete assim:
......
api:
############
# INCLUDES #
############
group: !include groups.yaml
zone: !include zones.yaml
input_select: !include input_select.yaml
automation: !include automation.yaml
shell_command: !include shell_commands.yaml
proximity: !include_dir_merge_named proximity
script: !include_dir_merge_named script
Ponto de situação:
- API adicionado ao configuration.yaml
- Todos os códigos Cul sem o -K
- Campos de configuração no script actualizados.
- Código do HA do segundo post do @RodolfoVieira
- Hass.io 0.68.1
- Script na pasta config/script
Resultados:
- Aparece a TAB no HA mas sem entities.
- Nos estados só me aparece isto:
- Erros gerados no HA:
-
2018-05-13 16:25:47 ERROR (MainThread) [homeassistant.components.shell_command] Error running command: `bash /config/script/fuel.info.sh -f "170157"`, return code: 7 NoneType: None
Envia-me um código de teamviewer por private que eu vou aí resolver-te isso.
Enviado
Obrigado
Obrigado Álvaro… impecável
Já trabalha
Boas pessoal eu também não consigo colocar a parte do fuel a aparecer nas entitites.
Quando tento correr o comando : curl -k -s -X GET -H “x-ha-access: PASS” -H “Content-Type: application/json” localhost:8123/api/
Dá o erro : 401: Unauthorized%
Se correr apenas o script automático o código de erro é : [homeassistant.components.shell_command] Error running command: bash /config/script/fuel.info.sh -f "170157"
, return code: 127
Link Config : *******************************
Link Fuel.sh : ******************************
******** Desde já obrigado por não obter respostas ******
Cumprimentos,
@Pedro removi os teus links que colocaste. Continhas la informações pessoais, tens que ter mais cautela a publicar código.
Obrigado @RodolfoVieira, mas apenas tinha a directoria e os dados de user e pass não são dados reais, apenas me esqueci do nome das directórias.
Obrigado mais uma vez vou alterar.
Boas,
Eu estava a tentar personalizar o nome pelo customize.yaml mas não estava a funcionar.
Alterei o script e fico assim:
Alteração no script:
Antigo Linha 112:
curl -s -k -X POST -H "x-ha-access: $HAPASSWORD" \
-H "Content-Type: application/json" \
-d '{"state": "'$FUELPRICE'", "attributes": {"unit_of_measurement": "€", "icon": "mdi:gas-station", "friendly_name":"'"$FRIENDLYNAME"'"}}' \
$PROTOCOL://$HOST_IP_OR_NAME:$PORT_NUMBER/api/states/sensor.fuel_$SENSOR >/dev/null 2>&1
O que alterei:
gas_simples='Gasoleo simples'
if [[ $FRIENDLYNAME = *$gas_simples* ]]
then
posto=$(echo "$FRIENDLYNAME" | cut -d'(' -f 2 | cut -d')' -f 1)
curl -s -k -X POST -H "x-ha-access: $HAPASSWORD" \
-H "Content-Type: application/json" \
-d '{"state": "'$FUELPRICE'", "attributes": {"unit_of_measurement": "€", "icon": "mdi:gas-station", "friendly_name":"'"$posto"'"}}' \
$PROTOCOL://$HOST_IP_OR_NAME:$PORT_NUMBER/api/states/sensor.fuel_$SENSOR >/dev/null 2>&1
else
curl -s -k -X POST -H "x-ha-access: $HAPASSWORD" \
-H "Content-Type: application/json" \
-d '{"state": "'$FUELPRICE'", "attributes": {"unit_of_measurement": "€", "icon": "mdi:gas-station", "friendly_name":"'"$FRIENDLYNAME"'"}}' \
$PROTOCOL://$HOST_IP_OR_NAME:$PORT_NUMBER/api/states/sensor.fuel_$SENSOR >/dev/null 2>&1
fi
A alteração que fiz só é para o gasoleo simples. Mas se quiserem de um forma geral digam.
fixe @ricain. tens a automacao para carregar os valores quando reinicias o HA a funcionar? há malta que essa parte não funciona. A mim está a funcionar bem…
Sim tenho, copiei do que meteste e funciona a primeira
Boas, estou com algum erro no script pois aparece-me o seguintes quando corro o script no putty:
fuel.info.sh: linha 67: .data: Permissão negada`
No HA tambem me dá erro:
Error running command: bash ./home/homeassistant/.homeassistant/scripts/fuel.info.sh -f "170280"
, return code: 1`
Estou a usar a versão 2.1.5 do scriptm adicionei o “-k” após “curl”, a API funciona e o user homeassistant foi criado para o HA no ubuntu 16.04.
Como conseguigam resolver o problema das permissões?
Na semana passada depois de termos falado tive um azar e aproveitei para instalar o HA num novo cartão e passar apenas as configs HA para o novo e mesmo assim tou com o mesmo problema, apenas executa manualmente… já tentei de tudo e não corre automaticamente
Passa as permissões para 777 e experimenta criar a directiva whitelist_external_dirs
(está explicado mais acima) com a pasta onde tens o teu script.
Podes verificar as permissões do diretório onde estás a executar usando a opção -d e verificando se ele criou o ficheiro debug.txt.
Também podes verificar se tens api:
no teu configuration.yaml
.
Não te aconselho a dar permissões 777 em lado nenhum do teu sistema. Isso quer dizer que qualquer utilizador que saiba onde encontrar o ficheiro o pode ler e alterar.
Depois não se esqueçam de retirar estás permissões. Ficheiros com dados de acesso (username e password) só devem ter permissões para o próprio user
.
Sim, as permissões 777 devem ser usadas apenas temporariamente para efeitos de teste e as permissões originais devem ser imediatamente repostas.