Hi there,
I currently use a combination of two local plug-in batteries (Hoymiles MS-A2) chained together and linked with a power meter (in my case a Tasmota based IR-reader device on the official power meter; typical is using a Shelly Pro 3M).
All this is used to store energy coming from rooftop solar panels (so this is not about a βBalkonkraftwerkβ setup with panels directly attached to the batteries).
MQTT is activated, so we get all the data from the batteries.
MQTT is also used to collect the data from the IR-reader.
Then the software Unimeter (GitHub - sdeigm/uni-meter: A universal electric meter data converter (emulator)) is used to emulate a Shelly pro 3M power meter to the batteries, so the inbuilt logic can use this to control input/output.
And here is the full HA config for all the data coming in via MQTT:
β777777777777β is the serial number of the βmasterβ battery plugged into your home and β888888888888β is the serial number of the βslaveβ battery plugged into the master battery.
I have to split the config quote here in two parts.
Part 1 for the master:
mqtt:
sensor:
# ---------- MASTER (777777777777) ----------
# quick/state (1 s)
# Active power of the device connected to the grid-on port
- name: "Akkusystem - Leistungsabgabe grid_on_p"
unique_id: master_quick_grid_on_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.grid_on_p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# Active power of the device away from the grid-off port
- name: "Master β Leistungsdurchleitung zum Slave"
unique_id: master_quick_grid_off_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.grid_off_p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# Device battery status
- name: "Master β Batterie-Status"
unique_id: master_quick_bat_sts
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.bat_sts }}"
device_class: enum
options: ["standby", "charge", "discharge", "lock"]
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# Device battery power
- name: "Master β Batterie-Leistung"
unique_id: master_quick_bat_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.bat_p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# Remaining battery power of the device
- name: "Master β Ladezustand"
unique_id: master_quick_soc
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.soc | float(0) }}"
unit_of_measurement: "%"
device_class: battery
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System photovoltaic power
- name: "Akkusystem β PV-Leistung (Balkonpanels)"
unique_id: master_quick_sys_pv_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.sys_pv_p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System socket power
- name: "Akkusystem β Leistungsabgabe ins Haus"
unique_id: master_quick_sys_plug_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.sys_plug_p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System battery power
- name: "Akkusystem β Batterie-Leistungsabgabe"
unique_id: master_quick_sys_bat_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.sys_bat_p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System grid power
- name: "Haus - Netzbezugs-Leistung (via Unimeter/IR-Kopf)"
unique_id: master_quick_sys_grid_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.sys_grid_p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System load power
- name: "Haus - PV-Γberschuss-Leistung (via Unimeter/IR-Kopf)"
unique_id: master_quick_sys_load_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ - 1 * (value_json.sys_load_p) | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System smart socket power
- name: "Akkusystem β Smart-Socket-Leistung"
unique_id: master_quick_sys_sp_p
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.sys_sp_p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System battery power
- name: "Akkusystem - Ladezustand"
unique_id: master_quick_sys_soc
state_topic: "homeassistant/sensor/MSA-777777777777/quick/state"
value_template: "{{ value_json.sys_soc | float(1) }}"
unit_of_measurement: "%"
device_class: battery
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# device/state (5 min) β Grid-Ports
- name: "Master β Grid-ON Spannung"
unique_id: master_device_grid_on_v
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].v | float(0) }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-ON Strom"
unique_id: master_device_grid_on_i
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].i | float(0) }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-ON Frequenz"
unique_id: master_device_grid_on_f
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].f | float(0) }}"
unit_of_measurement: "Hz"
device_class: frequency
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-ON Wirkleistung"
unique_id: master_device_grid_on_p
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-ON Blindleistung"
unique_id: master_device_grid_on_q
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].q | float(0) }}"
unit_of_measurement: "var"
device_class: reactive_power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-ON E-IN Tag"
unique_id: master_device_grid_on_ein
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].ein | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-ON E-OUT Tag"
unique_id: master_device_grid_on_eout
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].eout | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-ON E-IN Gesamt"
unique_id: master_device_grid_on_etin
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].etin | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-ON E-OUT Gesamt"
unique_id: master_device_grid_on_etout
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[0].etout | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF Spannung"
unique_id: master_device_grid_off_v
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].v | float(0) }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF Strom"
unique_id: master_device_grid_off_i
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].i | float(0) }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF Frequenz"
unique_id: master_device_grid_off_f
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].f | float(0) }}"
unit_of_measurement: "Hz"
device_class: frequency
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF Wirkleistung"
unique_id: master_device_grid_off_p
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF Blindleistung"
unique_id: master_device_grid_off_q
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].q | float(0) }}"
unit_of_measurement: "var"
device_class: reactive_power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF E-IN Tag"
unique_id: master_device_grid_off_ein
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].ein | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF E-OUT Tag"
unique_id: master_device_grid_off_eout
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].eout | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF E-IN Gesamt"
unique_id: master_device_grid_off_etin
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].etin | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Grid-OFF E-OUT Gesamt"
unique_id: master_device_grid_off_etout
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[1].etout | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Inverter Spannung"
unique_id: master_device_inv_v
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[2].v | float(0) }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Inverter Strom"
unique_id: master_device_inv_i
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[2].i | float(0) }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Inverter Wirkleistung"
unique_id: master_device_inv_p
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[2].p | float(0) }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Inverter Blindleistung"
unique_id: master_device_inv_q
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[2].q | float(0) }}"
unit_of_measurement: "var"
device_class: reactive_power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Inverter E-IN Tag"
unique_id: master_device_inv_ein
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[2].ein | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Inverter E-OUT Tag"
unique_id: master_device_inv_eout
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[2].eout | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Inverter E-IN Gesamt"
unique_id: master_device_inv_etin
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[2].etin | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Inverter E-OUT Gesamt"
unique_id: master_device_inv_etout
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.grid[2].etout | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# Batteriespezifische Werte
- name: "Master β Batteriespannung"
unique_id: master_device_bat_v
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.bat_v | float(0) }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Batteriestrom"
unique_id: master_device_bat_i
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.bat_i | float(0) }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β Batterietemperatur"
unique_id: master_device_bat_temp
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.bat_temp | float(0) }}"
unit_of_measurement: "Β°C"
device_class: temperature
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β SOC"
unique_id: master_device_soc
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.soc | float(1) }}"
unit_of_measurement: "%"
device_class: battery
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Master β RSSI"
unique_id: master_device_rssi
state_topic: "homeassistant/sensor/MSA-777777777777/device/state"
value_template: "{{ value_json.rssi | int(0) }}"
unit_of_measurement: "dBm"
device_class: signal_strength
entity_category: diagnostic
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# system/state (5 min) β nur Master
# Photovoltaic power generation of the system on the day
- name: "Akkusystem β PV-Energie heute"
unique_id: master_system_pv_e
state_topic: "homeassistant/sensor/MSA-777777777777/system/state"
value_template: "{{ value_json.pv_e | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System charge on the battery side for the day
- name: "Akkusystem β Ladung heute"
unique_id: master_system_chg_e
state_topic: "homeassistant/sensor/MSA-777777777777/system/state"
value_template: "{{ value_json.chg_e | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# Battery side discharge capacity of the system for the day
- name: "Akkusystem β Entladung heute"
unique_id: master_system_dchg_e
state_topic: "homeassistant/sensor/MSA-777777777777/system/state"
value_template: "{{ value_json.dchg_e | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System output of grid-connected sockets on the day
- name: "Akkusystem β Steckdosen-Output heute"
unique_id: master_system_plug_out_e
state_topic: "homeassistant/sensor/MSA-777777777777/system/state"
value_template: "{{ value_json.plug_out_e | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# System grid-connected socket input power of the day
- name: "Akkusystem β Steckdosen-Input heute"
unique_id: master_system_plug_in_e
state_topic: "homeassistant/sensor/MSA-777777777777/system/state"
value_template: "{{ value_json.plug_in_e | int(0) }}"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
# The current EMS mode of the system
- name: "Akkusystem β EMS-Modus"
unique_id: master_system_ems_mode
state_topic: "homeassistant/sensor/MSA-777777777777/system/state"
value_template: "{{ value_json.ems_mode }}"
device_class: enum
options: ["general", "mqtt_ctrl"]
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Akkusystem - Maximal eingestellte Aufladeleistung aus Hausnetz"
unique_id: "auflade_maximum"
state_topic: "homeassistant/number/MSA-777777777777/power_ctrl/config"
value_template: "{{ value_json.min }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"
- name: "Akkusystem - Maximal eingestellte Entladeleistung ins Hausnetz"
unique_id: "entlade_maximum"
state_topic: "homeassistant/number/MSA-777777777777/power_ctrl/config"
value_template: "{{ value_json.max }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
device:
name: "Akku (Master)"
identifiers: "777777777777"
manufacturer: "Hoymiles"
model: "MS-A2"