As of August 7th 2021 I've repurposed this as a SmartExtension since I now use Ewelink's smart switches instead. The MCP23017 i2c IO expander was found to probably be broken, so my previous circuit has been modified to remove the MCP23017 and its related components. I also no longer need it as I now only need 1 input serving as manual on/off.
# ESP8266_Room-Lights-Control
ESP8266 controlling my Room's lights and fan
The ESP8266 itself is controlling a MCP23017 i2c IO expander to switch on and off 4 relay modules