From b6972d468d1a4ba30d6860950374466eb020107e Mon Sep 17 00:00:00 2001 From: Pol Ferdman Date: Fri, 3 Jan 2025 12:01:09 +0100 Subject: [PATCH] add parameters to stg events --- primestg/service.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/primestg/service.py b/primestg/service.py index f930d89..25e4d8f 100644 --- a/primestg/service.py +++ b/primestg/service.py @@ -64,6 +64,18 @@ def send(self, report_id, meters, date_from='', date_to='', priority=None): meters, priority, self.source) return results + def send_with_parameters(self, report_id, meters, date_from='', date_to='', parameters=None, priority=None): + if priority is None: + priority = self.priority + if parameters is None: + parameters = 'EvGroup:;EvCode:' + + results = self.DC_service.ReportQuery(self.fact_id, report_id, + date_from, date_to, + meters, priority, + 'Q1', parameters) + return results + def send_order(self, report_id, order, priority=None): """ Sends order @@ -229,20 +241,20 @@ def get_all_daily_absolute(self, date_from, date_to): """ return self.send('S05', '', date_from, date_to) - def get_meter_events(self, meters, date_from, date_to): + def get_meter_events(self, meters, date_from, date_to, parameters): """ Asks for a S09 report to the specified meter. :param meters: a meter_id :return: an S09 report for the corresponding meter """ - return self.send('S09', meters, date_from, date_to) + return self.send_with_parameters('S09', meters, date_from, date_to, parameters) - def get_all_meter_events(self, date_from, date_to): + def get_all_meter_events(self, date_from, date_to, parameters): """ Asks for a S09 report to all meters. :return: an S09 report from every meter """ - return self.send('S09', '', date_from, date_to) + return self.send_with_parameters('S09', '', date_from, date_to, parameters) def get_meter_parameters(self, meters, date_from, date_to): """ @@ -281,12 +293,12 @@ def get_all_daily_average_voltage_and_current(self, date_from, date_to): """ return self.send('S14', '', date_from, date_to) - def get_concentrator_events(self, dc, date_from, date_to): + def get_concentrator_events(self, dc, date_from, date_to, parameters): """ Asks for a S17 report to the concentrator. :return: an S17 report from the concentrator. """ - return self.send('S17', dc, date_from, date_to) + return self.send_with_parameters('S17', dc, date_from, date_to, parameters) def get_cutoffs_status(self, meters, date_from, date_to): """