github.com/enbility/spine-go@v0.7.0/model/timeseries.go (about) 1 package model 2 3 type TimeSeriesIdType uint 4 5 type TimeSeriesSlotIdType uint 6 7 type TimeSeriesSlotCountType TimeSeriesSlotIdType 8 9 type TimeSeriesTypeType string 10 11 const ( 12 TimeSeriesTypeTypePlan TimeSeriesTypeType = "plan" 13 TimeSeriesTypeTypeSingleDemand TimeSeriesTypeType = "singleDemand" 14 TimeSeriesTypeTypeConstraints TimeSeriesTypeType = "constraints" 15 TimeSeriesTypeTypeEnergyRequest TimeSeriesTypeType = "energyRequest" 16 TimeSeriesTypeTypeDischargingEnergyRequest TimeSeriesTypeType = "dischargingEnergyRequest" 17 TimeSeriesTypeTypeConsumptionLimitCurve TimeSeriesTypeType = "consumptionLimitCurve" 18 TimeSeriesTypeTypeProductionLimitCurve TimeSeriesTypeType = "productionLimitCurve" 19 ) 20 21 type TimeSeriesSlotType struct { 22 TimeSeriesSlotId *TimeSeriesSlotIdType `json:"timeSeriesSlotId,omitempty"` 23 TimePeriod *TimePeriodType `json:"timePeriod,omitempty"` 24 Duration *DurationType `json:"duration,omitempty"` 25 RecurrenceInformation *AbsoluteOrRecurringTimeType `json:"recurrenceInformation,omitempty"` 26 Value *ScaledNumberType `json:"value,omitempty"` 27 MinValue *ScaledNumberType `json:"minValue,omitempty"` 28 MaxValue *ScaledNumberType `json:"maxValue,omitempty"` 29 } 30 31 type TimeSeriesSlotElementsType struct { 32 TimeSeriesSlotId *ElementTagType `json:"timeSeriesSlotId,omitempty"` 33 TimePeriod *ElementTagType `json:"timePeriod,omitempty"` 34 Duration *ElementTagType `json:"duration,omitempty"` 35 RecurrenceInformation *AbsoluteOrRecurringTimeElementsType `json:"recurrenceInformation,omitempty"` 36 Value *ScaledNumberElementsType `json:"value,omitempty"` 37 MinValue *ScaledNumberElementsType `json:"minValue,omitempty"` 38 MaxValue *ScaledNumberElementsType `json:"maxValue,omitempty"` 39 } 40 41 type TimeSeriesDataType struct { 42 TimeSeriesId *TimeSeriesIdType `json:"timeSeriesId,omitempty" eebus:"key"` 43 TimePeriod *TimePeriodType `json:"timePeriod,omitempty"` 44 TimeSeriesSlot []TimeSeriesSlotType `json:"timeSeriesSlot"` 45 } 46 47 type TimeSeriesDataElementsType struct { 48 TimeSeriesId *ElementTagType `json:"timeSeriesId,omitempty"` 49 TimePeriod *TimePeriodElementsType `json:"timePeriod,omitempty"` 50 TimeSeriesSlot *TimeSeriesSlotElementsType `json:"timeSeriesSlot"` 51 } 52 53 type TimeSeriesListDataType struct { 54 TimeSeriesData []TimeSeriesDataType `json:"timeSeriesData,omitempty"` 55 } 56 57 type TimeSeriesListDataSelectorsType struct { 58 TimeSeriesId *TimeSeriesIdType `json:"timeSeriesId,omitempty"` 59 TimeSeriesSlotId *TimeSeriesSlotIdType `json:"timeSeriesSlotId,omitempty"` 60 } 61 62 type TimeSeriesDescriptionDataType struct { 63 TimeSeriesId *TimeSeriesIdType `json:"timeSeriesId,omitempty" eebus:"key"` 64 TimeSeriesType *TimeSeriesTypeType `json:"timeSeriesType,omitempty"` 65 TimeSeriesWriteable *bool `json:"timeSeriesWriteable,omitempty"` 66 UpdateRequired *bool `json:"updateRequired,omitempty"` 67 MeasurementId *MeasurementIdType `json:"measurementId,omitempty"` 68 Currency *CurrencyType `json:"currency,omitempty"` 69 Unit *UnitOfMeasurementType `json:"unit,omitempty"` 70 Label *LabelType `json:"label,omitempty"` 71 Description *DescriptionType `json:"description,omitempty"` 72 ScopeType *ScopeTypeType `json:"scopeType,omitempty"` 73 } 74 75 type TimeSeriesDescriptionDataElementsType struct { 76 TimeSeriesId *ElementTagType `json:"timeSeriesId,omitempty"` 77 TimeSeriesType *ElementTagType `json:"timeSeriesType,omitempty"` 78 TimeSeriesWriteable *ElementTagType `json:"timeSeriesWriteable,omitempty"` 79 UpdateRequired *ElementTagType `json:"updateRequired,omitempty"` 80 MeasurementId *ElementTagType `json:"measurementId,omitempty"` 81 Currency *ElementTagType `json:"currency,omitempty"` 82 Unit *ElementTagType `json:"unit,omitempty"` 83 Label *ElementTagType `json:"label,omitempty"` 84 Description *ElementTagType `json:"description,omitempty"` 85 ScopeType *ElementTagType `json:"scopeType,omitempty"` 86 } 87 88 type TimeSeriesDescriptionListDataType struct { 89 TimeSeriesDescriptionData []TimeSeriesDescriptionDataType `json:"timeSeriesDescriptionData,omitempty"` 90 } 91 92 type TimeSeriesDescriptionListDataSelectorsType struct { 93 TimeSeriesId *TimeSeriesIdType `json:"timeSeriesId,omitempty"` 94 TimeSeriesType *TimeSeriesTypeType `json:"timeSeriesType,omitempty"` 95 MeasurementId *MeasurementIdType `json:"measurementId,omitempty"` 96 ScopeType *ScopeTypeType `json:"scopeType,omitempty"` 97 } 98 99 type TimeSeriesConstraintsDataType struct { 100 TimeSeriesId *TimeSeriesIdType `json:"timeSeriesId,omitempty" eebus:"key"` 101 SlotCountMin *TimeSeriesSlotCountType `json:"slotCountMin,omitempty"` 102 SlotCountMax *TimeSeriesSlotCountType `json:"slotCountMax,omitempty"` 103 SlotDurationMin *DurationType `json:"slotDurationMin,omitempty"` 104 SlotDurationMax *DurationType `json:"slotDurationMax,omitempty"` 105 SlotDurationStepSize *DurationType `json:"slotDurationStepSize,omitempty"` 106 EarliestTimeSeriesStartTime *AbsoluteOrRelativeTimeType `json:"earliestTimeSeriesStartTime,omitempty"` 107 LatestTimeSeriesEndTime *AbsoluteOrRelativeTimeType `json:"latestTimeSeriesEndTime,omitempty"` 108 SlotValueMin *ScaledNumberType `json:"slotValueMin,omitempty"` 109 SlotValueMax *ScaledNumberType `json:"slotValueMax,omitempty"` 110 SlotValueStepSize *ScaledNumberType `json:"slotValueStepSize,omitempty"` 111 } 112 113 type TimeSeriesConstraintsDataElementsType struct { 114 TimeSeriesId *ElementTagType `json:"timeSeriesId,omitempty"` 115 SlotCountMin *ElementTagType `json:"slotCountMin,omitempty"` 116 SlotCountMax *ElementTagType `json:"slotCountMax,omitempty"` 117 SlotDurationMin *ElementTagType `json:"slotDurationMin,omitempty"` 118 SlotDurationMax *ElementTagType `json:"slotDurationMax,omitempty"` 119 SlotDurationStepSize *ElementTagType `json:"slotDurationStepSize,omitempty"` 120 EarliestTimeSeriesStartTime *ElementTagType `json:"earliestTimeSeriesStartTime,omitempty"` 121 LatestTimeSeriesEndTime *ElementTagType `json:"latestTimeSeriesEndTime,omitempty"` 122 SlotValueMin *ElementTagType `json:"slotValueMin,omitempty"` 123 SlotValueMax *ElementTagType `json:"slotValueMax,omitempty"` 124 SlotValueStepSize *ElementTagType `json:"slotValueStepSize,omitempty"` 125 } 126 127 type TimeSeriesConstraintsListDataType struct { 128 TimeSeriesConstraintsData []TimeSeriesConstraintsDataType `json:"timeSeriesConstraintsData,omitempty"` 129 } 130 131 type TimeSeriesConstraintsListDataSelectorsType struct { 132 TimeSeriesId *TimeSeriesIdType `json:"timeSeriesId,omitempty"` 133 }