eebus

Home / Docs / Which functions can be exchanged in part

Which functions can be exchanged in part

The generated Restricted Function Exchange table: every SPINE function this crate can serve a filtered read, a partial write or a filtered delete on, and every function it cannot.

SPINE admits thousands of implementation variations, and "which ones does this implement" is the first question an integrator has to answer. For Restricted Function Exchange the answer is a table, and this is it — generated from the same source the compiler reads, by cargo xtask rfe-table, so it cannot drift from what the engine does.

Of the 142 functions the SPINE payload defines, 141 can be exchanged in part: 98 are lists of identified entries and 43 are single values.

What the columns mean

Nothing in the XML Schemas links a data type to its selectors and elements filters — the link is a naming convention, which the generator resolves. Selectors choose which entries of a list a command addresses; elements choose which parts of them. A function with both can be read, written and deleted at either granularity; one with neither is exchanged whole.

This table is also what possibleOperations is derived from. A feature announces read.partial only for a function listed here, and a filtered request for anything else is answered errorNumber 8 rather than approximately — see Conformance.

A delete is a restricted exchange too: its selectors choose the entries and its elements choose the parts of them to remove, and a command may carry a delete filter and a partial-update filter at once. See Restricted Function Exchange.

Exchangeable in part

FunctionShapeAddressable by
actuatorLevelDatavalueelements
actuatorLevelDescriptionDatavalueelements
actuatorSwitchDatavalueelements
actuatorSwitchDescriptionDatavalueelements
alarmListDatalistentries and elements
billConstraintsListDatalistentries and elements
billDescriptionListDatalistentries and elements
billListDatalistentries and elements
bindingManagementDeleteCallvalueelements
bindingManagementEntryListDatalistentries and elements
bindingManagementRequestCallvalueelements
commodityListDatalistentries and elements
dataTunnelingCallvalueelements
deviceClassificationManufacturerDatavalueelements
deviceClassificationUserDatavalueelements
deviceConfigurationKeyValueConstraintsListDatalistentries and elements
deviceConfigurationKeyValueDescriptionListDatalistentries and elements
deviceConfigurationKeyValueListDatalistentries and elements
deviceDiagnosisHeartbeatDatavalueelements
deviceDiagnosisServiceDatavalueelements
deviceDiagnosisStateDatavalueelements
directControlActivityListDatalistentries
directControlDescriptionDatavalueelements
electricalConnectionCharacteristicListDatalistentries and elements
electricalConnectionDescriptionListDatalistentries and elements
electricalConnectionParameterDescriptionListDatalistentries and elements
electricalConnectionPermittedValueSetListDatalistentries and elements
electricalConnectionStateListDatalistentries and elements
hvacOperationModeDescriptionListDatalistentries and elements
hvacOverrunDescriptionListDatalistentries and elements
hvacOverrunListDatalistentries and elements
hvacSystemFunctionDescriptionListDatalistentries and elements
hvacSystemFunctionListDatalistentries and elements
hvacSystemFunctionOperationModeRelationListDatalistentries and elements
hvacSystemFunctionPowerSequenceRelationListDatalistentries and elements
hvacSystemFunctionSetpointRelationListDatalistentries and elements
identificationListDatalistentries and elements
incentiveDescriptionListDatalistentries and elements
incentiveListDatalistentries and elements
incentiveTableConstraintsDatalistentries
incentiveTableDatalistentries
incentiveTableDescriptionDatalistentries
loadControlEventListDatalistentries
loadControlLimitConstraintsListDatalistentries and elements
loadControlLimitDescriptionListDatalistentries and elements
loadControlLimitListDatalistentries and elements
loadControlNodeDatavalueelements
loadControlStateListDatalistentries
measurementConstraintsListDatalistentries and elements
measurementDescriptionListDatalistentries and elements
measurementListDatalistentries and elements
measurementSeriesListDatalistentries and elements
measurementThresholdRelationListDatalistentries and elements
messagingListDatalistentries
networkManagementAbortCallvalueelements
networkManagementAddNodeCallvalueelements
networkManagementDeviceDescriptionListDatalistentries
networkManagementDiscoverCallvalueelements
networkManagementEntityDescriptionListDatalistentries
networkManagementFeatureDescriptionListDatalistentries
networkManagementJoiningModeDatavalueelements
networkManagementModifyNodeCallvalueelements
networkManagementProcessStateDatavalueelements
networkManagementRemoveNodeCallvalueelements
networkManagementReportCandidateDatavalueelements
networkManagementScanNetworkCallvalueelements
nodeManagementBindingDatalistentries
nodeManagementBindingDeleteCallvalueelements
nodeManagementBindingRequestCallvalueelements
nodeManagementDestinationListDatalistentries
nodeManagementDetailedDiscoveryDatavalueelements
nodeManagementSubscriptionDatalistentries
nodeManagementSubscriptionDeleteCallvalueelements
nodeManagementSubscriptionRequestCallvalueelements
nodeManagementUseCaseDatalistentries
operatingConstraintsDurationListDatalistentries and elements
operatingConstraintsInterruptListDatalistentries and elements
operatingConstraintsPowerDescriptionListDatalistentries and elements
operatingConstraintsPowerLevelListDatalistentries and elements
operatingConstraintsPowerRangeListDatalistentries and elements
operatingConstraintsResumeImplicationListDatalistentries and elements
powerSequenceAlternativesRelationListDatalistentries and elements
powerSequenceDescriptionListDatalistentries and elements
powerSequenceNodeScheduleInformationDatavalueelements
powerSequencePriceCalculationRequestCallvalueelements
powerSequencePriceListDatalistentries and elements
powerSequenceScheduleConfigurationRequestCallvalueelements
powerSequenceScheduleConstraintsListDatalistentries and elements
powerSequenceScheduleListDatalistentries and elements
powerSequenceSchedulePreferenceListDatalistentries and elements
powerSequenceStateListDatalistentries and elements
powerTimeSlotScheduleConstraintsListDatalistentries and elements
powerTimeSlotScheduleListDatalistentries and elements
powerTimeSlotValueListDatalistentries and elements
sensingDescriptionDatavalueelements
sensingListDatalistentries
sessionIdentificationListDatalistentries and elements
sessionMeasurementRelationListDatalistentries and elements
setpointConstraintsListDatalistentries and elements
setpointDescriptionListDatalistentries and elements
setpointListDatalistentries and elements
smartEnergyManagementPsConfigurationRequestCallvalueelements
smartEnergyManagementPsDatavalueelements
smartEnergyManagementPsPriceCalculationRequestCallvalueelements
smartEnergyManagementPsPriceDatalistentries
specificationVersionListDatalistentries
stateInformationListDatalistentries and elements
subscriptionManagementDeleteCallvalueelements
subscriptionManagementEntryListDatalistentries and elements
subscriptionManagementRequestCallvalueelements
supplyConditionDescriptionListDatalistentries and elements
supplyConditionListDatalistentries and elements
supplyConditionThresholdRelationListDatalistentries and elements
tariffBoundaryRelationListDatalistentries and elements
tariffDescriptionListDatalistentries and elements
tariffListDatalistentries and elements
tariffOverallConstraintsDatavalueelements
tariffTierRelationListDatalistentries and elements
taskManagementJobDescriptionListDatalistentries and elements
taskManagementJobListDatalistentries and elements
taskManagementJobRelationListDatalistentries and elements
taskManagementOverviewDatavalueelements
thresholdConstraintsListDatalistentries and elements
thresholdDescriptionListDatalistentries and elements
thresholdListDatalistentries and elements
tierBoundaryDescriptionListDatalistentries and elements
tierBoundaryListDatalistentries and elements
tierDescriptionListDatalistentries and elements
tierIncentiveRelationListDatalistentries and elements
tierListDatalistentries and elements
timeDistributorDatavalueelements
timeDistributorEnquiryCallvalueelements
timeInformationDatavalueelements
timePrecisionDatavalueelements
timeSeriesConstraintsListDatalistentries and elements
timeSeriesDescriptionListDatalistentries and elements
timeSeriesListDatalistentries and elements
timeTableConstraintsListDatalistentries
timeTableDescriptionListDatalistentries
timeTableListDatalistentries and elements
useCaseInformationListDatalistentries

Whole function only

The schemas give one function no selectors and no elements filter, so there is nothing to narrow it by. A feature serving one announces read without partial, and a peer that sends a filter for it is answered errorNumber 8 — the honest answer, and the one that stops a client acting on a reply it thinks was filtered.

  • resultData