Hi Dave,
That nmap scan is your friend here… The fact that port 65534 is closed (it doesn’t show up in your open ports list) explains exactly why SpaBoii is failing with Connection refused. That is the standard port the controller uses for the local API, so if it’s not listening there, the script has nowhere to connect.
Since you mentioned this is a new Tundra spa and the official app is also giving you errors about firmware versions (specifically the 1.x vs 2.x warning), it sounds like your spa might be in a weird state where the local API server simply isn’t running or has crashed.
Here is what I would recommend trying, in order:
The “Hard” Reboot The remote API interruption you mentioned suggests the controller might be hung or in a partial state.
Flip the GFCI breaker for the spa completely OFF.
Leave it off for at least 30 seconds to fully drain the capacitors on the motherboard.
Flip it back on and wait about 2-3 minutes for it to fully boot.
Run your nmap scan again. If you see port 65534 pop up, SpaBoii should work immediately.
Check the ports If 65534 is still closed after a hard reboot, that port 42131 in your scan is very suspicious. Arctic Spas sometimes moves ports around on newer firmware revisions.
Try changing the port in SpaBoii.py to 42131.
Edit line: client.connect((spaIP, 65534)) -> client.connect((spaIP, 42131))
It’s a long shot, but sometimes newer “Smart” controllers use dynamic high ports.
The Firmware Issue If the official app can’t connect locally either, this might be a genuine firmware issue on the spa’s Linux controller. The Yoktub: 1.0.43 version you listed is generally compatible, but if the main board thinks it needs 2.x, the local server process might be failing to start on boot.
You mentioned you see “It works!” on port 80. That’s just the Apache/Nginx default page, which confirms the Linux OS connects to WiFi, but it doesn’t mean the actual spa control software (the “Java” part usually) is running correctly.
Let us know if the hard breaker reset brings port 65534 back to life!
Wlater