Hi @plusmartin
@ScruffR gave a better explanation about the SoftAp functionality. Comes down to the fact than when in Listen mode and you are connected to the Photon, you can access 192.168.0.1 and you will see the SoftAp page. At least, this is my experience. If you implement the code as is, you should have no problems.
The way I am using the interrupt is exactly for this reason you mentioned.
Scenario:
Device reaches new client with no WiFi credentials installed (or only my WiFi details if I forget to clear them). Client switches device on, it starts up and will proceed flashing green as it will not be able to connect to new WiFi. When button is pressed, the device will enter listen mode. Client can then connect to the AP of the Photon by connecting to the Photon WiFi and visit 192.168.0.1
The SoftAP page will be deployed and client can successfully enter their details. The device will restart, connect to correct WiFi and resume its function.
Let say after some time, clients details change due to new ISP or new Password or he replaces the router, AP or extender the Photon was connected to, with a new one with new details. At this stage, the device will proceed flashing GREEN as it will be able to connect to the new WiFi. The client can proceed to press the button and Listen Mode will be entered. The client can again connect to the Photon WiFi, access 192.168.0.1 and use the SoftAP page to enter new details. After this, the device will restart, connect to the new WiFi and resume function.
In the even that client pressed the button by accident and unintentionally enters listen mode, with WiFi.setListenTimeout(*whatever_time_you_deiced*);
in the code, the client can simply leave the device and after set time, it will exist Listen Mode, connect to current WiFi and resume function. It will not interfere with what you normal operation. If you DO NO use this and client accidentally presses the button and enters listen mode, the client will need to go through the setup on the Particle app to clear Listen mode.
While not probable, it is most certainly possible. I think my many years in IT and support made me realise when it comes to clients, ANYTHING becomes a probability
I sincerely hope this helps, but please, if anything I say seem to contradict any advice from @ScruffR or @peekay123 (which I not my intention), rather go with their advice, they are much more experienced than I am and very helpful.
Pay attention to the SYSTEM_THREAD(ENABLED)
advice form Scruff, if you need to collect data even while in Listen Mode, you will have to find a way to implement SYSTEM_THREAD(ENABLED);
All depends on how critical the data is for that time period I suppose. I my cases so far, not needed. If you are doing IoT black boxes for Airbus, I suppose it is critical
Best of Luck!!
Friedl.