- Fix Home Assistant warning when surplus feed-in is unavailable on older HM firmware versions
- Only encrypt Marstek topic device IDs for HMA, HMF, HMK, and HMJ devices (#231)
- Jupiter: Add Depth of Discharge control (needs firmware 140+). It is a reverse of the battery charge, so setting it to 75% means that the battery will only feed-in power when charged above 25%.
- Jupiter: Add BMS, MPPT, and inverter version sensors. Change friendly name of Device Version sensor to EMS Version, as reported by the Marstek app during firmware upgrade.
- Jupiter: The firmware reported to Home Assistant is now composed of four values:
<EMS version>.<BMS version>.<MPPT version>.<INV version>. - Jupiter: Add inverter metrics: temperature, error and warning codes, as well as grid voltage, current, power, power factor, and frequency.
- Jupiter: Fix parsing of negative temperatures.
- Jupiter: Fix Surplus Feed-In toggle not applying.
- Jupiter: Fix Surplus Feed-In state when device is actively feeding in surplus.
- Jupiter: Fix parsing of BMS Charge Voltage field.
- Venus: Add support for Venus A (VNSA) and Venus D (VNSD) device types
- Fix loop when all configured devices have invalid/unknown device types.
- Venus: Fix race condition where local API components were incorrectly disabled on startup. Components with conditional enablement now defer their decision until required device data is available (#189)
- Venus: Add support for Venus E 3.0 device type (VNSE3-0) (#182)
- Venus: Add local API enable and port controls for firmware 153 and above (#157)
- Home Assistant add-on: make application log level configurable via
log_leveloption (#161)
- Fix time synchronization to use local timezone offset (#102)
- Venus: Allow setting maximum charging power as low as 0W (#117)
- Add support for CT002 smart meter device type HME (#116)
- Add support for MI800 micro inverter device type HMI with sensors and control commands (#118, #123)
- Add 24-hour format for timings and fix "mAh" unit availability for energy class (#121)
- Switch logging system to pino for better performance and structured logging (#90)
- Sensors can now be conditionally disabled using a state-based function (#124, #148)
- Fix tests and improve test infrastructure (#105)
- Jupiter: Add MPPT sensors for PV voltage, current, and power (#82)
- Jupiter: Add MPPT temperature, error, and warning sensors (#82)
- Jupiter: Fix BMS voltage, current, and temperature sensors by adding proper divisors (#82)
- Jupiter: Fix WiFi signal strength sensor (reverse sign and add dBm unit) (#82)
- Use
total_increasingstate class for Jupiter and Venus period energy sensors instead oftotal(#86, fixes #84) - Jupiter: Add missing device and state classes to various sensors (#82)
- Add configurable MQTT topic prefix in Home Assistant addon configuration (#78, fixes #72)
- Correct state class from incorrect type to proper monetary sensor state class (#81, fixes #80)
- Fix global availability topic to use correct path
hm2mqtt/availability(#74)
- Add support for Jupiter C
- Add support for Marstek Jupiter and Jupiter Plus (JPLS-8H) devices (#38)
- Venus: Fix version set and discharge power commands (#67, related to #60)
- Fix time period weekday bug when changing power settings via MQTT - weekdays would change unexpectedly when modifying power, start/end times, or enabled status (#65, fixes #61)
- MQTT proxy: Prevent all client ID conflicts (not just 'mst_' prefixed ones) to resolve connection issues with multiple devices (#64)
- Add
state_class: 'measurement'to power sensors for Home Assistant statistics and Energy Dashboard support (#66, fixes #62) - MQTT proxy: Improved conflict resolution with retry logic and proper cleanup when clients disconnect (#64)
- Add optional MQTT proxy server to workaround a bug in the B2500 firmware 226.5 or 108.7 which disconnects other devices when connecting multiple devices simultaneously. See this issue and read the README for more information.
- Add more robust timeout handling: New setting
allowedConsecutiveTimeoutsto define the number of allowed timeouts before switching the device to offline.
- Fix: Prevent overlapping device requests and ensure robust polling. Only send new requests if there is no outstanding response timeout for the device, set the response timeout before sending requests, and use a consistent key for lastRequestTime. This resolves issues with multi-device polling, especially for B2500 devices. (Closes #41)
- B2500: Added Surplus Feed-in switch. This allows toggling surplus PV feed-in to the home grid when the battery is nearly full, via MQTT and Home Assistant.
- B2500: Fix unit and device class of Extra 2 battery SoC
- Venus:
- Fix working mode command
- Add max charging/discharging power command
- Add version command
- Turn grid-type into read-only sensor
- B2500: Support setting output power to a value below 80W
- Previously hm2mqtt published its own data to the
hame_energy/{deviceType}/ormarstek_energy/{deviceType}topic. From 1.3.0 onwards the topic changed tohm2mqtt/{deviceType}
- B2500: Better support for devices with firmware >=226 (for HMA, HMF or HMK) or >=108 (for HMJ):
- Automatically calculate new encrypted device ID: No need to wait for 20 minutes to get the encrypted id. Instead, just enter the MAC address.
- Remove the need to manually enter the topicPrefix
- Venus: Add BMS information sensors including:
- Cell voltages (up to 16 cells)
- Cell temperatures (up to 4 sensors)
- BMS version, SOC, SOH, capacity
- Battery voltage, current, temperature
- Charge voltage and full charge capacity
- Cell cycle count
- Error and warning states
- Total runtime and energy throughput
- MOSFET temperature
- Add support for configurable MQTT topic prefix per device (defaults to 'hame_energy') to support B2500 devices with firmware version >v226
- B2500: Add support for devices of the HMJ series
- B2500: Fix incorrect battery capacity sensor unit for host and extra battery
- Add sensors for when the data has last been updated
- B2500: Add cell voltage sensors
- B2500: Add overall battery voltage and current sensors
- B2500: Add calibration information sensors
- Venus: Add wifi name sensor
- Venus Working Status now uses the correct mapping (thanks jbe)
- B2500: Add total input and output power sensors
- Venus battery capacity
- Always use flash-command for discharge mode on B2500 v1 device since the non-flash command is not supported
- Refactored advertisement registration
- Support changing output threshold for B2500 v1 devices
- Allow v2 timer output values below 80
- Venus timer config
- Fix unit of measurement for number sensors
- Fix timer output value range
- Added support for Venus device type (HMG)
- Added support for HMF series of B2500
- Set state class for daily energy sensor to
total_increasing
- Multiple devices in Addon config
- Initial release with support for HMA, HMB and HMK series of B2500