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

     1  package model
     2  
     3  type LoadControlEventIdType uint
     4  
     5  type LoadControlEventActionType string
     6  
     7  const (
     8  	LoadControlEventActionTypePause     LoadControlEventActionType = "pause"
     9  	LoadControlEventActionTypeResume    LoadControlEventActionType = "resume"
    10  	LoadControlEventActionTypeReduce    LoadControlEventActionType = "reduce"
    11  	LoadControlEventActionTypeIncrease  LoadControlEventActionType = "increase"
    12  	LoadControlEventActionTypeEmergency LoadControlEventActionType = "emergency"
    13  	LoadControlEventActionTypeNormal    LoadControlEventActionType = "normal"
    14  )
    15  
    16  type LoadControlEventStateType string
    17  
    18  const (
    19  	LoadControlEventStateTypeEventAccepted  LoadControlEventStateType = "eventAccepted"
    20  	LoadControlEventStateTypeEventStarted   LoadControlEventStateType = "eventStarted"
    21  	LoadControlEventStateTypeEventStopped   LoadControlEventStateType = "eventStopped"
    22  	LoadControlEventStateTypeEventRejected  LoadControlEventStateType = "eventRejected"
    23  	LoadControlEventStateTypeEventCancelled LoadControlEventStateType = "eventCancelled"
    24  	LoadControlEventStateTypeEventError     LoadControlEventStateType = "eventError"
    25  )
    26  
    27  type LoadControlLimitIdType uint
    28  
    29  type LoadControlLimitTypeType string
    30  
    31  const (
    32  	LoadControlLimitTypeTypeMinValueLimit              LoadControlLimitTypeType = "minValueLimit"
    33  	LoadControlLimitTypeTypeMaxValueLimit              LoadControlLimitTypeType = "maxValueLimit"
    34  	LoadControlLimitTypeTypeSignDependentAbsValueLimit LoadControlLimitTypeType = "signDependentAbsValueLimit"
    35  )
    36  
    37  type LoadControlCategoryType string
    38  
    39  const (
    40  	LoadControlCategoryTypeObligation     LoadControlCategoryType = "obligation"
    41  	LoadControlCategoryTypeRecommendation LoadControlCategoryType = "recommendation"
    42  	LoadControlCategoryTypeOptimization   LoadControlCategoryType = "optimization"
    43  )
    44  
    45  type LoadControlNodeDataType struct {
    46  	IsNodeRemoteControllable *bool `json:"isNodeRemoteControllable,omitempty"`
    47  }
    48  
    49  type LoadControlNodeDataElementsType struct {
    50  	IsNodeRemoteControllable *ElementTagType `json:"isNodeRemoteControllable,omitempty"`
    51  }
    52  
    53  type LoadControlEventDataType struct {
    54  	Timestamp          *string                     `json:"timestamp,omitempty"`
    55  	EventId            *LoadControlEventIdType     `json:"eventId,omitempty" eebus:"key"`
    56  	EventActionConsume *LoadControlEventActionType `json:"eventActionConsume,omitempty"`
    57  	EventActionProduce *LoadControlEventActionType `json:"eventActionProduce,omitempty"`
    58  	TimePeriod         *TimePeriodType             `json:"timePeriod,omitempty"`
    59  }
    60  
    61  type LoadControlEventDataElementsType struct {
    62  	Timestamp          *ElementTagType         `json:"timestamp,omitempty"`
    63  	EventId            *ElementTagType         `json:"eventId,omitempty"`
    64  	EventActionConsume *ElementTagType         `json:"eventActionConsume,omitempty"`
    65  	EventActionProduce *ElementTagType         `json:"eventActionProduce,omitempty"`
    66  	TimePeriod         *TimePeriodElementsType `json:"timePeriod,omitempty"`
    67  }
    68  
    69  type LoadControlEventListDataType struct {
    70  	LoadControlEventData []LoadControlEventDataType `json:"loadControlEventData,omitempty"`
    71  }
    72  
    73  type LoadControlEventListDataSelectorsType struct {
    74  	TimestampInterval *TimestampIntervalType  `json:"timestampInterval,omitempty"`
    75  	EventId           *LoadControlEventIdType `json:"eventId,omitempty"`
    76  }
    77  
    78  type LoadControlStateDataType struct {
    79  	Timestamp                 *string                     `json:"timestamp"`
    80  	EventId                   *LoadControlEventIdType     `json:"eventId,omitempty" eebus:"key"`
    81  	EventStateConsume         *LoadControlEventStateType  `json:"eventStateConsume"`
    82  	AppliedEventActionConsume *LoadControlEventActionType `json:"appliedEventActionConsume"`
    83  	EventStateProduce         *LoadControlEventStateType  `json:"eventStateProduce"`
    84  	AppliedEventActionProduce *LoadControlEventActionType `json:"appliedEventActionProduce"`
    85  }
    86  
    87  type LoadControlStateDataElementsType struct {
    88  	Timestamp                 *ElementTagType `json:"timestamp"`
    89  	EventId                   *ElementTagType `json:"eventId,omitempty"`
    90  	EventStateConsume         *ElementTagType `json:"eventStateConsume"`
    91  	AppliedEventActionConsume *ElementTagType `json:"appliedEventActionConsume"`
    92  	EventStateProduce         *ElementTagType `json:"eventStateProduce"`
    93  	AppliedEventActionProduce *ElementTagType `json:"appliedEventActionProduce"`
    94  }
    95  
    96  type LoadControlStateListDataType struct {
    97  	LoadControlStateData []LoadControlStateDataType `json:"loadControlStateData,omitempty"`
    98  }
    99  
   100  type LoadControlStateListDataSelectorsType struct {
   101  	TimestampInterval *TimestampIntervalType  `json:"timestampInterval,omitempty"`
   102  	EventId           *LoadControlEventIdType `json:"eventId,omitempty"`
   103  }
   104  
   105  type LoadControlLimitDataType struct {
   106  	LimitId           *LoadControlLimitIdType `json:"limitId,omitempty" eebus:"key"`
   107  	IsLimitChangeable *bool                   `json:"isLimitChangeable,omitempty" eebus:"writecheck"`
   108  	IsLimitActive     *bool                   `json:"isLimitActive,omitempty"`
   109  	TimePeriod        *TimePeriodType         `json:"timePeriod,omitempty"`
   110  	Value             *ScaledNumberType       `json:"value,omitempty"`
   111  }
   112  
   113  type LoadControlLimitDataElementsType struct {
   114  	LimitId           *ElementTagType           `json:"limitId,omitempty"`
   115  	IsLimitChangeable *ElementTagType           `json:"isLimitChangeable,omitempty"`
   116  	IsLimitActive     *ElementTagType           `json:"isLimitActive,omitempty"`
   117  	TimePeriod        *TimePeriodElementsType   `json:"timePeriod,omitempty"`
   118  	Value             *ScaledNumberElementsType `json:"value,omitempty"`
   119  }
   120  
   121  type LoadControlLimitListDataType struct {
   122  	LoadControlLimitData []LoadControlLimitDataType `json:"loadControlLimitData,omitempty"`
   123  }
   124  
   125  type LoadControlLimitListDataSelectorsType struct {
   126  	LimitId *LoadControlLimitIdType `json:"limitId,omitempty"`
   127  }
   128  
   129  type LoadControlLimitConstraintsDataType struct {
   130  	LimitId       *LoadControlLimitIdType `json:"limitId,omitempty" eebus:"key"`
   131  	ValueRangeMin *ScaledNumberType       `json:"valueRangeMin,omitempty"`
   132  	ValueRangeMax *ScaledNumberType       `json:"valueRangeMax,omitempty"`
   133  	ValueStepSize *ScaledNumberType       `json:"valueStepSize,omitempty"`
   134  }
   135  
   136  type LoadControlLimitConstraintsDataElementsType struct {
   137  	LimitId       *ElementTagType           `json:"limitId,omitempty"`
   138  	ValueRangeMin *ScaledNumberElementsType `json:"valueRangeMin,omitempty"`
   139  	ValueRangeMax *ScaledNumberElementsType `json:"valueRangeMax,omitempty"`
   140  	ValueStepSize *ScaledNumberElementsType `json:"valueStepSize,omitempty"`
   141  }
   142  
   143  type LoadControlLimitConstraintsListDataType struct {
   144  	LoadControlLimitConstraintsData []LoadControlLimitConstraintsDataType `json:"loadControlLimitConstraintsData,omitempty"`
   145  }
   146  
   147  type LoadControlLimitConstraintsListDataSelectorsType struct {
   148  	LimitId *LoadControlLimitIdType `json:"limitId,omitempty"`
   149  }
   150  
   151  type LoadControlLimitDescriptionDataType struct {
   152  	LimitId        *LoadControlLimitIdType   `json:"limitId,omitempty" eebus:"key"`
   153  	LimitType      *LoadControlLimitTypeType `json:"limitType,omitempty"`
   154  	LimitCategory  *LoadControlCategoryType  `json:"limitCategory,omitempty"`
   155  	LimitDirection *EnergyDirectionType      `json:"limitDirection,omitempty"`
   156  	MeasurementId  *MeasurementIdType        `json:"measurementId,omitempty"`
   157  	Unit           *UnitOfMeasurementType    `json:"unit,omitempty"`
   158  	ScopeType      *ScopeTypeType            `json:"scopeType,omitempty"`
   159  	Label          *LabelType                `json:"label,omitempty"`
   160  	Description    *DescriptionType          `json:"description,omitempty"`
   161  }
   162  
   163  type LoadControlLimitDescriptionDataElementsType struct {
   164  	LimitId        *ElementTagType `json:"limitId,omitempty"`
   165  	LimitType      *ElementTagType `json:"limitType,omitempty"`
   166  	LimitCategory  *ElementTagType `json:"limitCategory,omitempty"`
   167  	LimitDirection *ElementTagType `json:"limitDirection,omitempty"`
   168  	MeasurementId  *ElementTagType `json:"measurementId,omitempty"`
   169  	Unit           *ElementTagType `json:"unit,omitempty"`
   170  	ScopeType      *ElementTagType `json:"scopeType,omitempty"`
   171  	Label          *ElementTagType `json:"label,omitempty"`
   172  	Description    *ElementTagType `json:"description,omitempty"`
   173  }
   174  
   175  type LoadControlLimitDescriptionListDataType struct {
   176  	LoadControlLimitDescriptionData []LoadControlLimitDescriptionDataType `json:"loadControlLimitDescriptionData,omitempty"`
   177  }
   178  
   179  type LoadControlLimitDescriptionListDataSelectorsType struct {
   180  	LimitId        *LoadControlLimitIdType   `json:"limitId,omitempty"`
   181  	LimitType      *LoadControlLimitTypeType `json:"limitType,omitempty"`
   182  	LimitDirection *EnergyDirectionType      `json:"limitDirection,omitempty"`
   183  	MeasurementId  *MeasurementIdType        `json:"measurementId,omitempty"`
   184  	ScopeType      *ScopeTypeType            `json:"scopeType,omitempty"`
   185  }