My iPhone app would refuse to connect a HS105 to my network - failing at various stages, from not being able to see any networks, to failing to connect the plug to the network when it could see them.
This is a rather technical solution and needs to be done from a computer (pc or mac), but it worked for me out of desperation trying to get the smart plug to connect - you'd need python and pip installed. Posting it here in case it helps anyone.
Prerequisites - python3/pip - https://vgkits.org/blog/pip3-windows-howto/
(1) Open up the command prompt (windows - run->cmd.exe) or mac terminal (open terminal) and install python-kasa library:
pip3 install python-kasa
Downloading python_kasa-0.4.0.dev3-py3-none-any.whl (91 kB)
|████████████████████████████████| 91 kB 1.9 MB/s
(2) Join the "open" wifi network for the plug on the PC/Mac
(3) run the python interpreter (python3) from the commandline/terminal (python3)
(4) Execute the following, replacing your network SSID and password:
Python 3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import kasa
>>> import asyncio
>>> plug = kasa.SmartPlug("192.168.0.1")
>>> asyncio.run(plug.wifi_join('SSIDGOESHERE', 'PASSWORDGOESHERE'))
(5) If successful the plug light should turn green and it'll boot you off the open network
(6) Grab your phone and open the kasa app - make sure your phone is on the same network as the plug - the app will detect the plug on the network and ask if you want to add it to be controlled from the app
(7) Drink heavily because it shouldn't be this hard. I only persevered because I want to control the app using the python-kasa library and happened to see it could configure the wifi setting as well as turn the plug on and off.