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)
- Failed to install and use API HOT 2
- missing field `re_power_type HOT 16
- ImportError: cannot import name 'ApiClient' from partially initialized module 'tapo' (most likely due to a circular import) HOT 5
- [Improvement] Schedule HOT 4
- Add support for timeout parameter on device connection HOT 1
- Tapo: SessionTimeout HOT 3
- P300 support HOT 3
- Support for security cameras HOT 3
- get_device_info broken for L900 HOT 2
- [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 3
- Example for doing things with devices accessed throung the hub HOT 1
- Local access to TAPO P110 for energy data HOT 9
- S500D support HOT 3
- cannot import 'LightHander' or 'ColorLightHandler' for typings HOT 3
- Meaning / correctness of timestamps of device.get_energy_data HOT 3
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.