Skip to content

Commit afeb668

Browse files
committed
add settings function
show device settings (ntp, hostname, etc)
1 parent d06b08a commit afeb668

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

ubiquiti/unifi.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,34 @@ def list_sites(self, verbose=False, filters: Dict[str, Union[str, Pattern]]=None
376376
data = sorted(data, key=lambda x: x[order_by] if order_by in x.keys() else x['_id'])
377377

378378
return data
379+
380+
def setting(self, filters: Dict[str, Union[str, Pattern]]=None, order_by: str=None) -> list:
381+
""""
382+
List device settings.
383+
384+
:param filters: dict of k/v pairs; string is compiled to regex
385+
:param order_by: order by a key; defaults to '_id'
386+
:return: A list of settings as dicts (see below for example, though
387+
note that each list element is unique in terms of keys
388+
389+
_id
390+
advanced_feature_enabled
391+
alert_enabled
392+
key
393+
led_enabled
394+
site_id
395+
unifi_idp_enabled
396+
397+
"""
398+
r = self._session.get("{}/api/s/{}/rest/setting".format(self._baseurl, self._site, verify=self._verify_ssl), data="json={}")
399+
self._current_status_code = r.status_code
400+
self._check_status_code(self._current_status_code)
401+
402+
data = r.json()['data']
403+
404+
if filters:
405+
data = _filter(filters, data)
406+
379407
if order_by:
380408
data = sorted(data, key=lambda x: x[order_by] if order_by in x.keys() else x['_id'])
381409

0 commit comments

Comments
 (0)