Solakon ONE Inverter

Monitor and control the Solakon ONE hybrid solar inverter via Modbus TCP

Current Release
1.0.19
Developer
Marco Bertulies
License
MIT

ioBroker adapter for the Solakon ONE hybrid solar inverter

Monitors and controls the Solakon ONE hybrid solar inverter (www.solakon.de) with battery storage over the local network via Modbus TCP (Port 502).

Deutsch / German documentation


Requirements

  • ioBroker with js-controller >= 6.0.0
  • Node.js >= 22
  • Solakon ONE inverter reachable in the local network
  • Modbus TCP enabled on the device (Port 502)

Installation

Install via the ioBroker Admin interface: Adapters → search for "solakon-one" → Install.


Configuration

FieldDescriptionDefault
IP AddressIP of the Solakon ONE on the LAN192.168.1.100
PortModbus TCP port502
Modbus Device IDSlave address (1–247)1
Interval (s)Poll interval (1–300 s)30

Data Points

All data points are created under solakon-one.<instance>.* (e.g. solakon-one.0.* for the default instance number 0; multiple instances are possible).

Connection Status

IDDescriptionType
info.connectionConnection activeBoolean

Device Information (device.*)

IDDescription
device.modelModel name
device.serialSerial number
device.fw_masterFirmware version (Master)
device.fw_slaveFirmware version (Slave)

Photovoltaics (pv.*)

IDDescriptionUnit
pv.total_powerTotal PV powerW
pv.total_energyTotal PV energykWh
pv.pv1_voltage … pv4_voltageString voltageV
pv.pv1_current … pv4_currentString currentA
pv.pv1_power … pv4_powerString powerW

Battery (battery.*)

IDDescriptionUnit
battery.socState of Charge (SoC)%
battery.voltageVoltageV
battery.currentCurrentA
battery.powerPower (+ charge, − discharge)W
battery.combined_powerCombined powerW
battery.total_chargeTotal charge energykWh
battery.total_dischargeTotal discharge energykWh
battery.bms1_sohState of Health (SoH)%
battery.design_energyNominal capacityWh
battery.ambient_tempAmbient temperature°C
battery.max_tempMaximum temperature°C
battery.min_tempMinimum temperature°C

Grid (grid.*)

IDDescriptionUnit
grid.off_gridIsland mode activeBoolean
grid.r_voltageGrid voltage phase RV
grid.s_voltageGrid voltage phase SV
grid.t_voltageGrid voltage phase TV
grid.frequencyGrid frequencyHz
grid.active_powerActive power (+ export, − import)W
grid.reactive_powerReactive powerkvar
grid.power_factorPower factor–
grid.total_exportTotal feed-in energykWh
grid.total_importTotal purchased energykWh
grid.standardGrid standard (6=VDE0126, 7=VDE4105_DE)–

Inverter (inverter.*)

IDDescriptionUnit
inverter.temperatureInternal temperature°C
inverter.frequencyOutput frequencyHz
inverter.daily_energyDaily yieldkWh
inverter.total_energyTotal yieldkWh
inverter.operating_modeOperating mode–
inverter.network_statusNetwork status–

Emergency Power / EPS (eps.*)

IDDescriptionUnit
eps.voltageEPS output voltageV
eps.currentEPS output currentA
eps.powerEPS output powerW

Status (status.*)

IDDescription
status.remote_controlActive remote control mode
status.remote_countdownRemaining time remote control (s)

Control (control.*) — writable

IDDescriptionRange
control.remote_control_modeRemote control mode0/1/3/5/7/9/11/13/15
control.remote_timeoutRemote control timeout (s)0–3600
control.remote_active_powerActive power setpoint (W)-100000–100000
control.remote_reactive_powerReactive power setpoint (var)-100000–100000
control.eps_outputEPS/UPS output0=Off, 2=EPS, 3=UPS
control.minimum_socMin. state of charge0–100 %
control.maximum_socMax. state of charge0–100 %
control.minimum_soc_ongridMin. SoC (grid-connected)0–100 %
control.max_charge_currentMax. charge current0–40 A
control.max_discharge_currentMax. discharge current0–40 A
control.operating_modeOperating mode0–7

Operating modes (operating_mode)

ValueDescription
0Unspecified
1Self-consumption
2Feed-in priority
3Backup
4Peak shaving
6Force charge
7Force discharge

Remote control modes (remote_control_mode)

ValueDescription
0Off
1Inverter export (PV priority)
3Inverter import (PV priority)
5Battery discharge
7Battery charge
9Grid export
11Grid import
13Inverter export (grid priority)
15Inverter import (grid priority)

Changelog

1.0.19 (2026-10-14)

  • (berto-1974) Adapter requires admin >= 7.8.23 now
  • (berto-1974) Dependencies updated (@iobroker/adapter-core 3.4.3, @iobroker/testing 6.3.1)
  • (berto-1974) Node.js 26 added to the test matrix

1.0.18 (2026-07-24)

  • Fix stale Modbus connection not being reset after a poll returns no data, which could cause the adapter to keep reusing a dead connection instead of reconnecting

1.0.17 (2026-07-24)

  • Speed up adapter startup by creating/healing all datapoints in parallel instead of sequentially
  • Make Modbus reconnect more robust (graceful socket close, automatic connect retry) to reduce ECONNRESET disconnects

1.0.16 (2026-07-23)

  • Fix Admin GUI crash when hovering enum values in the object tree (#44): common.states is now resolved to plain per-language strings instead of translation objects, with automatic self-healing for existing installations
  • Add common.desc (English/German) for control and status datapoints

1.0.15 (2026-06-28)

  • Fix README manufacturer link: use solakon.de instead of the unrelated Home Assistant integration repo

License

MIT License

Copyright (c) 2026 Marco Bertulies berto74online@gmail.com

See LICENSE for the full license text.

Based on the Home Assistant integration for Solakon ONE.