fishbigger / TapoP100

A module for controlling the TP-Link Tapo P100 Plugs
MIT License
560 stars 137 forks source link

Hub H100 Support #118

Open harrybadger opened 1 year ago

harrybadger commented 1 year ago

Hi,

I have a TP-Link Tapo H100 Hub, and I'd like to be able to control its chime. This will allow me to link it to my non-TP-Link doorbell.

I created a copy of your PyP100.py code and experimented with changing it to work with the H100 hub.

I can run the getDeviceInfo() command, and get some good information: { "result": { "device_id": "(removed)", "fw_ver": "1.2.3 Build 221012 Rel.103821", "hw_ver": "1.0", "type": "SMART.TAPOHUB", "model": "H100", "mac": "AC-15-A2-98-42-90", "hw_id": "F9FF7B5B3B67E8F51EBF6E2BBDE2977B", "fw_id": "00000000000000000000000000000000", "oem_id": "941591676A8D77AA74916014FEC3AD90", "overheated": false, "ip": "(removed)", "time_diff": 0, "ssid": "(removed)", "rssi": -29, "signal_level": 3, "in_alarm": false, "in_alarm_source": "", "latitude": (removed), "longitude": (removed), "lang": "en_US", "avatar": "hub", "region": "Europe/London", "specs": "UK", "nickname": "U21hcnQgSHVi", "has_set_location_info": true }, "error_code": 0 }

I've also run this command when manually turning the chime on using the Tapo app. The only difference is that the alarm variables change to: "in_alarm": true, "in_alarm_source": "ring"

I have tried changing the turnOn() command to try: "device_on": True

"alarm_on": True

"in_alarm": True

"in_alarm": True, "in_alarm_source": "Ring"

"set_alarm": True

I've also tried some variations of set commands that I've seen for some kasa devices: "set_relay_state":{"state":1} "set_alarm_state":{"state":1}

I'm out of ideas now.

Do you have any advice on how I could identify the alarm/chime on and off commands?

DaveGut commented 12 months ago

I have completed a multi-device (almost complete) for the Hubitat Environment. From that experience, the below are tested alarm commands. There are other commands for other devices in my code libraries (zipped) at: https://github.com/DaveGut/tpLink_Hubitat/tree/main/Bundle

Multiple commands that control and configure the alarm

Configure: [method: "set_alarm_configure", params: [custom: 0, type: "${alarmType}", volume: "${volume}", duration: duration]]]

Get configuration: [method: "get_alarm_configure"]

Play Alarm; [method: "play_alarm"]

Stop Play: [method: "stop_alarm"]

The available alarm types are: [ "Doorbell Ring 1", "Doorbell Ring 2", "Doorbell Ring 3", "Doorbell Ring 4", "Doorbell Ring 5", "Doorbell Ring 6", "Doorbell Ring 7", "Doorbell Ring 8", "Doorbell Ring 9", "Doorbell Ring 10", "Phone Ring", "Alarm 1", "Alarm 2", "Alarm 3", "Alarm 4", "Alarm 5", "Dripping Tap", "Connection 1", "Connection 2" ]