SinricPro Library
SinricProLock

Device to control a smart lock. More...

Inheritance diagram for SinricProLock:
SinricProDevice

Public Types

typedef std::function< bool(const String &, bool &)> LockStateCallback
 Callback definition for onLockState function. More...
 
typedef std::function< bool(const String &, bool &)> PowerStateCallback
 Callback definition for onPowerState function. More...
 

Public Member Functions

void onLockState (LockStateCallback cb)
 Set callback function for setLockState request. More...
 
bool sendLockStateEvent (bool state, String cause="PHYSICAL_INTERACTION")
 Send lockState event to SinricPro Server indicating actual lock state. More...
 
virtual void onPowerState (PowerStateCallback cb)
 Set callback function for powerState request. More...
 
bool sendPowerStateEvent (bool state, String cause="PHYSICAL_INTERACTION")
 Send setPowerState event to SinricPro Server indicating actual power state. More...
 

Detailed Description

Device to control a smart lock.

Supporting

  • on / off
  • lock / unlock

Member Typedef Documentation

◆ LockStateCallback

typedef std::function<bool(const String&, bool&)> LockStateCallback

Callback definition for onLockState function.

Gets called when device receive a setLockState request

Parameters
[in]deviceIdString which contains the ID of device
[in]statetrue = device is requested to lock
false = device is requested to unlock
[out]statetrue = device has been locked
false = device has been unlocked
Returns
the success of the request
Return values
truerequest handled properly
falserequest was not handled properly because of some error

Example-Code

bool onLockState(const String &deviceId, bool &lockState) {
Serial.printf("Device is %s\r\n", lockState?"locked":"unlocked");
return true;
}

◆ PowerStateCallback

typedef std::function<bool(const String&, bool&)> PowerStateCallback
inherited

Callback definition for onPowerState function.

Gets called when device receive a setPowerState reuqest

Parameters
[in]deviceIdString which contains the ID of device
[in]statetrue = device is requested to turn on
false = device is requested to turn off
[out]statetrue = device has been turned on
false = device has been turned off
Returns
the success of the request
Return values
truerequest handled properly
falserequest was not handled properly because of some error

Example-Code

bool onPowerState(const String &deviceId, bool &state) {
Serial.printf("Device %s turned %s\r\n", deviceId.c_str(), state?"on":"off");
return true; // request handled properly
}

Member Function Documentation

◆ onLockState()

void onLockState ( LockStateCallback  cb)

Set callback function for setLockState request.

Parameters
cbFunction pointer to a LockStateCallback function
Returns
void
See also
LockStateCallback

◆ onPowerState()

void onPowerState ( PowerStateCallback  cb)
virtualinherited

Set callback function for powerState request.

Parameters
cbFunction pointer to a PowerStateCallback function
Returns
void
See also
PowerStateCallback

◆ sendLockStateEvent()

bool sendLockStateEvent ( bool  state,
String  cause = "PHYSICAL_INTERACTION" 
)

Send lockState event to SinricPro Server indicating actual lock state.

Parameters
statetrue = device is locked
false = device is unlocked
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
Returns
the success of sending the even
Return values
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time

◆ sendPowerStateEvent()

bool sendPowerStateEvent ( bool  state,
String  cause = "PHYSICAL_INTERACTION" 
)
inherited

Send setPowerState event to SinricPro Server indicating actual power state.

Parameters
statetrue = device turned on
false = device turned off
cause(optional) String reason why event is sent (default = "PHYSICAL_INTERACTION")
Returns
the success of sending the even
Return values
trueevent has been sent successfully
falseevent has not been sent, maybe you sent to much events in a short distance of time
SinricProLock::onLockState
void onLockState(LockStateCallback cb)
Set callback function for setLockState request.
Definition: SinricProLock.h:83