Device to device communication

I am wondering if there has been any thought of adding device to device communication to ESPHome?

The back story:
I am working on switching to Home Assistant from my current Vera Plus home controller that is running my devices now. One of my reasons for this is that for the current setup I use custom built scene controllers to run my light/ceiling fan setups in the majority of my rooms. The scene controllers are built on the MySensors protocol and connect to my Vera controller. I then have 2 Sonoff basic controllers in each light/ceiling fan setup to control those. The reason that I run things the way that I do is that when I bought the house, the light/ceiling fan setups had a single switch on the wall to control both. If you wanted the ceiling fan on with the light off, you would have to turn the switch on and then pull the chain for the light to turn it off. With no neutral at the wall switch, I decided to wire the romex coming from the wall switch to direct power up in the junction box in the ceiling rather than having to rip apart walls to install additional wiring and bigger electrical boxes.

How the current setup works:
When you want to turn on a light or ceiling fan in a room, you push the ON button on the scene controller. That sends the command over the nRF24L01 wireless network to the vera controller which then says, okay, you pushed this button, I need to turn on this light. Luckily over the 7 years that I have been running this setup I have had very few problems. I have had some issues with nodes that are furthest away from my MySensors gateway in the basement despite running a number of devices as repeaters for that network. The biggest problem in all of this is that if for some reason my 7+ year old Vera controller would ever die, most of the lighting in my house would be dead in the water and cease to function.

My current solution:
I have been working on building some new scene controllers that are more flexible. I just got the first set of PCBs in from JLCPCB and am very close to putting these in place. I am switching out the 2 Sonoff basic module setups that I have in all of these light/ceiling fans with newer Sonoff Dual R3s. With that I can cut down on the number of IP addresses on my network. For all of the devices though, I am currently setting them up with ESPEasy firmware. The main reason for this is because the ESPEasy firmware has the ability to do device to device communication as well as publish to my MQTT broker. So I can in a sense communicate directly from the scene controller to the light/ceiling fan bypassing Home Assistant if for some reason that would go down. The one thing that would cause a failure would be if my wireless router died.

If you have read this far into this winded post I want to thank you for following along.

What I am looking for:
Though I do have a solution that works using ESPEasy firmware, I am wondering if ESPHome is in any way looking to do communication/control between devices. I think that would be a game changing move for ESPHome. The things I like about ESPHome is that it integrates with Home Assistant natively, it automatically notifies me of firmware updates to devices through Home Assistant, and creating new devices is fairly flexible and mostly pretty easy. I like ESPHome and would like to continue supporting it’s use.

If you made it this far, thanks for being patient and reading all of that.

Did you look at http_requests?

I have four esphome devices that communicate between each other through HTTP requests. They also communicate with other devices that have local HTTP api, like Shellys and my air conditioner. I’m running them as webserver, without HA at all.

There is a specific page Share data directly between ESPHome nodes — ESPHome

I did not, but you can be sure that I will. With the custom built multi button scene controllers that I plan to use this with, I use an I2C 8 bit IO expander to handle the keypad buttons, so I will need to figure out how to set that up in ESPHome, but I am sure it won’t be too difficult to figure out.

These are the scene controllers that I designed and plan touse this with:

Thanks for the input. I am definitely going to look into this. I do have a workable solution using ESPEasy firmware, but as I said in the OP, I think that ESPHome will be easier to work with in Home Assistant.

There are a number of i2c io expanders supported.