WiFi changes across many devices

I have a system that I built that monitors and controls the environment (lights, misting, temperature, humidity, AC, etc) for some vivariums.

Each component on the system communicates over the local WiFi network to talk to each other, as well as the Raspberry Pi that acts as a hub and server so I can monitor and access the system outside the local network.

However, I have no good way to update the wifi config on the devices when it changes (we switched routers recently, and I had to manually update the code on all the components in the system).

Is there a better way to have these components setup so this isn't such a chore the next time around? My thoughts are to use an independent network, using either a small router or an arduino-lile device acting as an access point, but at least one of the components still needs to be able to talk to the raspberry pi, and the raspberry pi still needs to talk to the router that is connected to the internet.

Static IP addresses, and a constant SSID/passphrase on that WiFi segment

If you are using ESP8266 devices to connect to your rPI, you can use the WiFi Manager library. It is pretty slick. It will attempt to log into the last remembered wifi but if not successful, it turns into an AP and generates a web page to enter the new credentials.

Wow, this is a perfect solution. I don't know why I didn't know this existed, but it's such a good idea.

Thanks!