funny you are also reading Xose Pérez pages, we also stumbled across his article
when researching about MQTT topic naming the other day, see Everything MQTT — BERadio 0.12.3 documentation.
Out of that, we evolved a very generic MQTT topic naming scheme suitable for our requirements as well as other small- or large-scale sensor network applications to raise the bar a bit beyond the scope of Home Monitoring Systems in terms of addressing capabilities in wide area network scenarios, see: Data acquisition — Hiveeyes system documentation 0.9.0 documentation.
Regarding remote configuration of the ESP, you might want to have a look at the Homie convention and firmware by Marvin Roger. Alex is already using it:
However, Homie is not about an ISM-to-WiFi gateway. I didn’t recognize yet that you want to do ISM radio transmission as well - great! We also have been looking at the integrated solutions like the RFM69 WIFI Gateway by Xose Pérez and the Espism by Johan Kanflo as well as the NodeMCU-Gateway by Charles Hallard.
However, we currently settled for using a JeeLink by Jean-Claude Wippler plugged into a Raspberry Pi. This gave us the flexibility to prototype the radio protocol and gateway code in Python to evolve the BERadio specification and implementation. The firmware part of BERadio also features automatic message fragmentation by using the BERadio C++ library. In other words: Just drop a bunch of values into it and the library will appropriately split messages across multiple 62-byte payloads which are self-contained and the receiver part on the gateway side will handle them correctly to assemble them back into appropriate messages to be published to the MQTT bus.
Let me know if you are interested in that, BERadio is a very compact, yet 8-bit clean serialization format based on Bencode suitable for efficient transmission of multiple values over radio links with constrained payload sizes. We also did some shootout between different serialization formats at Serialization efficiency.
On the other hand, as @clemens uses the CSV format for data transmission, the beradio-python gateway implementation now also recognizes both BERadio and CSV formats for forwarding to the MQTT bus, see also Open Hive JeeLink radio gateway — Hiveeyes Arduino 0.16.0 documentation.