use crate::tapo_vendor::error::Error;
use crate::tapo_vendor::requests::LightSetDeviceInfoParams;
use crate::tapo_vendor::responses::{DeviceInfoLightResult, DeviceUsageEnergyMonitoringResult};
use super::ApiClientExt;
tapo_handler! {
LightHandler(DeviceInfoLightResult),
on_off,
device_usage = DeviceUsageEnergyMonitoringResult,
device_management,
}
impl LightHandler {
pub async fn set_brightness(&self, brightness: u8) -> Result<(), Error> {
let json = serde_json::to_value(LightSetDeviceInfoParams::brightness(brightness)?)?;
self.client.read().await.set_device_info(json).await
}
}