1
0
mirror of https://github.com/no2chem/wideq.git synced 2025-05-16 15:20:09 -07:00

Start controlling settings

This commit is contained in:
Adrian Sampson 2018-01-08 14:39:50 -08:00
parent 244f4756c5
commit c9afb9035c
2 changed files with 24 additions and 2 deletions

View File

@ -108,6 +108,12 @@ def example(args):
print('setting: {}°C'.format(res['TempCfg'])) print('setting: {}°C'.format(res['TempCfg']))
print('current: {}°C'.format(res['TempCur'])) print('current: {}°C'.format(res['TempCur']))
elif args[0] == 'set-temp':
temp = args[1]
device_id = args[2]
session.set_device_control(device_id, 'TempCfg', temp)
except wideq.NotLoggedInError: except wideq.NotLoggedInError:
print('Session expired.') print('Session expired.')
return return

View File

@ -15,6 +15,10 @@ SVC_CODE = 'SVC202'
CLIENT_ID = 'LGAO221A02' CLIENT_ID = 'LGAO221A02'
def gen_uuid():
return str(uuid.uuid4())
class APIError(Exception): class APIError(Exception):
"""An error reported by the API.""" """An error reported by the API."""
@ -194,12 +198,11 @@ class Session(object):
monitoring. monitoring.
""" """
input_work_id = str(uuid.uuid4()) # Why is this necessary?
res = self.post('rti/rtiMon', { res = self.post('rti/rtiMon', {
'cmd': 'Mon', 'cmd': 'Mon',
'cmdOpt': 'Start', 'cmdOpt': 'Start',
'deviceId': device_id, 'deviceId': device_id,
'workId': input_work_id, 'workId': gen_uuid(),
}) })
return res['workId'] return res['workId']
@ -229,6 +232,19 @@ class Session(object):
'workId': work_id, 'workId': work_id,
}) })
def set_device_control(self, device_id, key, value):
"""Control a device's settings."""
res = self.post('rti/rtiControl', {
'cmd': 'Control',
'cmdOpt': key,
'value': value,
'deviceId': device_id,
'workId': gen_uuid(),
'data': '',
})
print(res)
class Monitor(object): class Monitor(object):
"""A monitoring task for a device.""" """A monitoring task for a device."""