Viva,
não encontro maneira de o fazer.
No NOTEPAD++ parece que é a mesma coisa, mas grava sempre em YML e não consigo gravar em YAML.
Alguma dica?
Obg
Daniel Fonseca
Viva,
não encontro maneira de o fazer.
No NOTEPAD++ parece que é a mesma coisa, mas grava sempre em YML e não consigo gravar em YAML.
Alguma dica?
Obg
Daniel Fonseca
Instala o VScode e edita directamente no HA.
Viva,
Já consegui gravar em yaml e parece-me tudo bem mas continuo a não ter nada na base de dados.
Estava a tentar ver o consumo diário da máquina de secar roupa.
É necessário criar a pasta packages na pasta config correcto? Basta isto e adicionar ao configurations.yaml o seguinte
homeassistant:
packages: !include_dir_named packages/
É necessario mais alguma coisa para ter o packages a funcionar?
Tentei então com a luz do escritório, para ver quantas horas estava ligada por dia.
Segui o tutorial, mas está a dar um erro no configuration.yaml, na criação do sensor
#Sensor Luz Escritorio
sensor:
- platform: history_stats
entity_id: light.midesklamp1s_87a6
state: 'on'
name: Horas Luz Escritorio
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
end: '{{ now() }}'
Aparece o seguinte erro
duplicated mapping key at line 75, column -237:
sensor:
^
No base_dados.yaml, adicionei o seguinte código
- alias: "Insere na tabela o número de horas que a luz do escritorio esta ligada"
initial_state: true
trigger:
- platform: state
entity_id: sensor.horas_luz_escritorio
condition:
- condition: template
value_template: >
{{ (trigger.to_state.state | float) != 0.0 }}
action:
- service: shell_command.daily_insert_mysql
data_template:
table: horas_luzes
value: >
{{ trigger.to_state.state }}
column: luzescritorio
Não sei o que pode causar este erro…
Obrigado,
Daniel Fonseca
Só podes escrever uma vez a entrada sensor:
.
Então tenho que colocar este código na “zona” dos sensores, é isso?
Assim:
sensor:
- platform: uhomeuponor
host: 192.168.0.30
prefix: uhome_ # Optional, prefix name for climate entities
- platform: history_stats
entity_id: light.midesklamp1s_87a6
state: 'on'
name: Horas Luz Escritorio
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
end: '{{ now() }}'
Então o “tracinho” (-) utiliza-se quando temos mais do que uma “entidade” dentro do mesmo tipo, certo?
Daniel Fonseca
Sim, isso mesmo. O traço simboliza itens numa lista. Uma pesquisa rápida aqui no Fórum sobre YAML, dava-te este resultado:
Obrigado!
Daniel Fonseca
Boas pessoal…
Não estou a conseguir por a base da dados a gravar, as alteraçoes da minha produção…
Vamos por fazes:
1º não consguia instalar a dependencia (pymysql), reiniciei o HA umas 20x
consegui instalar indo ao file editor e execute shell command “pip install pymysql”, ficou instalada
agora quando executo o comando aparece isto (Command executed: pip install pymysql: 0
Requirement already satisfied: pymysql in /usr/lib/python3.8/site-packages (0.10.1))
2ª Agora quando faço o comando “python3 /config/py_scripts/daily_insert_mysql.py --host=core-mariadb --user=xxx --password=xxx --db=custom_data --table=consumo_energia --value=2 --col=consumo_energia_diario” nota-se que no Heidisql já la aparecem o valor “2”
3ª agora os valores não registão automaticamente, da um erro nos log.
erro:
Logger: homeassistant.components.automation.registo_diario_producao_solar
Source: helpers/script.py:1122
Integration: Automação (documentation, issues)
First occurred: 22:34:38 (1 occurrences)
Last logged: 22:34:38
Registo Diario produção solar: Error executing script. Service not found for call_service at pos 1: Unable to find service shell_command/daily_insert_mysql
posso garantir o ficheiro daily_insert_mysql existe e esta na pasta py_scrits.
o outro erro que tambem me da e este
Logger: homeassistant.components.automation.registo_diario_producao_solar
Source: core.py:1401
Integration: Automação (documentation, issues)
First occurred: 22:34:38 (1 occurrences)
Last logged: 22:34:38
While executing automation automation.registo_diario_producao_solar
Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/automation/init.py”, line 433, in async_trigger await self.action_script.async_run( File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 1010, in async_run await asyncio.shield(run.async_run()) File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 245, in async_run await self._async_step(log_exceptions=False) File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 253, in _async_step await getattr( File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 460, in _async_call_service_step await service_task File “/usr/src/homeassistant/homeassistant/core.py”, line 1401, in async_call raise ServiceNotFound(domain, service) from None homeassistant.exceptions.ServiceNotFound: Unable to find service shell_command/daily_insert_mysql
se que isto é uma descrição muito grande mas cria dar o maximo de informação que sei…
a minha automação é esta:
alias: “Registo Diario produção solar”
initial_state: true
trigger:
- platform: state
entity_id: sensor.medidor_solar_energy_today
action:
- service: shell_command.daily_insert_mysql
data_template:
table: produção_energia
value: >
{{ trigger.to_state.state }}
column: >
{% if trigger.entity_id == “sensor.medidor_solar_energy_today” %}
produção_energia_diaria
{% endif %}
Os erros mostram que o shell command não existe, então a automação não chega a finalizar, podes confirmar se o shell_command do script existe?
Seguiste o tutorial a 100%?
Boa noite.
Já consegui resolver o problema.
Ao fim de tantas modificações a ver se o ficheiro pymysql era isntalado devia ter eliminado o “.yaml” do fichero da base da dados por isso não lia.
Já conseguir colocar agravar os valores de produção diaria numa tabela, ja consegui criar uma nova tabela para o consumo diario.
Mas agora surgui mais probelmas.
Em vez de criar um sensor para dizer quantos horas as luzes estão ligadas, cria fazer um sensor que me desse o pico de produção/consumo.
já criei um sensor “statistics” e outro “template”
Mas pelo que leio no HA na parte do senosr statistics o valor STATE é a média, o valor maximo e minimo aparece como ATTRIBUTE.
Pegando na automação de registar na base de dados só consigo que ele actualize perante o STATE (que é a média) e não como o atributo (que é o valor maximo).
já tentei modificar a automação mas sempre sem sucesso.
Esta é uma das minhas invenções. para quem sabe vai-se rir mas para mim que não percebo de qualquer tipo de linguagem de programação, limito-me a pesquisar e tentar copiar…
alias: Registar pico produção
trigger:
ja consegui.
na automação alterei para {{ trigger.to_state.attributes.max_value }}
Boa tarde. Seguindo este tutorial, já tive a base de dados a funcionar impecável. Há algum tempo atraz tive necessidade de reinstalar o HA e agora, seguindo os mesmos passos, não estou a conseguir que os dados diários sejam gravados correctamente. No dia corrente, os dados são mostrados correctamente mas depois passa a mostrar valores que que não percebo.
A escrita na base de dados é conforme o sensor que indicares, já verificaste se o sensor está a ler corretamente? O sensor está a fazer reset ao final do dia?
Boa noite Ricardo. Acompanhei estas 2 últimas horas o consumo diário e parece que já percebi o que se está a passar. Por volta das 23 horas registava um consumo de cerca de 28kwh. Fez o reset às 23 horas e gravou às 24 horas apenas o que se consumiu entre as 23 e as 24 horas. Podes por favor dar-me uma ideia de como posso passar o reset para as 24 horas. Obrigado.
@sslopes o problema que descreves parece ter haver com o tasmota.
Podes verificar se tens a hora certa no tasmota onde tens ligado o pzem.
para veres isso basta ires a consola do tasmota e veres lá que horas aparece.
Viva,
O utility_meter não tem definido um offset?
@sslopes que usas para acertar? na minha “cabula” tenho isto que costumo usar em todos os tasmotas
Backlog NtpServer1 pt.pool.ntp.org; NtpServer2 pool.ntp.org; TimeZone 99; TimeDST 0,0,3,1,1,60; TimeSTD 0,0,10,1,2,0
@PDM Uso o mesmo mas com o ip do dispositivo
backlog NtpServer1 192.168.1.45; TimeZone 99; TimeDST 0,0,3,1,1,60; TimeSTD 0,0,10,1,2,0
Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt