Explorar o código

Use reportDataSource instead of reportSubject to get the resourceID of the report

This is in line with the requirements in the OpenADR specification that reportSubject can only contain an endDeviceAsset type.

Related to #37.

Signed-off-by: Stan Janssen <stan.janssen@elaad.nl>
Stan Janssen %!s(int64=4) %!d(string=hai) anos
pai
achega
60cf5df654
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      openleadr/service/report_service.py

+ 2 - 2
openleadr/service/report_service.py

@@ -83,7 +83,7 @@ class ReportService(VTNService):
             for report in payload['reports']:
                 if report['report_name'] == 'METADATA_TELEMETRY_STATUS':
                     result = [self.on_register_report(ven_id=payload['ven_id'],
-                                                      resource_id=rd.get('report_subject', {}).get('resource_id'),
+                                                      resource_id=rd.get('report_data_source', {}).get('resource_id'),
                                                       measurement='Status',
                                                       unit=None,
                                                       scale=None,
@@ -92,7 +92,7 @@ class ReportService(VTNService):
                               for rd in report['report_descriptions']]
                 elif report['report_name'] == 'METADATA_TELEMETRY_USAGE':
                     result = [self.on_register_report(ven_id=payload['ven_id'],
-                                                      resource_id=rd.get('report_subject', {}).get('resource_id'),
+                                                      resource_id=rd.get('report_data_source', {}).get('resource_id'),
                                                       measurement=rd['measurement']['description'],
                                                       unit=rd['measurement']['unit'],
                                                       scale=rd['measurement']['scale'],