Hello,
I would like to clarify an important point regarding your request. I do not use Zigbee2MQTT, and I have never used the eWeLink add‑on. My setup uses NSPanel Pro in MQTT Bridge mode only (zigbee2cube). Because of this, I cannot provide a comparison of “MQTT Discovery messages from Zigbee2MQTT vs. NSPanel Pro”, since:
- Zigbee2MQTT is not part of my system,
- the eWeLink add‑on is not part of my system,
- and NSPanel Pro in MQTT Bridge mode does not publish any MQTT Discovery payloads at all.
This is exactly the issue I am reporting: NSPanel Pro does not generate entity‑level MQTT Discovery messages, while Zigbee2MQTT does. Therefore, there are no NSPanel Pro discovery payloads to compare — they simply do not exist.
Below is the actual data published by NSPanel Pro, taken directly from MQTT Explorer. This is the complete payload for the TRVZB device:
{
"bind_status": 0,
"rssi": -69,
"linkquality": 124,
"local_temperature": 21.6,
"occupied_heating_setpoint": 18,
"system_mode": "auto",
"running_state": "idle",
"manual_mode_temperature": 24,
"local_temperature_calibration": 0,
"frost_protection_temperature": 7,
"idle_steps": 246,
"closing_steps": 351,
"valve_opening_limit_voltage": 1720,
"remote_temperature": 2320,
"temperature_report_precision": -100,
"child_lock": "UNLOCK",
"open_window": "ON",
"screen_direction": 0,
"battery": 73,
"valve_closing_limit_voltage": 2821,
"valve_motor_running_voltage": 1453,
"valve_opening_degree": 100,
"valve_closing_degree": 100,
"weekly_schedule": {
"monday": "00:00/18 07:00/23 10:00/21 17:00/22 23:00/20 23:00/20",
"tuesday": "00:00/18 07:00/23 10:00/21 17:00/22 23:00/20 23:00/20",
"wednesday": "00:00/18 07:00/23 10:00/21 17:00/22 23:00/20 23:00/20",
"thursday": "00:00/18 07:00/23 10:00/21 17:00/22 23:00/20 23:00/20",
"friday": "00:00/18 07:00/23 10:00/21 17:00/22 23:00/20 23:00/20",
"saturday": "00:00/18 07:00/23 10:00/21 17:00/22 23:00/20 23:00/20",
"sunday": "00:00/18 07:00/23 10:00/21 17:00/22 23:00/20 23:00/20"
},
"auto_target_temperature": 18,
"last_seen": "2026-01-27T04:01:40.402Z",
"fault_code": null,
"temporary_work_mode_set": null,
"set_timer_mode_duration": null,
"set_boost_mode_duration": null,
"temporary_mode_temp_set": null,
"update": {
"installed_version": -1,
"latest_version": -1
}
}
zigbee2cube/0x142d41fffe428404
This is the only data NSPanel Pro publishes. There are no MQTT Discovery topics such as: homeassistant/sensor/0x142d41fffe428404/temperature/config
This is exactly the issue I am reporting: NSPanel Pro does not generate entity‑level MQTT Discovery messages, which is why Home Assistant creates raw technical entity IDs and no metadata (friendly names, device_class, state_class, icons, categories, suggested_area, etc.).
The screenshot you shared is structurally identical to what I see for my TRVZB in Home Assistant. However, this discovery payload is not published by NSPanel Pro. Home Assistant generates the discovery payload you see in the debug view based on this raw data.
So:
- the raw MQTT state comes from NSPanel Pro (
zigbee2cube/...), - the MQTT Discovery payload is generated by Home Assistant, not by NSPanel Pro.
┌──────────────────────────────┐
│ Zigbee Device │
│ (e.g., SONOFF TRVZB) │
└───────────────┬──────────────┘
│ Zigbee interview:
│ - manufacturer
│ - model
│ - firmware
│ - capabilities
▼
┌──────────────────────────────┐
│ NSPanel Pro │
│ (Zigbee Coordinator) │
└───────────────┬──────────────┘
│ Publishes **two independent data streams**
│
┌──────────┴──────────┐
│ │
▼ ▼
┌────────────────────────┐ ┌──────────────────────────────┐
│ MQTT Discovery │ │ Raw Zigbee States │
│ homeassistant/.../config│ │ zigbee2cube/<ieee> │
└────────────────────────┘ └──────────────────────────────┘
**Set A: METADATA** **Set B: DEVICE STATES**
- manufacturer - local_temperature
- model - occupied_heating_setpoint
- firmware - battery
- device_class - child_lock
- unit_of_measurement - weekly_schedule
- entity_category - valve steps
- icon - etc.
- min / max / step
- state_topic
- command_topic
- value_template
(no state values) (no metadata)
▼
┌──────────────────────────────┐
│ Home Assistant │
│ - receives discovery (A) │
│ - receives states (B) │
│ - merges both into entities │
└──────────────────────────────┘
The feature I am asking for is: for NSPanel Pro itself to publish proper MQTT Discovery payloads for each entity (like Zigbee2MQTT does), instead of relying on Home Assistant to infer everything from raw topics.
Regards,

