diff --git a/integration_tests/testdata/nm_destinationListData_send_reply_expected.json b/integration_tests/testdata/nm_destinationListData_send_reply_expected.json index 844ed77a..f5c89a46 100644 --- a/integration_tests/testdata/nm_destinationListData_send_reply_expected.json +++ b/integration_tests/testdata/nm_destinationListData_send_reply_expected.json @@ -1,7 +1,7 @@ { "datagram": { "header": { - "specificationVersion": "1.1.1", + "specificationVersion": "1.3.0", "addressSource": { "device": "TestDeviceAddress", "entity": [ diff --git a/integration_tests/testdata/nm_detaileddiscoverydata_send_read_expected.json b/integration_tests/testdata/nm_detaileddiscoverydata_send_read_expected.json index 3f6ead35..02d814c7 100644 --- a/integration_tests/testdata/nm_detaileddiscoverydata_send_read_expected.json +++ b/integration_tests/testdata/nm_detaileddiscoverydata_send_read_expected.json @@ -1,7 +1,7 @@ { "datagram": { "header": { - "specificationVersion": "1.1.1", + "specificationVersion": "1.3.0", "addressSource": { "device": "TestDeviceAddress", "entity": [ diff --git a/integration_tests/testdata/nm_detaileddiscoverydata_send_reply_expected.json b/integration_tests/testdata/nm_detaileddiscoverydata_send_reply_expected.json index e9cf487d..bc363225 100644 --- a/integration_tests/testdata/nm_detaileddiscoverydata_send_reply_expected.json +++ b/integration_tests/testdata/nm_detaileddiscoverydata_send_reply_expected.json @@ -1,7 +1,7 @@ { "datagram": { "header": { - "specificationVersion": "1.1.1", + "specificationVersion": "1.3.0", "addressSource": { "device": "TestDeviceAddress", "entity": [ @@ -26,7 +26,7 @@ "nodeManagementDetailedDiscoveryData": { "specificationVersionList": { "specificationVersion": [ - "1.1.1" + "1.3.0" ] }, "deviceInformation": { diff --git a/integration_tests/testdata/nm_detaileddiscoverydata_send_result_expected.json b/integration_tests/testdata/nm_detaileddiscoverydata_send_result_expected.json index ef0b16d0..33848398 100644 --- a/integration_tests/testdata/nm_detaileddiscoverydata_send_result_expected.json +++ b/integration_tests/testdata/nm_detaileddiscoverydata_send_result_expected.json @@ -1,7 +1,7 @@ { "datagram": { "header": { - "specificationVersion": "1.1.1", + "specificationVersion": "1.3.0", "addressSource": { "device": "TestDeviceAddress", "entity": [ diff --git a/integration_tests/testdata/nm_subscriptionRequestCall_send_result_expected.json b/integration_tests/testdata/nm_subscriptionRequestCall_send_result_expected.json index ac1290bb..9c369b67 100644 --- a/integration_tests/testdata/nm_subscriptionRequestCall_send_result_expected.json +++ b/integration_tests/testdata/nm_subscriptionRequestCall_send_result_expected.json @@ -1,7 +1,7 @@ { "datagram": { "header": { - "specificationVersion": "1.1.1", + "specificationVersion": "1.3.0", "addressSource": { "device": "TestDeviceAddress", "entity": [ diff --git a/spine/const.go b/spine/const.go index 81209919..792d3bc9 100644 --- a/spine/const.go +++ b/spine/const.go @@ -2,4 +2,4 @@ package spine import "github.com/enbility/eebus-go/spine/model" -var SpecificationVersion model.SpecificationVersionType = "1.1.1" +var SpecificationVersion model.SpecificationVersionType = "1.3.0" diff --git a/spine/function_data_cmd.go b/spine/function_data_cmd.go index d0ac25ba..afc4c84d 100644 --- a/spine/function_data_cmd.go +++ b/spine/function_data_cmd.go @@ -135,6 +135,8 @@ func addSelectorToFilter[T any](filter model.FilterType, function model.Function result.ElectricalConnectionPermittedValueSetListDataSelectors = castData[model.ElectricalConnectionPermittedValueSetListDataSelectorsType](data) case model.FunctionTypeElectricalConnectionStateListData: result.ElectricalConnectionStateListDataSelectors = castData[model.ElectricalConnectionStateListDataSelectorsType](data) + case model.FunctionTypeElectricalConnectionCharacteristicListData: + result.ElectricalConnectionCharacteristicListDataSelectors = castData[model.ElectricalConnectionCharacteristicListDataSelectorsType](data) case model.FunctionTypeHvacOperationModeDescriptionListData: result.HvacOperationModeDescriptionListDataSelectors = castData[model.HvacOperationModeDescriptionListDataSelectorsType](data) case model.FunctionTypeHvacOverrunDescriptionListData: @@ -179,6 +181,8 @@ func addSelectorToFilter[T any](filter model.FilterType, function model.Function result.MeasurementDescriptionListDataSelectors = castData[model.MeasurementDescriptionListDataSelectorsType](data) case model.FunctionTypeMeasurementListData: result.MeasurementListDataSelectors = castData[model.MeasurementListDataSelectorsType](data) + case model.FunctionTypeMeasurementSeriesListData: + result.MeasurementSeriesListDataSelectors = castData[model.MeasurementSeriesListDataSelectorsType](data) case model.FunctionTypeMeasurementThresholdRelationListData: result.MeasurementThresholdRelationListDataSelectors = castData[model.MeasurementThresholdRelationListDataSelectorsType](data) case model.FunctionTypeMessagingListData: @@ -233,6 +237,10 @@ func addSelectorToFilter[T any](filter model.FilterType, function model.Function result.PowerTimeSlotValueListDataSelectors = castData[model.PowerTimeSlotValueListDataSelectorsType](data) case model.FunctionTypeSensingListData: result.SensingListDataSelectors = castData[model.SensingListDataSelectorsType](data) + case model.FunctionTypeSessionIdentificationListData: + result.SessionIdentificationListDataSelectors = castData[model.SessionIdentificationListDataSelectorsType](data) + case model.FunctionTypeSessionMeasurementRelationListData: + result.SessionMeasurementRelationListDataSelectors = castData[model.SessionMeasurementRelationListDataSelectorsType](data) case model.FunctionTypeSetpointConstraintsListData: result.SetpointConstraintsListDataSelectors = castData[model.SetpointConstraintsListDataSelectorsType](data) case model.FunctionTypeSetpointDescriptionListData: @@ -245,6 +253,8 @@ func addSelectorToFilter[T any](filter model.FilterType, function model.Function result.SmartEnergyManagementPsPriceDataSelectors = castData[model.SmartEnergyManagementPsPriceDataSelectorsType](data) case model.FunctionTypeSpecificationVersionListData: result.SpecificationVersionListDataSelectors = castData[model.SpecificationVersionListDataSelectorsType](data) + case model.FunctionTypeStateInformationListData: + result.StateInformationListDataSelectors = castData[model.StateInformationListDataSelectorsType](data) case model.FunctionTypeSupplyConditionListData: result.SupplyConditionListDataSelectors = castData[model.SupplyConditionListDataSelectorsType](data) case model.FunctionTypeSupplyConditionThresholdRelationListData: @@ -356,6 +366,8 @@ func addElementToFilter[T any](filter model.FilterType, function model.FunctionT result.ElectricalConnectionPermittedValueSetDataElements = castData[model.ElectricalConnectionPermittedValueSetDataElementsType](data) case model.FunctionTypeElectricalConnectionStateListData: result.ElectricalConnectionStateDataElements = castData[model.ElectricalConnectionStateDataElementsType](data) + case model.FunctionTypeElectricalConnectionCharacteristicListData: + result.ElectricalConnectionCharacteristicDataElements = castData[model.ElectricalConnectionCharacteristicDataElementsType](data) case model.FunctionTypeHvacOperationModeDescriptionListData: result.HvacOperationModeDescriptionDataElements = castData[model.HvacOperationModeDescriptionDataElementsType](data) case model.FunctionTypeHvacOverrunDescriptionListData: @@ -402,6 +414,8 @@ func addElementToFilter[T any](filter model.FilterType, function model.FunctionT result.MeasurementDescriptionDataElements = castData[model.MeasurementDescriptionDataElementsType](data) case model.FunctionTypeMeasurementListData: result.MeasurementDataElements = castData[model.MeasurementDataElementsType](data) + case model.FunctionTypeMeasurementSeriesListData: + result.MeasurementSeriesDataElements = castData[model.MeasurementSeriesDataElementsType](data) case model.FunctionTypeMeasurementThresholdRelationListData: result.MeasurementThresholdRelationDataElements = castData[model.MeasurementThresholdRelationDataElementsType](data) case model.FunctionTypeMessagingListData: @@ -488,6 +502,10 @@ func addElementToFilter[T any](filter model.FilterType, function model.FunctionT result.PowerTimeSlotValueDataElements = castData[model.PowerTimeSlotValueDataElementsType](data) case model.FunctionTypeSensingListData: result.SensingDataElements = castData[model.SensingDataElementsType](data) + case model.FunctionTypeSessionIdentificationListData: + result.SessionIdentificationDataElements = castData[model.SessionIdentificationDataElementsType](data) + case model.FunctionTypeSessionMeasurementRelationListData: + result.SessionMeasurementRelationDataElements = castData[model.SessionMeasurementRelationDataElementsType](data) case model.FunctionTypeSetpointConstraintsListData: result.SetpointConstraintsDataElements = castData[model.SetpointConstraintsDataElementsType](data) case model.FunctionTypeSetpointDescriptionListData: @@ -504,6 +522,8 @@ func addElementToFilter[T any](filter model.FilterType, function model.FunctionT result.SmartEnergyManagementPsPriceDataElements = castData[model.SmartEnergyManagementPsPriceDataElementsType](data) case model.FunctionTypeSpecificationVersionListData: result.SpecificationVersionDataElements = castData[model.SpecificationVersionDataElementsType](data) + case model.FunctionTypeStateInformationListData: + result.StateInformationDataElements = castData[model.StateInformationDataElementsType](data) case model.FunctionTypeSubscriptionManagementDeleteCall: result.SubscriptionManagementDeleteCallElements = castData[model.SubscriptionManagementDeleteCallElementsType](data) case model.FunctionTypeSubscriptionManagementEntryListData: @@ -635,6 +655,8 @@ func createCmd[T any](function model.FunctionType, data *T) model.CmdType { result.ElectricalConnectionPermittedValueSetListData = castData[model.ElectricalConnectionPermittedValueSetListDataType](data) case model.FunctionTypeElectricalConnectionStateListData: result.ElectricalConnectionStateListData = castData[model.ElectricalConnectionStateListDataType](data) + case model.FunctionTypeElectricalConnectionCharacteristicListData: + result.ElectricalConnectionCharacteristicListData = castData[model.ElectricalConnectionCharacteristicListDataType](data) case model.FunctionTypeHvacOperationModeDescriptionListData: result.HvacOperationModeDescriptionListData = castData[model.HvacOperationModeDescriptionListDataType](data) case model.FunctionTypeHvacOverrunDescriptionListData: @@ -681,6 +703,8 @@ func createCmd[T any](function model.FunctionType, data *T) model.CmdType { result.MeasurementDescriptionListData = castData[model.MeasurementDescriptionListDataType](data) case model.FunctionTypeMeasurementListData: result.MeasurementListData = castData[model.MeasurementListDataType](data) + case model.FunctionTypeMeasurementSeriesListData: + result.MeasurementSeriesListData = castData[model.MeasurementSeriesListDataType](data) case model.FunctionTypeMeasurementThresholdRelationListData: result.MeasurementThresholdRelationListData = castData[model.MeasurementThresholdRelationListDataType](data) case model.FunctionTypeMessagingListData: @@ -753,6 +777,10 @@ func createCmd[T any](function model.FunctionType, data *T) model.CmdType { result.SensingDescriptionData = castData[model.SensingDescriptionDataType](data) case model.FunctionTypeSensingListData: result.SensingListData = castData[model.SensingListDataType](data) + case model.FunctionTypeSessionIdentificationListData: + result.SessionIdentificationListData = castData[model.SessionIdentificationListDataType](data) + case model.FunctionTypeSessionMeasurementRelationListData: + result.SessionMeasurementRelationListData = castData[model.SessionMeasurementRelationListDataType](data) case model.FunctionTypeSetpointConstraintsListData: result.SetpointConstraintsListData = castData[model.SetpointConstraintsListDataType](data) case model.FunctionTypeSetpointDescriptionListData: @@ -769,6 +797,8 @@ func createCmd[T any](function model.FunctionType, data *T) model.CmdType { result.SmartEnergyManagementPsPriceData = castData[model.SmartEnergyManagementPsPriceDataType](data) case model.FunctionTypeSpecificationVersionListData: result.SpecificationVersionListData = castData[model.SpecificationVersionListDataType](data) + case model.FunctionTypeStateInformationListData: + result.StateInformationListData = castData[model.StateInformationListDataType](data) case model.FunctionTypeSupplyConditionListData: result.SupplyConditionListData = castData[model.SupplyConditionListDataType](data) case model.FunctionTypeSupplyConditionThresholdRelationListData: diff --git a/spine/model/bill.go b/spine/model/bill.go index a0589fbf..1d876d41 100644 --- a/spine/model/bill.go +++ b/spine/model/bill.go @@ -137,6 +137,7 @@ type BillDescriptionDataType struct { BillWriteable *bool `json:"billWriteable,omitempty"` UpdateRequired *bool `json:"updateRequired,omitempty"` SupportedBillType []BillTypeType `json:"supportedBillType,omitempty"` + SessionId *SessionIdType `json:"sessionId,omitempty"` } type BillDescriptionDataElementsType struct { @@ -144,6 +145,7 @@ type BillDescriptionDataElementsType struct { BillWriteable *ElementTagType `json:"billWriteable,omitempty"` UpdateRequired *ElementTagType `json:"updateRequired,omitempty"` SupportedBillType *ElementTagType `json:"supportedBillType,omitempty"` + SessionId *ElementTagType `json:"sessionId,omitempty"` } type BillDescriptionListDataType struct { diff --git a/spine/model/commandframe.go b/spine/model/commandframe.go index fb9c63a2..537e2075 100644 --- a/spine/model/commandframe.go +++ b/spine/model/commandframe.go @@ -34,6 +34,7 @@ type FilterType struct { ElectricalConnectionParameterDescriptionListDataSelectors *ElectricalConnectionParameterDescriptionListDataSelectorsType `json:"electricalConnectionParameterDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:electricalConnectionParameterDescriptionListData"` ElectricalConnectionPermittedValueSetListDataSelectors *ElectricalConnectionPermittedValueSetListDataSelectorsType `json:"electricalConnectionPermittedValueSetListDataSelectors,omitempty" eebus:"typ:selector,fct:electricalConnectionPermittedValueSetListData"` ElectricalConnectionStateListDataSelectors *ElectricalConnectionStateListDataSelectorsType `json:"electricalConnectionStateListDataSelectors,omitempty" eebus:"typ:selector,fct:electricalConnectionStateListData"` + ElectricalConnectionCharacteristicListDataSelectors *ElectricalConnectionCharacteristicListDataSelectorsType `json:"electricalConnectionCharacteristicListDataSelectors,omitempty" eebus:"typ:selector,fct:electricalConnectionCharacteristicListData"` HvacOperationModeDescriptionListDataSelectors *HvacOperationModeDescriptionListDataSelectorsType `json:"hvacOperationModeDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:hvacOperationModeDescriptionListData"` HvacOverrunDescriptionListDataSelectors *HvacOverrunDescriptionListDataSelectorsType `json:"hvacOverrunDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:hvacOverrunDescriptionListData"` HvacOverrunListDataSelectors *HvacOverrunListDataSelectorsType `json:"hvacOverrunListDataSelectors,omitempty" eebus:"typ:selector,fct:hvacOverrunListData"` @@ -56,6 +57,7 @@ type FilterType struct { MeasurementConstraintsListDataSelectors *MeasurementConstraintsListDataSelectorsType `json:"measurementConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:measurementConstraintsListData"` MeasurementDescriptionListDataSelectors *MeasurementDescriptionListDataSelectorsType `json:"measurementDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:measurementDescriptionListData"` MeasurementListDataSelectors *MeasurementListDataSelectorsType `json:"measurementListDataSelectors,omitempty" eebus:"typ:selector,fct:measurementListData"` + MeasurementSeriesListDataSelectors *MeasurementSeriesListDataSelectorsType `json:"measurementSeriesListDataSelectors,omitempty" eebus:"measurementSeriesListData"` MeasurementThresholdRelationListDataSelectors *MeasurementThresholdRelationListDataSelectorsType `json:"measurementThresholdRelationListDataSelectors,omitempty" eebus:"typ:selector,fct:measurementThresholdRelationListData"` MessagingListDataSelectors *MessagingListDataSelectorsType `json:"messagingListDataSelectors,omitempty" eebus:"typ:selector,fct:messagingListData"` NetworkManagementDeviceDescriptionListDataSelectors *NetworkManagementDeviceDescriptionListDataSelectorsType `json:"networkManagementDeviceDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:networkManagementDeviceDescriptionListData"` @@ -83,12 +85,15 @@ type FilterType struct { PowerTimeSlotScheduleListDataSelectors *PowerTimeSlotScheduleListDataSelectorsType `json:"powerTimeSlotScheduleListDataSelectors,omitempty" eebus:"typ:selector,fct:powerTimeSlotScheduleListData"` PowerTimeSlotValueListDataSelectors *PowerTimeSlotValueListDataSelectorsType `json:"powerTimeSlotValueListDataSelectors,omitempty" eebus:"typ:selector,fct:powerTimeSlotValueListData"` SensingListDataSelectors *SensingListDataSelectorsType `json:"sensingListDataSelectors,omitempty" eebus:"typ:selector,fct:sensingListData"` + SessionIdentificationListDataSelectors *SessionIdentificationListDataSelectorsType `json:"sessionIdentificationListDataSelectors,omitempty" eebus:"typ:selector,fct:sessionIdentificationListData"` + SessionMeasurementRelationListDataSelectors *SessionMeasurementRelationListDataSelectorsType `json:"sessionMeasurementRelationListDataSelectors,omitempty" eebus:"typ:selector,fct:sessionMeasurementRelationListData"` SetpointConstraintsListDataSelectors *SetpointConstraintsListDataSelectorsType `json:"setpointConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:setpointConstraintsListData"` SetpointDescriptionListDataSelectors *SetpointDescriptionListDataSelectorsType `json:"setpointDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:setpointDescriptionListData"` SetpointListDataSelectors *SetpointListDataSelectorsType `json:"setpointListDataSelectors,omitempty" eebus:"typ:selector,fct:setpointListData"` SmartEnergyManagementPsDataSelectors *SmartEnergyManagementPsDataSelectorsType `json:"smartEnergyManagementPsDataSelectors,omitempty" eebus:"typ:selector,fct:smartEnergyManagementPsData"` SmartEnergyManagementPsPriceDataSelectors *SmartEnergyManagementPsPriceDataSelectorsType `json:"smartEnergyManagementPsPriceDataSelectors,omitempty" eebus:"typ:selector,fct:smartEnergyManagementPsPriceData"` SpecificationVersionListDataSelectors *SpecificationVersionListDataSelectorsType `json:"specificationVersionListDataSelectors,omitempty" eebus:"typ:selector,fct:specificationVersionListData"` + StateInformationListDataSelectors *StateInformationListDataSelectorsType `json:"stateInformationListDataSelectors,omitempty" eebus:"typ:selector,fct:stateInformationListData"` SubscriptionManagementEntryListDataSelectors *SubscriptionManagementEntryListDataSelectorsType `json:"subscriptionManagementEntryListDataSelectors,omitempty" eebus:"typ:selector,fct:subscriptionManagementEntryListData"` SupplyConditionDescriptionListDataSelectors *SupplyConditionDescriptionListDataSelectorsType `json:"supplyConditionDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:supplyConditionDescriptionListData"` SupplyConditionListDataSelectors *SupplyConditionListDataSelectorsType `json:"supplyConditionListDataSelectors,omitempty" eebus:"typ:selector,fct:supplyConditionListData"` @@ -144,6 +149,7 @@ type FilterType struct { ElectricalConnectionParameterDescriptionDataElements *ElectricalConnectionParameterDescriptionDataElementsType `json:"electricalConnectionParameterDescriptionDataElements,omitempty" eebus:"typ:elements,fct:electricalConnectionParameterDescriptionListData"` ElectricalConnectionPermittedValueSetDataElements *ElectricalConnectionPermittedValueSetDataElementsType `json:"electricalConnectionPermittedValueSetDataElements,omitempty" eebus:"typ:elements,fct:electricalConnectionPermittedValueSetListData"` ElectricalConnectionStateDataElements *ElectricalConnectionStateDataElementsType `json:"electricalConnectionStateDataElements,omitempty" eebus:"typ:elements,fct:electricalConnectionStateListData"` + ElectricalConnectionCharacteristicDataElements *ElectricalConnectionCharacteristicDataElementsType `json:"electricalConnectionCharacteristicDataElements,omitempty" eebus:"typ:elements,fct:electricalConnectionCharacteristicListData"` HvacOperationModeDescriptionDataElements *HvacOperationModeDescriptionDataElementsType `json:"hvacOperationModeDescriptionDataElements,omitempty" eebus:"typ:elements,fct:hvacOperationModeDescriptionListData"` HvacOverrunDataElements *HvacOverrunDataElementsType `json:"hvacOverrunDataElements,omitempty" eebus:"typ:elements,fct:hvacOverrunListData"` HvacOverrunDescriptionDataElements *HvacOverrunDescriptionDataElementsType `json:"hvacOverrunDescriptionDataElements,omitempty" eebus:"typ:elements,fct:hvacOverrunDescriptionListData"` @@ -167,6 +173,7 @@ type FilterType struct { MeasurementConstraintsDataElements *MeasurementConstraintsDataElementsType `json:"measurementConstraintsDataElements,omitempty" eebus:"typ:elements,fct:measurementConstraintsListData"` MeasurementDataElements *MeasurementDataElementsType `json:"measurementDataElements,omitempty" eebus:"typ:elements,fct:measurementListData"` MeasurementDescriptionDataElements *MeasurementDescriptionDataElementsType `json:"measurementDescriptionDataElements,omitempty" eebus:"typ:elements,fct:measurementDescriptionListData"` + MeasurementSeriesDataElements *MeasurementSeriesDataElementsType `json:"measurementSeriesDataElements,omitempty" eebus:"typ:elements,fct:measurementSeriesListData"` MeasurementThresholdRelationDataElements *MeasurementThresholdRelationDataElementsType `json:"measurementThresholdRelationDataElements,omitempty" eebus:"typ:elements,fct:measurementThresholdRelationListData"` MessagingDataElements *MessagingDataElementsType `json:"messagingDataElements,omitempty" eebus:"typ:elements,fct:messagingListData"` NetworkManagementAbortCallElements *NetworkManagementAbortCallElementsType `json:"networkManagementAbortCallElements,omitempty" eebus:"typ:elements,fct:networkManagementAbortCall"` @@ -211,6 +218,8 @@ type FilterType struct { PowerTimeSlotValueDataElements *PowerTimeSlotValueDataElementsType `json:"powerTimeSlotValueDataElements,omitempty" eebus:"typ:elements,fct:powerTimeSlotValueListData"` SensingDataElements *SensingDataElementsType `json:"sensingDataElements,omitempty" eebus:"typ:elements,fct:sensingListData"` SensingDescriptionDataElements *SensingDescriptionDataElementsType `json:"sensingDescriptionDataElements,omitempty" eebus:"typ:elements,fct:sensingDescriptionData"` + SessionIdentificationDataElements *SessionIdentificationDataElementsType `json:"sessionIdentificationDataElements,omitempty" eebus:"typ:elements,fct:sessionIdentificationData"` + SessionMeasurementRelationDataElements *SessionMeasurementRelationDataElementsType `json:"sessionMeasurementRelationDataElements,omitempty" eebus:"typ:elements,fct:sessionMeasurementRelationData"` SetpointConstraintsDataElements *SetpointConstraintsDataElementsType `json:"setpointConstraintsDataElements,omitempty" eebus:"typ:elements,fct:setpointConstraintsListData"` SetpointDataElements *SetpointDataElementsType `json:"setpointDataElements,omitempty" eebus:"typ:elements,fct:setpointListData"` SetpointDescriptionDataElements *SetpointDescriptionDataElementsType `json:"setpointDescriptionDataElements,omitempty" eebus:"typ:elements,fct:"` @@ -219,6 +228,7 @@ type FilterType struct { SmartEnergyManagementPsPriceCalculationRequestCallElements *SmartEnergyManagementPsPriceCalculationRequestCallElementsType `json:"smartEnergyManagementPsPriceCalculationRequestCallElements,omitempty" eebus:"typ:elements,fct:smartEnergyManagementPsPriceCalculationRequestCall"` SmartEnergyManagementPsPriceDataElements *SmartEnergyManagementPsPriceDataElementsType `json:"smartEnergyManagementPsPriceDataElements,omitempty" eebus:"typ:elements,fct:smartEnergyManagementPsPriceData"` SpecificationVersionDataElements *SpecificationVersionDataElementsType `json:"specificationVersionDataElements,omitempty" eebus:"typ:elements,fct:specificationVersionListData"` + StateInformationDataElements *StateInformationDataElementsType `json:"stateInformationDataElements,omitempty" eebus:"typ:elements,fct:stateInformationListData"` SubscriptionManagementDeleteCallElements *SubscriptionManagementDeleteCallElementsType `json:"subscriptionManagementDeleteCallElements,omitempty" eebus:"typ:elements,fct:subscriptionManagementDeleteCall"` SubscriptionManagementEntryDataElements *SubscriptionManagementEntryDataElementsType `json:"subscriptionManagementEntryDataElements,omitempty" eebus:"typ:elements,fct:subscriptionManagementEntryListData"` SubscriptionManagementRequestCallElements *SubscriptionManagementRequestCallElementsType `json:"subscriptionManagementRequestCallElements,omitempty" eebus:"typ:elements,fct:subscriptionManagementRequestCall"` @@ -293,6 +303,8 @@ type CmdType struct { ElectricalConnectionParameterDescriptionListData *ElectricalConnectionParameterDescriptionListDataType `json:"electricalConnectionParameterDescriptionListData,omitempty" eebus:"fct:electricalConnectionParameterDescriptionListData"` ElectricalConnectionPermittedValueSetListData *ElectricalConnectionPermittedValueSetListDataType `json:"electricalConnectionPermittedValueSetListData,omitempty" eebus:"fct:electricalConnectionPermittedValueSetListData"` ElectricalConnectionStateListData *ElectricalConnectionStateListDataType `json:"electricalConnectionStateListData,omitempty" eebus:"fct:electricalConnectionStateListData"` + ElectricalConnectionCharacteristicData *ElectricalConnectionCharacteristicDataType `json:"electricalConnectionCharacteristicData,omitempty" eebus:"fct:electricalConnectionCharacteristicData"` + ElectricalConnectionCharacteristicListData *ElectricalConnectionCharacteristicListDataType `json:"electricalConnectionCharacteristicListData,omitempty" eebus:"fct:electricalConnectionCharacteristicListData"` HvacOperationModeDescriptionListData *HvacOperationModeDescriptionListDataType `json:"hvacOperationModeDescriptionListData,omitempty" eebus:"fct:hvacOperationModeDescriptionListData"` HvacOverrunDescriptionListData *HvacOverrunDescriptionListDataType `json:"hvacOverrunDescriptionListData,omitempty" eebus:"fct:hvacOverrunDescriptionListData"` HvacOverrunListData *HvacOverrunListDataType `json:"hvacOverrunListData,omitempty" eebus:"fct:hvacOverrunListData"` @@ -316,6 +328,7 @@ type CmdType struct { MeasurementConstraintsListData *MeasurementConstraintsListDataType `json:"measurementConstraintsListData,omitempty" eebus:"fct:measurementConstraintsListData"` MeasurementDescriptionListData *MeasurementDescriptionListDataType `json:"measurementDescriptionListData,omitempty" eebus:"fct:measurementDescriptionListData"` MeasurementListData *MeasurementListDataType `json:"measurementListData,omitempty" eebus:"fct:measurementListData"` + MeasurementSeriesListData *MeasurementSeriesListDataType `json:"measurementSeriesListData,omitempty" eebus:"fct:measurementSeriesListData"` MeasurementThresholdRelationListData *MeasurementThresholdRelationListDataType `json:"measurementThresholdRelationListData,omitempty" eebus:"fct:measurementThresholdRelationListData"` MessagingListData *MessagingListDataType `json:"messagingListData,omitempty" eebus:"fct:messagingListData"` NetworkManagementAbortCall *NetworkManagementAbortCallType `json:"networkManagementAbortCall,omitempty" eebus:"fct:networkManagementAbortCall"` @@ -361,6 +374,8 @@ type CmdType struct { ResultData *ResultDataType `json:"resultData,omitempty" eebus:"fct:resultData"` SensingDescriptionData *SensingDescriptionDataType `json:"sensingDescriptionData,omitempty" eebus:"fct:sensingDescriptionData"` SensingListData *SensingListDataType `json:"sensingListData,omitempty" eebus:"fct:sensingListData"` + SessionIdentificationListData *SessionIdentificationListDataType `json:"sessionIdentificationListData,omitempty" eebus:"fct:sessionIdentificationListData"` + SessionMeasurementRelationListData *SessionMeasurementRelationListDataType `json:"sessionMeasurementRelationListData,omitempty" eebus:"fct:sessionMeasurementRelationListData"` SetpointConstraintsListData *SetpointConstraintsListDataType `json:"setpointConstraintsListData,omitempty" eebus:"fct:setpointConstraintsListData"` SetpointDescriptionListData *SetpointDescriptionListDataType `json:"setpointDescriptionListData,omitempty" eebus:"fct:setpointDescriptionListData"` SetpointListData *SetpointListDataType `json:"setpointListData,omitempty" eebus:"fct:setpointListData"` @@ -369,6 +384,7 @@ type CmdType struct { SmartEnergyManagementPsPriceCalculationRequestCall *SmartEnergyManagementPsPriceCalculationRequestCallType `json:"smartEnergyManagementPsPriceCalculationRequestCall,omitempty" eebus:"fct:smartEnergyManagementPsPriceCalculationRequestCall"` SmartEnergyManagementPsPriceData *SmartEnergyManagementPsPriceDataType `json:"smartEnergyManagementPsPriceData,omitempty" eebus:"fct:smartEnergyManagementPsPriceData"` SpecificationVersionListData *SpecificationVersionListDataType `json:"specificationVersionListData,omitempty" eebus:"fct:specificationVersionListData"` + StateInformationListData *StateInformationListDataType `json:"stateInformationListData,omitempty" eebus:"fct:stateInformationListData"` SubscriptionManagementDeleteCall *SubscriptionManagementDeleteCallType `json:"subscriptionManagementDeleteCall,omitempty" eebus:"fct:subscriptionManagementDeleteCall"` SubscriptionManagementEntryListData *SubscriptionManagementEntryListDataType `json:"subscriptionManagementEntryListData,omitempty" eebus:"fct:subscriptionManagementEntryListData"` SubscriptionManagementRequestCall *SubscriptionManagementRequestCallType `json:"subscriptionManagementRequestCall,omitempty" eebus:"fct:subscriptionManagementRequestCall"` diff --git a/spine/model/commondatatypes.go b/spine/model/commondatatypes.go index b77f32aa..a7606ae8 100644 --- a/spine/model/commondatatypes.go +++ b/spine/model/commondatatypes.go @@ -525,51 +525,93 @@ type FeatureAddressElementsType struct { type ScopeTypeType string const ( - ScopeTypeTypeAC ScopeTypeType = "ac" - ScopeTypeTypeACCosPhiGrid ScopeTypeType = "acCosPhiGrid" - ScopeTypeTypeACCurrentA ScopeTypeType = "acCurrentA" - ScopeTypeTypeACCurrentB ScopeTypeType = "acCurrentB" - ScopeTypeTypeACCurrentC ScopeTypeType = "acCurrentC" - ScopeTypeTypeACFrequency ScopeTypeType = "acFrequency" - ScopeTypeTypeACFrequencyGrid ScopeTypeType = "acFrequencyGrid" - ScopeTypeTypeACPowerA ScopeTypeType = "acPowerA" - ScopeTypeTypeACPowerB ScopeTypeType = "acPowerB" - ScopeTypeTypeACPowerC ScopeTypeType = "acPowerC" - ScopeTypeTypeACPowerLimitPct ScopeTypeType = "acPowerLimitPct" - ScopeTypeTypeACPowerTotal ScopeTypeType = "acPowerTotal" - ScopeTypeTypeACVoltageA ScopeTypeType = "acVoltageA" - ScopeTypeTypeACVoltageB ScopeTypeType = "acVoltageB" - ScopeTypeTypeACVoltageC ScopeTypeType = "acVoltageC" - ScopeTypeTypeACYieldDay ScopeTypeType = "acYieldDay" - ScopeTypeTypeACYieldTotal ScopeTypeType = "acYieldTotal" - ScopeTypeTypeDCCurrent ScopeTypeType = "dcCurrent" - ScopeTypeTypeDCPower ScopeTypeType = "dcPower" - ScopeTypeTypeDCString1 ScopeTypeType = "dcString1" - ScopeTypeTypeDCString2 ScopeTypeType = "dcString2" - ScopeTypeTypeDCString3 ScopeTypeType = "dcString3" - ScopeTypeTypeDCString4 ScopeTypeType = "dcString4" - ScopeTypeTypeDCString5 ScopeTypeType = "dcString5" - ScopeTypeTypeDCString6 ScopeTypeType = "dcString6" - ScopeTypeTypeDCTotal ScopeTypeType = "dcTotal" - ScopeTypeTypeDCVoltage ScopeTypeType = "dcVoltage" - ScopeTypeTypeDhwTemperature ScopeTypeType = "dhwTemperature" - ScopeTypeTypeFlowTemperature ScopeTypeType = "flowTemperature" - ScopeTypeTypeOutsideAirTemperature ScopeTypeType = "outsideAirTemperature" - ScopeTypeTypeReturnTemperature ScopeTypeType = "returnTemperature" - ScopeTypeTypeRoomAirTemperature ScopeTypeType = "roomAirTemperature" - ScopeTypeTypeCharge ScopeTypeType = "charge" - ScopeTypeTypeStateOfCharge ScopeTypeType = "stateOfCharge" - ScopeTypeTypeDischarge ScopeTypeType = "discharge" - ScopeTypeTypeGridConsumption ScopeTypeType = "gridConsumption" - ScopeTypeTypeGridFeedIn ScopeTypeType = "gridFeedIn" - ScopeTypeTypeSelfConsumption ScopeTypeType = "selfConsumption" - ScopeTypeTypeOverloadProtection ScopeTypeType = "overloadProtection" - ScopeTypeTypeACPower ScopeTypeType = "acPower" - ScopeTypeTypeACEnergy ScopeTypeType = "acEnergy" - ScopeTypeTypeACCurrent ScopeTypeType = "acCurrent" - ScopeTypeTypeACVoltage ScopeTypeType = "acVoltage" - ScopeTypeTypeBatteryControl ScopeTypeType = "batteryControl" - ScopeTypeTypeSimpleIncentiveTable ScopeTypeType = "simpleIncentiveTable" + ScopeTypeTypeAC ScopeTypeType = "ac" + ScopeTypeTypeACCosPhiGrid ScopeTypeType = "acCosPhiGrid" + ScopeTypeTypeACCurrentA ScopeTypeType = "acCurrentA" + ScopeTypeTypeACCurrentB ScopeTypeType = "acCurrentB" + ScopeTypeTypeACCurrentC ScopeTypeType = "acCurrentC" + ScopeTypeTypeACFrequency ScopeTypeType = "acFrequency" + ScopeTypeTypeACFrequencyGrid ScopeTypeType = "acFrequencyGrid" + ScopeTypeTypeACPowerA ScopeTypeType = "acPowerA" + ScopeTypeTypeACPowerB ScopeTypeType = "acPowerB" + ScopeTypeTypeACPowerC ScopeTypeType = "acPowerC" + ScopeTypeTypeACPowerLimitPct ScopeTypeType = "acPowerLimitPct" + ScopeTypeTypeACPowerTotal ScopeTypeType = "acPowerTotal" + ScopeTypeTypeACVoltageA ScopeTypeType = "acVoltageA" + ScopeTypeTypeACVoltageB ScopeTypeType = "acVoltageB" + ScopeTypeTypeACVoltageC ScopeTypeType = "acVoltageC" + ScopeTypeTypeACYieldDay ScopeTypeType = "acYieldDay" + ScopeTypeTypeACYieldTotal ScopeTypeType = "acYieldTotal" + ScopeTypeTypeDCCurrent ScopeTypeType = "dcCurrent" + ScopeTypeTypeDCPower ScopeTypeType = "dcPower" + ScopeTypeTypeDCString1 ScopeTypeType = "dcString1" + ScopeTypeTypeDCString2 ScopeTypeType = "dcString2" + ScopeTypeTypeDCString3 ScopeTypeType = "dcString3" + ScopeTypeTypeDCString4 ScopeTypeType = "dcString4" + ScopeTypeTypeDCString5 ScopeTypeType = "dcString5" + ScopeTypeTypeDCString6 ScopeTypeType = "dcString6" + ScopeTypeTypeDCTotal ScopeTypeType = "dcTotal" + ScopeTypeTypeDCVoltage ScopeTypeType = "dcVoltage" + ScopeTypeTypeDhwTemperature ScopeTypeType = "dhwTemperature" + ScopeTypeTypeFlowTemperature ScopeTypeType = "flowTemperature" + ScopeTypeTypeOutsideAirTemperature ScopeTypeType = "outsideAirTemperature" + ScopeTypeTypeReturnTemperature ScopeTypeType = "returnTemperature" + ScopeTypeTypeRoomAirTemperature ScopeTypeType = "roomAirTemperature" + ScopeTypeTypeCharge ScopeTypeType = "charge" + ScopeTypeTypeStateOfCharge ScopeTypeType = "stateOfCharge" + ScopeTypeTypeDischarge ScopeTypeType = "discharge" + ScopeTypeTypeGridConsumption ScopeTypeType = "gridConsumption" + ScopeTypeTypeGridFeedIn ScopeTypeType = "gridFeedIn" + ScopeTypeTypeSelfConsumption ScopeTypeType = "selfConsumption" + ScopeTypeTypeOverloadProtection ScopeTypeType = "overloadProtection" + ScopeTypeTypeACPower ScopeTypeType = "acPower" + ScopeTypeTypeACEnergy ScopeTypeType = "acEnergy" + ScopeTypeTypeACCurrent ScopeTypeType = "acCurrent" + ScopeTypeTypeACVoltage ScopeTypeType = "acVoltage" + ScopeTypeTypeBatteryControl ScopeTypeType = "batteryControl" + ScopeTypeTypeSimpleIncentiveTable ScopeTypeType = "simpleIncentiveTable" + ScopeTypeTypeStateOfHealth ScopeTypeType = "stateOfHealth" + ScopeTypeTypeTravelRange ScopeTypeType = "travelRange" + ScopeTypeTypeNominalEnergyCapacity ScopeTypeType = "nominalEnergyCapacity" + ScopeTypeTypeAcPowerReal ScopeTypeType = "acPowerReal" + ScopeTypeTypeAcPowerApparent ScopeTypeType = "acPowerApparent" + ScopeTypeTypeAcPowerReactive ScopeTypeType = "acPowerReactive" + ScopeTypeTypeAcYieldMonth ScopeTypeType = "acYieldMonth" + ScopeTypeTypeAcYieldYear ScopeTypeType = "acYieldYear" + ScopeTypeTypeAcFrequency ScopeTypeType = "acFrequency" + ScopeTypeTypeAcCosPhi ScopeTypeType = "acCosPhi" + ScopeTypeTypeDcEnergy ScopeTypeType = "dcEnergy" + ScopeTypeTypeInsulationResistance ScopeTypeType = "insulationResistance" + ScopeTypeTypeStateOfEnergy ScopeTypeType = "stateOfEnergy" + ScopeTypeTypeUseableCapacity ScopeTypeType = "useableCapacity" + ScopeTypeTypeDcChargeEnergy ScopeTypeType = "dcChargeEnergy" + ScopeTypeTypeDcDischargeEnergy ScopeTypeType = "dcDischargeEnergy" + ScopeTypeTypeLoadCycleCount ScopeTypeType = "loadCycleCount" + ScopeTypeTypeComponentTemperature ScopeTypeType = "componentTemperature" + ScopeTypeTypeGridLimit ScopeTypeType = "gridLimit" + ScopeTypeTypeGridLimitFallback ScopeTypeType = "gridLimitFallback" + ScopeTypeTypeAcPowerApparentTotal ScopeTypeType = "acPowerApparentTotal" + ScopeTypeTypeAcPowerReactiveTotal ScopeTypeType = "acPowerReactiveTotal" + ScopeTypeTypeAcCurrentTotal ScopeTypeType = "acCurrentTotal" + ScopeTypeTypeAcEnergyConsumed ScopeTypeType = "acEnergyConsumed" + ScopeTypeTypeAcEnergyProduced ScopeTypeType = "acEnergyProduced" + ScopeTypeTypeBatteryAcPower ScopeTypeType = "batteryAcPower" + ScopeTypeTypeBatteryAcPowerPhaseSpecific ScopeTypeType = "batteryAcPowerPhaseSpecific" + ScopeTypeTypeBatteryDcPower ScopeTypeType = "batteryDcPower" + ScopeTypeTypePccPower ScopeTypeType = "pccPower" + ScopeTypeTypeActivePowerLimit ScopeTypeType = "activePowerLimit" + ScopeTypeTypeActivePowerLimitPercentage ScopeTypeType = "activePowerLimitPercentage" + ScopeTypeTypeSimpleCommittedIncentiveTable ScopeTypeType = "simpleCommittedIncentiveTable" + ScopeTypeTypeSimplePreliminaryIncentiveTable ScopeTypeType = "simplePreliminaryIncentiveTable" + ScopeTypeTypeCommittedPowerPlan ScopeTypeType = "committedPowerPlan" + ScopeTypeTypePreliminaryPowerPlan ScopeTypeType = "preliminaryPowerPlan" + ScopeTypeTypeIncentiveTableEnConsWithPoETF ScopeTypeType = "incentiveTableEnConsWithPoETF" + ScopeTypeTypeIncentiveTableEnProdWithPoETF ScopeTypeType = "incentiveTableEnProdWithPoETF" + ScopeTypeTypeIncentiveTableEnConsWithPoE ScopeTypeType = "incentiveTableEnConsWithPoE" + ScopeTypeTypeIncentiveTableEnProdWithPoE ScopeTypeType = "incentiveTableEnProdWithPoE" + ScopeTypeTypeIncentiveTableEnConsWithTF ScopeTypeType = "incentiveTableEnConsWithTF" + ScopeTypeTypeIncentiveTableEnProdWithTF ScopeTypeType = "incentiveTableEnProdWithTF" + ScopeTypeTypeActivePowerForecast ScopeTypeType = "activePowerForecast" ) type RoleType string @@ -646,6 +688,12 @@ const ( EntityTypeTypeEVSE EntityTypeType = "EVSE" EntityTypeTypeChargingOutlet EntityTypeType = "ChargingOutlet" EntityTypeTypeCEM EntityTypeType = "CEM" + EntityTypeTypePV EntityTypeType = "PV" + EntityTypeTypePVESHybrid EntityTypeType = "PVESHybrid" + EntityTypeTypeElectricalStorage EntityTypeType = "ElectricalStorage" + EntityTypeTypePVString EntityTypeType = "PVString" + EntityTypeTypeGridGuard EntityTypeType = "GridGuard" + EntityTypeTypeControllableSystem EntityTypeType = "ControllableSystem" ) type FeatureTypeType string @@ -682,6 +730,7 @@ const ( FeatureTypeTypeIncentiveTable FeatureTypeType = "IncentiveTable" FeatureTypeTypeBill FeatureTypeType = "Bill" FeatureTypeTypeIdentification FeatureTypeType = "Identification" + FeatureTypeTypeStateInformation FeatureTypeType = "StateInformation" ) type FeatureSpecificUsageType string @@ -837,6 +886,8 @@ const ( FunctionTypeResultData FunctionType = "resultData" FunctionTypeSensingDescriptionData FunctionType = "sensingDescriptionData" FunctionTypeSensingListData FunctionType = "sensingListData" + FunctionTypeSessionIdentificationListData FunctionType = "sessionIdentificationListData" + FunctionTypeSessionMeasurementRelationListData FunctionType = "sessionMeasurementRelationListData" FunctionTypeSetpointConstraintsListData FunctionType = "setpointConstraintsListData" FunctionTypeSetpointDescriptionListData FunctionType = "setpointDescriptionListData" FunctionTypeSetpointListData FunctionType = "setpointListData" @@ -898,6 +949,9 @@ const ( FunctionTypeBillDescriptionListData FunctionType = "billDescriptionListData" FunctionTypeBillListData FunctionType = "billListData" FunctionTypeIdentificationListData FunctionType = "identificationListData" + FunctionTypeMeasurementSeriesListData FunctionType = "measurementSeriesListData" + FunctionTypeElectricalConnectionCharacteristicListData FunctionType = "electricalConnectionCharacteristicListData" + FunctionTypeStateInformationListData FunctionType = "stateInformationListData" ) type PossibleOperationsClassifierType struct { diff --git a/spine/model/deviceconfiguration.go b/spine/model/deviceconfiguration.go index a0f87144..967ea332 100644 --- a/spine/model/deviceconfiguration.go +++ b/spine/model/deviceconfiguration.go @@ -7,10 +7,43 @@ type DeviceConfigurationKeyValueStringType string type DeviceConfigurationKeyNameType string const ( - DeviceConfigurationKeyNameTypePeakPowerOfPVSystem DeviceConfigurationKeyNameType = "peakPowerOfPvSystem" - DeviceConfigurationKeyNameTypePvCurtailmentLimitFactor DeviceConfigurationKeyNameType = "pvCurtailmentLimitFactor" - DeviceConfigurationKeyNameTypeAsymmetricChargingSupported DeviceConfigurationKeyNameType = "asymmetricChargingSupported" - DeviceConfigurationKeyNameTypeCommunicationsStandard DeviceConfigurationKeyNameType = "communicationsStandard" + DeviceConfigurationKeyNameTypePeakPowerOfPVSystem DeviceConfigurationKeyNameType = "peakPowerOfPvSystem" + DeviceConfigurationKeyNameTypePvCurtailmentLimitFactor DeviceConfigurationKeyNameType = "pvCurtailmentLimitFactor" + DeviceConfigurationKeyNameTypeAsymmetricChargingSupported DeviceConfigurationKeyNameType = "asymmetricChargingSupported" + DeviceConfigurationKeyNameTypeCommunicationsStandard DeviceConfigurationKeyNameType = "communicationsStandard" + DeviceConfigurationKeyNameTypeInverterGridCode DeviceConfigurationKeyNameType = "inverterGridCode" + DeviceConfigurationKeyNameTypePvStringAvailabilityStatus DeviceConfigurationKeyNameType = "pvStringAvailabilityStatus" + DeviceConfigurationKeyNameTypeBatteryAvailabilityStatus DeviceConfigurationKeyNameType = "batteryAvailabilityStatus" + DeviceConfigurationKeyNameTypeGridConnectionStatus DeviceConfigurationKeyNameType = "gridConnectionStatus" + DeviceConfigurationKeyNameTypeTimeToAcChargePowerMax DeviceConfigurationKeyNameType = "timeToAcChargePowerMax" + DeviceConfigurationKeyNameTypeTimeToAcDischargePowerMax DeviceConfigurationKeyNameType = "timeToAcDischargePowerMax" + DeviceConfigurationKeyNameTypeTilt DeviceConfigurationKeyNameType = "tilt" + DeviceConfigurationKeyNameTypeAzimuth DeviceConfigurationKeyNameType = "azimuth" + DeviceConfigurationKeyNameTypeBatteryType DeviceConfigurationKeyNameType = "batteryType" + DeviceConfigurationKeyNameTypeMaxCycleCountPerDay DeviceConfigurationKeyNameType = "maxCycleCountPerDay" + DeviceConfigurationKeyNameTypeFailsafeConsumptionActivePowerLimit DeviceConfigurationKeyNameType = "failsafeConsumptionActivePowerLimit" + DeviceConfigurationKeyNameTypeFailsafeProductionActivePowerLimit DeviceConfigurationKeyNameType = "failsafeProductionActivePowerLimit" + DeviceConfigurationKeyNameTypeFailsafePositiveReactivePowerLimit DeviceConfigurationKeyNameType = "failsafePositiveReactivePowerLimit" + DeviceConfigurationKeyNameTypeFailsafeNegativeReactivePowerLimit DeviceConfigurationKeyNameType = "failsafeNegativeReactivePowerLimit" + DeviceConfigurationKeyNameTypeFailsafePositiveCosPhiLimit DeviceConfigurationKeyNameType = "failsafePositiveCosPhiLimit" + DeviceConfigurationKeyNameTypeFailsafeNegativeCosPhiLimit DeviceConfigurationKeyNameType = "failsafeNegativeCosPhiLimit" + DeviceConfigurationKeyNameTypeMaxAcChargePower DeviceConfigurationKeyNameType = "maxAcChargePower" + DeviceConfigurationKeyNameTypeMaxAcDischargePower DeviceConfigurationKeyNameType = "maxAcDischargePower" + DeviceConfigurationKeyNameTypeMaxDcChargePower DeviceConfigurationKeyNameType = "maxDcChargePower" + DeviceConfigurationKeyNameTypeMaxDcDischargePower DeviceConfigurationKeyNameType = "maxDcDischargePower" + DeviceConfigurationKeyNameTypeBatteryActiveControlMode DeviceConfigurationKeyNameType = "batteryActiveControlMode" + DeviceConfigurationKeyNameTypeDefaultAcPower DeviceConfigurationKeyNameType = "defaultAcPower" + DeviceConfigurationKeyNameTypeDefaultDcPower DeviceConfigurationKeyNameType = "defaultDcPower" + DeviceConfigurationKeyNameTypeDefaultPccPower DeviceConfigurationKeyNameType = "defaultPccPower" + DeviceConfigurationKeyNameTypeFailsafeAcPowerSetpoint DeviceConfigurationKeyNameType = "failsafeAcPowerSetpoint" + DeviceConfigurationKeyNameTypeFailsafeDcPowerSetpoint DeviceConfigurationKeyNameType = "failsafeDcPowerSetpoint" + DeviceConfigurationKeyNameTypeFailsafePccPowerSetpoint DeviceConfigurationKeyNameType = "failsafePccPowerSetpoint" + DeviceConfigurationKeyNameTypeFailsafeDurationMinimum DeviceConfigurationKeyNameType = "failsafeDurationMinimum" + DeviceConfigurationKeyNameTypeDischargingBelowTargetEnergyRequestPermitted DeviceConfigurationKeyNameType = "dischargingBelowTargetEnergyRequestPermitted" + DeviceConfigurationKeyNameTypeIncentivesSimulationCyclesMax DeviceConfigurationKeyNameType = "incentivesSimulationCyclesMax" + DeviceConfigurationKeyNameTypeIncentivesSimulationConcurrent DeviceConfigurationKeyNameType = "incentivesSimulationConcurrent" + DeviceConfigurationKeyNameTypeIncentivesTimeoutIncentiveRequest DeviceConfigurationKeyNameType = "incentivesTimeoutIncentiveRequest" + DeviceConfigurationKeyNameTypeIncentivesWaitIncentiveWriteable DeviceConfigurationKeyNameType = "incentivesWaitIncentiveWriteable" ) type DeviceConfigurationKeyValueTypeType string @@ -23,6 +56,7 @@ const ( DeviceConfigurationKeyValueTypeTypeString DeviceConfigurationKeyValueTypeType = "string" DeviceConfigurationKeyValueTypeTypeTime DeviceConfigurationKeyValueTypeType = "time" DeviceConfigurationKeyValueTypeTypeScaledNumber DeviceConfigurationKeyValueTypeType = "scaledNumber" + DeviceConfigurationKeyValueTypeTypeInteger DeviceConfigurationKeyValueTypeType = "integer" ) type DeviceConfigurationKeyValueValueType struct { @@ -33,6 +67,7 @@ type DeviceConfigurationKeyValueValueType struct { String *DeviceConfigurationKeyValueStringType `json:"string,omitempty"` Time *TimeType `json:"time,omitempty"` ScaledNumber *ScaledNumberType `json:"scaledNumber,omitempty"` + Integer *int64 `json:"integer,omitempty"` } type DeviceConfigurationKeyValueValueElementsType struct { diff --git a/spine/model/devicediagnosis.go b/spine/model/devicediagnosis.go index eb844fac..da5faba7 100644 --- a/spine/model/devicediagnosis.go +++ b/spine/model/devicediagnosis.go @@ -7,14 +7,16 @@ type LastErrorCodeType string type DeviceDiagnosisOperatingStateType string const ( - DeviceDiagnosisOperatingStateTypeNormalOperation DeviceDiagnosisOperatingStateType = "normalOperation" - DeviceDiagnosisOperatingStateTypeStandby DeviceDiagnosisOperatingStateType = "standby" - DeviceDiagnosisOperatingStateTypeFailure DeviceDiagnosisOperatingStateType = "failure" - DeviceDiagnosisOperatingStateTypeServiceNeeded DeviceDiagnosisOperatingStateType = "serviceNeeded" - DeviceDiagnosisOperatingStateTypeOverrideDetected DeviceDiagnosisOperatingStateType = "overrideDetected" - DeviceDiagnosisOperatingStateTypeInAlarm DeviceDiagnosisOperatingStateType = "inAlarm" - DeviceDiagnosisOperatingStateTypeNotReachable DeviceDiagnosisOperatingStateType = "notReachable" - DeviceDiagnosisOperatingStateTypeFinished DeviceDiagnosisOperatingStateType = "finished" + DeviceDiagnosisOperatingStateTypeNormalOperation DeviceDiagnosisOperatingStateType = "normalOperation" + DeviceDiagnosisOperatingStateTypeStandby DeviceDiagnosisOperatingStateType = "standby" + DeviceDiagnosisOperatingStateTypeFailure DeviceDiagnosisOperatingStateType = "failure" + DeviceDiagnosisOperatingStateTypeServiceNeeded DeviceDiagnosisOperatingStateType = "serviceNeeded" + DeviceDiagnosisOperatingStateTypeOverrideDetected DeviceDiagnosisOperatingStateType = "overrideDetected" + DeviceDiagnosisOperatingStateTypeInAlarm DeviceDiagnosisOperatingStateType = "inAlarm" + DeviceDiagnosisOperatingStateTypeNotReachable DeviceDiagnosisOperatingStateType = "notReachable" + DeviceDiagnosisOperatingStateTypeFinished DeviceDiagnosisOperatingStateType = "finished" + DeviceDiagnosisOperatingStateTypeTemporarilyNotReady DeviceDiagnosisOperatingStateType = "temporarilyNotReady" + DeviceDiagnosisOperatingStateTypeOff DeviceDiagnosisOperatingStateType = "off" ) type PowerSupplyConditionType string diff --git a/spine/model/electricalconnection.go b/spine/model/electricalconnection.go index a0bbbddb..95be03e9 100644 --- a/spine/model/electricalconnection.go +++ b/spine/model/electricalconnection.go @@ -4,6 +4,8 @@ type ElectricalConnectionIdType uint type ElectricalConnectionParameterIdType uint +type ElectricalConnectionCharaceteristicsIdType uint + type ElectricalConnectionMeasurandVariantType string const ( @@ -55,6 +57,36 @@ const ( ElectricalConnectionConnectionPointTypeOther ElectricalConnectionConnectionPointType = "other" ) +type ElectricalConnectionCharacteristicIdType uint + +type ElectricalConnectionCharacteristicContextType string + +const ( + ElectricalConnectionCharacteristicContextTypeDevice ElectricalConnectionCharacteristicContextType = "device" + ElectricalConnectionCharacteristicContextTypeEntity ElectricalConnectionCharacteristicContextType = "entity" + ElectricalConnectionCharacteristicContextTypeInverter ElectricalConnectionCharacteristicContextType = "inverter" + ElectricalConnectionCharacteristicContextTypePvString ElectricalConnectionCharacteristicContextType = "pvString" + ElectricalConnectionCharacteristicContextTypeBattery ElectricalConnectionCharacteristicContextType = "battery" +) + +type ElectricalConnectionCharacteristicTypeType string + +const ( + ElectricalConnectionCharacteristicTypeTypePowerConsumptionMin ElectricalConnectionCharacteristicTypeType = "powerConsumptionMin" + ElectricalConnectionCharacteristicTypeTypePowerConsumptionMax ElectricalConnectionCharacteristicTypeType = "powerConsumptionMax" + ElectricalConnectionCharacteristicTypeTypePowerConsumptionNominalMin ElectricalConnectionCharacteristicTypeType = "powerConsumptionNominalMin" + ElectricalConnectionCharacteristicTypeTypePowerConsumptionNominalMax ElectricalConnectionCharacteristicTypeType = "powerConsumptionNominalMax" + ElectricalConnectionCharacteristicTypeTypePowerProductionMin ElectricalConnectionCharacteristicTypeType = "powerProductionMin" + ElectricalConnectionCharacteristicTypeTypePowerProductionMax ElectricalConnectionCharacteristicTypeType = "powerProductionMax" + ElectricalConnectionCharacteristicTypeTypePowerProductionNominalMin ElectricalConnectionCharacteristicTypeType = "powerProductionNominalMin" + ElectricalConnectionCharacteristicTypeTypePowerProductionNominalMax ElectricalConnectionCharacteristicTypeType = "powerProductionNominalMax" + ElectricalConnectionCharacteristicTypeTypeEnergyCapacityNominalMax ElectricalConnectionCharacteristicTypeType = "energyCapacityNominalMax" + ElectricalConnectionCharacteristicTypeTypeContractualConsumptionNominalMax ElectricalConnectionCharacteristicTypeType = "contractualConsumptionNominalMax" + ElectricalConnectionCharacteristicTypeTypeContracutalProductionNominalMax ElectricalConnectionCharacteristicTypeType = "contractualProductionNominalMax" + ElectricalConnectionCharacteristicTypeTypeApparentPowerProductionNominalMax ElectricalConnectionCharacteristicTypeType = "apparentPowerProductionNominalMax" + ElectricalConnectionCharacteristicTypeTypeApparentPowerConsumptionNominalMax ElectricalConnectionCharacteristicTypeType = "apparentPowerConsumptionNominalMax" +) + type ElectricalConnectionParameterDescriptionDataType struct { ElectricalConnectionId *ElectricalConnectionIdType `json:"electricalConnectionId,omitempty" eebus:"key"` ParameterId *ElectricalConnectionParameterIdType `json:"parameterId,omitempty" eebus:"key"` @@ -175,3 +207,35 @@ type ElectricalConnectionDescriptionListDataSelectorsType struct { ElectricalConnectionId *ElectricalConnectionIdType `json:"electricalConnectionId,omitempty"` ScopeType *ScopeTypeType `json:"scopeType,omitempty"` } + +type ElectricalConnectionCharacteristicDataType struct { + ElectricalConnectionId *ElectricalConnectionIdType `json:"electricalConnectionId,omitempty" eebus:"key"` + ParameterId *ElectricalConnectionParameterIdType `json:"parameterId,omitempty" eebus:"key"` + CharacteristicId *ElectricalConnectionCharaceteristicsIdType `json:"characteristicId,omitempty" eebus:"key"` + CharacteristicContext *ElectricalConnectionCharacteristicContextType `json:"characteristicContext,omitempty"` + CharacteristicType *ElectricalConnectionCharacteristicTypeType `json:"characteristicType,omitempty"` + Value *ScaledNumberType `json:"value,omitempty"` + Unit *UnitOfMeasurementType `json:"unit,omitempty"` +} + +type ElectricalConnectionCharacteristicDataElementsType struct { + ElectricalConnectionId *ElementTagType `json:"electricalConnectionId,omitempty"` + ParameterId *ElementTagType `json:"parameterId,omitempty"` + CharacteristicId *ElementTagType `json:"characteristicId,omitempty"` + CharacteristicContext *ElementTagType `json:"characteristicContext,omitempty"` + CharacteristicType *ElementTagType `json:"characteristicType,omitempty"` + Value *ScaledNumberElementsType `json:"value,omitempty"` + Unit *ElementTagType `json:"unit,omitempty"` +} + +type ElectricalConnectionCharacteristicListDataType struct { + ElectricalConnectionCharacteristicListData []ElectricalConnectionCharacteristicDataType `json:"electricalConnectionCharacteristicListData,omitempty"` +} + +type ElectricalConnectionCharacteristicListDataSelectorsType struct { + ElectricalConnectionId *ElectricalConnectionIdType `json:"electricalConnectionId,omitempty"` + ParameterId *ElectricalConnectionParameterIdType `json:"parameterId,omitempty"` + CharacteristicId *ElectricalConnectionCharaceteristicsIdType `json:"characteristicId,omitempty"` + CharacteristicContext *ElectricalConnectionCharacteristicContextType `json:"characteristicContext,omitempty"` + CharacteristicType *ElectricalConnectionCharacteristicTypeType `json:"characteristicType,omitempty"` +} diff --git a/spine/model/identification.go b/spine/model/identification.go index f42e3dc5..6e843293 100644 --- a/spine/model/identification.go +++ b/spine/model/identification.go @@ -12,6 +12,8 @@ const ( type IdentificationValueType string +type SessionIdType uint + type IdentificationDataType struct { IdentificationId *IdentificationIdType `json:"identificationId,omitempty" eebus:"key"` IdentificationType *IdentificationTypeType `json:"identificationType,omitempty"` @@ -34,3 +36,47 @@ type IdentificationListDataSelectorsType struct { IdentificationId *IdentificationIdType `json:"identificationId,omitempty"` IdentificationType *IdentificationTypeType `json:"identificationType,omitempty"` } + +type SessionIdentificationDataType struct { + SessionId *SessionIdType `json:"sessionId,omitempty" eebus:"key"` + IdentificationId *IdentificationIdType `json:"identificationId,omitempty"` + IsLatestSession *bool `json:"isLatestSession,omitempty"` + TimePeriod *TimePeriodType `json:"timePeriod,omitempty"` +} + +type SessionIdentificationDataElementsType struct { + SessionId *ElementTagType `json:"sessionId,omitempty"` + IdentificationId *ElementTagType `json:"identificationId,omitempty"` + IsLatestSession *ElementTagType `json:"isLatestSession,omitempty"` + TimePeriod *TimePeriodElementsType `json:"timePeriod,omitempty"` +} + +type SessionIdentificationListDataType struct { + SessionIdentificationData []SessionIdentificationDataType `json:"sessionIdentificationData,omitempty"` +} + +type SessionIdentificationListDataSelectorsType struct { + SessionId *SessionIdType `json:"sessionId,omitempty"` + IdentificationId *IdentificationIdType `json:"identificationId,omitempty"` + IsLatestSession *bool `json:"isLatestSession,omitempty"` + TimePeriod *TimePeriodType `json:"timePeriod,omitempty"` +} + +type SessionMeasurementRelationDataType struct { + SessionId *SessionIdType `json:"sessionId,omitempty" eebus:"key"` + MeasurementId []MeasurementIdType `json:"measurementId,omitempty"` +} + +type SessionMeasurementRelationDataElementsType struct { + SessionId *ElementTagType `json:"sessionId,omitempty"` + MeasurementId *ElementTagType `json:"measurementId,omitempty"` +} + +type SessionMeasurementRelationListDataType struct { + SessionMeasurementRelationData []SessionMeasurementRelationDataType `json:"sessionMeasurementRelationData,omitempty"` +} + +type SessionMeasurementRelationListDataSelectorsType struct { + SessionId *SessionIdType `json:"sessionId,omitempty"` + MeasurementId *MeasurementIdType `json:"measurementId,omitempty"` +} diff --git a/spine/model/loadcontrol.go b/spine/model/loadcontrol.go index 4d8460b7..a9d0b8fa 100644 --- a/spine/model/loadcontrol.go +++ b/spine/model/loadcontrol.go @@ -29,8 +29,9 @@ type LoadControlLimitIdType uint type LoadControlLimitTypeType string const ( - LoadControlLimitTypeTypeMinValueLimit LoadControlLimitTypeType = "minValueLimit" - LoadControlLimitTypeTypeMaxValueLimit LoadControlLimitTypeType = "maxValueLimit" + LoadControlLimitTypeTypeMinValueLimit LoadControlLimitTypeType = "minValueLimit" + LoadControlLimitTypeTypeMaxValueLimit LoadControlLimitTypeType = "maxValueLimit" + LoadControlLimitTypeTypeSignDependentAbsValueLimit LoadControlLimitTypeType = "signDependentAbsValueLimit" ) type LoadControlCategoryType string diff --git a/spine/model/measurement.go b/spine/model/measurement.go index 657a3636..c41e57ef 100644 --- a/spine/model/measurement.go +++ b/spine/model/measurement.go @@ -115,6 +115,38 @@ type MeasurementListDataSelectorsType struct { TimestampInterval *TimestampIntervalType `json:"timestampInterval,omitempty"` } +type MeasurementSeriesDataType struct { + MeasurementId *MeasurementIdType `json:"measurementId,omitempty" eebus:"key"` + ValueType *MeasurementValueTypeType `json:"valueType,omitempty" eebus:"key"` + Timestamp *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"` + Value *ScaledNumberType `json:"value,omitempty"` + EvaluationPeriod *TimePeriodType `json:"evaluationPeriod,omitempty"` + ValueSource *MeasurementValueSourceType `json:"valueSource,omitempty"` + ValueTendency *MeasurementValueTendencyType `json:"valueTendency,omitempty"` + ValueState *MeasurementValueStateType `json:"valueState,omitempty"` +} + +type MeasurementSeriesDataElementsType struct { + MeasurementId *ElementTagType `json:"measurementId,omitempty"` + ValueType *ElementTagType `json:"valueType,omitempty"` + Timestamp *ElementTagType `json:"timestamp,omitempty"` + Value *ElementTagType `json:"value,omitempty"` + EvaluationPeriod *ElementTagType `json:"evaluationPeriod,omitempty"` + ValueSource *ElementTagType `json:"valueSource,omitempty"` + ValueTendency *ElementTagType `json:"valueTendency,omitempty"` + ValueState *ElementTagType `json:"valueState,omitempty"` +} + +type MeasurementSeriesListDataType struct { + MeasurementSeriesData []MeasurementSeriesDataType `json:"measurementSeriesData,omitempty"` +} + +type MeasurementSeriesListDataSelectorsType struct { + MeasurementId *MeasurementIdType `json:"measurementId,omitempty"` + ValueType *MeasurementValueTypeType `json:"valueType,omitempty"` + TimestampInterval *TimestampIntervalType `json:"timestampInterval,omitempty"` +} + type MeasurementConstraintsDataType struct { MeasurementId *MeasurementIdType `json:"measurementId,omitempty" eebus:"key"` ValueRangeMin *ScaledNumberType `json:"valueRangeMin,omitempty"` diff --git a/spine/model/setpoint.go b/spine/model/setpoint.go index e403b2b4..deea5198 100644 --- a/spine/model/setpoint.go +++ b/spine/model/setpoint.go @@ -16,6 +16,9 @@ type SetpointDataType struct { ValueMax *ScaledNumberType `json:"valueMax,omitempty"` ValueToleranceAbsolute *ScaledNumberType `json:"valueToleranceAbsolute,omitempty"` ValueTolerancePercentage *ScaledNumberType `json:"valueTolerancePercentage,omitempty"` + IsSetpointChangeable *bool `json:"isSetpointChangeable,omitempty"` + IsSetpointActive *bool `json:"isSetpointActive,omitempty"` + TimePeriod *TimePeriodType `json:"timePeriod,omitempty"` } type SetpointDataElementsType struct { @@ -25,6 +28,9 @@ type SetpointDataElementsType struct { ValueMax *ScaledNumberElementsType `json:"valueMax,omitempty"` ValueToleranceAbsolute *ScaledNumberElementsType `json:"valueToleranceAbsolute,omitempty"` ValueTolerancePercentage *ScaledNumberElementsType `json:"valueTolerancePercentage,omitempty"` + IsSetpointChangeable *ElementTagType `json:"isSetpointChangeable,omitempty"` + IsSetpointActive *ElementTagType `json:"isSetpointActive,omitempty"` + TimePeriod *TimePeriodElementsType `json:"timePeriod,omitempty"` } type SetpointListDataType struct { diff --git a/spine/model/stateinformation.go b/spine/model/stateinformation.go new file mode 100644 index 00000000..795f303c --- /dev/null +++ b/spine/model/stateinformation.go @@ -0,0 +1,115 @@ +package model + +type StateInformationIdType uint + +type StateInformationType string + +// union StateInformationFunctionalityType StateInformationFunctionalityType +const ( + StateInformationTypeExternalOverrideFromGrid StateInformationType = "externalOverrideFromGrid" + StateInformationTypeAutonomousGridSupport StateInformationType = "autonomousGridSupport" + StateInformationTypeIslandingMode StateInformationType = "islandingMode" + StateInformationTypeBalancing StateInformationType = "balancing" + StateInformationTypeTrickleCharging StateInformationType = "trickleCharging" + StateInformationTypeCalibration StateInformationType = "calibration" + StateInformationTypeCommissioningMissing StateInformationType = "commissioningMissing" + StateInformationTypeSleeping StateInformationType = "sleeping" + StateInformationTypeStarting StateInformationType = "starting" + StateInformationTypeMppt StateInformationType = "mppt" + StateInformationTypeThrottled StateInformationType = "throttled" + StateInformationTypeShuttingDown StateInformationType = "shuttingDown" + StateInformationTypeManualShutdown StateInformationType = "manualShutdown" + StateInformationTypeInverterDefective StateInformationType = "inverterDefective" + StateInformationTypeBatteryOvercurrentProtection StateInformationType = "batteryOvercurrentProtection" + StateInformationTypePvStringOvercurrentProtection StateInformationType = "pvStringOvercurrentProtection" + StateInformationTypeGridFault StateInformationType = "gridFault" + StateInformationTypeGroundFault StateInformationType = "groundFault" + StateInformationTypeAcDisconnected StateInformationType = "acDisconnected" + StateInformationTypeDcDisconnected StateInformationType = "dcDisconnected" + StateInformationTypeCabinetOpen StateInformationType = "cabinetOpen" + StateInformationTypeOverTemperature StateInformationType = "overTemperature" + StateInformationTypeUnderTemperature StateInformationType = "underTemperature" + StateInformationTypeFrequencyAboveLimit StateInformationType = "frequencyAboveLimit" + StateInformationTypeFrequencyBelowLimit StateInformationType = "frequencyBelowLimit" + StateInformationTypeAcVoltageAboveLimit StateInformationType = "acVoltageAboveLimit" + StateInformationTypeAcVoltageBelowLimit StateInformationType = "acVoltageBelowLimit" + StateInformationTypeDcVoltageAboveLimit StateInformationType = "dcVoltageAboveLimit" + StateInformationTypeDcVoltageBelowLimit StateInformationType = "dcVoltageBelowLimit" + StateInformationTypeHardwareTestFailure StateInformationType = "hardwareTestFailure" + StateInformationTypeGenericInternalError StateInformationType = "genericInternalError" +) + +type StateInformationFunctionalityType string + +const ( + StateInformationFunctionalityTypeExternalOverrideFromGrid StateInformationFunctionalityType = "externalOverrideFromGrid" + StateInformationFunctionalityTypeAutonomousGridSupport StateInformationFunctionalityType = "autonomousGridSupport" + StateInformationFunctionalityTypeIslandingMode StateInformationFunctionalityType = "islandingMode" + StateInformationFunctionalityTypeBalancing StateInformationFunctionalityType = "balancing" + StateInformationFunctionalityTypeTrickleCharging StateInformationFunctionalityType = "trickleCharging" + StateInformationFunctionalityTypeCalibration StateInformationFunctionalityType = "calibration" + StateInformationFunctionalityTypeCommissioningMissing StateInformationFunctionalityType = "commissioningMissing" + StateInformationFunctionalityTypeSleeping StateInformationFunctionalityType = "sleeping" + StateInformationFunctionalityTypeStarting StateInformationFunctionalityType = "starting" + StateInformationFunctionalityTypeMppt StateInformationFunctionalityType = "mppt" + StateInformationFunctionalityTypeThrottled StateInformationFunctionalityType = "throttled" + StateInformationFunctionalityTypeShuttingDown StateInformationFunctionalityType = "shuttingDown" + StateInformationFunctionalityTypeManualShutdown StateInformationFunctionalityType = "manualShutdown" +) + +type StateInformationFailureType string + +const ( + StateInformationFailureTypeInverterDefective StateInformationFailureType = "inverterDefective" + StateInformationFailureTypeBatteryOvercurrentProtection StateInformationFailureType = "batteryOvercurrentProtection" + StateInformationFailureTypePvStringOvercurrentProtection StateInformationFailureType = "pvStringOvercurrentProtection" + StateInformationFailureTypeGridFault StateInformationFailureType = "gridFault" + StateInformationFailureTypeGroundFault StateInformationFailureType = "groundFault" + StateInformationFailureTypeAcDisconnected StateInformationFailureType = "acDisconnected" + StateInformationFailureTypeDcDisconnected StateInformationFailureType = "dcDisconnected" + StateInformationFailureTypeCabinetOpen StateInformationFailureType = "cabinetOpen" + StateInformationFailureTypeOverTemperature StateInformationFailureType = "overTemperature" + StateInformationFailureTypeUnderTemperature StateInformationFailureType = "underTemperature" + StateInformationFailureTypeFrequencyAboveLimit StateInformationFailureType = "frequencyAboveLimit" + StateInformationFailureTypeFrequencyBelowLimit StateInformationFailureType = "frequencyBelowLimit" + StateInformationFailureTypeAcVoltageAboveLimit StateInformationFailureType = "acVoltageAboveLimit" + StateInformationFailureTypeAcVoltageBelowLimit StateInformationFailureType = "acVoltageBelowLimit" + StateInformationFailureTypeDcVoltageAboveLimit StateInformationFailureType = "dcVoltageAboveLimit" + StateInformationFailureTypeDcVoltageBelowLimit StateInformationFailureType = "dcVoltageBelowLimit" + StateInformationFailureTypeHardwareTestFailure StateInformationFailureType = "hardwareTestFailure" + StateInformationFailureTypeGenericInternalError StateInformationFailureType = "genericInternalError" +) + +type StateInformationCategoryType string + +const ( + StateInformationCategoryTypeFunctionality StateInformationCategoryType = "functionality" + StateInformationCategoryTypeFailure StateInformationCategoryType = "failure" +) + +type StateInformationDataType struct { + StateInformationId *StateInformationIdType `json:"stateInformationId,omitempty" eebus:"key"` + StateInformation *StateInformationType `json:"stateInformation,omitempty"` + IsActive *bool `json:"isActive,omitempty"` + Category *StateInformationCategoryType `json:"category,omitempty"` + TimeOfLastChange *AbsoluteOrRelativeTimeType `json:"timeOfLastChange,omitempty"` +} + +type StateInformationDataElementsType struct { + StateInformationId *ElementTagType `json:"stateInformationId,omitempty"` + StateInformation *ElementTagType `json:"stateInformation,omitempty"` + IsActive *ElementTagType `json:"isActive,omitempty"` + Category *ElementTagType `json:"category,omitempty"` + TimeOfLastChange *ElementTagType `json:"timeOfLastChange,omitempty"` +} + +type StateInformationListDataType struct { + StateInformationData []StateInformationDataType `json:"stateInformationData,omitempty"` +} + +type StateInformationListDataSelectorsType struct { + StateInformationId *StateInformationIdType `json:"stateInformationId,omitempty"` + StateInformation *StateInformationType `json:"stateInformation,omitempty"` + IsActive *bool `json:"isActive,omitempty"` + Category *StateInformationCategoryType `json:"category,omitempty"` +} diff --git a/spine/model/timeseries.go b/spine/model/timeseries.go index 8d2b0c54..91cae18a 100644 --- a/spine/model/timeseries.go +++ b/spine/model/timeseries.go @@ -9,9 +9,13 @@ type TimeSeriesSlotCountType TimeSeriesSlotIdType type TimeSeriesTypeType string const ( - TimeSeriesTypeTypePlan TimeSeriesTypeType = "plan" - TimeSeriesTypeTypeSingleDemand TimeSeriesTypeType = "singleDemand" - TimeSeriesTypeTypeConstraints TimeSeriesTypeType = "constraints" + TimeSeriesTypeTypePlan TimeSeriesTypeType = "plan" + TimeSeriesTypeTypeSingleDemand TimeSeriesTypeType = "singleDemand" + TimeSeriesTypeTypeConstraints TimeSeriesTypeType = "constraints" + TimeSeriesTypeTypeEnergyRequest TimeSeriesTypeType = "energyRequest" + TimeSeriesTypeTypeDischargingEnergyRequest TimeSeriesTypeType = "dischargingEnergyRequest" + TimeSeriesTypeTypeConsumptionLimitCurve TimeSeriesTypeType = "consumptionLimitCurve" + TimeSeriesTypeTypeProductionLimitCurve TimeSeriesTypeType = "productionLimitCurve" ) type TimeSeriesSlotType struct { diff --git a/spine/model/usecaseinformation.go b/spine/model/usecaseinformation.go index e2b9043b..4fcb86fc 100644 --- a/spine/model/usecaseinformation.go +++ b/spine/model/usecaseinformation.go @@ -74,17 +74,19 @@ const ( type UseCaseScenarioSupportType uint type UseCaseSupportType struct { - UseCaseName *UseCaseNameType `json:"useCaseName,omitempty"` - UseCaseVersion *SpecificationVersionType `json:"useCaseVersion,omitempty"` - UseCaseAvailable *bool `json:"useCaseAvailable,omitempty"` - ScenarioSupport []UseCaseScenarioSupportType `json:"scenarioSupport,omitempty"` + UseCaseName *UseCaseNameType `json:"useCaseName,omitempty"` + UseCaseVersion *SpecificationVersionType `json:"useCaseVersion,omitempty"` + UseCaseAvailable *bool `json:"useCaseAvailable,omitempty"` + ScenarioSupport []UseCaseScenarioSupportType `json:"scenarioSupport,omitempty"` + UseCaseDocumentSubRevision *string `json:"useCaseDocumentSubRevision,omitempty"` } type UseCaseSupportElementsType struct { - UseCaseName *ElementTagType `json:"useCaseName,omitempty"` - UseCaseVersion *ElementTagType `json:"useCaseVersion,omitempty"` - UseCaseAvailable *ElementTagType `json:"useCaseAvailable,omitempty"` - ScenarioSupport *ElementTagType `json:"scenarioSupport,omitempty"` + UseCaseName *ElementTagType `json:"useCaseName,omitempty"` + UseCaseVersion *ElementTagType `json:"useCaseVersion,omitempty"` + UseCaseAvailable *ElementTagType `json:"useCaseAvailable,omitempty"` + ScenarioSupport *ElementTagType `json:"scenarioSupport,omitempty"` + UseCaseDocumentSubRevision *ElementTagType `json:"useCaseDocumentSubRevision,omitempty"` } type UseCaseSupportSelectorsType struct {