Making group rules/scripts for FlowerCare/Miflora sensors in OH3

I have now made it work - it turned out to be easy, once I knew what to do.

I started as planned and made Equipments out of the auto-discovered Things, with all Channels added as Points.
The Points’ names were left at the default, which is <Equipment-name>_<channel>; in particular, the moisture Points are named <Equipment-name>_moisture.
Then I added a new Point <Equipment-name>_moisture_min of type Number to each of the Equipments, to represent the minimal required soil moisture, and set appropriate values for all the plants. (For this, I created a page with sliders and set the values there.)
Next, I added a new Item of type Group and added all the *_moisture_min items into the group.

Finally, I created a rule that triggers when any member of the group changes value, with the following DSL script as the only action:

val sensMoisture = newState as Number

// src: https://community.openhab.org/t/rules-dsl-get-item-from-string-name/48279
val minMoistItem = org.openhab.core.model.script.ScriptServiceUtil.getItemRegistry.getItem(triggeringItem.name + "_min") as GenericItem
if (minMoistItem.state == NULL) {
  logWarn("plants", minMoistItem.name + " is missing a value")
  return
}
val minMoisture = minMoistItem.state as Number
// -> removing '_moisture' from the calling item gives the equipment name
val plantEquip = org.openhab.core.model.script.ScriptServiceUtil.getItemRegistry.getItem(triggeringItem.name.replace("_moisture", "")) as GenericItem

if (sensMoisture.floatValue < minMoisture.floatValue) {
  logInfo("Notification", "Plant '" + plantEquip.label + "' needs watering!")
}

In my actual implementation, I also send a message to my mobile, by sending a command to a special messaging item, as described in this design pattern.