From ac68f1f22c90a7852459996bd87e07804900d90e Mon Sep 17 00:00:00 2001 From: Wera Grzeda Date: Fri, 20 Oct 2023 11:38:11 +0200 Subject: [PATCH] new eaton pdu power readings --- .../plugins/hardwaremanagement/eatonpdu.py | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/confluent_server/confluent/plugins/hardwaremanagement/eatonpdu.py b/confluent_server/confluent/plugins/hardwaremanagement/eatonpdu.py index da60b182..9b5ade5b 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/eatonpdu.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/eatonpdu.py @@ -156,6 +156,7 @@ def get_sensor_data(element, node, configmanager): gc.logout() _sensors_by_node[node] = [sdata, time.time() + 1] sn = _sensors_by_node.get(node, None) +# print(sn) for outlet in sn[0]: for sensename in sn[0][outlet]: myname = '{0} {1}'.format(outlet, sensename) @@ -277,22 +278,35 @@ class PDUClient(object): if outdata[0] == outlet: return 'on' if outdata[3] else 'off' return + def get_outlet_sensors(self): + rsp = self.do_request('cgi_pdu_outlets') + data = sanitize_json(rsp[0]) + data = json.loads(data) + data = data['data'][0] + + + return data def get_sensor_data(self): rsp = self.do_request1('cgi_overview') - + data = sanitize_json(rsp[0]) data = json.loads(data) + data1 = data['data'][4][0][8] - data = data['data'][0] - sdata = {} - for outdata in data: + data = self.get_outlet_sensors() + sdata = {} + + for outdata in data: + outsense = {} - outletname = outdata[3] + outletname = outdata[0][1] + + outsense['Power'] = { - 'value': outdata[5], - 'units': 'kW', + 'value': outdata[4], + 'units': 'W', 'type': 'Power', } sdata[outletname] = outsense