Comments (5)
Did you foresee write operations to child devices on the hub?
Yeah, I'm happy to add whatever is useful to people.
Unfortunately, I have electric radiators, so I cannot test the KE100 TRV myself.
Can you please execute get_child_device_component_list_json
on the hub and paste what's returned for the KE100 TRV here?
The first step is figuring out which is the operation that you need.
from tapo.
This is what I get from get_child_device_component_list_json
on the hub:
Object {
"child_component_list": Array [Object {
"component_list": Array [Object {
"id": String("device"),
"ver_code": Number(2)
}, Object {
"id": String("quick_setup"),
"ver_code": Number(3)
}, Object {
"id": String("time"),
"ver_code": Number(1)
}, Object {
"id": String("device_local_time"),
"ver_code": Number(1)
}, Object {
"id": String("schedule"),
"ver_code": Number(2)
}, Object {
"id": String("countdown"),
"ver_code": Number(2)
}, Object {
"id": String("account"),
"ver_code": Number(1)
}, Object {
"id": String("synchronize"),
"ver_code": Number(1)
}, Object {
"id": String("sunrise_sunset"),
"ver_code": Number(1)
}, Object {
"id": String("cloud_connect"),
"ver_code": Number(1)
}, Object {
"id": String("iot_cloud"),
"ver_code": Number(1)
}, Object {
"id": String("frost_protection"),
"ver_code": Number(1)
}, Object {
"id": String("child_protection"),
"ver_code": Number(1)
}, Object {
"id": String("temperature"),
"ver_code": Number(1)
}, Object {
"id": String("temp_control"),
"ver_code": Number(1)
}, Object {
"id": String("remove_scale"),
"ver_code": Number(1)
}, Object {
"id": String("shutdown_mode"),
"ver_code": Number(1)
}, Object {
"id": String("progress_calibration"),
"ver_code": Number(1)
}, Object {
"id": String("early_start"),
"ver_code": Number(1)
}, Object {
"id": String("temp_record"),
"ver_code": Number(1)
}, Object {
"id": String("screen_setting"),
"ver_code": Number(1)
}, Object {
"id": String("night_mode"),
"ver_code": Number(1)
}, Object {
"id": String("smart_control_schedule"),
"ver_code": Number(1)
}, Object {
"id": String("firmware"),
"ver_code": Number(1)
}, Object {
"id": String("battery_detect"),
"ver_code": Number(1)
}, Object {
"id": String("window_open_detect"),
"ver_code": Number(1)
}
],
"device_id": String("REDACTED")
}
],
"start_index": Number(0),
"sum": Number(1)
}
I was actually able to get some working example for reading and writing the TRV values. Any good way to share the code with you? I though used the parameters which are exposed by the child device directly. See the following listing for the data exposed from the device.
Object {
"at_low_battery": Bool(false),
"avatar": String("kasa_trv"),
"bind_count": Number(1),
"category": String("subg.trv"),
"child_protection": Bool(false),
"current_temp": Number(20.7),
"device_id": String("REDACTED"),
"frost_protection_on": Bool(true),
"fw_ver": String("2.1.0 Build 221209 Rel.102225"),
"hw_id": String("REDACTED"),
"hw_ver": String("1.0"),
"jamming_rssi": Number(-107),
"jamming_signal_level": Number(2),
"lastOnboardingTimestamp": Number(1697277340),
"location": String(""),
"mac": String("AREDACTED"),
"max_control_temp": Number(30),
"min_control_temp": Number(5),
"model": String("KE100"),
"nickname": String("REDACTED"),
"oem_id": String("REDACTED"),
"parent_device_id": String("REDACTED"),
"region": String("REDACTED"),
"rssi": Number(-18),
"signal_level": Number(3),
"specs": String("EU"),
"status": String("online"),
"target_temp": Number(17.0),
"temp_offset": Number(0),
"temp_unit": String("celsius"),
"trv_states": Array [],
"type": String("SMART.KASAENERGY")
}
I'm happy to help out with getting support for KE100 in. Eventually I'm looking to get some support in HA for the KE100 devices and I see this as an enabler for this.
from tapo.
Help will be most welcome!
In that case, it would be best to go through the regular process and get a PR started.
from tapo.
I've created pull request #121 with my initial support for the KE100. The main challenge I have is that the API returns an empty result when setting a device parameter. This currently creates a runtime EmptyResult error.
from tapo.
Released in v0.7.6.
Thank you for this amazing effort!
from tapo.
Related Issues (20)
- [info] How can i use this in a windows C# Application. HOT 1
- [Feature Request] Please add audio reactive lighting control HOT 1
- Is it mandatory to use the Hub? HOT 2
- P115 changing WI-FI HOT 5
- H100 initialization attempt returns error HOT 4
- Support client.getDeviceList HOT 4
- Example for doing things with devices accessed throung the hub HOT 1
- Local access to TAPO P110 for energy data HOT 10
- S500D support HOT 3
- cannot import 'LightHander' or 'ColorLightHandler' for typings HOT 3
- Meaning / correctness of timestamps of device.get_energy_data HOT 3
- Bug in hue/saturation and color_temperature code HOT 2
- ApiClient on AWS Lambda HOT 1
- Sporadic segfaults in a python module when using ApiClient to query a Tapo P110 HOT 8
- ImportError: cannot import name 'ApiClient' from partially initialized module 'tapo' (most likely due to a circular import) HOT 2
- start_timestamp and export timestamp HOT 5
- Tapo: SessionTimeout HOT 2
- Monthly data reading crashes when device somehow has negative values HOT 2
- trigger logs doesn't retrieve all logs HOT 2
- tapo-py 0.3.1 code hangs on timeout HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tapo.