The firmware can control RF signal strength for all chips with a power amplifier. This feature allows you to find tune your mesh network and exclude situations when a device constantly jumps from one router to another because a signal level from both router is almost identical.

The firmware also allows you to control signal level remotely in run-time.


To control signal level, you should add the “RF signal level” sensor on any output, using any virtual pin. The “Signal strength level” parameter defines an initial value after flashing or resetting, where 0 is the lowest signal level and 20 is the highest signal level. Please note, this number is not a precise number of signal power in dBm.

RF signal level configuration
RF signal level configuration

To control signal strength remotely, you should write the corresponding level value to the configured endpoint (e.g., output 5 will work on endpoint 5).

⚠️ Please be careful because this action has an immediate effect, and your device may become unresponsive if a signal strength is too small.

You can also create a custom converter for Z2M on the “Expert” tab that adds the corresponding option field to exposes.

The firmware does not send the configured signal strength value with periodic reports because this value is constant. If you need to get this value, you may use the “Refresh” button in exposes or the “get” via MQTT.

Zigbee2MQTT commands

read – immediately reads the signal strength value

Topic: zigbee2mqtt/[friedly_name]/get/[channel]
Channel: l1, l2, l3 … l16
Payload: 1
Returns the channel state: {"[channel]": value}

write – writes the signal strength value

Topic: zigbee2mqtt/[friedly_name]/set
Payload: {"[channel]": value}
Channel: l1, l2, l3 … l16

There are no comments.

Leave a Reply