@ozrex,
I don't want to assume your knowledge level. However the truth is that you will probably need to put together different bits and pieces from various threads in order to come up with your own custom solution (the A/C interface (IR) part, the battery part, etc...).
Maybe it is worth it to create your own new thread, or maybe you want to keep researching / trying on your own a little longer first. The latter is admirable, and is the way I usually do it, too. Some times to a fault in my own case. Don't suffer along in silence if you are struggling to find the information, make a thread instead. If it becomes too difficult you may give up. We all need some small successes along the way to keep motivated and keep it fun.
Probably best to create a new thread (I don't want to derail this one too much) but something you might want to look into is OpenMQTTGateway. I use it for my 433mhz, but it also supports RF, BLE, LoRa (and perhaps others in future) all on the same gateway! To me that was the way to go... And so far has been flawless for me.
I think these look very interesting to do with small children may be able to stimulate their curiosity, the current video games are too much influence on children, occasionally the family together to do their own small games is a new experience.
@bgunnarb I like @eiten 's solution for you.
Personally, I am not a fan of using cloud/public brokers. Thus I am curious about your system and there is something about it from which I can learn. I would like to understand why you cannot deploy your own mosquitto broker.
I see your set up as 3 sensor groups defined by the channel used
#define MY_RF24_CHANNEL ChannelOfSensorGroup
Each sensor group has some number of sensors and one MQTT GW on ESP8266. On the MQTT side, do you distinguish between gateways by using a different host name?
Something like:
#define MY_MQTT_PUBLISH_TOPIC_PREFIX "mygateway-nOf3-out"
#define MY_MQTT_SUBSCRIBE_TOPIC_PREFIX "mygateway-nOf3-in"
#define MY_MQTT_CLIENT_ID "mysensors-nOf3"
#define MY_HOSTNAME "ESP8266_MQTT_GW_nOf3"
//#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 68
#define MY_CONTROLLER_URL_ADDRESS "test.mosquitto.org"
#define MY_PORT 1883
I must assume your controller (aka Home Assistant) discriminates between through which gateway the data is to flow by way of the different topic names.
If my "something like" is correct, then changing brokers is changing the IPaddress/URL in your gateways and in your controller (though if the controller is Home Assistant, it may be a bother because the device-id's may change which will make a mess of all the work you've done in HA. This is why I like @eiten 's solution.)
I hope it's all working for you again.
OSD