pub struct PlugHandler { /* private fields */ }Implementations§
Source§impl PlugHandler
impl PlugHandler
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<DeviceInfoPlugResult, Error>
pub async fn get_device_info(&self) -> Result<DeviceInfoPlugResult, Error>
Returns device info as DeviceInfoPlugResult.
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 [PlugHandler::get_device_info_json].
Source§impl PlugHandler
impl PlugHandler
Source§impl PlugHandler
impl PlugHandler
Sourcepub async fn get_device_usage(&self) -> Result<DeviceUsageResult, Error>
pub async fn get_device_usage(&self) -> Result<DeviceUsageResult, Error>
Returns device usage as DeviceUsageResult.
Source§impl PlugHandler
impl PlugHandler
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.
Trait Implementations§
Source§impl Debug for PlugHandler
impl Debug for PlugHandler
Source§impl From<GenericDeviceHandler> for PlugHandler
impl From<GenericDeviceHandler> for PlugHandler
Source§fn from(value: GenericDeviceHandler) -> Self
fn from(value: GenericDeviceHandler) -> Self
Converts to this type from the input type.
Source§impl HandlerExt for PlugHandler
impl HandlerExt for PlugHandler
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,
Returns the client used by this handler.
Auto Trait Implementations§
impl Freeze for PlugHandler
impl !RefUnwindSafe for PlugHandler
impl Send for PlugHandler
impl Sync for PlugHandler
impl Unpin for PlugHandler
impl UnsafeUnpin for PlugHandler
impl !UnwindSafe for PlugHandler
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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