Overview
The Sonoff device is a cheap $5 ESP8266 wifi enabled switch.
Pinout
| GPIO | Description | 
|---|---|
| 0 | Button | 
| 1 | Serial Rx and Optional Sensor | 
| 3 | Serial Rx and Optional Sensor | 
| 4 | Optional Sensor (no pad, available at esp8266 chip) | 
| 12 | Relay and Red LED | 
| 13 | Green LED | 
| 14 | Optional Sensor | 
Wiring the Sonoff to the serial cable
Flashing Sonoff using Arduino IDE
The Arduino project is located in Sonoff-Tasmota/sonoff/sonoff.ino.
- Copy Libs to Arduino libs folder
> cd Sonoff-Tasmota/lib
> cp -R * ~/Documents/Arduino/libraries/.
- Startup the Arduino IDE
- Open sonoff.ino
- Update parameters in user_config.h. These will be the default values for SSID, etc.
- Set Board Info
- Connect the Sonoff device to a USB port while holding down the button. This will put it in flash mode.
- Select the serial port of the Sonoff device
- Upload and you are done.
See https://github.com/arendst/Sonoff-Tasmota/wiki/Arduino-IDE
Commands
http://HOST/cm?user=USER&password=PASSWORD&cmnd=Power%20TOGGLE
| Command | Description | Output | 
|---|---|---|
| Power%20TOGGLE | Toggle Power | {"POWER":"OFF"}{"POWER":"ON"} | 
| Power%20On | Power On | {"POWER":"ON"} | 
| Power%20Off | Power Off | {"POWER":"OFF"} | 
| Power | Power status | {"POWER":"ON"} | 
| FriendlyName | Display Friendly name | {"FriendlyName1":"Sonoff"} | 
| Status | Display Status | {"Status":{"Module":1,"FriendlyName":"Sonoff","Topic":"sonoff" ,"ButtonTopic":"0","Power":0,"PowerOnState":3,"LedState":1 ,"SaveData":1,"SaveState":1,"ButtonRetain":0,"PowerRetain":0}} | 
See https://github.com/arendst/Sonoff-Tasmota/wiki/Commands for the full list.
References
| Reference | URL | 
|---|---|
| Sonoff Manufacturer's Page | http://sonoff.itead.cc/en/ | 
| Flashing Sonoff using Arduino | https://github.com/arendst/Sonoff-Tasmota/wiki/Arduino-IDE | 
| Sonoff-Tasmota Commands | https://github.com/arendst/Sonoff-Tasmota/wiki/Commands | 


