Skip to content

This Micropython project is to Hack a Hyleton313 cheap WiFi smart socket

Notifications You must be signed in to change notification settings

AnthonyKNorman/ESP8266-Home-Assistant-Smart-Socket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP8266-Home-Assistant-Smart-Socket

This Micropython project is to Hack a Hyleton313 cheap WiFi smart socket

The first thing to read is this write up https://github.com/arendst/Sonoff-Tasmota/wiki/Hyleton-313-Smart-Plug

I have also cracked open the common circular version. The wiring connection are as below

Once you get it open you can see the blue processor board next to the relay. This is an ESP8266 variant, so I decided we could re-flash this plug with micropython

There is a blue led and a red led that shine through the little pin hole on the front. Both of these are directly controlled from GPIO pins. There is also a neat little push button switch that also goes to a GPIO pin. The relay is controlled by yet another GPIO, but when you are testing and powering the board from the usb serial this doesn't work. Probably because there is some sort of transistor driver on the board. So, dismantle the case as per the instructions in the link above. Thanks to the work of Theo Arends, you don't need to unsolder the ESP8266 board.

Connect your USB seral board as per Theo's instructions, but don't flash the Sonoff software. Instead, download the Micropyton image from http://micropython.org/download#esp8266 and flash it to the board using: esptool.py --port COM3 write_flash -fs 1MB -fm dout 0x0 esp8266-20180511-v1.9.4.bin

Change COM3 to suit your serial port

Change esp8266-20180511-v1.9.4.bin to the name of the image you downloaded

If you haven't used esptool before, Adafruit has a great article here https://learn.adafruit.com/building-and-running-micropython-on-the-esp8266/flash-firmware

You should now be able to see the micropython prompt when you use a terminal tool such as putty.

Th enext step is to enble WebREPL. Once again, Adafruit has a great tutorial on how to do this. https://learn.adafruit.com/micropython-basics-esp8266-webrepl/access-webrepl

Once you have enabled WebREPL you can run scripts and upload files from your browser.

Now you can de-solder the wires for your USB Serial connector and re-assemble the Socket.

##The Files## timer.py - a class to implement a flashing led. You simple pass the timer an LED and it flashes until you run deinit

wificonf.py - I wanted this to be as easy as possible to change and move, so, at first boot you connect to the SSID presented by the ESP8266 and point a browser to the ESP8266 default IP address http://192.168.4.1. The ESSID will be the default of the ESP8266. You change this in the web page presented below.

Carefully enter your MQTT address, unique name, wifi SSID and password then click submit. Up to this point the blue LED will be flashing. Once you enter your credentials, and the socket connects to your wifi, the led will go out.

The socket will now be available for use by Home Assistant,or any other system that uses MQTT,

Here is a snippet from my config.yaml file

  - platform: mqtt_json
    name: "SOCKET1"
    state_topic: "home/socket1/status"
    command_topic: "home/socket1/set"
    

where socket1 is the unique name entered via the web page.

About

This Micropython project is to Hack a Hyleton313 cheap WiFi smart socket

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages