Browse Source

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 4 năm trước cách đây
mục cha
commit
60cf5df654
1 tập tin đã thay đổi với 2 bổ sung2 xóa
  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'],