How can I fix the identity of Ecowitt soil moisture sensors?

I recently bought an Ecowitt GW1100A gateway and four WH51 soil moisture sensors. It was fairly easy to set up and seems reliable in a garden about 40m long. The idea is to use them as part of an irrigation control system, so it is important to know which sensor is in which zone.

When you add the sensors (i.e. put a battery in, that’s all you have to do) the app automatically identifies them as CH1, CH2 etc. numbered in the order you add them. When linked to HA, they set up by default entity names “Soil moisture 1”, “Soil moisture 2” etc. and entity ids “sensor.GW1100A.soil_moisture_1”, “sensor.GW1100A.soil_moisture_2” etc. So far so good.

The problem is that when I reset the gateway (to reconnect it) it renumbered the sensors! They have the same names but allocated to different sensors.

How can I make sure the allocation of name to sensor is persistent trough a reset?

It is possible to edit the names in the app from CH1, CH2 to something more meaningful – in my case “upper lawn”, “lower lawn”, “patio pots” etc. However, these names are not reflected in the entity names or ids in HA – they remain the same. I can of course also change the entity names and ids in HA, but these are lost if you reset the gateway. Also, there is then no way of knowing which of the battery level sensors belongs to which sensor.

Does anyone have a solution to this, or is it a shortcoming in the integration?