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  }