Thank you for all your responses. I appreciate all the advice.
Here are the line-diagrams of what I'm trying to do.
There are two plantations which are labelled top left corner "Lorraine's abortorium" and "Larry's abortorium". They are about 500m apart.
At Larry's end there is Tank2 (33,000L) which feeds stock and waters the trees.
You will see on Larry's that there is some RAK WisBlock modules that tracks the level of water in Tank2 and sends that data back to the RAK7294 Gateway in the barn. This informs the management of water delivery to Tank2.
There is a motorised valve which is controlled via the 433MHz P2P LoRa radio, simply open or closed, but instructed from the barn and timed from the barn.
There is a probe under one tree. That moisture information is also sent back to the gateway which advises the Arduino Mega MQTT Client which activates the LoRa link back to the motorized valve at the tree site.
Lorraine's end is pretty much the same but no water level measuring.
The diagram of the gateway in the barn shows the interconnection of the Arduino Mega MQTT client with the two P2P LoRa modules.
Would be interested in your views, but I'm confident now that I can connect the three Arduinos directly together and it will work and I dont need to isolate that connection with an optocoupler.
At the barn site (gateway) there are already 4-motorised valves controlling the water deliver to the three tanks (4 valves vs 3 tanks? its complex because of prioritisation). That is driven by another Arduino Mega MQTT client. It is informed by the gateway which gets its info from 3 RAK WisBlocks associated with each tank as in the Larry diagram. In the finished version, pretty sure the one Arduino Mega MQTT client will drive the whole thing. At the moment the bit that's working prioritises the water deliver to the tree 33,000 litre tanks: human, animal, trees.