Fix tplink doing I/O in event loop and optimize (#54570)
Fix tplink doing I/O in event loop and optimize (#54570)

* Optimize tplink i/o

* Cache has_emeter reduceing the number of i/o requests on hs300 by 5
* Use the state from the sysinfo dict for non-strips reducing required requests by one

* Remove I/O from __init__, read has_emeter from sysinfo

* Cleanup __init__ to avoid I/O
* Re-use the sysinfo response for has_emeter
* Use async_add_executor_job() to execute the synchronous I/O ops.

* use the device alias instead of host for coordinator, use executor for unavailable_devices

* Remove unnecessary self.hass assignment

Co-authored-by: Martin Hjelmare <173b16105eb9b11d9c39631a02fb13474d673162@gmail.com>

Co-authored-by: Martin Hjelmare <173b16105eb9b11d9c39631a02fb13474d673162@gmail.com>
Danielhiversen/home-assistant,toddeye/home-assistant,GenericStudent/home-assistant,w1ll1am23/home-assistant,jawilson/home-assistant,nkgilley/home-assistant,w1ll1am23/home-assistant,aronsky/home-assistant,GenericStudent/home-assistant,aronsky/home-assistant,lukas-hetzenecker/home-assistant,mezz64/home-assistant,lukas-hetzenecker/home-assistant,toddeye/home-assistant,rohitranjan1991/home-assistant,jawilson/home-assistant,FreekingDean/home-assistant,nkgilley/home-assistant,mezz64/home-assistant,sander76/home-assistant,sander76/home-assistant,FreekingDean/home-assistant,home-assistant/home-assistant,Danielhiversen/home-assistant,rohitranjan1991/home-assistant,rohitranjan1991/home-assistant,home-assistant/home-assistant