Supervisor -> Add-on store -> (seleccionas o add-on) -> Configuration -> Em baixo na porta, metes a correspondência
metes a porta que queres, normalmente a mesma, nesse caso 3306
Boas Pessoal,
Parabéns pelo trabalho !
No meu caso primero erro, não cria a Base de dados.
Podem ajudar Pf
Qual foi a base de dados que criaste?
Mostra lá o código que tens no shell_command daily_insert_mysql e o que tens na config do addon
shell_command:
daily_insert_mysql: "python3 /config/py_scripts/daily_insert_mysql.py --host=core-mariadb --user=homeassistant --password=xptoxpto--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 diário de energia"
initial_state: true
trigger:
- platform: state
entity_id: sensor.shelly_em_power_energy_today
action:
- service: shell_command.daily_insert_mysql
data_template:
table: consumo_energia
value: >
{{ trigger.to_state.state }}
column: >
{% if trigger.entity_id == "sensor.shelly_em_power_energy_today" %}
consumo_energia_diario
{% endif %}
databases:
- homeassistant
logins:
- username: homeassistant
password: xptoxpto
rights:
- username: homeassistant
database: homeassistant
Assumo que não estejas a usar a DB do Home Assistant no MariaDB. No entanto, apesar de ser possível com essa configuração, não recomendo de todo usares o nome homeassistant como nome da base de dados. Porque se mais tarde quiseres colocar o HA a usar o MariaDB pode gerar-te confusão.
Se reparares no código do shell_command, indicas para escrever na base de dados chamada custom_data
, mas não a tens definida na configuração do addon. Isso foi explicado no tópico
Deves criar uma base de dados com o nome custom_data
e dar as devidas permissões ao utilizar também criado, assim:
databases:
- custom_data
logins:
- username: homeassistant
host: '%'
password: xptoxpto
rights:
- username: homeassistant
host: '%'
database: custom_data
grant: ALL PRIVILEGES ON
Noto também que no shell_command falta-te um espaço logo a seguir à password
ola pessoal…
nao estou a encontrar o programa heidisql
…alguem que me possa indicar o sitio
acabei por instalar phpmyadmin…faz o mesmo certo?
ja fiz um pequeno teste…mas nao esta a registar valor, nem tabelas…mas tb nao me está aparecer nenhum erro
…
Vi agora nos log da MariaDB…
Quanto ao phpmyadmin faz o mesmo sim
Deves ter configurado mal as permissões no addon
ja resolvi…eram as passwords que estavam erradas…
ja tenho valores na base de dados, e ja tenho o sensor que vai buscar os valor à base de dados… mas nao estou a conseguir mostrar os valor …
isto nao funciona…pois nao mostra valores…
sensor:
- platform: sql
db_url: mysql://teste:teste@core-mariadb/custom_data
queries:
- name: consumo_electricidade_bastidor
query: >-
SELECT * FROM `consumo_energia_diaria_Bastidor`;
column: "value"
para escrever na DB:
- alias: "Registo Diario - Consumo do Bastidor"
initial_state: true
trigger:
- platform: state
entity_id: sensor.sonoff_hoje
action:
- service: shell_command.daily_insert_mysql
data_template:
table: consumo_energia_diaria_Bastidor
value: >
{{ trigger.to_state.state }}
column: >
{% if trigger.entity_id == "sensor.sonoff_hoje" %}
consumo_energia_diaria_bastidor
{% endif %}
[sensor.consumo_electricidade_bastidor]
state : unknown
friendly_name: consumo_electricidade_bastidor
O código para escrever na base de dados não interessa visto que está a registar.
Quanto ao sensor, estás a fazer um select all e não existe nenhuma coluna com o nome value, podes experimentar correr essa query no phpmyadmin para perceberes o que estás a receber.
No entanto para passar os valores para o HA tem de ser de forma diferente, como está no tutorial e não select all
ja tenho 2 dias na base de dados…
no sensor só me aparece um…mas acredito que falte algo na query…
mas mesmo assim só com um valor nao me aparece nada no grafico.
sensor:
- platform: sql
db_url: mysql://teste:teste@core-mariadb/custom_data
queries:- name: consumo_electricidade_Bastidor
query: SELECT * FROMconsumo_energia_diaria_Bastidor
ORDER BYconsumo_energia_diaria_Bastidor
.date
DESC;
column: “consumo_energia_diaria_bastidor”
- name: consumo_electricidade_Bastidor
card:
chart: bar
custom_options:
showLegend: false
data:
datasets:
- backgroundColor: '${states["sensor.consumo_electricidade_bastidor"].attributes.colors}'
borderWidth: 1
data: '${states["sensor.consumo_electricidade_bastidor"].attributes.data}'
label: Eletricidade
labels: '${states["sensor.consumo_electricidade_bastidor"].attributes.labels}'
entity_row: false
options:
scales:
yAxes:
- ticks:
beginAtZero: true
title:
display: true
text: |
${"Consumo Diario - Bastidor"}
type: 'custom:chartjs-card'
a tua query não está bem, não fizeste como o tutorial explica
para poderes usar a informação da query no gráfico, tens de obter em formato de lista. Vê o exemplo da query exposta no tutorial
Boa noite!
Excelente tópico.
Estou a ter problemas quando tento aceder à mariadb através do Heidisql.
Dá-me erro e diz que não consegue aceder a MySQL server no raspberry pi (deduzo que é este o IP que tenho que colocar certo?).
Alguma ideia do que pode estar a acontecer?
Obrigado,
Daniel Fonseca
Bom dia!!
Abriste a porta do mariadb? Por defeito fica a null, tens de meter 3306
Viva.
Era isso mesmo e não sei como me escapou. Verificou dezenas de vezes!
Agora já lê a base de dados, mas não está a escrever nada (percebo muito pouco disto…)
Fica um printscreen do ficheiro YML que criei (não consigo criar YAML no notepad++. É a mesma coisa?) e um print screen do Heidi para ver se me ajudam a descobrir o que está mal.
Obrigado pela paciência!
Daniel Fonseca
Altera a extensão para yaml
em vez de yml
, poderá estar mesmo aí, não tenho a certeza mas possivelmente o HA não o lê
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.