I have just bought another 4 of these plugs from AliExpress 6.01￡ 61% OFF|Smart Plug Tasmota | Athom Smart Home | Athom Smart Plug | Home Io Plug | Smarthome - Smart - Aliexpress. Personally, I think they are the best Smart Plug solution with Power Monitoring - I have managed to brick a couple, but that has been my own stupidity and impatience. Totally local and opensource firmware.
[edit I subsequently discovered these UK based ones are about the same price - last time I’d looked they were much more expensive. They probably come from the same factory! Tasmota / ESPHome Smart Plug | Power Monitoring | Local Bytes]
These plugs come preflashed with Tasmota - you can also get them flashed with ESPHome, but I find Tasmota better for this application as MQTT is easier and so is calibration (not done that on these yet). Once setup, they just appear in HomeAssistant and getting the power readings to Emoncms is reasonably simple (a bit of Node-Red to translate the JSON). One day I may get around to writing an emonhub interfacer for Tasmota!
Setting up is simple enough, but worth spending some time getting the settings correct. In particular time has been an issue in the past for me (TZ/DST) - the settings below have solved that by just using UTC and letting the receiving device sort it out.
Once connected to your WiFi (it creates an AP on first boot), update the firmware (be patient - it looks like it has finished and it hasn’t). You may get a red warning Minimal Firmware - just refresh the page and that will go. Navigate to the allocated IP. I used to set static IPs but have given up on that. I have a specific OpenWrt router for all my IOT stuff and it just works on DHCP.
The rest of the required setup is most easily and quickly done via the console interface (click on console) - I save these commands in a Text file and copy them in one at a time.
Set the name for the device and for the hostname - for instance for a Device to be known as SW12
FriendlyName1 SW12 DeviceName SW12 Topic SW12 ## wait for reboot Hostname SW12 ## wait for reboot
Next set a number of options - this is what I use;
- mDNS On;
- HostIP in GUI;
- Include TZ;
- Data every 30s;
- Timezone 0 (UTC);
- Send epoch as well
Backlog SetOption55 1; SetOption53 1; SetOption52 1; TelePeriod 30; Timezone 0; Time 2;
Finally setup your MQTT server/credentials - this connects it to HomeAssistant.
Backlog mqtthost IPAddress; mqttport 1883; mqttuser user1; mqttpassword userpassword;
That is it. The Switch will appear in HomeAssistant.
The label just helps me identify it