@@ -16,6 +16,31 @@ def _stop_zooming_or_focusing(self) -> Dict:
1616 data = [{"cmd" : "PtzCtrl" , "action" : 0 , "param" : {"channel" : 0 , "op" : "Stop" }}]
1717 return self ._execute_command ('PtzCtrl' , data )
1818
19+ def get_zoom_focus (self ) -> Dict :
20+ """This command returns the current zoom and focus values."""
21+ data = [{"cmd" : "GetZoomFocus" , "action" : 0 , "param" : {"channel" : 0 }}]
22+ return self ._execute_command ('GetZoomFocus' , data )
23+
24+ def start_zoom_pos (self , position : float ) -> Dict :
25+ """This command sets the zoom position."""
26+ data = [{"cmd" : "StartZoomFocus" , "action" : 0 , "param" : {"ZoomFocus" : {"channel" : 0 , "op" : "ZoomPos" , "pos" : position }}}]
27+ return self ._execute_command ('StartZoomFocus' , data )
28+
29+ def start_focus_pos (self , position : float ) -> Dict :
30+ """This command sets the focus position."""
31+ data = [{"cmd" : "StartZoomFocus" , "action" : 0 , "param" : {"ZoomFocus" : {"channel" : 0 , "op" : "FocusPos" , "pos" : position }}}]
32+ return self ._execute_command ('StartZoomFocus' , data )
33+
34+ def get_auto_focus (self ) -> Dict :
35+ """This command returns the current auto focus status."""
36+ data = [{"cmd" : "GetAutoFocus" , "action" : 0 , "param" : {"channel" : 0 }}]
37+ return self ._execute_command ('GetAutoFocus' , data )
38+
39+ def set_auto_focus (self , disable : bool ) -> Dict :
40+ """This command sets the auto focus status."""
41+ data = [{"cmd" : "SetAutoFocus" , "action" : 0 , "param" : {"AutoFocus" : {"channel" : 0 , "disable" : 1 if disable else 0 }}}]
42+ return self ._execute_command ('SetAutoFocus' , data )
43+
1944 def start_zooming_in (self , speed : float = 60 ) -> Dict :
2045 """
2146 The camera zooms in until self.stop_zooming() is called.
0 commit comments