This class is used to encode all control actions on a lock device.
It is supposed to be used by all code that wishes to control a lock device (mqtt, api, lambda etc). Create an instance of this class by calling id(lock_device).make_call();. Then set all attributes with the set_x methods. Finally, to apply the changes call .perform();.
The integration that implements the lock device receives this instance with the control method. It should check all the properties it implements and apply them as needed. It should do so by getting all properties it controls with the getter methods in this class. If the optional value is set (check with .has_value()) that means the user wants to control this property. Get the value of the optional with the star operator (*call.get_state()) and apply it.
Definition at line 77 of file lock.h.