github.com/enbility/spine-go@v0.7.0/model/powersequences.go (about)

     1  package model
     2  
     3  type AlternativesIdType uint
     4  
     5  type PowerSequenceIdType uint
     6  
     7  type PowerTimeSlotNumberType uint
     8  
     9  type PowerTimeSlotValueTypeType string
    10  
    11  const (
    12  	PowerTimeSlotValueTypeTypePower                   PowerTimeSlotValueTypeType = "power"
    13  	PowerTimeSlotValueTypeTypePowerMin                PowerTimeSlotValueTypeType = "powerMin"
    14  	PowerTimeSlotValueTypeTypePowerMax                PowerTimeSlotValueTypeType = "powerMax"
    15  	PowerTimeSlotValueTypeTypePowerExpectedValue      PowerTimeSlotValueTypeType = "powerExpectedValue"
    16  	PowerTimeSlotValueTypeTypePowerStandardDeviation  PowerTimeSlotValueTypeType = "powerStandardDeviation"
    17  	PowerTimeSlotValueTypeTypePowerSkewness           PowerTimeSlotValueTypeType = "powerSkewness"
    18  	PowerTimeSlotValueTypeTypeEnergy                  PowerTimeSlotValueTypeType = "energy"
    19  	PowerTimeSlotValueTypeTypeEnergyMin               PowerTimeSlotValueTypeType = "energyMin"
    20  	PowerTimeSlotValueTypeTypeEnergyMax               PowerTimeSlotValueTypeType = "energyMax"
    21  	PowerTimeSlotValueTypeTypeEnergyExpectedValue     PowerTimeSlotValueTypeType = "energyExpectedValue"
    22  	PowerTimeSlotValueTypeTypeEnergyStandardDeviation PowerTimeSlotValueTypeType = "energyStandardDeviation"
    23  	PowerTimeSlotValueTypeTypeEnergySkewness          PowerTimeSlotValueTypeType = "energySkewness"
    24  )
    25  
    26  type PowerSequenceScopeType string
    27  
    28  const (
    29  	PowerSequenceScopeTypeForecast       PowerSequenceScopeType = "forecast"
    30  	PowerSequenceScopeTypeMeasurement    PowerSequenceScopeType = "measurement"
    31  	PowerSequenceScopeTypeRecommendation PowerSequenceScopeType = "recommendation"
    32  )
    33  
    34  type PowerSequenceStateType string
    35  
    36  const (
    37  	PowerSequenceStateTypeRunning         PowerSequenceStateType = "running"
    38  	PowerSequenceStateTypePaused          PowerSequenceStateType = "paused"
    39  	PowerSequenceStateTypeScheduled       PowerSequenceStateType = "scheduled"
    40  	PowerSequenceStateTypeScheduledPaused PowerSequenceStateType = "scheduledPaused"
    41  	PowerSequenceStateTypePending         PowerSequenceStateType = "pending"
    42  	PowerSequenceStateTypeInactive        PowerSequenceStateType = "inactive"
    43  	PowerSequenceStateTypeCompleted       PowerSequenceStateType = "completed"
    44  	PowerSequenceStateTypeInvalid         PowerSequenceStateType = "invalid"
    45  )
    46  
    47  type PowerTimeSlotScheduleDataType struct {
    48  	SequenceId          *PowerSequenceIdType     `json:"sequenceId,omitempty" eebus:"key"`
    49  	SlotNumber          *PowerTimeSlotNumberType `json:"slotNumber,omitempty"`
    50  	TimePeriod          *TimePeriodType          `json:"timePeriod,omitempty"`
    51  	DefaultDuration     *DurationType            `json:"defaultDuration,omitempty"`
    52  	DurationUncertainty *DurationType            `json:"durationUncertainty,omitempty"`
    53  	SlotActivated       *bool                    `json:"slotActivated,omitempty"`
    54  	Description         *DescriptionType         `json:"description,omitempty"`
    55  }
    56  
    57  type PowerTimeSlotScheduleDataElementsType struct {
    58  	SequenceId          *ElementTagType `json:"sequenceId,omitempty"`
    59  	SlotNumber          *ElementTagType `json:"slotNumber,omitempty"`
    60  	TimePeriod          *ElementTagType `json:"timePeriod,omitempty"`
    61  	DefaultDuration     *ElementTagType `json:"defaultDuration,omitempty"`
    62  	DurationUncertainty *ElementTagType `json:"durationUncertainty,omitempty"`
    63  	SlotActivated       *ElementTagType `json:"slotActivated,omitempty"`
    64  	Description         *ElementTagType `json:"description,omitempty"`
    65  }
    66  
    67  type PowerTimeSlotScheduleListDataType struct {
    68  	PowerTimeSlotScheduleData []PowerTimeSlotScheduleDataType `json:"powerTimeSlotScheduleData,omitempty"`
    69  }
    70  
    71  type PowerTimeSlotScheduleListDataSelectorsType struct {
    72  	SequenceId *PowerSequenceIdType     `json:"sequenceId,omitempty"`
    73  	SlotNumber *PowerTimeSlotNumberType `json:"slotNumber,omitempty"`
    74  }
    75  
    76  type PowerTimeSlotValueDataType struct {
    77  	SequenceId *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
    78  	SlotNumber *PowerTimeSlotNumberType    `json:"slotNumber,omitempty"`
    79  	ValueType  *PowerTimeSlotValueTypeType `json:"valueType,omitempty"`
    80  	Value      *ScaledNumberType           `json:"value,omitempty"`
    81  }
    82  
    83  type PowerTimeSlotValueDataElementsType struct {
    84  	SequenceId *ElementTagType           `json:"sequenceId,omitempty"`
    85  	SlotNumber *ElementTagType           `json:"slotNumber,omitempty"`
    86  	ValueType  *ElementTagType           `json:"valueType,omitempty"`
    87  	Value      *ScaledNumberElementsType `json:"value,omitempty"`
    88  }
    89  
    90  type PowerTimeSlotValueListDataType struct {
    91  	PowerTimeSlotValueData []PowerTimeSlotValueDataType `json:"powerTimeSlotValueListData,omitempty"`
    92  }
    93  
    94  type PowerTimeSlotValueListDataSelectorsType struct {
    95  	SequenceId *PowerSequenceIdType        `json:"sequenceId,omitempty"`
    96  	SlotNumber *PowerTimeSlotNumberType    `json:"slotNumber,omitempty"`
    97  	ValueType  *PowerTimeSlotValueTypeType `json:"valueType,omitempty"`
    98  }
    99  
   100  type PowerTimeSlotScheduleConstraintsDataType struct {
   101  	SequenceId        *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
   102  	SlotNumber        *PowerTimeSlotNumberType    `json:"slotNumber,omitempty"`
   103  	EarliestStartTime *AbsoluteOrRelativeTimeType `json:"earliestStartTime,omitempty"`
   104  	LatestEndTime     *AbsoluteOrRelativeTimeType `json:"latestEndTime,omitempty"`
   105  	MinDuration       *DurationType               `json:"minDuration,omitempty"`
   106  	MaxDuration       *DurationType               `json:"maxDuration,omitempty"`
   107  	OptionalSlot      *bool                       `json:"optionalSlot,omitempty"`
   108  }
   109  
   110  type PowerTimeSlotScheduleConstraintsDataElementsType struct {
   111  	SequenceId        *ElementTagType `json:"sequenceId,omitempty"`
   112  	SlotNumber        *ElementTagType `json:"slotNumber,omitempty"`
   113  	EarliestStartTime *ElementTagType `json:"earliestStartTime,omitempty"`
   114  	LatestEndTime     *ElementTagType `json:"latestEndTime,omitempty"`
   115  	MinDuration       *ElementTagType `json:"minDuration,omitempty"`
   116  	MaxDuration       *ElementTagType `json:"maxDuration,omitempty"`
   117  	OptionalSlot      *ElementTagType `json:"optionalSlot,omitempty"`
   118  }
   119  
   120  type PowerTimeSlotScheduleConstraintsListDataType struct {
   121  	PowerTimeSlotScheduleConstraintsData []PowerTimeSlotScheduleConstraintsDataType `json:"powerTimeSlotScheduleConstraintsData,omitempty"`
   122  }
   123  
   124  type PowerTimeSlotScheduleConstraintsListDataSelectorsType struct {
   125  	SequenceId *PowerSequenceIdType     `json:"sequenceId,omitempty"`
   126  	SlotNumber *PowerTimeSlotNumberType `json:"slotNumber,omitempty"`
   127  }
   128  
   129  type PowerSequenceAlternativesRelationDataType struct {
   130  	AlternativesId *AlternativesIdType   `json:"alternativesId,omitempty" eebus:"key"`
   131  	SequenceId     []PowerSequenceIdType `json:"sequenceId,omitempty"`
   132  }
   133  
   134  type PowerSequenceAlternativesRelationDataElementsType struct {
   135  	AlternativesId *ElementTagType `json:"alternativesId,omitempty"`
   136  	SequenceId     *ElementTagType `json:"sequenceId,omitempty"`
   137  }
   138  
   139  type PowerSequenceAlternativesRelationListDataType struct {
   140  	PowerSequenceAlternativesRelationData []PowerSequenceAlternativesRelationDataType `json:"powerSequenceAlternativesRelationData,omitempty"`
   141  }
   142  
   143  type PowerSequenceAlternativesRelationListDataSelectorsType struct {
   144  	AlternativesId *AlternativesIdType   `json:"alternativesId,omitempty"`
   145  	SequenceId     []PowerSequenceIdType `json:"sequenceId,omitempty"`
   146  }
   147  
   148  type PowerSequenceDescriptionDataType struct {
   149  	SequenceId              *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
   150  	Description             *DescriptionType            `json:"description,omitempty"`
   151  	PositiveEnergyDirection *EnergyDirectionType        `json:"positiveEnergyDirection,omitempty"`
   152  	PowerUnit               *UnitOfMeasurementType      `json:"powerUnit,omitempty"`
   153  	EnergyUnit              *UnitOfMeasurementType      `json:"energyUnit,omitempty"`
   154  	ValueSource             *MeasurementValueSourceType `json:"valueSource,omitempty"`
   155  	Scope                   *PowerSequenceScopeType     `json:"scope,omitempty"`
   156  	TaskIdentifier          *uint                       `json:"taskIdentifier,omitempty"`
   157  	RepetitionsTotal        *uint                       `json:"repetitionsTotal,omitempty"`
   158  }
   159  
   160  type PowerSequenceDescriptionDataElementsType struct {
   161  	SequenceId              *ElementTagType `json:"sequenceId,omitempty"`
   162  	Description             *ElementTagType `json:"description,omitempty"`
   163  	PositiveEnergyDirection *ElementTagType `json:"positiveEnergyDirection,omitempty"`
   164  	PowerUnit               *ElementTagType `json:"powerUnit,omitempty"`
   165  	EnergyUnit              *ElementTagType `json:"energyUnit,omitempty"`
   166  	ValueSource             *ElementTagType `json:"valueSource,omitempty"`
   167  	Scope                   *ElementTagType `json:"scope,omitempty"`
   168  	TaskIdentifier          *ElementTagType `json:"taskIdentifier,omitempty"`
   169  	RepetitionsTotal        *ElementTagType `json:"repetitionsTotal,omitempty"`
   170  }
   171  
   172  type PowerSequenceDescriptionListDataType struct {
   173  	PowerSequenceDescriptionData []PowerSequenceDescriptionDataType `json:"powerSequenceDescriptionData,omitempty"`
   174  }
   175  
   176  type PowerSequenceDescriptionListDataSelectorsType struct {
   177  	SequenceId []PowerSequenceIdType `json:"sequenceId,omitempty"`
   178  }
   179  
   180  type PowerSequenceStateDataType struct {
   181  	SequenceId                 *PowerSequenceIdType     `json:"sequenceId,omitempty" eebus:"key"`
   182  	State                      *PowerSequenceStateType  `json:"state,omitempty"`
   183  	ActiveSlotNumber           *PowerTimeSlotNumberType `json:"activeSlotNumber,omitempty"`
   184  	ElapsedSlotTime            *DurationType            `json:"elapsedSlotTime,omitempty"`
   185  	RemainingSlotTime          *DurationType            `json:"remainingSlotTime,omitempty"`
   186  	SequenceRemoteControllable *bool                    `json:"sequenceRemoteControllable,omitempty"`
   187  	ActiveRepetitionNumber     *uint                    `json:"activeRepetitionNumber,omitempty"`
   188  	RemainingPauseTime         *DurationType            `json:"remainingPauseTime,omitempty"`
   189  }
   190  
   191  type PowerSequenceStateDataElementsType struct {
   192  	SequenceId                 *ElementTagType `json:"sequenceId,omitempty"`
   193  	State                      *ElementTagType `json:"state,omitempty"`
   194  	ActiveSlotNumber           *ElementTagType `json:"activeSlotNumber,omitempty"`
   195  	ElapsedSlotTime            *ElementTagType `json:"elapsedSlotTime,omitempty"`
   196  	RemainingSlotTime          *ElementTagType `json:"remainingSlotTime,omitempty"`
   197  	SequenceRemoteControllable *ElementTagType `json:"sequenceRemoteControllable,omitempty"`
   198  	ActiveRepetitionNumber     *ElementTagType `json:"activeRepetitionNumber,omitempty"`
   199  	RemainingPauseTime         *ElementTagType `json:"remainingPauseTime,omitempty"`
   200  }
   201  
   202  type PowerSequenceStateListDataType struct {
   203  	PowerSequenceStateData []PowerSequenceStateDataType `json:"powerSequenceStateData,omitempty"`
   204  }
   205  
   206  type PowerSequenceStateListDataSelectorsType struct {
   207  	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
   208  }
   209  
   210  type PowerSequenceScheduleDataType struct {
   211  	SequenceId *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
   212  	StartTime  *AbsoluteOrRelativeTimeType `json:"startTime,omitempty"`
   213  	EndTime    *AbsoluteOrRelativeTimeType `json:"endTime,omitempty"`
   214  }
   215  
   216  type PowerSequenceScheduleDataElementsType struct {
   217  	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
   218  	StartTime  *ElementTagType `json:"startTime,omitempty"`
   219  	EndTime    *ElementTagType `json:"endTime,omitempty"`
   220  }
   221  
   222  type PowerSequenceScheduleListDataType struct {
   223  	PowerSequenceScheduleData []PowerSequenceScheduleDataType `json:"powerSequenceScheduleData,omitempty"`
   224  }
   225  
   226  type PowerSequenceScheduleListDataSelectorsType struct {
   227  	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
   228  }
   229  
   230  type PowerSequenceScheduleConstraintsDataType struct {
   231  	SequenceId        *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
   232  	EarliestStartTime *AbsoluteOrRelativeTimeType `json:"earliestStartTime,omitempty"`
   233  	LatestStartTime   *AbsoluteOrRelativeTimeType `json:"latestStartTime,omitempty"`
   234  	EarliestEndTime   *AbsoluteOrRelativeTimeType `json:"earliestEndTime,omitempty"`
   235  	LatestEndTime     *AbsoluteOrRelativeTimeType `json:"latestEndTime,omitempty"`
   236  	OptionalSequence  *bool                       `json:"optionalSequence,omitempty"`
   237  }
   238  
   239  type PowerSequenceScheduleConstraintsDataElementsType struct {
   240  	SequenceId        *ElementTagType `json:"sequenceId,omitempty"`
   241  	EarliestStartTime *ElementTagType `json:"earliestStartTime,omitempty"`
   242  	LatestStartTime   *ElementTagType `json:"latestStartTime,omitempty"`
   243  	EarliestEndTime   *ElementTagType `json:"earliestEndTime,omitempty"`
   244  	LatestEndTime     *ElementTagType `json:"latestEndTime,omitempty"`
   245  	OptionalSequence  *ElementTagType `json:"optionalSequence,omitempty"`
   246  }
   247  
   248  type PowerSequenceScheduleConstraintsListDataType struct {
   249  	PowerSequenceScheduleConstraintsData []PowerSequenceScheduleConstraintsDataType `json:"powerSequenceScheduleConstraintsData,omitempty"`
   250  }
   251  
   252  type PowerSequenceScheduleConstraintsListDataSelectorsType struct {
   253  	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
   254  }
   255  
   256  type PowerSequencePriceDataType struct {
   257  	SequenceId         *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
   258  	PotentialStartTime *AbsoluteOrRelativeTimeType `json:"potentialStartTime,omitempty"`
   259  	Price              *ScaledNumberType           `json:"price,omitempty"`
   260  	Currency           *CurrencyType               `json:"currency,omitempty"`
   261  }
   262  
   263  type PowerSequencePriceDataElementsType struct {
   264  	SequenceId         *ElementTagType `json:"sequenceId,omitempty"`
   265  	PotentialStartTime *ElementTagType `json:"potentialStartTime,omitempty"`
   266  	Price              *ElementTagType `json:"price,omitempty"`
   267  	Currency           *ElementTagType `json:"currency,omitempty"`
   268  }
   269  
   270  type PowerSequencePriceListDataType struct {
   271  	PowerSequencePriceData []PowerSequencePriceDataType `json:"powerSequencePriceData,omitempty"`
   272  }
   273  
   274  type PowerSequencePriceListDataSelectorsType struct {
   275  	SequenceId                 *PowerSequenceIdType        `json:"sequenceId,omitempty"`
   276  	PotentialStartTimeInterval *AbsoluteOrRelativeTimeType `json:"potentialStartTimeInterval,omitempty"`
   277  }
   278  
   279  type PowerSequenceSchedulePreferenceDataType struct {
   280  	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty" eebus:"key"`
   281  	Greenest   *bool                `json:"greenest,omitempty"`
   282  	Cheapest   *bool                `json:"cheapest,omitempty"`
   283  }
   284  
   285  type PowerSequenceSchedulePreferenceDataElementsType struct {
   286  	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
   287  	Greenest   *ElementTagType `json:"greenest,omitempty"`
   288  	Cheapest   *ElementTagType `json:"cheapest,omitempty"`
   289  }
   290  
   291  type PowerSequenceSchedulePreferenceListDataType struct {
   292  	PowerSequenceSchedulePreferenceData []PowerSequenceSchedulePreferenceDataType `json:"powerSequenceSchedulePreferenceData,omitempty"`
   293  }
   294  
   295  type PowerSequenceSchedulePreferenceListDataSelectorsType struct {
   296  	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
   297  }
   298  
   299  type PowerSequenceNodeScheduleInformationDataType struct {
   300  	NodeRemoteControllable           *bool `json:"nodeRemoteControllable,omitempty"`
   301  	SupportsSingleSlotSchedulingOnly *bool `json:"supportsSingleSlotSchedulingOnly,omitempty"`
   302  	AlternativesCount                *uint `json:"alternativesCount,omitempty"`
   303  	TotalSequencesCountMax           *uint `json:"totalSequencesCountMax,omitempty"`
   304  	SupportsReselection              *bool `json:"supportsReselection,omitempty"`
   305  }
   306  
   307  type PowerSequenceNodeScheduleInformationDataElementsType struct {
   308  	NodeRemoteControllable           *ElementTagType `json:"nodeRemoteControllable,omitempty"`
   309  	SupportsSingleSlotSchedulingOnly *ElementTagType `json:"supportsSingleSlotSchedulingOnly,omitempty"`
   310  	AlternativesCount                *ElementTagType `json:"alternativesCount,omitempty"`
   311  	TotalSequencesCountMax           *ElementTagType `json:"totalSequencesCountMax,omitempty"`
   312  	SupportsReselection              *ElementTagType `json:"supportsReselection,omitempty"`
   313  }
   314  
   315  type PowerSequenceScheduleConfigurationRequestCallType struct {
   316  	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
   317  }
   318  
   319  type PowerSequenceScheduleConfigurationRequestCallElementsType struct {
   320  	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
   321  }
   322  
   323  type PowerSequencePriceCalculationRequestCallType struct {
   324  	SequenceId         *PowerSequenceIdType        `json:"sequenceId,omitempty"`
   325  	PotentialStartTime *AbsoluteOrRelativeTimeType `json:"potentialStartTime,omitempty"`
   326  }
   327  
   328  type PowerSequencePriceCalculationRequestCallElementsType struct {
   329  	SequenceId         *ElementTagType `json:"sequenceId,omitempty"`
   330  	PotentialStartTime *ElementTagType `json:"potentialStartTime,omitempty"`
   331  }