@epilot/metering-client 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (()=>{"use strict";var e={914:function(e,t,r){var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var n=s(r(534));t.default=n.default},534:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"Metering API","version":"1.0.0"},"tags":[{"name":"ECP","description":"APIs defined for a portal user"},{"name":"ECP Admin","description":"APIs defined for a ECP Admin"}],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"paths":{"/v1/metering/meter":{"get":{"operationId":"getCustomerMeters","summary":"Get Customer Meters","description":"Retrieves all meters related to a customer.","tags":["ECP"],"security":[{"PortalAuth":[]}],"responses":{"200":{"description":"Customer meters retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Meter"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/contract/meters/{contract_id}":{"get":{"operationId":"getMetersByContractId","summary":"getMetersByContractId","description":"Retrieves all meters related to a contract.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"path","name":"contract_id","schema":{"$ref":"#/components/schemas/EntityId"},"required":true,"description":"The ID of the Contract."}],"responses":{"200":{"description":"Meters related to the contract retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Meter"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/meter/{id}":{"patch":{"operationId":"updateMeter","summary":"Update Meter","description":"Updates the details of a meter.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"path","name":"id","schema":{"$ref":"#/components/schemas/EntityId"},"required":true,"description":"The ID of the meter."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"}}}},"responses":{"200":{"description":"Meter updated successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Meter"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"get":{"operationId":"getMeter","summary":"Get Meter","description":"Retrieves the details of a meter.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"path","name":"id","schema":{"$ref":"#/components/schemas/EntityId"},"required":true,"description":"The ID of the meter."}],"responses":{"200":{"description":"Meter retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"entity":{"$ref":"#/components/schemas/Meter"},"relations":{"type":"array","items":{"$ref":"#/components/schemas/EntityItem"}}}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/counter":{"get":{"operationId":"getMeterCounters","summary":"Get Meter Counters","description":"Retrieves all counters for a given meter.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"query","name":"meter_id","required":true,"schema":{"type":"string","example":"1446829f-4b6f-474e-b978-3997d89a7928"}}],"responses":{"200":{"description":"Counters retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MeterCounter"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/counter/{counter_id}":{"get":{"operationId":"getCounterDetails","summary":"Get Counter Details","description":"Retrieves the details of a meter counter.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter."}],"responses":{"200":{"description":"Counter details retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeterCounter"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/reading":{"post":{"operationId":"createMeterReading","summary":"Create Meter Reading","description":"Inserts a new meter reading.","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"requestBody":{"description":"Meter reading payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeterReading"}}}},"responses":{"200":{"description":"Meter reading created successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeterReading"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/readings":{"post":{"operationId":"createMeterReadings","summary":"Create Meter Readings","description":"Inserts multiple meter readings at once.","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"requestBody":{"description":"Meter readings payload.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"readings":{"type":"array","items":{"$ref":"#/components/schemas/MeterReading"}}}}}}},"responses":{"200":{"description":"Meter readings created successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MeterReading"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/reading/submission":{"post":{"operationId":"createMeterReadingFromSubmission","summary":"Create Meter Reading from Submission","description":"Creates a reading from a journey submission.","tags":["ECP Admin"],"security":[{"EpilotAuth":[]}],"requestBody":{"description":"Meter reading payload.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["entity"],"additionalProperties":true,"properties":{"org_id":{"type":"string","example":"123","description":"ID of the organization"},"entity":{"type":"object","required":["meterReadings"],"additionalProperties":true,"properties":{"_org":{"type":"string","example":"123","description":"ID of the organization"},"meterReadings":{"type":"array","items":{"$ref":"#/components/schemas/SubmissionMeterReading"}}}}}}}}},"responses":{"200":{"description":"Meter reading created successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","enum":["Successfully Processed"]}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/reading/with-meter":{"post":{"operationId":"createReadingWithMeter","summary":"Create Reading with Meter","description":"Creates a reading along with a meter.","tags":["ECP Admin"],"security":[{"EpilotAuth":[]}],"requestBody":{"description":"Meter reading payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadingWithMeter"}}}},"responses":{"200":{"description":"Reading with meter created successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeterReading"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/reading/{meter_id}/{counter_id}":{"get":{"operationId":"getReadingsByInterval","summary":"Get Readings by Interval","description":"Retrieves all readings specified in an interval.\\nIf the start_date and end_date are equal, then it returns the readings of the specified date.\\nThe start_date should be less than or equal to the end_date.\\n","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter."},{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter."},{"in":"query","name":"start_date","required":false,"description":"If not provided, the system will default to 2000-01-01.","schema":{"type":"string","example":"2022-10-01"}},{"in":"query","name":"end_date","required":false,"description":"If not provided, the system will default to today\'s date.","schema":{"type":"string","example":"2022-10-10"}},{"in":"query","name":"direction","required":false,"schema":{"$ref":"#/components/schemas/Direction"}},{"in":"query","name":"size","description":"Returns the first n results after the specified offset (from).\\nIf this value is provided as -1, then it returns all results at once.\\n","required":false,"schema":{"type":"number","example":20,"default":20}},{"in":"query","name":"from","required":false,"schema":{"type":"number","example":0,"default":0}},{"in":"query","name":"type","required":true,"description":"Since meter readings are cumulative, users may need to request actual consumptions, which are the difference between consecutive measurements.\\nIf this value is provided as \\"cumulative\\", then actual readings will be returned.\\nIf this value is provided as \\"relative\\", then actual consumption will be returned.\\n","schema":{"type":"string","default":"cumulative","enum":["cumulative","relative"]}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","default":"asc","enum":["asc","desc"]},"description":"If this value is provided as \\"asc\\", then the results will be sorted by the timestamp field in ascending order.\\nIf this value is provided as \\"desc\\", then the results will be sorted by the timestamp field in descending order.\\n"}],"responses":{"200":{"description":"Readings retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/MeterReading"}},"hits":{"type":"number","example":120},"firstRecordCreatedAt":{"type":"string","example":"2022-10-01T20:00:00.000Z"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"put":{"operationId":"updateMeterReading","summary":"Update Meter Reading","description":"Updates a meter reading.","tags":["ECP Admin"],"security":[{"EpilotAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter entity."},{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter entity."},{"in":"query","name":"timestamp","required":true,"description":"The timestamp when the reading was created.","schema":{"type":"string","example":"2022-10-01T20:00:00.000Z"}}],"requestBody":{"description":"Update meter reading payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeterReading"}}}},"responses":{"200":{"description":"Meter reading updated successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeterReading"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"operationId":"deleteMeterReading","summary":"Delete Meter Reading","description":"Deletes a meter reading.","tags":["ECP Admin"],"security":[{"EpilotAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter entity."},{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter entity."},{"in":"query","name":"timestamp","required":true,"description":"The timestamp when the reading was created.","schema":{"type":"string","example":"2022-10-01T20:00:00.000Z"}}],"responses":{"200":{"description":"Meter reading deleted successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"meterId":{"$ref":"#/components/schemas/Id"},"counterId":{"$ref":"#/components/schemas/Id"},"timestamp":{"type":"string","example":"2022-10-01T20:00:00.000Z"}}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/down-sample/readings/{meter_id}/{counter_id}":{"get":{"operationId":"getDownSampleReadingsByInterval","summary":"Get Down Sample Readings by Interval","description":"Retrieves the downsampled data of the entire readings specified in an interval.\\nIf the start_date and end_date are equal, then it returns the readings of the specified date.\\nThe start_date should be less than or equal to the end_date.\\n","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter."},{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter."},{"in":"query","name":"start_date","required":false,"description":"If not provided, the system will default to 2000-01-01.","schema":{"type":"string","example":"2022-10-01"}},{"in":"query","name":"end_date","required":false,"description":"If not provided, the system will default to today\'s date.","schema":{"type":"string","example":"2022-10-10"}},{"in":"query","name":"group_by","schema":{"type":"string","default":"day","enum":["day","week","month","year"]}},{"in":"query","name":"direction","required":false,"schema":{"$ref":"#/components/schemas/Direction"}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","default":"asc","enum":["asc","desc"]},"description":"If this value is provided as \\"asc\\", then the results will be sorted by the timestamp field in ascending order.\\nIf this value is provided as \\"desc\\", then the results will be sorted by the timestamp field in descending order.\\n"}],"responses":{"200":{"description":"Downsampled readings retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MeterReading"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}},"components":{"responses":{"InvalidRequest":{"description":"The request could not be validated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResp"}}}},"Unauthorized":{"description":"Could not authenticate the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResp"}}}},"Forbidden":{"description":"The user is not allowed to access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResp"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResp"}}}}},"securitySchemes":{"EpilotAuth":{"type":"http","scheme":"bearer","description":"Authorization header with ePilot OAuth2 bearer token","bearerFormat":"JWT"},"PortalAuth":{"type":"http","scheme":"bearer","description":"Authorization header with customer portal OAuth2 bearer token","bearerFormat":"JWT"}},"schemas":{"ErrorResp":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}},"EntityId":{"type":"string"},"BaseEntity":{"type":"object","properties":{"_id":{"$ref":"#/components/schemas/EntityId","description":"Entity ID","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"_title":{"type":"string","description":"Title of the entity","example":"Example Entity"},"_org":{"type":"string","description":"Organization ID the entity belongs to","example":"123"},"_tags":{"type":"array","items":{"type":"string"},"description":"Array of entity tags","example":["example","mock"]},"_created_at":{"type":"string","format":"date-time","description":"Creation timestamp of the entity","example":"2021-02-09T12:41:43.662Z"},"_updated_at":{"type":"string","format":"date-time","description":"Last update timestamp of the entity","example":"2021-02-09T12:41:43.662Z"}},"required":["_id","_title","_org","_created_at","_updated_at"]},"Entity":{"type":"object","properties":{},"additionalProperties":true},"EntityItem":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"$ref":"#/components/schemas/Entity"}]},"Id":{"type":"string"},"EntityRelation":{"type":"object","properties":{"entity_id":{"type":"string","example":"9a2081a2-1615-44b8-b988-d757983290dd"},"_slug":{"type":"string","enum":["contact","contract"]}}},"Meter":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"type":"object","required":["_schema"],"properties":{"_schema":{"type":"string","enum":["meter"],"description":"The schema type of the meter"},"ma_lo_id":{"type":"string","example":"A09-123","description":"The MA-LO ID of the meter"},"meter_type":{"type":"string","enum":["three-phase-meter","bellow-gas-meter","rotary-piston-meter","smart-meter","performance-meter","maximum-meter","turbine-gas-meter","ultrasonic-gas-meter","alternating-current-meter","modern-metering-system","intelligent-measuring-system","electronic-meter"],"description":"The type of the meter"},"tariff_type":{"type":"string","example":"Peak load tariff","description":"The tariff type of the meter"},"meter_number":{"type":"string","example":"J-1093-1AK","description":"The number of the meter"},"sector":{"type":"string","enum":["power","water","gas"],"description":"The sector to which the meter belongs"},"location":{"type":"object","example":[{"country":"Germany","city":"Koln","postal_code":81475,"street":"Melatengürtel","street_number":71,"additional_info":"5. Etage","_tags":["billing","delivery"]}],"description":"The location information of the meter"},"used_for":{"type":"string","example":"Domestic Usage","description":"The usage purpose of the meter"},"manufacturer":{"type":"string","example":"Energy One","description":"The manufacturer of the meter"},"calibration_date":{"type":"string","example":"2022-10-10T00:00:00.000Z","description":"The calibration date of the meter"},"contract":{"type":"object","properties":{"$relation":{"type":"array","items":{"$ref":"#/components/schemas/EntityRelation"}}},"description":"The contract associated with the meter"},"customer":{"type":"object","properties":{"$relation":{"type":"array","items":{"$ref":"#/components/schemas/EntityRelation"}}},"description":"The customer associated with the meter"}}}]},"Direction":{"type":"string","enum":["feed-in","feed-out"]},"TariffType":{"type":"string","enum":["ht","nt"]},"ReadingStatus":{"type":"string","enum":["valid","in-validation","implausible"]},"MeterReading":{"type":"object","required":["value","meter_id","source"],"properties":{"value":{"type":"number","example":240,"description":"The reading value of the meter"},"read_by":{"type":"string","example":"John Doe","description":"The person who recorded the reading"},"reason":{"type":"string","example":"Storing the feed-in record","description":"The reason for recording the reading"},"meter_id":{"type":"string","example":"1446829f-4b6f-474e-b978-3997d89a7928","description":"The ID of the associated meter"},"counter_id":{"type":"string","example":"991a1821-43bc-46b8-967d-64a3d87c31f8","description":"The ID of the associated meter counter"},"direction":{"$ref":"#/components/schemas/Direction","description":"The direction of the reading (feed-in or feed-out)"},"timestamp":{"type":"string","description":"If the value is not provided, the system will be set with the time the request is processed.","example":"2022-10-10T00:00:00.000Z"},"source":{"$ref":"#/components/schemas/Source","description":"The source of the reading"},"status":{"$ref":"#/components/schemas/ReadingStatus","description":"The status of the reading"},"minNextReadingValue":{"type":"number","example":250,"description":"The minimum value for the next reading"},"maxNextReadingValue":{"type":"number","example":260,"description":"The maximum value for the next reading"}}},"MeterCounter":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"type":"object","required":["_schema"],"properties":{"_id":{"type":"string","example":"991a1821-43bc-46b8-967d-64a3d87c31f8"},"_schema":{"type":"string","enum":["meter_counter"]},"obis_number":{"type":"string","example":"A-34","description":"The OBIS number of the meter counter"},"direction":{"$ref":"#/components/schemas/Direction","description":"The direction of the meter counter"},"transformer_ratio":{"type":"number","example":70,"description":"The transformer ratio of the meter counter"},"unit":{"$ref":"#/components/schemas/Unit","description":"The unit of measurement for the meter counter"},"forecast_reading_value":{"type":"string","example":270,"description":"The forecast reading value of the meter counter"},"forecast_as_of":{"type":"string","example":"2022-12-10T00:00:00.000Z","description":"The date as of which the forecast reading value is applicable"},"current_consumption":{"type":"number","example":240,"description":"The current consumption value of the meter counter"},"last_reading":{"type":"string","example":"2022-10-10T00:00:00.000Z","description":"The timestamp of the last reading"},"conversion_factor":{"type":"number","example":3,"description":"The conversion factor for the meter counter"},"tariff_type":{"$ref":"#/components/schemas/TariffType","description":"The tariff type of the meter counter"}}}]},"CounterReadingOnSubmission":{"type":"object","required":["counterId","direction","value"],"properties":{"counterId":{"$ref":"#/components/schemas/Id","description":"The ID of the associated meter counter"},"direction":{"$ref":"#/components/schemas/Direction","description":"The direction of the reading (feed-in or feed-out)"},"unit":{"type":"string","enum":["w","wh","kw","kWh","kvarh","mw","mWh","unit","cubic-meter","hour","day","month","year","percentage"],"description":"The unit of measurement for the reading"},"value":{"type":"number","example":240,"description":"The reading value of the meter counter"}}},"SubmissionMeterReading":{"type":"object","required":["meterId"],"additionalProperties":true,"properties":{"meterId":{"$ref":"#/components/schemas/Id","description":"The ID of the associated meter"},"readings":{"type":"array","items":{"$ref":"#/components/schemas/CounterReadingOnSubmission"},"description":"- The counter readings of a meter\\n- This is only sent when the user is authenticated while submitting a journey\\n"},"readingValue":{"type":"string","example":"240","description":"The reading value of the meter when the counterId is passed or when the meterType is one-tariff"},"readingDate":{"type":"string","description":"If the value is not provided, the system will be set with the time the request is processed.","example":"2022-10-10T10:10:00.000Z"},"readBy":{"type":"string","example":"John Doe","description":"The person who recorded the reading"},"reason":{"type":"string","example":"Storing the feed-in record","description":"The reason for recording the reading"},"maloId":{"type":"string","example":"A09-123","description":"The MA-LO ID of the meter"},"obisNumber":{"type":"string","example":"A-34","description":"The OBIS number of the meter counter"},"readingUnit":{"$ref":"#/components/schemas/Unit","description":"The unit of measurement for the reading"},"meterType":{"type":"string","enum":["one_tariff","two_tariff","bi_directional"],"description":"The type of the meter"},"feedInValue":{"type":"number","example":240,"description":"The feed-in value of the meter when meterType is one-tariff or bi-directional"},"feedOutValue":{"type":"number","example":240,"description":"The feed-out value of the meter when meterType is bi-directional"},"htValue":{"type":"number","example":240,"description":"The high-peak tariff value of the meter when meterType is two-tariff"},"ntValue":{"type":"number","example":240,"description":"The off-peak tariff value of the meter when meterType is two-tariff"}}},"Unit":{"type":"string","enum":["w","wh","kw","kWh","kvarh","mw","mWh","unit","cubic-meter","hour","day","month","year","percentage"]},"Source":{"type":"string","enum":["ECP","ERP","360","journey-submission"]},"ReadingWithMeter":{"type":"object","properties":{"ma_lo_id":{"type":"string","example":"A09-123","description":"The MA-LO ID of the meter"},"meter_id":{"$ref":"#/components/schemas/Id","description":"The ID of the associated meter"},"obis_number":{"type":"string","example":"A-34","description":"The OBIS number of the meter counter"},"unit":{"$ref":"#/components/schemas/Unit","description":"The unit of measurement for the reading"},"direction":{"$ref":"#/components/schemas/Direction","description":"The direction of the reading"},"tariff_type":{"$ref":"#/components/schemas/TariffType","description":"The tariff type of the reading"},"value":{"type":"number","example":240,"description":"The reading value"},"read_by":{"type":"string","example":"John Doe","description":"The person who recorded the reading"},"reason":{"type":"string","example":"Storing the feed-in record","description":"The reason for recording the reading"},"timestamp":{"type":"string","description":"If the value is not provided, the system will be set with the time the request is processed.","example":"2022-10-10T10:10:00.000Z"},"source":{"$ref":"#/components/schemas/Source","description":"The source of the reading"}}}}},"servers":[{"url":"https://metering.sls.epilot.io"}]}')}},t={},r=function r(s){var n=t[s];if(void 0!==n)return n.exports;var i=t[s]={exports:{}};return e[s].call(i.exports,i,i.exports,r),i.exports}(914),s=exports;for(var n in r)s[n]=r[n];r.__esModule&&Object.defineProperty(s,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={914:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=n(r(534));t.default=s.default},534:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"Metering API","version":"1.0.0"},"tags":[{"name":"ECP","description":"APIs defined for a portal user"},{"name":"ECP Admin","description":"APIs defined for a ECP Admin"}],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"paths":{"/v1/metering/meter":{"get":{"operationId":"getCustomerMeters","summary":"Get Customer Meters","description":"Retrieves all meters related to a customer.","tags":["ECP"],"security":[{"PortalAuth":[]}],"responses":{"200":{"description":"Customer meters retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Meter"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/contract/meters/{contract_id}":{"get":{"operationId":"getMetersByContractId","summary":"getMetersByContractId","description":"Retrieves all meters related to a contract.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"path","name":"contract_id","schema":{"$ref":"#/components/schemas/EntityId"},"required":true,"description":"The ID of the Contract."}],"responses":{"200":{"description":"Meters related to the contract retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Meter"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/meter/{id}":{"patch":{"operationId":"updateMeter","summary":"Update Meter","description":"Updates the details of a meter.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"path","name":"id","schema":{"$ref":"#/components/schemas/EntityId"},"required":true,"description":"The ID of the meter."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"}}}},"responses":{"200":{"description":"Meter updated successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Meter"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"get":{"operationId":"getMeter","summary":"Get Meter","description":"Retrieves the details of a meter.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"path","name":"id","schema":{"$ref":"#/components/schemas/EntityId"},"required":true,"description":"The ID of the meter."}],"responses":{"200":{"description":"Meter retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"entity":{"$ref":"#/components/schemas/Meter"},"relations":{"type":"array","items":{"$ref":"#/components/schemas/EntityItem"}}}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/counter":{"get":{"operationId":"getMeterCounters","summary":"Get Meter Counters","description":"Retrieves all counters for a given meter.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"query","name":"meter_id","required":true,"schema":{"type":"string","example":"1446829f-4b6f-474e-b978-3997d89a7928"}}],"responses":{"200":{"description":"Counters retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MeterCounter"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/counter/{counter_id}":{"get":{"operationId":"getCounterDetails","summary":"Get Counter Details","description":"Retrieves the details of a meter counter.","tags":["ECP"],"security":[{"PortalAuth":[]}],"parameters":[{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter."}],"responses":{"200":{"description":"Counter details retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeterCounter"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/reading":{"post":{"operationId":"createMeterReading","summary":"Create Meter Reading","description":"Inserts a new meter reading.","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"requestBody":{"description":"Meter reading payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeterReading"}}}},"responses":{"200":{"description":"Meter reading created successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeterReading"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/readings":{"post":{"operationId":"createMeterReadings","summary":"Create Meter Readings","description":"Inserts multiple meter readings at once.","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"requestBody":{"description":"Meter readings payload.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"readings":{"type":"array","items":{"$ref":"#/components/schemas/MeterReading"}}}}}}},"responses":{"200":{"description":"Meter readings created successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MeterReading"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/reading/submission":{"post":{"operationId":"createMeterReadingFromSubmission","summary":"Create Meter Reading from Submission","description":"Creates a reading from a journey submission.","tags":["ECP Admin"],"security":[{"EpilotAuth":[]}],"requestBody":{"description":"Meter reading payload.","required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"org_id":{"type":"string","example":"123","description":"ID of the organization"},"entity":{"type":"object","additionalProperties":true,"properties":{"_org":{"type":"string","example":"123","description":"ID of the organization"},"meterReadings":{"type":"array","items":{"$ref":"#/components/schemas/SubmissionMeterReading"}}}}}}}}},"responses":{"200":{"description":"Meter reading created successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","enum":["Successfully Processed"]}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/allowed/reading/{meter_id}":{"get":{"operationId":"getAllowedReadingForMeter","summary":"getAllowedReadingForMeter","description":"Get allowed reading for the given meter","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter."},{"in":"query","name":"timestamp","required":false,"description":"If not provided, the system will default to now.","schema":{"type":"string","example":"2022-10-01T10:10:00.000Z"}}],"responses":{"200":{"description":"Recent reading for the meter fetched successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"counter_id":{"$ref":"#/components/schemas/Id"},"min_value":{"type":"number","description":"Minimum allowed reading value for the meter"},"max_value":{"type":"number","description":"Maximum allowed reading value for the meter"}}}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/reading/with-meter":{"post":{"operationId":"createReadingWithMeter","summary":"Create Reading with Meter","description":"Creates a reading along with a meter.","tags":["ECP Admin"],"security":[{"EpilotAuth":[]}],"requestBody":{"description":"Meter reading payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadingWithMeter"}}}},"responses":{"200":{"description":"Reading with meter created successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeterReading"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/reading/{meter_id}/{counter_id}":{"get":{"operationId":"getReadingsByInterval","summary":"Get Readings by Interval","description":"Retrieves all readings specified in an interval.\\nIf the start_date and end_date are equal, then it returns the readings of the specified date.\\nThe start_date should be less than or equal to the end_date.\\n","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter."},{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter."},{"in":"query","name":"start_date","required":false,"description":"If not provided, the system will default to 2000-01-01.","schema":{"type":"string","example":"2022-10-01"}},{"in":"query","name":"end_date","required":false,"description":"If not provided, the system will default to today\'s date.","schema":{"type":"string","example":"2022-10-10"}},{"in":"query","name":"direction","required":false,"schema":{"$ref":"#/components/schemas/Direction"}},{"in":"query","name":"size","description":"Returns the first n results after the specified offset (from).\\nIf this value is provided as -1, then it returns all results at once.\\n","required":false,"schema":{"type":"number","example":20,"default":20}},{"in":"query","name":"from","required":false,"schema":{"type":"number","example":0,"default":0}},{"in":"query","name":"type","required":true,"description":"Since meter readings are cumulative, users may need to request actual consumptions, which are the difference between consecutive measurements.\\nIf this value is provided as \\"cumulative\\", then actual readings will be returned.\\nIf this value is provided as \\"relative\\", then actual consumption will be returned.\\n","schema":{"type":"string","default":"cumulative","enum":["cumulative","relative"]}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","default":"asc","enum":["asc","desc"]},"description":"If this value is provided as \\"asc\\", then the results will be sorted by the timestamp field in ascending order.\\nIf this value is provided as \\"desc\\", then the results will be sorted by the timestamp field in descending order.\\n"}],"responses":{"200":{"description":"Readings retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/MeterReading"}},"hits":{"type":"number","example":120},"firstRecordCreatedAt":{"type":"string","example":"2022-10-01T20:00:00.000Z"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"put":{"operationId":"updateMeterReading","summary":"Update Meter Reading","description":"Updates a meter reading.","tags":["ECP Admin"],"security":[{"EpilotAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter entity."},{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter entity."},{"in":"query","name":"timestamp","required":true,"description":"The timestamp when the reading was created.","schema":{"type":"string","example":"2022-10-01T20:00:00.000Z"}}],"requestBody":{"description":"Update meter reading payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeterReading"}}}},"responses":{"200":{"description":"Meter reading updated successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MeterReading"}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"operationId":"deleteMeterReading","summary":"Delete Meter Reading","description":"Deletes a meter reading.","tags":["ECP Admin"],"security":[{"EpilotAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter entity."},{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter entity."},{"in":"query","name":"timestamp","required":true,"description":"The timestamp when the reading was created.","schema":{"type":"string","example":"2022-10-01T20:00:00.000Z"}}],"responses":{"200":{"description":"Meter reading deleted successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"meterId":{"$ref":"#/components/schemas/Id"},"counterId":{"$ref":"#/components/schemas/Id"},"timestamp":{"type":"string","example":"2022-10-01T20:00:00.000Z"}}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/v1/metering/down-sample/readings/{meter_id}/{counter_id}":{"get":{"operationId":"getDownSampleReadingsByInterval","summary":"Get Down Sample Readings by Interval","description":"Retrieves the downsampled data of the entire readings specified in an interval.\\nIf the start_date and end_date are equal, then it returns the readings of the specified date.\\nThe start_date should be less than or equal to the end_date.\\n","tags":["ECP Admin","ECP"],"security":[{"EpilotAuth":[]},{"PortalAuth":[]}],"parameters":[{"in":"path","name":"meter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the meter."},{"in":"path","name":"counter_id","schema":{"$ref":"#/components/schemas/Id"},"required":true,"description":"The ID of the counter."},{"in":"query","name":"start_date","required":false,"description":"If not provided, the system will default to 2000-01-01.","schema":{"type":"string","example":"2022-10-01"}},{"in":"query","name":"end_date","required":false,"description":"If not provided, the system will default to today\'s date.","schema":{"type":"string","example":"2022-10-10"}},{"in":"query","name":"group_by","schema":{"type":"string","default":"day","enum":["day","week","month","year"]}},{"in":"query","name":"direction","required":false,"schema":{"$ref":"#/components/schemas/Direction"}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","default":"asc","enum":["asc","desc"]},"description":"If this value is provided as \\"asc\\", then the results will be sorted by the timestamp field in ascending order.\\nIf this value is provided as \\"desc\\", then the results will be sorted by the timestamp field in descending order.\\n"}],"responses":{"200":{"description":"Downsampled readings retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MeterReading"}}}}}}},"400":{"$ref":"#/components/responses/InvalidRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}},"components":{"responses":{"InvalidRequest":{"description":"The request could not be validated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResp"}}}},"Unauthorized":{"description":"Could not authenticate the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResp"}}}},"Forbidden":{"description":"The user is not allowed to access this resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResp"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResp"}}}}},"securitySchemes":{"EpilotAuth":{"type":"http","scheme":"bearer","description":"Authorization header with ePilot OAuth2 bearer token","bearerFormat":"JWT"},"PortalAuth":{"type":"http","scheme":"bearer","description":"Authorization header with customer portal OAuth2 bearer token","bearerFormat":"JWT"}},"schemas":{"ErrorResp":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}},"EntityId":{"type":"string"},"BaseEntity":{"type":"object","properties":{"_id":{"$ref":"#/components/schemas/EntityId","description":"Entity ID","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"_title":{"type":"string","description":"Title of the entity","example":"Example Entity"},"_org":{"type":"string","description":"Organization ID the entity belongs to","example":"123"},"_tags":{"type":"array","items":{"type":"string"},"description":"Array of entity tags","example":["example","mock"]},"_created_at":{"type":"string","format":"date-time","description":"Creation timestamp of the entity","example":"2021-02-09T12:41:43.662Z"},"_updated_at":{"type":"string","format":"date-time","description":"Last update timestamp of the entity","example":"2021-02-09T12:41:43.662Z"}},"required":["_id","_title","_org","_created_at","_updated_at"]},"Entity":{"type":"object","properties":{},"additionalProperties":true},"EntityItem":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"$ref":"#/components/schemas/Entity"}]},"Id":{"type":"string"},"EntityRelation":{"type":"object","properties":{"entity_id":{"type":"string","example":"9a2081a2-1615-44b8-b988-d757983290dd"},"_slug":{"type":"string","enum":["contact","contract"]}}},"Meter":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"type":"object","required":["_schema"],"properties":{"_schema":{"type":"string","enum":["meter"],"description":"The schema type of the meter"},"ma_lo_id":{"type":"string","example":"A09-123","description":"The MA-LO ID of the meter"},"meter_type":{"type":"string","enum":["three-phase-meter","bellow-gas-meter","rotary-piston-meter","smart-meter","performance-meter","maximum-meter","turbine-gas-meter","ultrasonic-gas-meter","alternating-current-meter","modern-metering-system","intelligent-measuring-system","electronic-meter"],"description":"The type of the meter"},"tariff_type":{"type":"string","example":"Peak load tariff","description":"The tariff type of the meter"},"meter_number":{"type":"string","example":"J-1093-1AK","description":"The number of the meter"},"sector":{"type":"string","enum":["power","water","gas"],"description":"The sector to which the meter belongs"},"location":{"type":"object","example":[{"country":"Germany","city":"Koln","postal_code":81475,"street":"Melatengürtel","street_number":71,"additional_info":"5. Etage","_tags":["billing","delivery"]}],"description":"The location information of the meter"},"used_for":{"type":"string","example":"Domestic Usage","description":"The usage purpose of the meter"},"manufacturer":{"type":"string","example":"Energy One","description":"The manufacturer of the meter"},"calibration_date":{"type":"string","example":"2022-10-10T00:00:00.000Z","description":"The calibration date of the meter"},"contract":{"type":"object","properties":{"$relation":{"type":"array","items":{"$ref":"#/components/schemas/EntityRelation"}}},"description":"The contract associated with the meter"},"customer":{"type":"object","properties":{"$relation":{"type":"array","items":{"$ref":"#/components/schemas/EntityRelation"}}},"description":"The customer associated with the meter"}}}]},"Direction":{"type":"string","enum":["feed-in","feed-out"]},"TariffType":{"type":"string","enum":["ht","nt"]},"ReadingStatus":{"type":"string","enum":["valid","in-validation","implausible"]},"MeterReading":{"type":"object","required":["value","meter_id","source"],"properties":{"value":{"type":"number","example":240,"description":"The reading value of the meter"},"read_by":{"type":"string","example":"John Doe","description":"The person who recorded the reading"},"reason":{"type":"string","example":"Storing the feed-in record","description":"The reason for recording the reading"},"meter_id":{"type":"string","example":"1446829f-4b6f-474e-b978-3997d89a7928","description":"The ID of the associated meter"},"counter_id":{"type":"string","example":"991a1821-43bc-46b8-967d-64a3d87c31f8","description":"The ID of the associated meter counter"},"direction":{"$ref":"#/components/schemas/Direction","description":"The direction of the reading (feed-in or feed-out)"},"timestamp":{"type":"string","description":"If the value is not provided, the system will be set with the time the request is processed.","example":"2022-10-10T00:00:00.000Z"},"source":{"$ref":"#/components/schemas/Source","description":"The source of the reading"},"status":{"$ref":"#/components/schemas/ReadingStatus","description":"The status of the reading"},"minNextReadingValue":{"type":"number","example":250,"description":"The minimum value for the next reading"},"maxNextReadingValue":{"type":"number","example":260,"description":"The maximum value for the next reading"}}},"MeterCounter":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"type":"object","required":["_schema"],"properties":{"_id":{"type":"string","example":"991a1821-43bc-46b8-967d-64a3d87c31f8"},"_schema":{"type":"string","enum":["meter_counter"]},"obis_number":{"type":"string","example":"A-34","description":"The OBIS number of the meter counter"},"direction":{"$ref":"#/components/schemas/Direction","description":"The direction of the meter counter"},"transformer_ratio":{"type":"number","example":70,"description":"The transformer ratio of the meter counter"},"unit":{"$ref":"#/components/schemas/Unit","description":"The unit of measurement for the meter counter"},"forecast_reading_value":{"type":"string","example":270,"description":"The forecast reading value of the meter counter"},"forecast_as_of":{"type":"string","example":"2022-12-10T00:00:00.000Z","description":"The date as of which the forecast reading value is applicable"},"current_consumption":{"type":"number","example":240,"description":"The current consumption value of the meter counter"},"last_reading":{"type":"string","example":"2022-10-10T00:00:00.000Z","description":"The timestamp of the last reading"},"conversion_factor":{"type":"number","example":3,"description":"The conversion factor for the meter counter"},"tariff_type":{"$ref":"#/components/schemas/TariffType","description":"The tariff type of the meter counter"}}}]},"CounterReadingOnSubmission":{"type":"object","required":["counterId","direction","value"],"properties":{"counterId":{"$ref":"#/components/schemas/Id","description":"The ID of the associated meter counter"},"direction":{"$ref":"#/components/schemas/Direction","description":"The direction of the reading (feed-in or feed-out)"},"unit":{"type":"string","enum":["w","wh","kw","kWh","kvarh","mw","mWh","unit","cubic-meter","hour","day","month","year","percentage"],"description":"The unit of measurement for the reading"},"value":{"type":"number","example":240,"description":"The reading value of the meter counter"}}},"SubmissionMeterReading":{"type":"object","required":["meterId"],"nullable":true,"properties":{"meterId":{"$ref":"#/components/schemas/Id","description":"The ID of the associated meter"},"readings":{"type":"array","items":{"$ref":"#/components/schemas/CounterReadingOnSubmission"},"description":"- The counter readings of a meter\\n- This is only sent when the user is authenticated while submitting a journey\\n"},"readingValue":{"type":"number","example":240,"description":"The reading value of the meter when the counterId is passed or when the meterType is one-tariff"},"readingDate":{"type":"string","description":"If the value is not provided, the system will be set with the time the request is processed.","example":"2022-10-10T10:10:00.000Z"},"readBy":{"type":"string","example":"John Doe","description":"The person who recorded the reading"},"reason":{"type":"string","example":"Storing the feed-in record","description":"The reason for recording the reading"},"maloId":{"type":"string","example":"A09-123","description":"The MA-LO ID of the meter"},"obisNumber":{"type":"string","example":"A-34","description":"The OBIS number of the meter counter"},"readingUnit":{"$ref":"#/components/schemas/Unit","description":"The unit of measurement for the reading"},"meterType":{"type":"string","enum":["one_tariff","two_tariff","bi_directional"],"description":"The type of the meter"},"feedInValue":{"type":"number","example":240,"description":"The feed-in value of the meter when meterType is one-tariff or bi-directional"},"feedOutValue":{"type":"number","example":240,"description":"The feed-out value of the meter when meterType is bi-directional"},"htValue":{"type":"number","example":240,"description":"The high-peak tariff value of the meter when meterType is two-tariff"},"ntValue":{"type":"number","example":240,"description":"The off-peak tariff value of the meter when meterType is two-tariff"}}},"Unit":{"type":"string","enum":["w","wh","kw","kWh","kvarh","mw","mWh","unit","cubic-meter","hour","day","month","year","percentage"]},"Source":{"type":"string","enum":["ECP","ERP","360","journey-submission"]},"ReadingWithMeter":{"type":"object","properties":{"ma_lo_id":{"type":"string","example":"A09-123","description":"The MA-LO ID of the meter"},"meter_id":{"$ref":"#/components/schemas/Id","description":"The ID of the associated meter"},"obis_number":{"type":"string","example":"A-34","description":"The OBIS number of the meter counter"},"unit":{"$ref":"#/components/schemas/Unit","description":"The unit of measurement for the reading"},"direction":{"$ref":"#/components/schemas/Direction","description":"The direction of the reading"},"tariff_type":{"$ref":"#/components/schemas/TariffType","description":"The tariff type of the reading"},"value":{"type":"number","example":240,"description":"The reading value"},"read_by":{"type":"string","example":"John Doe","description":"The person who recorded the reading"},"reason":{"type":"string","example":"Storing the feed-in record","description":"The reason for recording the reading"},"timestamp":{"type":"string","description":"If the value is not provided, the system will be set with the time the request is processed.","example":"2022-10-10T10:10:00.000Z"},"source":{"$ref":"#/components/schemas/Source","description":"The source of the reading"}}}}},"servers":[{"url":"https://metering.sls.epilot.io"}]}')}},t={},r=function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n].call(o.exports,o,o.exports,r),o.exports}(914),n=exports;for(var s in r)n[s]=r[s];r.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
package/dist/openapi.d.ts CHANGED
@@ -454,8 +454,7 @@ declare namespace Components {
454
454
  source?: Source;
455
455
  }
456
456
  export type Source = "ECP" | "ERP" | "360" | "journey-submission";
457
- export interface SubmissionMeterReading {
458
- [name: string]: any;
457
+ export type SubmissionMeterReading = {
459
458
  /**
460
459
  * The ID of the associated meter
461
460
  */
@@ -471,7 +470,7 @@ declare namespace Components {
471
470
  * example:
472
471
  * 240
473
472
  */
474
- readingValue?: string;
473
+ readingValue?: number;
475
474
  /**
476
475
  * If the value is not provided, the system will be set with the time the request is processed.
477
476
  * example:
@@ -534,7 +533,7 @@ declare namespace Components {
534
533
  * 240
535
534
  */
536
535
  ntValue?: number;
537
- }
536
+ } | null;
538
537
  export type TariffType = "ht" | "nt";
539
538
  export type Unit = "w" | "wh" | "kw" | "kWh" | "kvarh" | "mw" | "mWh" | "unit" | "cubic-meter" | "hour" | "day" | "month" | "year" | "percentage";
540
539
  }
@@ -561,7 +560,7 @@ declare namespace Paths {
561
560
  * 123
562
561
  */
563
562
  org_id?: string;
564
- entity: {
563
+ entity?: {
565
564
  [name: string]: any;
566
565
  /**
567
566
  * ID of the organization
@@ -569,7 +568,7 @@ declare namespace Paths {
569
568
  * 123
570
569
  */
571
570
  _org?: string;
572
- meterReadings: Components.Schemas.SubmissionMeterReading[];
571
+ meterReadings?: Components.Schemas.SubmissionMeterReading[];
573
572
  };
574
573
  }
575
574
  namespace Responses {
@@ -647,6 +646,45 @@ declare namespace Paths {
647
646
  export type $500 = Components.Responses.InternalServerError;
648
647
  }
649
648
  }
649
+ namespace GetAllowedReadingForMeter {
650
+ namespace Parameters {
651
+ export type MeterId = Components.Schemas.Id;
652
+ /**
653
+ * example:
654
+ * 2022-10-01T10:10:00.000Z
655
+ */
656
+ export type Timestamp = string;
657
+ }
658
+ export interface PathParameters {
659
+ meter_id: Parameters.MeterId;
660
+ }
661
+ export interface QueryParameters {
662
+ timestamp?: /**
663
+ * example:
664
+ * 2022-10-01T10:10:00.000Z
665
+ */
666
+ Parameters.Timestamp;
667
+ }
668
+ namespace Responses {
669
+ export interface $200 {
670
+ data?: {
671
+ counter_id?: Components.Schemas.Id;
672
+ /**
673
+ * Minimum allowed reading value for the meter
674
+ */
675
+ min_value?: number;
676
+ /**
677
+ * Maximum allowed reading value for the meter
678
+ */
679
+ max_value?: number;
680
+ }[];
681
+ }
682
+ export type $400 = Components.Responses.InvalidRequest;
683
+ export type $401 = Components.Responses.Unauthorized;
684
+ export type $403 = Components.Responses.Forbidden;
685
+ export type $500 = Components.Responses.InternalServerError;
686
+ }
687
+ }
650
688
  namespace GetCounterDetails {
651
689
  namespace Parameters {
652
690
  export type CounterId = Components.Schemas.Id;
@@ -1004,6 +1042,16 @@ export interface OperationMethods {
1004
1042
  data?: Paths.CreateMeterReadingFromSubmission.RequestBody,
1005
1043
  config?: AxiosRequestConfig
1006
1044
  ): OperationResponse<Paths.CreateMeterReadingFromSubmission.Responses.$200>
1045
+ /**
1046
+ * getAllowedReadingForMeter - getAllowedReadingForMeter
1047
+ *
1048
+ * Get allowed reading for the given meter
1049
+ */
1050
+ 'getAllowedReadingForMeter'(
1051
+ parameters?: Parameters<Paths.GetAllowedReadingForMeter.PathParameters & Paths.GetAllowedReadingForMeter.QueryParameters> | null,
1052
+ data?: any,
1053
+ config?: AxiosRequestConfig
1054
+ ): OperationResponse<Paths.GetAllowedReadingForMeter.Responses.$200>
1007
1055
  /**
1008
1056
  * createReadingWithMeter - Create Reading with Meter
1009
1057
  *
@@ -1169,6 +1217,18 @@ export interface PathsDictionary {
1169
1217
  config?: AxiosRequestConfig
1170
1218
  ): OperationResponse<Paths.CreateMeterReadingFromSubmission.Responses.$200>
1171
1219
  }
1220
+ ['/v1/metering/allowed/reading/{meter_id}']: {
1221
+ /**
1222
+ * getAllowedReadingForMeter - getAllowedReadingForMeter
1223
+ *
1224
+ * Get allowed reading for the given meter
1225
+ */
1226
+ 'get'(
1227
+ parameters?: Parameters<Paths.GetAllowedReadingForMeter.PathParameters & Paths.GetAllowedReadingForMeter.QueryParameters> | null,
1228
+ data?: any,
1229
+ config?: AxiosRequestConfig
1230
+ ): OperationResponse<Paths.GetAllowedReadingForMeter.Responses.$200>
1231
+ }
1172
1232
  ['/v1/metering/reading/with-meter']: {
1173
1233
  /**
1174
1234
  * createReadingWithMeter - Create Reading with Meter
package/dist/openapi.json CHANGED
@@ -518,9 +518,6 @@
518
518
  "application/json": {
519
519
  "schema": {
520
520
  "type": "object",
521
- "required": [
522
- "entity"
523
- ],
524
521
  "additionalProperties": true,
525
522
  "properties": {
526
523
  "org_id": {
@@ -530,9 +527,6 @@
530
527
  },
531
528
  "entity": {
532
529
  "type": "object",
533
- "required": [
534
- "meterReadings"
535
- ],
536
530
  "additionalProperties": true,
537
531
  "properties": {
538
532
  "_org": {
@@ -587,6 +581,91 @@
587
581
  }
588
582
  }
589
583
  },
584
+ "/v1/metering/allowed/reading/{meter_id}": {
585
+ "get": {
586
+ "operationId": "getAllowedReadingForMeter",
587
+ "summary": "getAllowedReadingForMeter",
588
+ "description": "Get allowed reading for the given meter",
589
+ "tags": [
590
+ "ECP Admin",
591
+ "ECP"
592
+ ],
593
+ "security": [
594
+ {
595
+ "EpilotAuth": []
596
+ },
597
+ {
598
+ "PortalAuth": []
599
+ }
600
+ ],
601
+ "parameters": [
602
+ {
603
+ "in": "path",
604
+ "name": "meter_id",
605
+ "schema": {
606
+ "$ref": "#/components/schemas/Id"
607
+ },
608
+ "required": true,
609
+ "description": "The ID of the meter."
610
+ },
611
+ {
612
+ "in": "query",
613
+ "name": "timestamp",
614
+ "required": false,
615
+ "description": "If not provided, the system will default to now.",
616
+ "schema": {
617
+ "type": "string",
618
+ "example": "2022-10-01T10:10:00.000Z"
619
+ }
620
+ }
621
+ ],
622
+ "responses": {
623
+ "200": {
624
+ "description": "Recent reading for the meter fetched successfully.",
625
+ "content": {
626
+ "application/json": {
627
+ "schema": {
628
+ "type": "object",
629
+ "properties": {
630
+ "data": {
631
+ "type": "array",
632
+ "items": {
633
+ "type": "object",
634
+ "properties": {
635
+ "counter_id": {
636
+ "$ref": "#/components/schemas/Id"
637
+ },
638
+ "min_value": {
639
+ "type": "number",
640
+ "description": "Minimum allowed reading value for the meter"
641
+ },
642
+ "max_value": {
643
+ "type": "number",
644
+ "description": "Maximum allowed reading value for the meter"
645
+ }
646
+ }
647
+ }
648
+ }
649
+ }
650
+ }
651
+ }
652
+ }
653
+ },
654
+ "400": {
655
+ "$ref": "#/components/responses/InvalidRequest"
656
+ },
657
+ "401": {
658
+ "$ref": "#/components/responses/Unauthorized"
659
+ },
660
+ "403": {
661
+ "$ref": "#/components/responses/Forbidden"
662
+ },
663
+ "500": {
664
+ "$ref": "#/components/responses/InternalServerError"
665
+ }
666
+ }
667
+ }
668
+ },
590
669
  "/v1/metering/reading/with-meter": {
591
670
  "post": {
592
671
  "operationId": "createReadingWithMeter",
@@ -1572,7 +1651,7 @@
1572
1651
  "required": [
1573
1652
  "meterId"
1574
1653
  ],
1575
- "additionalProperties": true,
1654
+ "nullable": true,
1576
1655
  "properties": {
1577
1656
  "meterId": {
1578
1657
  "$ref": "#/components/schemas/Id",
@@ -1586,8 +1665,8 @@
1586
1665
  "description": "- The counter readings of a meter\n- This is only sent when the user is authenticated while submitting a journey\n"
1587
1666
  },
1588
1667
  "readingValue": {
1589
- "type": "string",
1590
- "example": "240",
1668
+ "type": "number",
1669
+ "example": 240,
1591
1670
  "description": "The reading value of the meter when the counterId is passed or when the meterType is one-tariff"
1592
1671
  },
1593
1672
  "readingDate": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/metering-client",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "API Client for epilot Metering API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",