Releases: robertzaage/GroBro
Releases · robertzaage/GroBro
v2.7.5
v2.7.4
v2.7.3
v2.7.3
New Features
- Added
KEEP_BATTERY_POSITIONoption (default: off). When enabled, GroBro tracks NOAH battery serial numbers across position changes and logs a warning if the inverter stack re-enumerates and a battery moves to a different slot (#196)
Bug Fixes
- Fixed NEXA and NOAH devices crashing the parser every hour when sending holding register dumps (message type 0x0103). These messages are now properly decoded and their sensor values are published to Home Assistant (#198)
- Fixed NEXA household load sensors showing wrong values when the load is negative (e.g. exporting to grid). The registers are now parsed as signed values (#195)
v2.7.2
v2.7.2
New Features
- NEO 2000 inverters (4 MPPT inputs) now expose PV3 and PV4 voltage, current, and power sensors. Detection is automatic - GroBro compares total PV power against individual MPPT sums at runtime. No configuration needed (#182)
- Added TL-XH2 inverter support (ZGQ serial prefix). The XH2 family shares the NEO register map and exposes grid import/export power, load power, battery state, BMS telemetry, and diagnostic sensors with XH2-specific names and publish defaults (#185)
Bug Fixes
- Added missing device class
batteryto individual battery SOC sensors for NOAH and SPF devices, so they display with colored badges in Home Assistant (#181) - Fixed NOAH battery devices being merged into one in Home Assistant. All NOAH devices report the same non-unique MAC address (
AA:BB:CC:DD:EE:XX), which caused Home Assistant's device registry to treat them as the same device. The MAC is now validated and masked MACs like this are rejected and no longer used for device matching (#178) - Fixed missing TZ definition in German translation (#183)
- Fixed
MAX_BAT=autoshowing phantom empty batteries, battery count is now read from the device's ownbat_cntregister instead of relying solely on serial-number register presence (#187)
v2.6.2
v2.6.2
New Features
MAX_BAT=autois now the default. The number of battery packs is detected automatically. You can still override withMAX_BAT=1,MAX_BAT=2, etc.- Battery serial numbers are now combined into a single sensor per battery (
Bat2/3/4 Serial) instead of 4 separate part-sensors. Battery 1 uses the device serial ("Device SN"). - PTQ inverters (NEO 1000M-X via LoRa) behind ShineWeLink dongles are now extracted from config messages and registered as separate NEO devices in Home Assistant, with modbus data routed to them automatically.
Bug Fixes
- Fixed MQTT topic serial containing control characters being used as HA device identifier
- Fixed ShineWeLink config messages (type 0x0129, function 0x29) being silently dropped
v2.5.2
v2.5.2
Bug Fixes
- Fixed NOAH FE19 config messages using the config's serial number (data logger serial) as HA device identifier instead of the MQTT topic serial. This caused multiple devices behind a shared data logger to be merged into one device in Home Assistant (#178)
- Removed wrong registers introduced in v2.5.0 from NOAH mapping
v2.5.1
v2.5.1
Bug Fixes
- Fixed regression where NOAH message dispatcher consumed ALL device types' function 3 (holding register) and function 16 (preset multiple) messages, causing them to never reach the modbus parser. This broke NEO, NEXA, and SPF devices that send these function codes.
v2.5.0
v2.5.0
New Features
- Added
MAX_BATenvironment variable to control how many battery packs appear in Home Assistant. For example,MAX_BAT=1hides all but the first battery module. Set it to match how many batteries your system actually has. - Added
FILTER_DATA_GLITCHESoption (default: off) to prevent glitches on total_increasing sensors after a device reconnects (#154) - Added 37 missing NOAH input registers: PV1/PV2 temperature, battery SOH, PV3/PV4 voltage/current/temperature, battery 1 serial number, all battery warning and protection statuses, work mode, charging status/power, fault status, AC couple statuses, CT/grid/household load registers, system temperature, and cell voltage limits
- Parser now supports the
multfield (in addition tofloat_options) for simpler register definitions - Added support for ShineWeLink-X2 data loggers (RAQ serial prefix). These dongles bridge LoRa-connected inverters like the NEO 1000M-X into MQTT. Their messages are now properly routed, including config telemetry (firmware version, serial number).
- Added parser for new message type
0x6F64(EcoTracker JSON data). EcoTracker sensor data is now forwarded to HA instead of being silently dropped (#176)
Bug Fixes
- Fixed missing
device_class: voltagefor Output Voltage sensor - Removed duplicate
out_voltageregister definition - Added
VENDOR_100to modbus function enum and downgraded unknown function log from INFO to DEBUG to reduce log noise (#176) - Fixed NOAH config messages (FE19) not being processed - firmware version, serial number and other device info are now properly saved in Home Assistant