Como criar uma base de dados leve no HA com histórico e apresentação gráfica

Tenho uma tabela para consumos, e uma coluna para o total e mais umas quantas para cada equipamento

Tens de ter o utility_meter a fazer reset ao dia

Certo, já percebi a lógica. No teu github tá lá bem explicado.
Estou a fazer isto por parte mas como ainda nao tenho as tomadas que medem os consumos, para já só consigo criar a automação de instalar as depedências no arranque do home assistant.

Fiquei com uma dúvida no seguinte código:

daily_insert_mysql: “python3 /config/py_scripts/daily_insert_mysql.py --host=core-mariadb --user=XXXX --password=XXXX --db=custom_data --table={{ table }} --value={{ value }} {{ ‘–col=’+column if column is defined }}”

O parametro host, deve ser IP e porta da base de dados?

Como é que isso é feito?

Se estás a usar o addon mariadb só precisas de alterar user e password. O host é o que está, e o resto é definido quando é chamado o shell_command, por exemplo na automação

Não estou a utilizar o addon. Tenho o MariaDB a correr num lxc container… Daí a minha dúvida. Então deve ser necessário meter o IP e porta certo?

Se a porta for a por defeito (3306) basta mudares o host pelo ip do lxc

1 Curtiu

Eu para guardar dados dos diferentes devices (exceto os dados do contador geral q é tratado à parte), uso duas tabelas:
1º tabela - lista e codificação dos devices
2º tabela - dados diários de energia de todos devices

Todas as contas são querys/views feitas sobre os dados.

sensor:

  - platform: integration
    name: "Energia Rede"
    source: AQUI METES O SENSOR DA TOMADA WATTS
    unit_prefix: k
    round: 2 
	
utility_meter:
  daily_energy:
    source: sensor.energia_rede //este nome tem que ser igual ao sensor de cima
    cycle: daily

O reset é feito automaticamente.

Podes confirmar se percebi bem o que queres dizer ?

No caso do sensor, onde tenho :

sensor:
  - platform: history_stats
    entity_id: sensor.power_14
    state: 'on'
    name: Horas termoacumulador
    start: '{{ now().replace(hour=0, minute=0, second=0) }}'
    end: '{{ now() }}'

Passo a ter :

sensor:

  - platform: integration
    name: "Energia Rede"
    source: sensor.power_14
    unit_prefix: k
    round: 2 

E no utility meter altero o monthly para daily ?

Sim, parece isso. E no utility_meter usas o sensor gerado pelo integration em modo daily

Certo, isso mesmo, tenta assim.

Boa tarde pessoal,
Preciso da vossa ajuda… Estou com alguma dificuldade em que o HA injetede a informação para o costum_data.

Tenho esta config no YAML:

homeassistant:

shell_command:
  daily_insert_mysql: "python3 /config/py_scripts/daily_insert_mysql.py --host=core-mariadb --user=nnexuss --password=mFKLoxyBYf5hmvmM1 --db=custom_data --table={{ table }} --value={{ value }} {{ '--col='+column if column is defined }}"
  python_install_pymysql_dependency: "pip install pymysql"


automation:

  - alias: "Instala a dependencia no arranque do ha"
    initial_state: true
    trigger:
      - platform: homeassistant
        event: start
    action:
      - service: shell_command.python_install_pymysql_dependency
      
  - alias: "Registar o consumo mensal de energia"
    initial_state: true
    trigger:
      - platform: state
        entity_id: sensor.fatura_energia
    action:
      - service: shell_command.daily_insert_mysql
        data_template:
          table: consumo_energia
          value: >
            {{ trigger.to_state.state }}
          column: >
            {% if trigger.entity_id == "sensor.fatura_energia" %}
              consumo_energia_diario
            {% endif %}

No MariaDB tenho:

databases:
  - custom_data
logins:
  - username: nnexuss
    host: '%'
    password: mFKLoxyBYf5hmvmM1
rights:
  - username: nnexuss
    host: '%'
    database: custom_data
    grant: ALL PRIVILEGES ON

E no log do MariaDB não tenho qualquer erro, mas no log do HA tenho la os seguintes erros.

O costum_data teima em ficar sem info :frowning: image

Alguma ideia do que poderá ser?

Obrigado.

Viva Rodolfo, segui os passos para mostrar uma lista de valores com os anos mas quando chego à parte final de construir o card, da-me erro. Sabes ideia do que poderá ser? Obrigado

A nível do sensor selecionado, os dados estão ok.

Exprimenta, fazer uma actualização de estado forçada , altera o valor de estado para outro valor e testa.

O sensor não está a escrever valores , deverias ter algo assim:

Haverá forma de aplicar um sistema bi-horário, à apresentação do gráfico?
Imagino que se se acrescentasse dois sensores (vazio, fora_vazio)…

Será que alguém me pode dar umas ideias?

Dá uma olhada na documentação do chartjs, tem imensas opções

Viva,

Tipo isto:

image

Este gráfico tem 6 sensores diferentes.

Realmente, a documentação apresenta um mundo de possibilidades.
Ver se arranjo tempo para ler aquilo com atenção.

As próprias variações de preços da EDP, neste sistema, são uma dor de cabeça à parte.
Ainda agora estava a ver a fatura que chegou, depois de reclamar os valores dos 2 meses passados não estarem de acordo com o anunciado antes da passagem de ano:

                              2020    2021(Jan-Fev)    2021(Mar-)

Preço de Potência (4.6kVa): 0,2953€     0,3094€        0,3251€
Vazio:                      0,1011€     0,1024€        0,0923€
Fora de Vazio:              0,1881€     0,1962€        0,1833€

Ugh, é isso e os valores do IVA nunca irem ao legalmente definido, em bi-horário: 60 kWh, nas horas fora de vazio, e 40kWh, em vazio, aos 13%.
No entanto, na fatura: 50kWh, em fora de vazio, e 33kWh, em vazio, aos 13%.


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade