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.
⚠️ THIS FEATURE REQUIRES THE PREMIUM VERSION
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.
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
Flavien
What is the default signal strength level, if this is not added to an output?
Owner
By default, the firmware sets the maximum level for a chip.
Nirm
Does the RF Signal level control feature also work in the E18-MS1PA2-IPX module?
Owner
Yes, this feature works on this module.
Andreas
Could you submit a PR to zha-device-handlers and zha in Home Assistant core to allow and expose this feature by default? They recently added a similar feature for Koenkk’s latest router firmware https://github.com/zigpy/zha-device-handlers/pull/1886
Owner
The firmware is configurable. So, this feature may absent in most configurations.
Gordiat
I am using your router firmware on a sonoff CC2652P + CP2102N 3.0 dongle plus USB stick to extend the range of my zigbee network. Everything works, it shows up in zigbee2mqtt and also uses the custom converter. I configured source voltage, internal temperature and rf signal level outputs and all of them are visible in zigbee2mqtt. The only thing I am wondering is: in the expert tab of your tool there is this “power amplifier control” section where one can configure pins for “transmit enable (TXEN)” and “enable high PA”. I left them blank as per default. Do I need to change them to take advantage of the rf signal level output?
Owner
Sonoff uses the reference design. You should use: TX enable – P28, Enable high PA – P29.
More info: https://ptvo.info/zigbee-configurable-firmware-features/expert/