SW necessário:
- Instalação de Home Assistant, com cliente MQTT ligado a um broker
- cliente Home assistent para android
- Node-red para enviar dados para o MQTT onde está ligado o Home asisstant
Passo 1:
Usar o Node-RED para encaminhar todas as mensagens do EVSE inteligente para o broker local
as credencias de acesso ao broker do EVSE inteligente pode ser consultado no BOT telegram executando o comando /help
Podem usar uma ligação segura ativando o SSL e usando o porto 8883 na configuração do nó.
verificar que aparecem dados do EVSE inteligente no broker local
Passo 2:
Na configuração do Home Assistant criei um ficheiro separado para os sensores:
Código: Selecionar todos
sensor.yaml
- platform: mqtt
state_topic: '<mqtt_topic>/from/on'
name: 'evse_on'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_EVamp'
value_template: '{{ value_json.EVamp }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_EVmod'
value_template: '{{ value_json.EVmod }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_EVsta'
value_template: '{{ value_json.EVsta }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_EValg'
value_template: '{{ value_json.EValg }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_Scene'
value_template: '{{ value_json.Scene }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_eNode'
value_template: '{{ value_json.eNode }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_eNodeA'
value_template: '{{ value_json.eNodeA }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_T'
value_template: '{{ value_json.T }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_V'
value_template: '{{ value_json.V }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_I'
value_template: '{{ value_json.I }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_P'
value_template: '{{ value_json.P }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_CHti'
value_template: '{{ value_json.CHti }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_CHet'
value_template: '{{ value_json.CHet }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_CHel'
value_template: '{{ value_json.CHel }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_CHep'
value_template: '{{ value_json.CHep }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_CHkmh'
value_template: '{{ value_json.CHkmh }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_TDel'
value_template: '{{ value_json.TDel }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_TDurc'
value_template: '{{ value_json.TDurc }}'
- platform: mqtt
state_topic: '<mqtt_topic>/from'
name: 'evse_ChV'
value_template: '{{ value_json.ChV }}'
substituir <mqtt_topic> pelo topico especifico que aparece.
reiniciar o Home assistant
Passo 3:
No Home assistant deverão aparecer os sensores com dados.
ir a Developer tools -> Template
e colocar este codigo na janela para validar o template
Código: Selecionar todos
<html><body>
{% if is_state("sensor.evse_garagem_on", "off") %}
<p>{{ "\u274C" }} EVSE </p>
{%- else -%}
<p>{{ "\u2705" }}EVSE</p>
{%- endif %}
{%- if is_state("sensor.evse_garagem_EVsta", "3") %}
<p>{{"\uD83D\uDE97"}} CHARGE </p>
<p>{{"\u231B"}} {{ ( states("sensor.evse_garagem_CHti") | float / 60) | round(0) }}min </p>
<p>{{"\u26A1"}} {{states("sensor.evse_garagem_V")|round(0)}}V {{states("sensor.evse_garagem_I")|round(1)}}A {{ (states("sensor.evse_garagemPV")|float / 1000)|round(1)}}kW </p>
<p>{{"\uD83C\uDF21\uFE0F"}} {{states("sensor.evse_garagem_T") | round(0) }}ºC </p>
{% elif is_state("sensor.evse_garagem_EVsta", "1") %}
<p>{{"\uD83D\uDE97"}} N/CON </p>
{% elif is_state("sensor.evse_garagem_EVsta", "2") %}
<p>{{"\uD83D\uDE97"}} CONN </p>
{% elif is_state("sensor.evse_garagem_EVsta", "253") %}
<p>{{"\uD83D\uDE97"}} SLEEP</p>
<p>{{"\u231B"}} {{ ( states("sensor.evse_garagem_CHti") | float / 60) | round(0) }}min </p>
<p>{{"\u26A1"}} {{states("sensor.evse_garagem_V")|round(0)}}V {{states("sensor.evse_garagem_I")|round(1)}}A {{ (states("sensor.evse_garagem_P")|float / 1000)|round(1)}}kW </p>
<p>{{"\uD83C\uDF21\uFE0F"}} {{states("sensor.evse_garagem_T") | round(0) }}ºC </p>
{% elif is_state("sensor.evse_garagem_EVsta", "254") %}
<p>{{ "\u274C" }} Disabled! </p>
{% elif is_state("sensor.evse_garagem_EVsta", "255") %}
<p>{{ "\u274C" }} Disabled! </p>
{% else %}
<p>{{"\uD83D\uDE97"}} ERROR!</p>
{%- endif %}
</body></html>
Passo 4:
seguir este procedimento, no telemovel
https://companion.home-assistant.io/doc ... /#template
- Long press on any open space in the home screen
- Scroll down to Home Assistant in the widget list
- Drag the Template widget to an open space on the home screen
- Fill in the template data and observe the rendering below --->
copiar o codigo do passo 3
- Save the widget
NOTA: eu nao percebo nada de Home Assistant
NOTA2: ajudem-me a converter o sensor "evse_CHti" que representa a carga em segundos para algo do tipo "horas:minutos"