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

Should captive portal screen close automatically upon connection to WiFi? #555

Closed
chrisallick opened this issue Mar 14, 2018 · 7 comments
Closed
Labels
bug Validated BUG

Comments

@chrisallick
Copy link

Basic Infos

Hardware

WiFimanager Branch/Release: Development

Hardware: ESP12 (esp8266, and specifically the Huzzah from Aadafruit)

Core Version: 2.4.1

Description

Upon entering my WiFi credentials, and successfully connecting, the captive portal doesn't close. Is there a way to make it auto close? I suppose it could be solved with a message, but would be a better experience if it closed.

Also, in case anyone gets to this message and cannot get your ESP8266 to connect to wifi or even open the captive portal. Master never worked for me. Failed to ever open the portal or allow my phone to connect to the AP. Development branch worked immediately as well as the Ken Taylor fork master branch.

Additional libraries:

Sketch

#include <ESP8266WiFi.h>          //https://github.com/esp8266/Arduino

//needed for library
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>         //https://github.com/tzapu/WiFiManager


void setup() {
    // put your setup code here, to run once:
    Serial.begin(115200);

    //WiFiManager
    //Local intialization. Once its business is done, there is no need to keep it around
    WiFiManager wifiManager;
    //reset saved settings
    wifiManager.resetSettings();
    
    //set custom ip for portal
    //wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0));

    //fetches ssid and pass from eeprom and tries to connect
    //if it does not connect it starts an access point with the specified name
    //here  "AutoConnectAP"
    //and goes into a blocking loop awaiting configuration
    wifiManager.autoConnect("SweetAP");
    //or use this for auto generated name ESP + ChipID
    //wifiManager.autoConnect();

    
    //if you get here you have connected to the WiFi
    Serial.println("connected...yeey :) _______");
}

void loop() {
    // put your main code here, to run repeatedly:
    
}

Debug Messages

*WM: Connect to new AP [SUCCESS] 
*WM: Got IP Address: 
*WM: 172.20.22.171 
*WM: disconnect configportal 
*WM: disconnect configportal - softAPdisconnect FAILED 
*WM: config portal exiting 
connected...yeey :) _______
*WM: unloading 
@tablatronix
Copy link
Collaborator

esp8266/Arduino#3793
This was supposed to be fixed, I fixed it.

hmm

@chrisallick
Copy link
Author

shrug let me know if there is anything else I can tell you about my setup or debug messages I can share.

tablatronix added a commit that referenced this issue Mar 14, 2018
@tablatronix
Copy link
Collaborator

I was testing something and must have commited it

@tablatronix tablatronix added the bug Validated BUG label Mar 14, 2018
@chrisallick
Copy link
Author

chrisallick commented Mar 14, 2018

Oh well now that I see your commit I'm looking at WiFiManager.cpp and seeing that
// ret = WiFi.softAPdisconnect(false);

@tablatronix
Copy link
Collaborator

tablatronix commented Mar 14, 2018

yeah , even funnier that I spent 20 minutes debugging it. DOH

@chrisallick
Copy link
Author

Let me test it real quick, brb.

@chrisallick
Copy link
Author

It worked! I suppose people might want to call that manually so I could understand why it would be a setting or a function call rather than a default behavior.

isots-code added a commit to isots-code/WiFiManager that referenced this issue May 31, 2018
* update library.properties

* clean up parameters

* oops

* clean up .h file

* fix tabs

* fix up parameters

* fixup debugging

* fixes paramid issues

paramid must be alphanumeric and adds {I} token support to use ids as input names if we make that optional.

* debugging clean

* oops

* adds exit to readme

* moved http strings to include, added token flags

* typo

* cleanup

* moved all html strings out of code

* more string tokens

* fix paramscount, oops

* doh...

* tzapu#454 adds WIFI_MANAGER_OVERRIDE_STRINGS

I dont feel like resolving conflicts

* fixup merge

* ajax test

* Bug fix for problem discovered when setting length to 1 for additional parameters

The initialization of the buffer holding the value stopped before the last character and storage did not take into account the extra-byte for end of string.

* debugsoftapconfig for esp32

* make debug funcs public

* fix esp32 examples

* fix esp32 wifi.ssid

* Update README.md

Esp32 warning

* camelcase _staShowStaticFields

* readme

* adds webclient checking for timeout delay

* remove reset, no reason for it

* converting token strings, in progress broken

* all tokens now in strings

* implemented info strings for esp32

* fix some html bugs

* change uptime

* infohelp align html

* added webserver precompiler warning

updates readme

* readme

* template

* Lower RAM usage of library

Place remaining debug messages into Flash using F().

* Update WiFiManager.cpp

* Update WiFiManager.cpp

* Update WiFiManager.cpp

* Create contributing.md

* Create ISSUE_TEMPLATE.md

* rename

* rename

* fix esp32 esp8266 bug

* moved strings to flash

* refactor ip form outputs

* adds disconnect method for users

non persistent disconnect

* publicized debug helpers

* ugh aliases

* moved all tokens to strings.h

* adds toggle for scan quality as percentage

`setScanDispPerc` until we have decent remplating

* oops

* defaulting to icons

* cleanup

* some more strings in progmem

* fix sketch size

* editing strings

* more strings cleanup

