Det var rätt enkelt att få in den via HACS och ställa in MQTT i HA och peka den mot Ferroampens IP.
Men, sen fick vi installerat en CTEK Chargestorm Connected 2 där man kan aktivera MQTT, antingen låta CTEK'en agera broker eller peka den mot en broker.
Och där tog det stopp. Man kan inte ha flera MQTT i HA (vilket är OK och dokumenterat) så man måste sätta upp en MQTT Bridge.
Det tog lite tid att få till detta, men det var rätt enkelt.
Först redigerar man /etc/mosquitto/conf.d/mosquitto.conf från detta:
Kod: Markera allt
allow_anonymous false
password_file /etc/mosquitto/conf.d/pwfile
listener 1883
Kod: Markera allt
allow_anonymous false
password_file /etc/mosquitto/conf.d/pwfile
listener 1883
# Comment out after checking that topics are received
log_type all
# Bridge, needs to be like this:
connection brygga
# IP address of the Ferroamp EnergyHub
address X.X.X.X:1883
topic # both 0
cleansession true
try_private false
remote_username YYYYYYYYYY
remote_password ZZZZZZZZZZZZ
Ändra YYYYYYYYYY till användarnamnet ni fått av Ferroamp
Ändra ZZZZZZZZZZZZ till lösenordet ni fått av Ferroamp
Spara filen.
Testa att syntaxen är OK:
Kod: Markera allt
sudo /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf -v
Kod: Markera allt
sudo mosquitto_passwd -b /etc/mosquitto/conf.d/pwfile ctek
Skapa sensorerna i configuration.yaml:
Byt ut CBID mot boxens Id.
Kod: Markera allt
sudo nano /home/homeassistant/.homeassistant/configuration.yaml
Kod: Markera allt
mqtt:
sensor:
# Ctek, Chargestorm Car Charger
# EV Charger
- state_topic: 'CTEK/CBID/evse1/em'
name: 'CTEK Elbilsladdare Energikonsumtion [kWh]'
unique_id: "CBID-emkwh"
value_template: "{{value_json['energy'] | multiply(0.001) | round | float }}"
unit_of_measurement: 'kWh'
state_class: 'total_increasing'
device_class: 'energy'
- state_topic: 'CTEK/CBID/evse1/em'
name: 'CTEK Elbilsladdare Effekt'
unique_id: "CBID-emw"
unit_of_measurement: 'W'
state_class: 'measurement'
device_class: power
value_template: '{{ value_json.power | round(2) }}'
- state_topic: 'CTEK/CBID/evse1/em'
name: 'CTEK Elbilsladdare Ström Fas 1'
unique_id: "CBID-A1"
value_template: "{{value_json['current'][0] | round(2) }}"
unit_of_measurement: 'A'
state_class: 'measurement'
device_class: 'current'
- state_topic: 'CTEK/CBID/evse1/em'
name: 'CTEK Elbilsladdare Ström Fas 2'
unique_id: "CBID-A2"
value_template: "{{value_json['current'][1] | round(2) }}"
unit_of_measurement: 'A'
state_class: 'measurement'
device_class: 'current'
- state_topic: 'CTEK/CBID/evse1/em'
name: 'CTEK Elbilsladdare Ström Fas 3'
unique_id: "CBID-A3"
value_template: "{{value_json['current'][2] | round(2) }}"
unit_of_measurement: 'A'
state_class: 'measurement'
device_class: 'current'
- state_topic: 'CTEK/CBID/evse1/em'
name: 'CTEK Elbilsladdare Volt Fas 1'
unique_id: "CBID-V1"
value_template: "{{value_json['voltage'][0] | round(2) }}"
unit_of_measurement: 'V'
state_class: 'measurement'
device_class: 'voltage'
- state_topic: 'CTEK/CBID/evse1/em'
name: 'CTEK Elbilsladdare Volt Fas 2'
unique_id: "CBID-V3"
value_template: "{{value_json['voltage'][1] | round(2) }}"
unit_of_measurement: 'V'
state_class: 'measurement'
device_class: 'voltage'
- state_topic: 'CTEK/CBID/evse1/em'
name: 'CTEK Elbilsladdare Volt Fas 3'
unique_id: "CBID-V3"
value_template: "{{value_json['voltage'][2] | round(2) }}"
unit_of_measurement: 'V'
state_class: 'measurement'
device_class: 'voltage'
# EV Status
- state_topic: 'CTEK/CBID/evse1/status'
name: 'CTEK Elbilsladdare Status'
icon: mdi:ev-station
unique_id: "CBID-status"
value_template: "{% if value_json.state == 'AVAL' %}Tillgänglig, ingen elbil ansluten.\
{% elif value_json.state == 'PAUS' %}Paus, laddstationen medger inte laddning.\
{% elif value_json.state =='EVRD' %}Elbilen är klar.\
{% elif value_json.state =='CHRG' %}Laddning pågår.\
{% elif value_json.state =='FLTY' %}FEL, något är felaktigt.\
{% elif value_json.state =='DSBL' %}Inaktiverad.\
{% elif value_json.state =='CONN' %}Elbilen är ansluten, väntar på autentiering.\
{% elif value_json.state =='NCRQ' %}Ingen laddning efterfrågas av elbilen.\
{% elif value_json.state =='AUTH' %}Autentierad, väntar på att elbilen skall enslutas.\
{% elif value_json.state =='INVL' %}Ogiltig, något är felaktigt.\
{% elif value_json.state =='GONE' %}Elbilen är frånkopplad.\
{% elif value_json.state =='DONE' %}Laddsessionen är avslutad.\
{% elif value_json.state =='SUHT' %}Tillfälligt tillstånd för paus.\
{% elif value_json.state =='STHT' %}Tillfälligt tillstånd för att stoppa laddsessionen.\
{% endif %}"
Starta om mosquitto:
Kod: Markera allt
sudo systemctl restart mosquitto
Kommer det data i mosquitto.log?
Kod: Markera allt
sudo tail -f /var/log/mosquitto/mosquitto.log
Redigera mosquitto.conf, sätt # framför log_type all så den slutar logga, annars fyller du /var/log foldern.
Starta om mosquitto
Kod: Markera allt
sudo systemctl restart mosquitto
Nu ska CTEKen, börja fylla på data för sensorerna. EDIT, fixade syntax för skapande av nya användare i mosquitto, förtydligade CBID