This ESPHome package enables local MoesGo dimmers and switches that normally work through Tuya centralized servers. It creates light control entities in Home Assistant to control and monitor these devices. This package provides more detailed and operation than Home Assistant cloud based Tuya controls.
Any MoesGo dimmers that use CB2 module should work. Most recently it was tested and confirmed working with MOES Dual Dimmer Switch, Double Dimmer Switch for LED Lights, Full Range Dimming, WiFi Smart Light Switch Neutral Wire Required, Single Pole, 300W INC, 75W LED/CFL, Smart Life/Tuya APP Remote Control purchased on Amazon.
In order to flash esphome on MoesGo, you will need a USB/TTL serial adapter. There is plenty of options on Amazon and Aliexpress. I've been using this adapter for the last few years with no issues.
Unfortunately, MoesGo does not have pins or connectors on the board for dupont or other ways to connect the USB/TTL serial adapter. Soldering is required. The picture below shows the key connection and soldering points
TX and RX pins are under the CB2 module, but there is just a little bit of PCB copper sticking out to solder on two thin wires.
The USB/TTL adapter connection is pretty typical:
| MoesGo Board Pin | Adapter Pin |
|---|---|
| VCC | VCC |
| GND | Ground |
| RX | TX |
| TX | RX |
CEN - solder a wire and, optionally, add a switch connected to the ground. That is necessary for resetting the MCU - connecting the CEN to the ground triggers MCU reset.
Copy the included secrets.yaml.sample to secrets.yaml
cp secrets.yaml.sample secrets.yamlModify the contents of secrets.yaml to match your Wifi network SSID/password and also set the name and password for the backup Wifi in AP mode if the connection fails (this is a typical esphome setup).
Once the hardware and secrents.yaml are set up, you are ready to compine and install esphome using the standard esp run command
esphome run moes_beken.ymlOnce compiled and lined, esphome will prompt for the path to USB/Serial device, something like /dev/tty.usbserialXXXX
The esphome CLI can be used to compile and install changes to YAML and/or code via the esphome config|compile|run commands. You can use the esphome config moes_beken.yml command to see the results of any config updates, or the esphome run moes_beken.yml command to deploy your changes to an ESPHome-capable device over Wi-Fi or USB.


