( ironcat | 2017. 03. 01., sze – 20:55 )

Most már van egy firmware a Sonoff-on, ami tartalmazza a lua interpretert, és azokat a library-ket, amiket bejelöltél a nodemcu-buil.com-on. Mivel a lednek nem mondta senki, hogy villogjon, így nem villog. :-) Ha raksz rá egy init.lua nevű fájlt, akkor bootnál végrehajtja az abban levő dolgokat.

A firmware felrakása után (amin már túl vagy) az ESPlorer nevű programmal tudod a *.lua fájlokat feltenni, illetve futtatni, és egyéb műveleteket végezni. Az ESPlorerben 115200 baudot kell beállítani a kommunikációhoz.

A Sonoff kezeléséhez a https://github.com/Red5d/sonoff-mqtt címen levő kódból indultam ki. A futtatásához a nodemcu-buil.comon a bit,file,gpio,mqtt,net,node,tmr,uart,wifi,tls modulokat kell bejelölni, illetve én a TLS/SSL támogatást is bejelöltem. Bár szerintem a bit modul nincs használatban, de ebben tévedhetek.

Mivel nekem kicsit kuszának tűnt a kód, így egy kicsit átszerveztem, és egyszerűsítettem, bár csak annyira, hogy áttekinthetőbb legyen. Így még nem akarom kirakni a githubra, majd ha egy kicsit még pofoztam rajta.

Amit én használok:
- firmware: https://drive.google.com/open?id=0B6vL_WRWA3LwSEFtRkYwTjBZV0k
- init.lua: https://drive.google.com/open?id=0B6vL_WRWA3LweXN0dmNxemRhSjg
- sonoff.lua: https://drive.google.com/open?id=0B6vL_WRWA3LwSllsRGVGMk9jSjA

A Home Assistant mqtt protokollon keresztül tudja majd kapcsolni a jelfogót. Maga a kód ennél többet tud, ha Te magad abajgatod egy mqtt brokeren keresztül. Tömören:

Default NAME=sonoff

#### Commands (received)
* Turn relay power on: topic="sonoffctl/NAME", msg="on"
* Turn relay power off: topic="sonoffctl/NAME", msg="off"
* Query state: topic="sonoffctl/NAME", msg="state"
* Change device name from sonoff to kitchen: topic="sonoffctl/sonoff", msg="name kitchen"
* OTA update: topic="sonoffctl/NAME", msg=ota
* List connected devices: topic="sonoffctl", msg="list" (topic sonoffctl without NAME!)

#### Published messages
* Device connected: topic="sonoff", msg="NAME VERSION connected"
* Answer to list command: topic="sonoff", msg="NAME VERSION here"
* Answer to state command: topic="sonoff/NAME", msg="on" or "off"
* Answer to turn on, off commands: topic="sonoff/NAME", msg="on" or "off"

Kiegészítés:
A sonoff.lua elejét szerkeszteni kell a saját környezetednek megfelelően. Az első sort az OTA update miatt nem szabad módosítani. A HTTP fejléc eldobásához van rá szükség.