This is touched on in the readme I linked to above, which suggests the built-in integration for new installs. While not explicitly called out, the built-in integration, of course, also saves you from needing to install or update the code (or from doing either incorrectly).
This worked wonderfully for my new KS240 switch. Today I installed the Tapo integration via Hubitat package manager. During the installation I also selected the drivers for 'multi switch - parent', 'child dimmer', and 'child fan'. I was able to scan and find the KS240 switch. After it was installed I then went to devices and found the KS240 parent, went to preference and selected 'install child devices' and then magically the fan and light showed up in the devices and all controls worked perfectly. Thanks!
Question on how this driver works...If the device's IP changes, how long does it take for the driver to figure that out?
While @djgutheinz can answer that, I'd strongly recommend DHCP reservations for all IP connected devices that your Hubitat hub controls locally. Obviously, this doesn't matter for cloud-controlled devices.
Absolutely correct. I have even found this true for (non-Kasa) Matter devices asn well as generally for LAN devices.
OK, but that doesn't answer my question. If the device IP address does change, does the driver pick it up, or do you have to manually change it? And if it does automatically pick it up, how long does it take to notice the change?
For my matter device, I had remove power (luckily it was a bulb). Then the Matter control worked again.
So I'm confused here so I have some dumb questions:
What is the difference betwen the apps Tapo Integration and tapo_device_install? Do I need both of them? The UI looks almost identical.
My Kasa HS210 3 way switches aren't being found, what am I missing there?
When I scan for devices in the Tapo integration, it keeps showing the same devices as not installed, when they are already added. Is this normal?
ie:
Main Bath Fan=Not installed. Needs driver TpLink Plug | |
---|---|
Main Bath Light =Not installed. Needs driver TpLink Plug | |
Main Bath Night Light=Not installed. Needs driver TpLink Plug | |
Shop Side Flood=Not installed. Needs driver TpLink Plug |
Is this normal?
First - there is only one app. It is currently named in Hubitat as "Tapo Integration". The HPM name is tapo_device_install.
Second - make sure you have only a single instance of the App installed. If you have two, restart from the beginning.
HS-210 three way. I do not believe this is currently supported by the Tapo Integration. These should be supported by the Kasa built-in app.
Other devices What are the device models and HW versions? Are they installed as Matter devices in Hubitat? (If so, then this is normal. The Tapo Integration can not detect if the device is already installed as a matter device so it will offer it for installation a second time. not recommended, but will do no harm.)
The following Kasa Switches are currently (3/21/25) listed as Matter compliant: KS-225, KS-205.
This is what I see in my installed apps screen:
Should I only being seeing one?
These are the device types I see in my devices list:
So they are already installed, but when I scan for devices, they are coming up again as not installed.
I don't have any Matter devices installed yet, I don't even had Matter turned on in my hub.
I also have TP Link EP40 and KP400s not getting picked up, I'm guessing I need the Kasa built in app for those?
Yes.
You have the app installed twice. Recommend you delete both applications, associated app and driver code and reinstall using the latest Tapo integration from the below link. Otherwise you may continue to have issues.
'[RELEASE] TP-LINK TAPO Plug, Switch, Bulb, Hub and Robovac Integration
Thank you, but most of the links in that post are 404'd.
Somehow they got deleted. I will have to rebuild this weekend.
Simple instructions"
Kasa or Tapo Phone App
- Insure the devices are installed in either the Kasa or Tapo phone app (the Tapo phone app also handles all Kasa Devices).
Using HPM, install the Tapo integration. Search term is Tapo
- Select the drivers for your Tapo devices.
- Close HPM.
Open the app.
- Check the segement. It should be the same segment as your hub. If not, select Midify Application Setup to change the segment.
- Enter/Update Username and password. Used for LOCAL LAN security of the device. Assure no spaces before/after fields. When done, select Next.
- Scan for devices and add
- Sometimes a device is not discovered (usually temporarily disconnected). If you are missing devices, turn the device ON via the phone app the select Rescan for Additional devices.
- Assure all desired devices have drivers. If not, use HPM to add the missing driver.
- Select the devices from the dropdown and then next.
- Note: be careful to not install already installed MATTER capable devices. (This app will allow, it will likely cause no issues except confusion.)
- Select done from the main page.
Thanks again for your assistance. I'm going to try and hit this hard tonight to get things working. Sick of sitting between Hubitat and ST and Tapo App.
Although, I do like the ST interface more...The platform seems to be dying a slow unattended death.
I uninstallerd the two Tapo apps I had and re-installed according to your above and things are looking much better now, thank you!
How come the default polling is so high? It looks like it takes 30+ seconds for Hubitat to see a state change from the physical switch. On ST, this was almost instantaneous.
Default polling is actually set to 30 minutes and is designed based on Hubitat control of the device where the state is immediately (1 sec nominal) updated when a command (on/off) is sent. 30 minutes is also used to reduce Hubitat utilization.
However, using preferences - Refresh Interval you can set this to as low as 5 seconds. 5 seconds allows for an average of < 3 seconds for the device to respond.
If, after setting to 5 seconds, it still takes 30 seconds or so, then there may be a communications error (see current-states comms error and the device logs). First defense against comms errors is to assure that a Static IP (DHCP reservation is set for the device in your router.
I did see the setting and dropped it to 5 seconds so the response was much faster.