json разбор ответа от сервера saures

Подскажите, как добраться до нужных данных. Ответ сервера JSON

{"status": "ok", "errors": [], "data": {"sensors": [{"sn": "B4E62D40C067", "name": "ДЕМОСТЕНД R1 WROOM 02D", "active": true, "ssid": "Wi-Fi: SAURES_R1", "hardware": "3.5", "firmware": "4.4.0", "new_firmware": null, "bat": 94, "local_ip": "10.0.0.140", "check_hours": 25, "check_period_display": "1 час", "last_connection": "2021-01-18T01:28:02", "last_connection_warning": null, "lic_channels": 10, "requests": 3253, "rssi": "-47", "log": 60.0, "scan": 1, "vol": 0, "readout_dt": "2021-01-18T01:00:00", "request_dt": "2021-01-18T01:28:02", "cap_state": false, "power_supply": false, "nbiot": false, "meters": [{"meter_id": 30036, "meter_name": "", "input": 1, "approve_dt": null, "eirc_num": "", "sn": "123", "type": {"name": "Холодная вода", "number": 1}, "state": {"name": "Остановка потребления", "number": 6}, "unit": "м³", "vals": [1670.04]}, {"meter_id": 5388, "meter_name": "ГВС геркон", "input": 2, "approve_dt": null, "eirc_num": null, "sn": "", "type": {"name": "Горячая вода", "number": 2}, "state": {"name": "Остановка потребления", "number": 6}, "unit": "м³", "vals": [773.05]}, {"meter_id": 5389, "meter_name": "Протечка", "input": 3, "approve_dt": null, "eirc_num": null, "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 34542, "meter_name": "кран", "input": 4, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Кран/реле", "number": 6}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [1]}], "available_firmwares": ["4.4.1"]}, {"sn": "84F3EB10FE3B", "name": "ДЕМОСТЕНД R2", "active": true, "ssid": "Wi-Fi: SAURES_R1", "hardware": "4.0", "firmware": "4.4.1", "new_firmware": null, "bat": 37, "local_ip": "10.0.0.40", "check_hours": 25, "check_period_display": "1 час", "last_connection": "2021-01-18T01:01:02", "last_connection_warning": null, "lic_channels": 10, "requests": 15729, "rssi": "-49", "log": 60.0, "scan": 1, "vol": 0, "readout_dt": "2021-01-18T01:00:00", "request_dt": "2021-01-18T01:01:02", "cap_state": false, "power_supply": false, "nbiot": false, "meters": [{"meter_id": 16064, "meter_name": "СГМБ", "input": 1, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Газ", "number": 3}, "state": {"name": "Остановка потребления", "number": 6}, "unit": "м³", "vals": [1103.635]}, {"meter_id": 26566, "meter_name": "ELSTER", "input": 2, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Газ", "number": 3}, "state": {"name": "Остановка потребления", "number": 6}, "unit": "м³", "vals": [9636.535]}, {"meter_id": 26567, "meter_name": "69874654", "input": 3, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 16065, "meter_name": "Gidrolock Premium", "input": 4, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 26568, "meter_name": "Кран холодная", "input": 5, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Состояние крана", "number": 10}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [1]}, {"meter_id": 26569, "meter_name": "Кран горячая", "input": 6, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Состояние крана", "number": 10}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [1]}, {"meter_id": 26570, "meter_name": "Вентилятор", "input": 7, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 26571, "meter_name": "220В", "input": 8, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}]}, {"sn": "5CCF7FC44D2E", "name": "ДЕМОСТЕНД R4 AITHINKER", "active": true, "ssid": "Wi-Fi: SAURES_R", "hardware": "3.4", "firmware": "4.4.0", "new_firmware": null, "bat": 100, "local_ip": "192.168.43.233", "check_hours": 12, "check_period_display": "3 дня", "last_connection": "2020-12-03T19:15:34", "last_connection_warning": "Последнее подключение было более 12 часов назад", "lic_channels": null, "requests": 717, "rssi": "-71", "log": 60.0, "scan": 1, "vol": 0, "readout_dt": "2020-12-03T19:15:33", "request_dt": "2020-12-03T19:15:34", "cap_state": true, "power_supply": true, "nbiot": false, "meters": [{"meter_id": 23910, "meter_name": "", "input": 2, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Температура", "number": 5}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "°C", "vals": [27.1]}, {"meter_id": 23911, "meter_name": "", "input": 3, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 23912, "meter_name": "Поплавок", "input": 4, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 23913, "meter_name": "Тумблер кранов", "input": 5, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 23914, "meter_name": "", "input": 6, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Кран/реле", "number": 6}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 23915, "meter_name": "Радио Аларм", "input": 7, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Датчик", "number": 9}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "", "vals": [0]}, {"meter_id": 23916, "meter_name": "", "input": 8, "approve_dt": null, "eirc_num": "", "sn": "", "type": {"name": "Тепло", "number": 13}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "Гкал", "vals": [1.792]}, {"meter_id": 23917, "meter_name": "", "input": 9, "approve_dt": null, "eirc_num": "", "sn": "135633880", "type": {"name": "Электричество", "number": 8}, "state": {"name": "Ошибок нет", "number": 0}, "unit": "кВт⋅ч", "vals": [24.25, 22.36, 21.46, 22.6]}], "available_firmwares": ["4.4.1"]}]}}

Из этого всего списка, мну нужны данные по холодной и горячей воде. Значение холодной воды 1670.04, а горячей 773,05

Код примерно такой, но как распарсить - не понимаю.

        params = dict(email="[email protected]", password="demo")
        url = 'https://api.saures.ru/1.0/login'
        res = requests.post(url,params)
        result = json.loads(res.text)
        ssid = result['data']['sid']
        params_meter = dict(sid=ssid, id="358")
        url_meter = 'https://api.saures.ru/1.0/object/meters'
        res_meter = requests.get(url_meter,params_meter)
        result_meter = json.loads(res_meter.text)
        colt_water_tualet = ????????????????????????????????
        hot_water_tualet = ????????????????????????????????
        print(colt_water_tualet)
        print(hot_water_tualet)
        self.user_menu()

Ответы (1 шт):

Автор решения: Andrey

Разобрался

        result_meter = json.loads(res_meter.text)
        colt_water_tualet = result_meter['data']['sensors'][0]['meters'][0]['vals'][0]
        hot_water_tualet = result_meter['data']['sensors'][0]['meters'][1]['vals'][0]
        print(colt_water_tualet)
        print(hot_water_tualet)

→ Ссылка