Device Configuration Page doesn't show all the parameters


#1

I ordered the blinds control kit, and while waiting for the kit to arrive, I was experimenting with building the firmware using the MK-BlindsControlV2.ino file I downloaded from the web site. I’m doing this because I have some new features I would like to add. I got all the libraries set up, successfully built the firmware, and uploaded it to an ESP8266 I had laying around.

When I use my phone to connect to the device at 192.158.4.1, the configuration page only shows the first 10 items (headers,test, and input fields). The last thing that shows up is the “MQTT Authentication?” field. Consequently when I save it never connects to my WiFi network because not all the fields have been filled out. I tried the door sensor and sprinkler system .ino files, and got the same result. I modified the code so it adds fewer parameters, and now some of the other parameters show up.

I downloaded the actual blinds control firmware .bin file and flashed that, and it works fine, so it appears there is an issue with building the binary using the .ino file. I looked at the code for WiFiManager’s addParameter method, and I suspect there is a problem when it tries to resize the parameter array as the 11th parameter is added. I don’t know how to debug the library, so this is just a guess.

Is there a workaround with the .ino file or a patch to WiFiManager to fix this? I didn’t notice any issues reported on github. Obviously it was worked around somehow or the firmware .bin file wouldn’t work correctly. I could try cutting down the number of parameters and see if that works, but I’d just as soon keep it the way Matt designed it.

Any help will be appreciated.

Update: Editing the list of parameters added using addParameter to remove non-critical text and values (such as the updater device path) and the corresponding list of strcpy calls to retrieve the edit value makes it possible to join my WiFi network. So something is preventing WiFiManager from handling more than 10 parameters.

Update 2: Figured it out. The current version of WiFiManager is 0.14.0. I noticed on github there have been many changes to the code that handles adding parameters so I installed 0.13.0 thinking something might be broken in 0.14.0, or it’s just not compatible with my other settings. That worked; all the parameters show up now.

Another thing. Somehow my Arduino Tools->Flash Size was set to 4M (no SPIFFS). I had to change it to 4M (1M SPIFFS) to make it save the configuration parameters.

I can now see, edit, and save all the parameters. Problem solved.