I’ve used TP-Link smart plugs for a while. I strongly recommend reserving static IP addresses in your router. HA doesn’t seem to like when the addresses change!
I’ve also had good luck using the dynamic discovery and NOT including the individual IP addresses in configuration.yaml. I still got occasional “unavailable” devices, but in most cases they’d come back on their own with auto-discovery enabled. My configuration.yaml has only one line for TP-Link (tplink:) with no other parameters below it.
There was a recent update which some users are reporting has fixed or significantly reduced the “unavailable” problem. You’re coming in at a good time: