# Supported devices
- [Lights, Lighting Strips, Plugs, Power Strips, Hubs](#lights-lighting-strips-plugs-power-strips-hubs)
- [Cameras](#cameras)
- [Hub Child Devices](#hub-child-devices)
- [Power Strip Child Devices](#power-strip-child-devices)
## Lights, Lighting Strips, Plugs, Power Strips, Hubs
✓ - Rust only\
✅ - Rust and Python\
(d) - Requires the `debug` feature flag (enabled by default in `tapo-py`)
| Feature
| L510
L520
L610
| L530
L535
L630
| L900
| L920
L930
| P100
P105
| P110
P110M
P115
| P300
P306
| P304M
P316M
| H100
|
| ----------------------------------- | :-------------------------- | :-------------------------- | :------------------ | :---------------------- | :---------------------- | :--------------------------- | :---------------------- | :------------------------ | :------------------ |
| clear_timer | | | | | ✅ | ✅ | | | |
| device_reboot | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| device_reset | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| get_child_device_component_list (d) | | | | | | | ✅ | ✅ | ✅ |
| get_child_device_list | | | | | | | ✅ | ✅ | ✅ |
| get_child_device_list_json (d) | | | | | | | ✅ | ✅ | ✅ |
| get_component_list (d) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| get_current_power | | | | | | ✅ | | | |
| get_device_info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| get_device_info_json (d) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| get_device_usage | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | |
| get_energy_data | | | | | | ✅ | | | |
| get_energy_usage | | | | | | ✅ | | | |
| get_power_data | | | | | | ✅ | | | |
| get_supported_ringtone_list (d) | | | | | | | | | ✅ |
| get_timer | | | | | ✅ | ✅ | | | |
| off | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | |
| on | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | |
| play_alarm | | | | | | | | | ✅ |
| refresh_session | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| set_brightness | ✅ | ✅ | ✅ | ✅ | | | | | |
| set_color | | ✅ | ✅ | ✅ | | | | | |
| set_color_temperature | | ✅ | ✅ | ✅ | | | | | |
| set_hue_saturation | | ✅ | ✅ | ✅ | | | | | |
| set_lighting_effect | | | | ✅ | | | | | |
| set_segment_effect | | | | ✅ | | | | | |
| set_timer | | | | | ✅ | ✅ | | | |
| set() API \* | | ✅ | ✅ | ✅ | | | | | |
| stop_alarm | | | | | | | | | ✅ |
\* The `set()` API allows multiple properties to be set in a single request.
## Cameras
✓ - Rust only\
✅ - Rust and Python\
(d) - Requires the `debug` feature flag (enabled by default in `tapo-py`)
| Feature
| C210
C220
C225
| C325WB
C520WS
| TC40
TC70
|
| ------------------------ | :-------------------------- | :-------------------------- | :---------------------- |
| delete_preset | ✅ | ✅ | ✅ |
| get_component_list (d) | ✅ | ✅ | ✅ |
| get_device_info | ✅ | ✅ | ✅ |
| get_device_info_json (d) | ✅ | ✅ | ✅ |
| get_presets | ✅ | ✅ | ✅ |
| get_rtsp_stream_url | ✅ | ✅ | ✅ |
| get_snapshot | ✅ | ✅ | ✅ |
| goto_preset | ✅ | ✅ | ✅ |
| pan_tilt | ✅ | ✅ | ✅ |
| refresh_session | ✅ | ✅ | ✅ |
| save_preset | ✅ | ✅ | ✅ |
## Hub Child Devices
✓ - Rust only\
✅ - Rust and Python\
(d) - Requires the `debug` feature flag (enabled by default in `tapo-py`)
| Feature
| KE100
| S200B
S200D | S210
| T100
| T110
| T300
| T310
T315 |
| -------------------------------- | :-------------- | :-------------- | :------------- | :------------- | :------------- | :------------- | :------------ |
| get_component_list (d) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| get_device_info \* | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| get_device_info_json (d) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| get_device_usage | | | ✅ | | | | |
| get_temperature_humidity_records | | | | | | | ✅ |
| get_trigger_logs | | ✅ | | ✅ | ✅ | ✅ | |
| off | | | ✅ | | | | |
| on | | | ✅ | | | | |
| set_child_protection | ✅ | | | | | | |
| set_frost_protection | ✅ | | | | | | |
| set_max_control_temperature | ✅ | | | | | | |
| set_min_control_temperature | ✅ | | | | | | |
| set_target_temperature | ✅ | | | | | | |
| set_temperature_offset | ✅ | | | | | | |
\* Obtained by calling `get_child_device_list` on the hub device or `get_device_info` on a child device handler.
## Power Strip Child Devices
✓ - Rust only\
✅ - Rust and Python\
(d) - Requires the `debug` feature flag (enabled by default in `tapo-py`)
| Feature
| P300
P306
| P304M
P316M
|
| ------------------------ | :----------------- | :------------------- |
| get_component_list (d) | ✅ | ✅ |
| get_current_power | | ✅ |
| get_device_info \* | ✅ | ✅ |
| get_device_info_json (d) | ✅ | ✅ |
| get_device_usage | | ✅ |
| get_energy_data | | ✅ |
| get_energy_usage | | ✅ |
| get_power_data | | ✅ |
| off | ✅ | ✅ |
| on | ✅ | ✅ |
\* Obtained by calling `get_child_device_list` on the hub device or `get_device_info` on a child device handler.