tapo 0.9.0

Unofficial Tapo API Client. Works with TP-Link Tapo smart devices. Tested with light bulbs (L510, L520, L530, L535, L610, L630), light strips (L900, L920, L930), plugs (P100, P105, P110, P110M, P115), power strips (P300, P304M, P306, P316M), hubs (H100), switches (S200B, S200D, S210) and sensors (KE100, T100, T110, T300, T310, T315).
Documentation
use serde::{Deserialize, Serialize};

use crate::responses::TapoResponseExt;

#[derive(Debug, Clone, Serialize, Deserialize)]
pub(crate) struct ComponentListResult {
    pub component_list: Vec<Component>,
}

impl TapoResponseExt for ComponentListResult {}

/// A component (feature/capability) reported by a Tapo device.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "python", pyo3::prelude::pyclass(from_py_object, get_all))]
pub struct Component {
    /// The component identifier (e.g. `"energy_monitoring"`, `"countdown"`).
    pub id: String,
    /// The version code of the component.
    pub ver_code: u8,
}

#[cfg(feature = "python")]
crate::impl_to_dict!(Component);