A Diagnostic for TP-Link Kasa Smart Plugs on Your Network - A Quick Way to Test

An update on python/kasa utility. Another user posted that python/kasa utility I’m highlighting in this post has been updated to talk to the Kasa smart plugs that are NOT Sense-compatible. He also sent the output for a v2.6 EP25.

When the new version of the utility is run in discovery mode, the non-compatible devices look very different than the Sense-compatible ones - A very different output that includes the model number, but not HW or SW version info, plus lots other parameters not found in the Sense compatible-device output.

$ kasa discover
Discovering devices on 255.255.255.255 for 3 seconds
== Authentication failed for device ==
	== Discovery Result ==
	Device Type:          SMART.KASAPLUG
	Device Model:         EP25(US)
	IP:                   192.168.51.76
	MAC:                  3C-52-A1-<omitted>
	Device Id (hash):     <omitted>
	Owner (hash):         <omitted>
	HW Ver:               None
	Is Support IOT Cloud: True)
	OBD Src:              tplink
	Factory Default:      False
		== Encryption Scheme ==
		Encrypt Type:     AES
		Is Support HTTPS: False
		HTTP Port:        80
		LV (Login Level): 2

To get the version information or power data (emeter info), a user has to “login” to the specific smart plug. That’s because Matter requires authenticate to do anything beyond discovering the device.

$ kasa --username $username --password $password --host 192.168.51.76
== Alien Life Support - EP25 ==
	Host: 192.168.51.76
	Port: 80
	Device state: True
	== Generic information ==
	Time:         2024-01-22 11:21:55-05:00 (tz: {'timezone': 'America/Denver'}
	Hardware:     2.6
	Software:     1.0.2 Build 231108 Rel.163012
	MAC (rssi):   3C:52:A1:<omitted> (-46)
	Location:     {'latitude': 37.2333678, 'longitude': -115.8128972}

	== Device specific information ==
	overheated: False
	signal_level: 3
	SSID: <omitted>
	On since: 2024-01-18 10:55:11
	auto_off_status: off
	auto_off_remain_time: 0

	== Current State ==
	<EmeterStatus power=10.664 voltage=None current=None total=0.155>

	== Modules ==
	+ <Module Emeter (emeter) for 192.168.51.76>