* refix memsketch

* more string cleanup

* left in debug

* comments

* typo

* dup define

* moved _wifissidprefix to progmem

* esp32 strings progmem

* strings

* file headers

* missed one file header

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* documenting source

* change wifiscan detaisl to css for toggling

* more strings progmem

* oops broke lock icons

* bugged

* tzapu#528 adds getLastConxResult

* gitignore

no gitignore? add more stuff

* fix info page and adds esp32 aphostname

* testing tzapu#527

* fixes tzapu#527

* fix tzapu#527 for esp8266

* adds getWiFiIsSaved()

* doc blocks, reformatting code

* stability tzapu#527

* clean up

* remove debugging

* add result checking tzapu#527

* remove debugging

* change some uneeded ints

* feature tzapu#533 failure details

* allow empty ssids, bail earlier

* template update

* debuggin esp32 auth fail events

* tzapu#528

using a static var for esp32 event for now to get this working and test. Probably not the best, not sure what the best option is here for esp32 onevent static member function callbacks

* tzapu#528 WL_DISCONNECTED support for testing

* tzapu#534

* change webserver pointer to using

* remove warning

* fix some minor warnings

* adding menu control, in progress

* fix bug

* finish up menu customization

* fix template

* add param help

* fix up menus

* fix param crash

* fix menu and param save

* fix resetsettings

* adds mdns support

* change defs

* simplify debug

* comments

* fix menuids

* add wifiscan preloading with cache

This uses core scan object and assumes its lifetime, I am not sure what the scope is or how long it lives, will have to convert to local copy if its being lost, caching for 60s after startweb portal and 10s after root load, refresh bypasses cache

* fix order

* add preloadscan enable

* fix webserver pointer

* comments

* tzapu#542 handler

* tzapu#546 fix?

Since I do not know how to fix the delegated constructors properly, this should fix the issue for now

* oops tzapu#546

* adds erase

* add debugging

* remove dnsserver from readme

* adds nvs erase

// #define WM_ERASE_NVS // esp32 erase() will erase NVS

* oops

* adds opt erase flag

* fix savecallback tzapu#543

* fixup tzapu#548

* fix constructor

* move routes to strings

* oops fix constructor again

* remove preallocation of params memory

* init params as null

I started gettting odd exceptions, so I thought this should be null and not on the stack or pointing to garbage. I might be totally in the wrong here.

* fix customhtml parameters

* remove debug

* fixes tzapu#551

* disable ssid input autoformatting

autocorrect='off' autocapitalize='none'

* remove serial.prints

* fix up connection result for ondemand portal

* fix autoreconnect on auth failure

* notes

* fixes tzapu#555 oops

* added debug levels

* add esp shields

* Update README.md

* add WM_RTC def for rtc.h

* Added Custom DNS, fix newlines

* fix tabs

* comments

* oops

* remove testing

* minor layout fix to config

* add setShowDnsFields, adds edge case force hide ip fields

* adds section hrs

* showinfoerase toggle

* kludge setmenu with size so it works

Prboably going to add a vector for this, I do not want to add the overhead of std::array for something optional

* debug remove

* menuids as vector to deal with size

This kind of makes it a pain in the ass for users, not sure how to make this easier, I can take in an array of string ids, with a count arg, makes it easier, but then users can pass nonsense in, this way its enum ids, but damn it sure is convoluted. Welcome to ideas here...

```c++
  std::vector<WiFiManager::menu_page_t> menu = {wm.MENU_WIFI,wm.MENU_INFO,wm.MENU_PARAM,wm.MENU_CLOSE,wm.MENU_SEP,wm.MENU_ERASE,wm.MENU_EXIT};
  wm.setMenu(menu);
```

* adds handleClose

* add bug workaround for esp8266 softap

* oops

* fix debug blank

* travis testing

* change setmenu to take vector or array of strnig tokens

* travis testing

* change varnames

* fixing travis

* datatype fixes

* fix section compile error

* fix compiler warnings

* add esp32

* add esp32

* move menutokens

* add esp32

* add esp32

* fix debug levels

* ugh

* add esp32

* add esp32

* add esp32

* add esp32

* add esp32

* make travis build again

* Delete OnDemandConfigPortal.ino.cpp

Sigh

* fix fsparam spiffs examples for esp32

* spiffs case

* refactor connectwifi, adds save timeout

wifi save now no longer uses settimeout timeout

* fixes tzapu#573

* ugh remove test example

* fix parenths tzapu#573

* add setEnableConfigPortal(boolean enable) - if false dont open condig portal from autoConnect()

* getmodestr, handleerase(bool)

* fix handleerase add softapconfig catch fail

* fix nvs erase

* fix erroneous error debug

* adds chip revision efuse

not sure what use this is, as getChipRevision is usually the same anyway... shrug

* clean up defines, removed stuff for memory

* workaround for esp32 webserver parsearguments bug

* fixup scnanetworks

* fix some error logging

* fixes tzapu#581

adds htmlentities to ssid outputs, limited replacements for now

* comment

* fix savetimeout, too short, made optional

* fix menu output

removed test menu output, removed ref , not sure why I put that there....

* comments, debugging

* fixing up setmenu docblocks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Validated BUG
Projects
None yet
Development

No branches or pull requests

2 participants