@golemio/energetics
Version:
Golemio Energetics Module
362 lines (360 loc) • 14.3 kB
YAML
asyncapi: 3.0.0
info:
title: Energetics
version: 1.0.0
description: Energetics
channels:
energetics.fetchAccessConfiguration:
address: dataplatform.energeticsoict.fetchAccessConfiguration
description: updates access configuration table in the databse from blob storage datasource
bindings:
amqp:
is: queue
queue:
durable: true
messages:
empty:
$ref: "#/components/messages/emptyMessage"
energetics.fetchConsumption:
address: dataplatform.energeticsoict.fetchConsumption
description: updates consumption in database table consumption_energy_consumption
bindings:
amqp:
is: queue
queue:
durable: true
messages:
fetchConsumptionMessage:
$ref: "#/components/messages/energetics.fetchConsumptionMessage"
energetics.fetchData:
address: dataplatform.energeticsoict.fetchData
description: create messages for queue fetchConsumption based on input message
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.fetchDataMessage"
energetics.fetchVpalacXDaysData:
address: dataplatform.energetics.fetchVpalacXDaysData
description: updates vpalac data (measuremenets, measuringEquipment, meterTypes, typeMeasuringEquipment, unitData) in database
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.fetchDataMessage"
energetics.fetchVpalacXHoursData:
address: dataplatform.energetics.fetchVpalacXHoursData
description: updates vpalac data (measuremenets, measuringEquipment, meterTypes, typeMeasuringEquipment, unitData) in database
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.fetchXHoursDataMessage"
energetics.fetchMeasurementOptionsStaticData:
address: dataplatform.energeticscommodity.fetchMeasurementOptionsStaticData
description: updates meter settings in database table commodity_static_meter_settings
bindings:
amqp:
is: queue
queue:
durable: true
messages:
empty:
$ref: "#/components/messages/emptyMessage"
energetics.fetchMeasurementsFromEEProviders:
address: dataplatform.energeticscommodity.fetchMeasurementsFromEEProviders
description: based on input message it generates messages for queue fetchPpasEEMeasurements
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.fetchDataMessage"
energetics.fetchPpasEEMeasurements:
address: dataplatform.energeticscommodity.fetchPpasEEMeasurements
description: downloads measurements data from Pražská Plynárenská
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.fetchDataMessage"
energetics.fetchMeasurementsFromProviders:
address: dataplatform.energeticscommodity.fetchMeasurementsFromProviders
description: create messages for other queues to download measurements data from Veolia, Pražská Plynárenská and Pre electro
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.fetchDataMessage"
energetics.fetchPpasMeasurements:
address: dataplatform.energeticscommodity.fetchPpasMeasurements
description: downloads measurements data from Pražská Plynárenská
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.PpasMeasurementsMessages"
energetics.fetchPreElectroMeasurementsTask:
address: dataplatform.energeticscommodity.fetchPreElectroMeasurementsTask
description: downloads measurements data from PRE
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.fetchConsumptionMessage"
energetics.processPreEanMeasurementsTask:
address: dataplatform.energeticscommodity.processPreEanMeasurementsTask
description: process incoming measurements from PRE
bindings:
amqp:
is: queue
queue:
durable: true
messages:
preEanMeasurementMessage:
$ref: "#/components/messages/energetics.preEanMeasurementMessage"
energetics.savePtasMeasurements:
address: dataplatform.energeticscommodity.savePtasMeasurements
description: downloads measurements data from Pražská Teplárenská
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.PtasMeasurementsMessages"
energetics.fetchVeoliaMeasurements:
address: dataplatform.energeticscommodity.fetchVeoliaMeasurements
description: downloads measurements data from Veolia
bindings:
amqp:
is: queue
queue:
durable: true
messages:
targetDays:
$ref: "#/components/messages/energetics.VeoliaMeasurementsMessages"
operations:
energetics.fetchAccessConfiguration:
action: "send"
channel:
$ref: "#/channels/energetics.fetchAccessConfiguration"
energetics.fetchConsumption:
action: "send"
channel:
$ref: "#/channels/energetics.fetchConsumption"
energetics.fetchData:
action: "send"
channel:
$ref: "#/channels/energetics.fetchData"
energetics.fetchVpalacXDaysData:
action: "send"
channel:
$ref: "#/channels/energetics.fetchVpalacXDaysData"
energetics.fetchVpalacXHoursData:
action: "send"
channel:
$ref: "#/channels/energetics.fetchVpalacXHoursData"
energetics.fetchMeasurementOptionsStaticData:
action: "send"
channel:
$ref: "#/channels/energetics.fetchMeasurementOptionsStaticData"
energetics.fetchMeasurementsFromEEProviders:
action: "send"
channel:
$ref: "#/channels/energetics.fetchMeasurementsFromEEProviders"
energetics.fetchPpasEEMeasurements:
action: "send"
channel:
$ref: "#/channels/energetics.fetchPpasEEMeasurements"
energetics.fetchMeasurementsFromProviders:
action: "send"
channel:
$ref: "#/channels/energetics.fetchMeasurementsFromProviders"
energetics.fetchPpasMeasurements:
action: "send"
channel:
$ref: "#/channels/energetics.fetchPpasMeasurements"
energetics.fetchPreElectroMeasurementsTask:
action: "send"
channel:
$ref: "#/channels/energetics.fetchPreElectroMeasurementsTask"
energetics.savePtasMeasurements:
action: "send"
channel:
$ref: "#/channels/energetics.savePtasMeasurements"
energetics.fetchVeoliaMeasurements:
action: "send"
channel:
$ref: "#/channels/energetics.fetchVeoliaMeasurements"
energetics.preEanMeasurementMessage:
action: "send"
channel:
$ref: "#/channels/energetics.processPreEanMeasurementsTask"
components:
messages:
emptyMessage:
title: Empty message
energetics.fetchConsumptionMessage:
payload:
type: object
$ref: "#/components/schemas/energetics.IFetchConsumptionInput"
additionalProperties: false
energetics.fetchDataMessage:
payload:
type: object
$ref: "#/components/schemas/energetics.IFetchDataInput"
additionalProperties: false
energetics.fetchXHoursDataMessage:
payload:
type: object
$ref: "#/components/schemas/energetics.IFetchXHoursDataInput"
additionalProperties: false
energetics.PpasMeasurementsMessages:
payload:
type: object
$ref: "#/components/schemas/energetics.IPpasMeasurementsParams"
additionalProperties: false
energetics.PtasMeasurementsMessages:
payload:
type: object
$ref: "#/components/schemas/energetics.IPtasWebScrapingInput"
additionalProperties: false
energetics.VeoliaMeasurementsMessages:
payload:
type: object
$ref: "#/components/schemas/energetics.IVeoliaMeasurementsMessages"
additionalProperties: false
energetics.preEanMeasurementMessage:
payload:
type: object
$ref: "#/components/schemas/energetics.preEanMeasurementMessage"
additionalProperties: false
schemas:
energetics.IFetchConsumptionInput:
type: object
properties:
dateFrom:
type: string
format: date
description: The date from which the consumption is to be fetched
dateTo:
type: string
format: date
description: The date to which the consumption is to be fetched
additionalProperties: false
energetics.IFetchDataInput:
type: object
properties:
targetDays:
type: number
description: The number of days for which the consumption is to be fetched
additionalProperties: false
energetics.IFetchXHoursDataInput:
type: object
properties:
targetHours:
type: number
description: The number of hours for which the consumption is to be fetched
additionalProperties: false
energetics.IPpasMeasurementsParams:
type: object
properties:
dateFrom:
type: string
format: date
description: The date from which the consumption is to be fetched
dateTo:
type: string
format: date
description: The date to which the consumption is to be fetched
providerType:
type: string
description: The type of provider from which the measurements are to be fetched
enum:
- "ppas_ave_api_v"
- "ppas_ave_api_m"
- "ppas_ave_api_a"
- "ppas_ave_api_c"
- "ppas_ave_api_mo"
energetics.IPtasWebScrapingInput:
type: object
properties:
placeId:
type: string
description: The place id for which the measurements are to be fetched
measurements:
type: array
items:
type: object
properties:
"Datum odečtu":
type: string
"Čas odečtu":
type: string
"Výrobní číslo":
type: string
"Druh registru":
type: string
"Odečet":
type: string
"MJ odečtu":
type: string
"MJ zúčt.":
type: string
"OM závislé":
type: string
"Typ odečtu":
type: string
"Status odečtu":
type: string
energetics.IVeoliaMeasurementsMessages:
type: object
properties:
dateFrom:
type: string
format: date
description: The date from which the consumption is to be fetched
dateTo:
type: string
format: date
description: The date to which the consumption is to be fetched
providerType:
type: string
description: The type of provider from which the measurements are to be fetched
enum:
- "cem_api_veolia_water"
- "cem_api_veolia_electro"
energetics.preEanMeasurementMessage:
type: object
properties:
ean:
type: string
description: EAN code of measuring device
T1_Wh_raw_data:
type: array
description: Array of timestamps and values of measurements