Before you submit
Battery / device models
Other / not sure
Version
1.7.1
Deployment
Home Assistant add-on
B2500 MQTT configuration
Not applicable — I don't have a B2500
Are you using hm2mqtt?
Yes
What's happening?
Device
Marstek MI2000W microinverter — Type: HMI-2000, Firmware: V115
Setup
- Hame Relay add-on 1.4.2 (HAOS 17.3, HA Core 2026.6.2)
- hm2mqtt add-on 1.7.1
- Device is cloud-registered, online and producing (live data visible in Marstek app)
Symptom
hm2mqtt polls every 60s and times out indefinitely. Relay debug logs show
every poll forwarded local → remote, but no message has ever arrived
remote → local, including while the app is displaying live data.
Relay debug log (startup)
- Auto-selected broker hame-2025 (overrides default_broker_id; tried
forcing hame-2024 via add-on config — auto-selection wins)
- Remote ID calculated via CommonHelper.cq
- Use Remote Topic ID: false, Inverse Forwarding: true (automatic)
- Subscribing local: hame_energy/HMI-2000/App/18cedf992acX/ctrl
- Subscribing remote: marstek_energy/HMI-2000/device//ctrl
Per polling cycle
Forwarded message from local to remote:
hame_energy/HMI-2000/App/18cedf992acX/ctrl ->
marstek_energy/HMI-2000/App//ctrl
…and never anything in the opposite direction.
Suspicion
The topic structure / remote ID scheme the relay uses for HMI-2000 on V115
doesn't match what this firmware actually publishes/subscribes to on the
cloud side. Possibly related to tomquist/hm2mqtt#227 where an HMI-1 on
V107 showed the same one-way behaviour.
Happy to provide full debug logs or test a branch.
Configuration
log_level: debug
default_broker_id: hame-2024 # tried as workaround; API auto-selection overrides it
username: <removed>
password: <removed>
# MQTT broker auto-configured from HA Supervisor (core-mosquitto, no SSL)
# No other optional fields set
Logs
[2026-06-12 07:27:58] INFO: Successfully fetched 1 devices from Hame API
[2026-06-12 07:27:58] DEBUG: Device 18cedf992ac4 (HMI-2000): inverse_forwarding = true (automatic)
[2026-06-12 07:27:58] INFO: Auto-selected broker hame-2025 for device 18cedf992ac4
[2026-06-12 07:27:58] DEBUG: Device 18cedf992ac4 supports CommonHelper.cq method, using salt-based calculation
[2026-06-12 07:27:58] DEBUG: Calculated remote ID using CommonHelper.cq: <masked> for device 18cedf992ac4
[2026-06-12 07:27:58] INFO: Name: Marstek MI2000W Microinverter
[2026-06-12 07:27:58] INFO: Type: HMI-2000
[2026-06-12 07:27:58] INFO: Version: 115
[2026-06-12 07:27:58] INFO: Broker: hame-2025
[2026-06-12 07:27:58] INFO: Inverse Forwarding: true
[2026-06-12 07:27:58] INFO: Use Remote Topic ID: false
[2026-06-12 07:27:59] DEBUG: [hame-2025] Subscribing to local broker topics:
hame_energy/HMI-2000/App/18cedf992ac4/ctrl
[2026-06-12 07:27:59] DEBUG: [hame-2025] Subscribing to remote broker topics:
marstek_energy/HMI-2000/device/<masked>/ctrl
[2026-06-12 07:28:06] INFO: [hame-2025] Forwarded message from local to remote: hame_energy/HMI-2000/App/18cedf992ac4/ctrl -> marstek_energy/HMI-2000/App/<masked>/ctrl
(repeats every 60s for 12+ hours — zero messages ever forwarded remote -> local,
including while the Marstek app was open showing live production data)
Before you submit
Battery / device models
Other / not sure
Version
1.7.1
Deployment
Home Assistant add-on
B2500 MQTT configuration
Not applicable — I don't have a B2500
Are you using hm2mqtt?
Yes
What's happening?
Device
Marstek MI2000W microinverter — Type: HMI-2000, Firmware: V115
Setup
Symptom
hm2mqtt polls every 60s and times out indefinitely. Relay debug logs show
every poll forwarded local → remote, but no message has ever arrived
remote → local, including while the app is displaying live data.
Relay debug log (startup)
forcing hame-2024 via add-on config — auto-selection wins)
Per polling cycle
Forwarded message from local to remote:
hame_energy/HMI-2000/App/18cedf992acX/ctrl ->
marstek_energy/HMI-2000/App//ctrl
…and never anything in the opposite direction.
Suspicion
The topic structure / remote ID scheme the relay uses for HMI-2000 on V115
doesn't match what this firmware actually publishes/subscribes to on the
cloud side. Possibly related to tomquist/hm2mqtt#227 where an HMI-1 on
V107 showed the same one-way behaviour.
Happy to provide full debug logs or test a branch.
Configuration
Logs