Просмотр исходного кода

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 лет назад
Родитель
Сommit
60cf5df654
1 измененных файлов с 2 добавлено и 2 удалено
  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'],