Already a subscriber? 

MADCAD.com Free Trial
Sign up for a 3 day free trial to explore the MADCAD.com interface, PLUS access the
2009 International Building Code to see how it all works.
If you like to setup a quick demo, let us know at support@madcad.com
or +1 800.798.9296 and we will be happy to schedule a webinar for you.
Security check
Please login to your personal account to use this feature.
Please login to your authorized staff account to use this feature.
Are you sure you want to empty the cart?
IEC 63510-4-1 Ed. 1.0 en:2025 Household appliances network and grid connectivity - Part 4-1: Communication Protocol Specific Aspects: SPINE, SPINE-IoT and SHIP, 2025
- CONTENTS
- FOREWORD
- INTRODUCTION
- 1 Scope
- 2 Normative references
- 3 Terms and definitions
- 4 SPINE-IoT Protocol [Go to Page]
- 4.1 General
- 4.2 Architecture overview [Go to Page]
- 4.2.1 Introduction
- 4.2.2 API versioning
- 4.3 Device model [Go to Page]
- 4.3.1 General
- 4.3.2 Device
- 4.3.3 Entity
- 4.3.4 Feature
- 4.4 Use Case model [Go to Page]
- 4.4.1 General
- 4.4.2 Use Case information and instances
- 4.4.3 Use Case interface
- 4.5 Binding [Go to Page]
- 4.5.1 General
- 4.5.2 Binding information and instances
- 4.6 Subscription [Go to Page]
- 4.6.1 General
- 4.6.2 Subscription management
- 4.6.3 Callbacks
- 4.7 Requesting feature changes [Go to Page]
- 4.7.1 General
- 4.7.2 Requesting changes information and instances
- 5 SPINE Protocol [Go to Page]
- 5.1 General
- 5.2 Architecture overview [Go to Page]
- 5.2.1 General rules
- 5.2.2 Common data types
- 5.2.3 Address level details
- 5.3 SPINE Datagram [Go to Page]
- 5.3.1 Introduction
- 5.3.2 Header
- 5.3.3 Payload
- 5.4 Communication modes [Go to Page]
- 5.4.1 General
- 5.4.2 Simple communication mode
- 5.4.3 Enhanced communication mode
- 5.5 Functional commissioning [Go to Page]
- 5.5.1 General
- 5.5.2 Detailed discovery
- 5.5.3 Destination list
- 5.5.4 Binding
- 5.5.5 Subscription
- 5.5.6 Use Case discovery
- 6 SHIP [Go to Page]
- 6.1 General
- 6.2 Architecture overview [Go to Page]
- 6.2.1 General
- 6.2.2 General Considerations on Closing Communication Channels
- 6.2.3 SHIP Node Parameters
- 6.3 Registration [Go to Page]
- 6.3.1 General
- 6.3.2 Successful Registration
- 6.3.3 Registration details and recommendations (informative)
- 6.4 Reconnection [Go to Page]
- 6.4.1 General
- 6.4.2 Reconnection details in case of changed key material (informative)
- 6.5 Discovery [Go to Page]
- 6.5.1 General
- 6.5.2 Service Instance
- 6.5.3 Service Name
- 6.5.4 Multicast DNS Name
- 6.5.5 Recommendations for re-discovery
- 6.6 TCP [Go to Page]
- 6.6.1 General
- 6.6.2 Limited Connection Capabilities
- 6.6.3 Online Detection
- 6.6.4 TCP Connection Establishment
- 6.6.5 Retransmission Timeout
- 6.7 TLS [Go to Page]
- 6.7.1 General
- 6.7.2 Cipher Suites
- 6.7.3 Maximum Fragment Length
- 6.7.4 TLS Compression
- 6.7.5 Renegotiation
- 6.7.6 Session Resumption
- 6.7.7 TLS extension for ECC
- 6.7.8 TLS Probing
- 6.8 WebSocket [Go to Page]
- 6.8.1 General
- 6.8.2 TLS Dependencies
- 6.8.3 Opening Handshake
- 6.8.4 Data Framing
- 6.8.5 Connection Keepalive
- 6.9 Message Representation Using JSON Text Format [Go to Page]
- 6.9.1 Introduction
- 6.9.2 Definitions
- 6.9.3 Examples For Each Type
- 6.9.4 XML to JSON Transformation
- 6.9.5 JSON to XML Transformation
- 6.10 Key Management [Go to Page]
- 6.10.1 General
- 6.10.2 Certificates
- 6.10.3 SHIP Node Specific Public Key
- 6.10.4 Verification Procedure
- 6.10.5 Symmetric Key
- 6.10.6 SHIP Node PIN
- 6.10.7 SHIP Commissioning Tool
- 6.10.8 QR Code
- 6.11 SHIP Data Exchange [Go to Page]
- 6.11.1 Introduction
- 6.11.2 Terms in the context of SHIP Data Exchange
- 6.11.3 Protocol Architecture / Hierarchy
- 6.11.4 SHIP Message Exchange
- 6.12 Well-known protocolId
- Table 79 – Structure of SmeCloseValue of SME "close" Message
- Annex A (normative) SHIP XSD
- Bibliography
- Figures [Go to Page]
- Figure 1 – Overview of transport protocols within IEC 63510-4-1
- Figure 2 – Primary device model
- Figure 3 – Use Case instance examples
- Figure 4 – Announcement of potential Use Case instance
- Figure 5 – Potential Use Case with real instance
- Figure 6 – PossibleOperationsType
- Figure 7 – DeviceAddressType
- Figure 8 – EntityAddressType
- Figure 9 – FeatureAddressType
- Figure 10 – SPINE datagram
- Figure 11 – SPINE header
- Figure 12 – SPINE payload
- Figure 13 – Example of selectors part (extract) with entity address part
- Figure 14 – Communication modes of SPINE devices A, B and C
- Figure 15 – Discovery example
- Figure 16 – Hierarchy types
- Figure 17 – Function Discovery Example over Feature Description
- Figure 18 – nodeManagementDetailedDiscoveryData function overview, part 1
- Figure 19 – nodeManagementDetailedDiscoveryData function overview,part 2: deviceInformation.description
- Figure 20 – nodeManagementDetailedDiscoveryData function overview,part 3: entityInformation.description
- Figure 21 – nodeManagementDetailedDiscoveryData function overview,part 4: featureInformation.description
- Figure 22 – nodeManagementDestinationListData function overview, part 1
- Figure 23 – nodeManagementDestinationListData function overview, part 2
- Figure 24 – Binding request
- Figure 25 – nodeManagementBindingRequestCall function overview
- Figure 26 – nodeManagementBindingData function overview
- Figure 27 – nodeManagementBindingDeleteCall function overview
- Figure 28 – Subscription request
- Figure 29 – nodeManagementSubscriptionRequestCall function overview
- Figure 30 – nodeManagementSubscriptionData function overview
- Figure 31 – nodeManagementSubscriptionDeleteCall function overview
- Figure 32 – nodeManagementUseCaseData function
- Figure 33 – Physical Connections in the Overall System
- Figure 34 – SHIP Stack Overview
- Figure 35 – Full TLS 1.2 Handshake with mutual authentication
- Figure 36 – Quick TLS Handshake with Session Resumption
- Figure 37 – Easy Mutual Authentication with QR-codes and Smart Phone
- Figure 38 – QR Code Model 2, "low" ECC level, 0,33 mm/Module, with SKI and PIN
- Figure 39 – QR Code Model 2, "low" ECC level, 0,33 mm/module, with all values
- Figure 40 – QR Code Model 2, "low" ECC level, 0,33 mm/module,with brainpoolP256r1 SKI and brainpoolP384r1 SKI
- Figure 41 – Protocol Architecture and Hierarchy
- Figure 42 – CMI Message Sequence Example
- Figure 43 – Connection State "Hello" Sequence Example Without Prolongation Request: "A" and "B" already trust each other; "B" is slower/delayed
- Figure 44 – Connection State "Hello" Sequence Example With Prolongation Request
- Figure 45 – Connection State "Protocol Handshake" Message Sequence Example
- Figure 46 – Connection State "PIN verification" Message Sequence Example (Begin)
- Tables [Go to Page]
- Table 1 – Properties of "api" information
- Table 2 – Properties of "device" information
- Table 3 – Properties of "entity" information
- Table 4 – Properties of "feature" information of a single featureObjType instance
- Table 5 – Supported featureType-featureObjType combinations
- Table 6 – Properties of "Use Case" information
- Table 7 – Request body for POST /bindings
- Table 8 – Properties of bindingRequestFeatures
- Table 9 – Properties of bindingRequestUsecaseInterfaces
- Table 10 – Response body upon accepted binding request
- Table 11 – Renew all bindings
- Table 12 – Renew a single bindingId
- Table 13 – Request body for the deletion of one or all bindings
- Table 14 – Request body for POST /subscriptions
- Table 15 – Response body upon accepted subscription request
- Table 16 – Renew all subscriptions
- Table 17 – Renew a single subscriptionId
- Table 18 – Request body for the deletion of one or all subscriptions
- Table 19 – Properties of a "device change description" callback
- Table 20 – Properties of an "entity change description" callback
- Table 21 – Properties of a "feature change description" callback
- Table 22 – Properties of a "Use Case information change description" callback
- Table 23 – Properties of a "feature" change request
- Table 24 – Properties of type featureModifyCreateReplace
- Table 25 – Properties of type featureModifyDelete
- Table 26 – Properties of type featureModifyPatchUnset
- Table 27 – Structure of the SPINE datagram
- Table 28 – cmdClassifier values and kind of messages for a message "M" and the scope of related acknowledgement messages
- Table 29 – Structure of the SPINE header
- Table 30 – Elements of the SPINE payload
- Table 31 – Example table (template): This template is used in the subsequent sections for specific cmdOptions combinations. In this template, each "..." is just a placeholder
- Table 32 – Considered cmdOptions combinations for classifier "write"
- Table 33 – Considered cmdOptions combinations for classifier "notify"
- Table 34 – Considered cmdOptions combinations for classifier "read"
- Table 35 – Considered cmdOptions combinations for classifier "reply"
- Table 36 – Address path examples
- Table 37 – Notify/response list of entities and their corresponding features with nodeManagementDetailedDiscoveryData
- Table 38 – nodeManagementDetailedDiscoveryDataSelectors
- Table 39 – Notify/response of DestinationList information with nodeManagementDestinationListData
- Table 40 – Binding request with nodeManagementBindingRequestCall
- Table 41 – nodeManagementBindingData holds list of binding entries
- Table 42 – Remove Binding with nodeManagementBindingDeleteCall
- Table 43 – Subscription request with nodeManagementSubscriptionRequestCall
- Table 44 – nodeManagementSubscriptionData holds list of subscription entries
- Table 45 – Remove subscription with nodeManagementSubscriptionDeleteCall
- Table 46 – nodeManagementUseCaseData
- Table 47 – SHIP Parameters Default Values
- Table 48 – Mandatory Parameters in the TXT Record
- Table 49 – Optional Parameters in the TXT Record
- Table 50 – Mapping from the XSD Types to JSON Types
- Table 51 – Transformation of a simple type
- Table 52 – Mapping from the XSD compositors to JSON Types
- Table 53 – Examples for XML and JSON representations
- Table 54 – Example transformation of several combined XSD item types
- Table 55 – Example for JSON to XML transformation
- Table 56 – Trust Levels
- Table 57 – MessageType Values
- Table 58 – Structure of SmeHelloValue of SME "hello" Message
- Table 59 – Structure of SmeProtocolHandshakeValueof SME "Protocol Handshake" Message
- Table 60 – Structure of SmeProtocolHandshakeErrorValueof SME "Protocol Handshake Error" Message
- Table 61 – Values of Sub-element "error" of messageProtocolHandshakeError
- Table 62 – Structure of SmeConnectionPinStateValue of SME "Pin state" message
- Table 63 – Structure of SmeConnectionPinInputValue of SME "Pin input" message
- Table 64 – Structure of SmeConnectionPinErrorValue of SME "Pin error" message
- Table 65 – Values of Sub-element "error" of connectionPinError
- Table 66 – Structure of MessageValue of "data" Message
- Table 67 – Structure of SmeConnectionAccessMethodsRequestValue of SME"Access methods request" message
- Table 68 – Structure of SmeConnectionAccessMethodsValue of SME "Access methods" message
- Table 69 – Structure of SmeConnectionCommissioningRequestValue of SME "commissioning request" message
- Table 70 – Structure of SmeConnectionCommissioningResponseValue of SME "commissioning response" message
- Table 71 – Structure of SmeConnectionKeyMaterialRequestValue of SME "key material request" message
- Table 72 – Structure of SmeConnectionKeyMaterialValue of SME "key material" message
- Table 73 – Structure of SmeConnectionKeyMaterialResponseValue of SME "key material response" message
- Table 74 – Structure of SmeConnectionKeyMaterialDeleteValue of SME "key material delete" message
- Table 75 – Structure of SmeConnectionKeyMaterialDeleteResponseValue of SME "key material delete response" message
- Table 76 – Structure of SmeConnectionKeyMaterialStateValue of SME "key material state" message
- Table 77 – Structure of SmeConnectionKeyMaterialStateResponseValue of SME "key material state response" message
- Table 78 – Structure of SmeConnectionKeyMaterialStateRequestValue of SME "key material state request" message
- Table 79 – Structure of SmeCloseValue of SME "close" Message [Go to Page]