Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup page config functions not functional in 1.0.3/4 that worked in 1.02 #18

Open
micgresham opened this issue Jan 7, 2024 · 7 comments

Comments

@micgresham
Copy link

micgresham commented Jan 7, 2024

Hi,

Several /setup page options that were working in 1.0.2 now do nothing in 1.03 or 1.04.

-Custom logo not working
-Custom /setup page title not working
-Custom firmware version not working

See attached screen captures.

Here is the code:
// Web Server library
#include <AsyncFsWebServer.h>

// WebServer
AsyncFsWebServer asyncServer(WSPort,FILESYSTEM);

// Add a new config box
asyncServer.addOptionBox("Things");
asyncServer.addOption("Build Date (MMDDYY)", buildDate);

// Add custom page title to /setup
char pageTitle[30];
sprintf(pageTitle,"Setup %s",macID);
asyncServer.setSetupPageTitle(pageTitle);

// Add custom logo to /setup page with custom size:w
asyncServer.setLogoBase64(base64_logo, "128", "128", /overwite file/ true);

asyncServer.setFirmwareVersion(BUILD_VER);

// Start webServer
asyncServer.init();

v1 0 2 v1.0.2
v1 0 4 v1.0.3/1.0.4

  • I noticed that the Options tab that was auto generating under 1.0.2 has vanished. Attempts at creating the tab have failed.

Sorry for all of the issues.

-michael

@micgresham
Copy link
Author

I found that if I manually add the param-box# to the config.json, it will show up.
{
"param-box1": "Options",
"IPaddr": "",
"GW": "",
"Mask": "",
"DNS": "",
"NWConfig": 0,
"sensorType": 33,
"BuildDate": "123123",
"Backlight": true,
"BacklightOffTime": 0,
"BacklightOffDelay": 600000,
"Feature": 0,
"Category": 33,
"WSPort": 80,
"Units": 0,
"TempOffset": 0,
"TempMin": 0,
"TempMax": 0,
"HumidOffset": 0,
"HumidMin": 0,
"HumidMax": 0,
"TempDev": 0,
"WatchDog": true,
"Hostname": "bite_me",
"Server": "192.168.0.94:8090",
"name-logo": "Setup 27FC6C123123",
"img-logo": "/config/img-logo-128_128.txt",
"param-box2": "Bite me!"

Untitled3

So it looks like the function call to set the value (asyncServer.addOptionBox) is not connecting....

I would also like a handler to intercept the config save. When I do a pull down box, it is saving all of the options, not just the one I selected. This creates a very large json file when the pulldown box is for timezones.

I will continue testing.

-michael

@cotestatnt
Copy link
Owner

Hi Michael.
To introduce the latest features (manual wifi configuration) I had to slightly modify the structure of the config.json file.
I tried to make the change backwards compatible, but I would say it didn't work. I'm sorry for the inconvenience.

To fix it, the advice is to delete or rename the current config.json file and restart the ESP so that a new one will be created.

@micgresham
Copy link
Author

I will test this weekend. What about a method of only showing the config elements I want to show on the Config page in /setup?

@cotestatnt
Copy link
Owner

Sorry, I do not understand what you mean.

@micgresham
Copy link
Author

micgresham commented Jan 12, 2024

Everything in my config file, shows up on the Options tab. I would like to selectively display some config elements and not others.

setup-options

@micgresham
Copy link
Author

micgresham commented Jan 15, 2024

To fix it, the advice is to delete or rename the current config.json file and restart the ESP so that a new one will be created.

Tried it. Still no joy.

On another note: If I change the web server port from 80 to anything else on the 1.0.2 branch, the Options tab also disappears. Could this be the same cause as issue #23?

@micgresham
Copy link
Author

micgresham commented Mar 10, 2024

I think I found the problem. I am using config.json for the application data and your library is also using it. If I move my config to another named json file, the web page functions start working. I also found that if I do not enable the edit page, I can provide my own handler for the POST of the /edit command. Sadly, this does not work if the edit pages are enabled.

I would like to request that a option to provide an additional function to be called when the "Save Config" button is pressed.

A second feature request would be to be able to completely disable the logo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants