@@ -651,6 +651,60 @@ async def get_setup_option_parameter(
651651
652652 return None
653653
654+ @retry_on_auth_error
655+ async def get_reference_controllable (self , controllable_name : str ) -> JSON :
656+ """Get a controllable definition."""
657+ return await self .__get (
658+ f"reference/controllable/{ urllib .parse .quote_plus (controllable_name )} "
659+ )
660+
661+ @retry_on_auth_error
662+ async def get_reference_controllable_types (self ) -> JSON :
663+ """Get details about all supported controllable types."""
664+ return await self .__get ("reference/controllableTypes" )
665+
666+ @retry_on_auth_error
667+ async def search_reference_devices_model (self , payload : JSON ) -> JSON :
668+ """Search reference device models using a POST payload."""
669+ return await self .__post ("reference/devices/search" , payload )
670+
671+ @retry_on_auth_error
672+ async def get_reference_protocol_types (self ) -> JSON :
673+ """Get details about supported protocol types on that server instance."""
674+ return await self .__get ("reference/protocolTypes" )
675+
676+ @retry_on_auth_error
677+ async def get_reference_timezones (self ) -> JSON :
678+ """Get timezones list."""
679+ return await self .__get ("reference/timezones" )
680+
681+ @retry_on_auth_error
682+ async def get_reference_ui_classes (self ) -> JSON :
683+ """Get a list of all defined UI classes."""
684+ return await self .__get ("reference/ui/classes" )
685+
686+ @retry_on_auth_error
687+ async def get_reference_ui_classifiers (self ) -> JSON :
688+ """Get a list of all defined UI classifiers."""
689+ return await self .__get ("reference/ui/classifiers" )
690+
691+ @retry_on_auth_error
692+ async def get_reference_ui_profile (self , profile_name : str ) -> JSON :
693+ """Get a description of a given UI profile (or form-factor variant)."""
694+ return await self .__get (
695+ f"reference/ui/profile/{ urllib .parse .quote_plus (profile_name )} "
696+ )
697+
698+ @retry_on_auth_error
699+ async def get_reference_ui_profile_names (self ) -> JSON :
700+ """Get a list of all defined UI profiles (and form-factor variants)."""
701+ return await self .__get ("reference/ui/profileNames" )
702+
703+ @retry_on_auth_error
704+ async def get_reference_ui_widgets (self ) -> JSON :
705+ """Get a list of all defined UI widgets."""
706+ return await self .__get ("reference/ui/widgets" )
707+
654708 async def __get (self , path : str ) -> Any :
655709 """Make a GET request to the OverKiz API."""
656710 await self ._refresh_token_if_expired ()
0 commit comments