Automated Installation
The installation of the EEBus module can be performed through execution of the Kit Manager installation script located in bin/pscripts.
To install the EEBus module, type the following console command:
kitman.install "EEBus SPINE"
The EEBus SPINE module provides a second script:
The script above installs additional bundles to provide integration with the Home Device Manager module: The console command in that case would be:
kitman.install "EEBus SPINE DA HDM Support"
The kitman command group is exported by the Kit Manager Bundle. The required bundles for the EEBus module are listed in the Manual Installation section below.
Manual Installation
In order to install the EEBus module manually, after installing the required bundles from the SHIP module, the following bundles from the <mbs_home>/runtime/osgi/bundles directory have to be installed and started:
For manual installation of the required bundles providing integration with the Home Device Manager module, the following bundles are to be installed:
System Properties
Property Name |
Default Value |
Type |
Description |
|---|---|---|---|
com.prosyst.mbs.deviceId |
On Windows - %COMPUTERNAME% On Linux - The value returned by the hostname command. |
String |
Specifies the ID of the device running the OSGi framework. SPINE Driver API uses it in order to generate a unique device address for the the OSGi framework as a SPINE device. |
mbs.spine.localDevice.address |
|
String |
If set, then the value is used as the unique device address of the OSGi framework as a SPINE device. If not set, then the SPINE Driver API generates a unique SPINE device address concatenating a prefix (mbs.spine.localDevice.addressPrefix) and the unique device ID (com.prosyst.mbs.deviceId). |
mbs.spine.localDevice.addressPrefix |
d:_i:51794_ |
String |
A prefix used when unique SPINE device address should be generated by the SPINE Driver API. 51794 is the IANA PEN of Bosch.IO GmbH. |
mbs.spine.localDevice.addressGenericClient |
|
String |
This property should be set if local SPINE device should use a generic client feature for all its requests to other devices. The user can provide the entity address and the feature address of the client in the same property, separated by ::. If not configured, the SPINE local device will always use its primary node management feature (entity 0, feature 0) as a client. |
mbs.spine.driver.ship.includeLocalDevice |
false |
Boolean |
If set to true, then the SPINE Controller will list the local SPINE device as well as the remote devices. |
mbs.spine.driver.ship.includeVirtualDevices |
false |
Boolean |
If set to true, then the SPINE Controller will list virtual SPINE devices as well as the remote devices. |
mbs.spine.driver.ship.reconnectionAttempts |
1 |
Integer |
When the SPINE controller receives a notification that a SHIP node is paired, then it sends a SPINE NodeManagementDetailedDiscovery request to it. If the request fails, then the SPINE controller discards the device. Using this property, it may be configured that the SPINE controller will repeat the failed NodeManagementDetailedDiscovery request after a certain delay. |
mbs.spine.driver.ship.reconnectionDelays |
20000 |
Integer |
This property has meaning only if mbs.spine.driver.ship.reconnectionAttempts has value greater than 1. It defines the delay (in milliseconds) to wait before the repeated NodeManagementDetailedDiscovery reuqest is sent. |
mbs.spine.driver.ship.maxCommunicationLatency |
50000 |
Integer |
This property defines the maximum latency of the SHIP communication channel, it SHOULD be a non-negative value in milliseconds. The delay is added to the max-response-delay property of the target SPINE feature (if any) or to the default max-response-delay (10 seconds). When a SPINE request should be acknowledged by the target device, the SPINE protocol driver will wait up to the calculated amount of time (maxCommunicationLatency + maxResponseDelay) for the response. |
mbs.spine.driver.ship.subscribeBeforeDetailedDiscovery |
false |
Boolean |
Setting this property to true makes the SPINE protocol driver first send a NodeManagementSubscriptionRequestCall to subscribe for changes on the primary NodeManagement feature of the remote SPINE device and then send the NodeManagementDetailedDiscovery request. This is needed in case not to miss a change event between the initial NodeManagementDetailedDiscovery and a subsequent NodeManagementSubscriptionRequestCall request. The problem is solved in the EEBus SPINE specification with partial subscription, these will be implemented in the future releases. |
mbs.spine.hdm.adapter.skipManufacturerData |
false |
Boolean |
By default, SPINE HDM adapter reads DeviceClassificationManufacturerData (Serial Number, Vendor Code, Brand Name, etc) and sets the result as HomeDevice properties. Setting this property to true makes the SPINE adapter skip reading manufacturer data and do not set it as HomeDevice properties. |
mbs.spine.hdm.adapter.includeProtocolLinks |
false |
Boolean |
Setting this property to true makes the SPINE adapter include protocol links as HomeDevice properties. |
mbs.spine.hdm.adapter.newDeviceSync |
false |
Boolean |
Setting this property to true makes the SPINE adapter process each new SPINE device synchroniously. By default, each new SPINE device is processed in a separate thread of the SPINE HDM adapter. |
mbs.spine.hdm.provider.refreshPeriod |
2000 |
Long |
This property defines an interval (in milliseconds) during which the provider will not send a new READ datagram for the same data, but it will rather use the cached value. This is needed not to flush the SPINE device with multiple READ datagrams when HDM initializes its Device Class Object cache. |
mbs.spine.hdm.provider.smartenergy.ignoreEmptySequences |
false |
Boolean |
Usually, when a SPINE device finishes a power sequence, it sends two notification datagrams - the first one is for the new state of the current power sequence (completed, invalid, inactive, paused), then followed by an empty list of power sequence alternatives. Setting this property to true forces the SmartEnergy DCO provider to ignore the second datagram. |
mbs.spine.hdm.provider.smartenergy.ignoreEmptySequences.completed |
false |
Boolean |
The same as mbs.spine.hdm.provider.smartenergy.ignoreEmptySequences. |
mbs.spine.hdm.provider.smartenergy.ignoreEmptySequences.invalid |
false |
Boolean |
Ignores the empty power sequence list, if the last power sequence was set as invalid. |
mbs.spine.hdm.provider.smartenergy.ignoreEmptySequences.inactive |
false |
Boolean |
Ignores the empty power sequence list, if the last power sequence was set as inactive. |
mbs.spine.hdm.provider.smartenergy.ignoreEmptySequences.paused |
false |
Boolean |
Ignores the empty power sequence list, if the last power sequence was set as paused. |
mbs.spine.hdm.provider.useFilter |
true |
Boolean |
When this property is set to true (default), then the provider will use SPINE restricted function exchange datagrams with filters when possible. |
mbs.spine.hdm.provider.checkSupportedFunctionRead |
true |
Boolean |
By default, the DCO provider will send READ datagrams to remote server features, only if these features report to support READ-access functions. Setting this property to false makes the DCO provider skip the check for supported functions and do always send READ datagrams. |
mbs.spine.hdm.provider.checkSupportedFunctionWrite |
true |
Boolean |
By default, the DCO provider will send WRITE datagrams to remote server features, only if these features report to support WRITE-access functions. Setting this property to false makes the DCO provider skip the check for supported functions and do always send WRITE datagrams. |
mbs.spine.hdm.provider.standardclasses.matchValue |
1 |
Integer |
Default match value for all device classes of the provider. Set this property to zero or less in order to disable partially or completely the provider. |
mbs.spine.hdm.provider.standardclasses.Bill.matchValue |
1 |
Integer |
Default match value for Bill device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.DeviceConfiguration.matchValue |
1 |
Integer |
Default match value for DeviceConfiguration device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.DeviceDiagnosis.matchValue |
1 |
Integer |
Default match value for DeviceDiagnosis device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.ElectricalConnection.matchValue |
1 |
Integer |
Default match value for ElectricalConnection device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.ElectricalConnections.matchValue |
1 |
Integer |
Default match value for ElectricalConnections device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.Identification.matchValue |
1 |
Integer |
Default match value for Identification device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.IncentiveTable.matchValue |
1 |
Integer |
Default match value for IncentiveTable device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.LoadControlLimit.matchValue |
1 |
Integer |
Default match value for LoadControlLimit device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.LoadControlLimits.matchValue |
1 |
Integer |
Default match value for LoadControlLimits device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.Measurement.matchValue |
1 |
Integer |
Default match value for Measurement device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.Measurements.matchValue |
1 |
Integer |
Default match value for Measurements device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.hdm.provider.standardclasses.TimeSeries.matchValue |
1 |
Integer |
Default match value for TimeSeries device class. Set this property to zero or less in order to disable this device class in the provider. |
mbs.spine.demo.chargingstation.extendLocalDevice |
false |
Boolean |
By default, the demo registers a SPINE Charging Station as a separate virtual SPINE device. Setting this property to true makes the demo as a new entity of the local SPINE device (the OSGi framework). |
mbs.spine.demo.chargingstation.ev |
false |
Boolean |
If this property is set to true, then the Charging Station demo will be started with a simulated electrical vehicle attached to it. Adding and removing of electrical vehicles can be simulated during runtime by console commands. |
mbs.spine.demo.chargingstation.measurementInterval |
15 * 1000 |
Long |
The interval (in milliseconds) between two measured value reports from the demo charging station device. |