On my network, IoT devices and mainstream devices are segregated into separate VLANS. Typically, my iPhone is on the "main" WiFi/VLAN, and IoT devices, such as the Sofabaton Hub, should be on the IoT WiFi/VLAN.
To make this happen, during initial setup, I had to put my iPhone on the IoT network and tell the hub the correct BSSID and password for that. So far, so good.
When my iPhone is back on the main VLAN, and I try to use the Safabaton app, it cannot find the hub. If I switch the phone to the IoT network, all is fine. Firewall allows full access to IoT from the main...
What all this tells me is that the app does not store the IP address of the hub anywhere. Each time you start the app it does a discovery process and finds it that way. Discovery typically requires broadcast network traffic, and that will not pass from my main network to the IoT network.
I strongly suggest the app be changed to always remember the IP address of each hub (or blaster) and use it to check whether the hub can be reached. If it can, proceed; if not, perhaps a discovery is appropriate.