pub struct PowerStripHandler { /* private fields */ }Implementations§
Source§impl PowerStripHandler
impl PowerStripHandler
Sourcepub async fn refresh_session(&mut self) -> Result<&mut Self, Error>
pub async fn refresh_session(&mut self) -> Result<&mut Self, Error>
Refreshes the authentication session.
Sourcepub async fn get_device_info(&self) -> Result<DeviceInfoPowerStripResult, Error>
pub async fn get_device_info(&self) -> Result<DeviceInfoPowerStripResult, Error>
Returns device info as DeviceInfoPowerStripResult.
It is not guaranteed to contain all the properties returned from the Tapo API.
If the deserialization fails, or if a property that you care about it’s not present, try [PowerStripHandler::get_device_info_json].
Source§impl PowerStripHandler
impl PowerStripHandler
Sourcepub async fn device_reboot(&self, delay_s: u16) -> Result<(), Error>
pub async fn device_reboot(&self, delay_s: u16) -> Result<(), Error>
Reboots the device.
Notes:
- Using a very small delay (e.g. 0 seconds) may cause a
ConnectionResetorTimedOuterror as the device reboots immediately. - Using a larger delay (e.g. 2-3 seconds) allows the device to respond before rebooting, reducing the chance of errors.
- With larger delays, the method completes successfully before the device reboots. However, subsequent commands may fail if sent during the reboot process or before the device reconnects to the network.
§Arguments
delay_s- The delay in seconds before the device is rebooted.
Sourcepub async fn device_reset(&self) -> Result<(), Error>
pub async fn device_reset(&self) -> Result<(), Error>
Hardware resets the device.
Warning: This action will reset the device to its factory settings. The connection to the Wi-Fi network and the Tapo app will be lost, and the device will need to be reconfigured.
This feature is especially useful when the device is difficult to access and requires reconfiguration.
Source§impl PowerStripHandler
impl PowerStripHandler
Sourcepub async fn get_child_device_list(
&self,
) -> Result<Vec<PowerStripPlugResult>, Error>
pub async fn get_child_device_list( &self, ) -> Result<Vec<PowerStripPlugResult>, Error>
Returns child device list as Vec<PowerStripPlugResult>.
It is not guaranteed to contain all the properties returned from the Tapo API.
If the deserialization fails, or if a property that you care about it’s not present,
try [PowerStripHandler::get_child_device_list_json].
Source§impl PowerStripHandler
Child device handler builders.
impl PowerStripHandler
Child device handler builders.
Sourcepub async fn plug(
&self,
identifier: Plug,
) -> Result<PowerStripPlugHandler, Error>
pub async fn plug( &self, identifier: Plug, ) -> Result<PowerStripPlugHandler, Error>
Returns a PowerStripPlugHandler for the given Plug.
§Arguments
identifier- a PowerStrip plug identifier.
§Example
// Connect to the hub
let power_strip = ApiClient::new("tapo-username@example.com", "tapo-password")
.p300("192.168.1.100")
.await?;
// Get a handler for the child device
let device_id = "0000000000000000000000000000000000000000".to_string();
let device = power_strip.plug(Plug::ByDeviceId(device_id)).await?;
// Get the device info of the child device
let device_info = device.get_device_info().await?;Trait Implementations§
Source§impl Debug for PowerStripHandler
impl Debug for PowerStripHandler
Source§impl From<GenericDeviceHandler> for PowerStripHandler
impl From<GenericDeviceHandler> for PowerStripHandler
Source§fn from(value: GenericDeviceHandler) -> Self
fn from(value: GenericDeviceHandler) -> Self
Source§impl HandlerExt for PowerStripHandler
impl HandlerExt for PowerStripHandler
Source§fn get_client<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RwLockReadGuard<'_, dyn ApiClientExt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_client<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RwLockReadGuard<'_, dyn ApiClientExt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for PowerStripHandler
impl !RefUnwindSafe for PowerStripHandler
impl Send for PowerStripHandler
impl Sync for PowerStripHandler
impl Unpin for PowerStripHandler
impl UnsafeUnpin for PowerStripHandler
impl !UnwindSafe for PowerStripHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more