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 }