I've spent this evening messing around with the firmware, it is getting really close to something that I can take away from my PC and give a good test. There were a few things outstanding on my last update, I've done most of them, and more.
- You can now set the access point you want to connect to from the web interface.
- Unfortunately you need to manually type in your SSID at this point. I do plan on implementing a site survey option to let you choose from a list, but NodeMCU is fighting me the whole way.
- You can now choose a static IP address that will keep its state on restart. You can flip it back and forth between DHCP and Static if you really want.
- On IP change/Wifi change, the web interface tries to point you in the right direction. It wont always be right, for example, if you have chosen to join a new network and use DHCP, it has no way of knowing where you've put the unit.
- Dim enable/disable is now implemented on the web interface properly. If your light isn't dimmable, flip the checkbox and it will remove the dimming slider.
- Moved the JS into index.html. I don't like this, but it is more reliable at this point in time. I was occasionally getting reboots when it tried to load too many files at once.
I've also tidied up the repo a little bit. You can see what files need to be uploaded to your ESP8266 now. Scripts in the 'Debug Files' directories aren't needed on the unit itself, but they may be helpful!
I've updated to the latest dev build of NodeMCU and it seems to break the web server I am using when in SOFTAP mode, so that is a bit of a pain in the backside.
Edit: Well that was easier than I thought, it was breaking when trying to get the current IP address. I've committed a fix to repair it.