A new version of Automation module is introduced in "Bosch IoT Gateway SDK 9.2"
The module defines new Java API and its implementation plus the whole automation engine implementation, replaced with a new one.
The generic FIM Automation REST API also has new implementation.
The new module is implemented in a new set of bundles but some of their names duplicate the old ones as follows:
com.prosyst.mbs.automation.api
com.prosyst.mbs.automation.commands
com.prosyst.mbs.automation.core
com.prosyst.mbs.automation.handler.core
com.prosyst.mbs.automation.handler.history
com.prosyst.mbs.automation.handler.script
com.prosyst.mbs.automation.webconsole
com.prosyst.mbs.automation.inventory
Persistent storage and backup/restore is supported for the Automation resources – rules and templates; module types are not persisted anymore.
Automation resources (rules and templates) can be provided with JSON files: on the file system, or packed in bundles, module types can't be provided with JSON files anymore.
The automation resources (rules and templates) can be created through the provided Automation Web Console Plugin.
The new module also has generic implementation of Functional Item Permissions support. Specific Automation Permissions and Policy Admin integration will be implemented with future releases.
The console commands for the new Automation module are in the same "atm" group but the support for loading and exporting the module types is removed. The commands are with new names and behavior.
Now the module types are provided as services, unseparated from their logic and they are named "Handlers". One service for one handler.
Composite module types are not supported anymore.
The JSON file resources in bundles are now placed in the folder OSGI-INF.
The JSON format is also changed as follows:
in rules:
actions + conditions -> flow
visibility is removed
in modules:
type -> handlerUID
label -> name
configuration + inputs -> bindings
in templates:
label -> name
configDescriptions -> variables
actions + conditions -> flow
visibility is removed
in variables(configDescriptions):
name -> id
type -> values -> GENERIC, NUMERIC, ENUM, BEAN, ANY
classes -> new one -> value is list with names of the classes
Apart from the differences described above, everything else remains compatible between the two versions.
The new Automation Engine provides all of the old system handlers.
The following new system handlers are provided:
Functional Item handlers:
Item Get Property action
History handlers:
History Add Entry action
History Remove Entry action
The Automation module includes: the new Automation rule engine, the deprecated ESH Rule engine and the deprecated HAM APIs
Changes and bug fixes
The old Automation module APIs and implementation are deprecated and kept for backward compatibility.
Support for Jetty is added for HAM and Automation ESH Web Admin Console Plugin, JSON-RPC, REST, etc.
Migration guide from ESH to new Automation is created in documentation and backup/restore procedure is implemented.
In HAM com.prosyst.mbs.automation.ham.jsonrpc.jar the package com.prosyst.mbs.automation.ham.jsonrpc is renamed to com.prosyst.mbs.services.ham.remote.
The default values in the HAM Providers Configuration is fixed to correspond to the attributes' descriptions.
The demos "Automation HAM Status Demo", "Automation ESH JSON Rules Demo", "Automation ESH API Demo" and "Automation ESH Module Types Demo" are fixed to prevent errors on uninstall and configurations are updated.
Backup/restore for HAM and Automation ESH is fixed.
Importing custom HAM entities already work. Now all import actions are run only after Platform State advances to ACTIVE.
Bluetooth LE 1.4.0
New features
Added support for the BCDS CISS device:
Driver service provider: com.prosyst.mbs.bluetooth.le.driver.service.provider.bcds.ciss.jar provides developer-friendly driver-level API for the GATT services of the CISS device.
DA Items provider: com.prosyst.mbs.bluetooth.le.da.items.provider.bcds.ciss.jar provides DA Items representation of the CISS device.
Added support for device pairing:
new method BluetoothLEDevice.pair() in the driver API
new "pair" console command in the "ble" command group
Support for multiple controllers added in the DA Adapter.
Changes and bug fixes
Required execution environment for the DA Adapter and the TinyB Driver bundles was lowered to J2SE-1.8,JavaSE/compact1
The shortcut for the "power" console command was changed from "p" to "pw" to avoid the collision with the "pair" command.
By default, the Bluetooth LE console commands bundle will not subscribe for events at startup. To see Bluetooth LE on the System.out, use the "subscribe" command from the "ble" group.
The com.prosyst.mbs.services.btle.gatt.type.PnPID bean was fixed to correctly encode and decode the PnPID values.
Various performance and stability fixes in the TinyB driver.
Cameras 4.4.0
New features
User authentication is requested both for HTTP proxy and RTSP proxy. Access control can be further specified in details in PolicyAdmin using dedicated permission com.prosyst.mbs.services.cameras.CameraPermission and defining the camera either by its IP address or by camera ID
Changes and bug fixes
Deprecated cameras drivers bundles:
com.prosyst.mbs.cameras.driver.ipcam.jar
com.prosyst.mbs.cameras.driver.mobotix.jar
com.prosyst.mbs.cameras.driver.motionguide.jar
com.prosyst.mbs.cameras.driver.panasonic.jar
com.prosyst.mbs.cameras.driver.udp.jar
com.prosyst.mbs.cameras.driver.udp.ipx.jar
Stability fixes for motion detection
Fix for incorrect image snapshot URL (URL parameters)
Fix for incorrect video stream URL (URL parameters)
Fixes in RTSP proxy - hostname resolving is now optional and can be enabled by system property cameras.rtsp.hostname=true By default IP address is used instead hostname
Fix for EventSubscription response with ReferenceParameters and SubscriptionID
Fix for console command profileupdate
Several fixes for security permissions
ConfigTree 2.3.3002
New features
Added console commands test case.
Changes and bug fixes
Added support for Eclipse Jetty.
Device Access 3.4.0
New features
Added new constants in com.prosyst.mbs.services.da.attributes.Attributes:
OPERATES_WASHER_DRYER
OPERATES_CLEANING_ROBOT
OPERATES_HOOD
OPERATES_HOB
CHARACTERISTIC_MIN_VALUE
CHARACTERISTIC_MAX_VALUE
CHARACTERISTIC_AVERAGE_VALUE
CHARACTERISTIC_STANDARD_DEVIATION
CHARACTERISTIC_3_AXIS
CHARACTERISTIC_TOTAL
CHARACTERISTIC_ABOVE_THRESHOLD
CHARACTERISTIC_BELOW_THRESHOLD
Changes and bug fixes
Removed HDM WebAdmin warning for WebSocket. When a WebSocket fails to open the HDM WebAdmin switches to long polling without UI notification.
Fixed method calls on disposed target functional items to throw exceptions in DA Mapping.
Fixed creation of device with the same UID as its device item via Device Admin to fail.
Database 3.1.0
New features
Added backup/restore API.
Added console commands test case.
Changes and bug fixes
Deprecated SQLite package.
Updated SQLite to version 3.26.0.
Removed macOS 32 bit support.
DECT 2.3.4
New features
Мinor source code improvements.
DevStreams 3.0.2005
Changes and bug fixes
Jetty support.
Minor bugfixing.
FIM 2.3.0
New features
Extended the supported Functional Item metadata:
Added operation executed event metadata. Defined OperationEvent and OperationEventProperty annotations.
Added regular expression metadata to enable definition of the expected format for string values. Defined Regex annotation.
Changed EnumMetadata to be "static", i.e Name annotation used for the enum name definition instead of the deprecated enum toString.
Deprecated Enum and EnumConst annotations . As of 1.1.0 package version, standard java enums should be used instead.
Deprecated Status annotation and related to it com.prosyst.mbs.services.fim.metadata.PropertyMetadata.getAsyncStatusProperty() and com.prosyst.mbs.services.fim.metadata.OperationMetadata.getAsyncStatusProperty() methods.
Relaxed metadata instances creation in order to allow NULL collections as creation parameters.
Relaxed com.prosyst.mbs.services.fim.metadata.CreationMetadata metadata definition. No need to wrap the data before invocation The provided fields are wrapped with unmodifiable map to provide users with "read-only" access to the fields.
Added special support for Number types deep equals and comparison via com.prosyst.mbs.services.fim.util.TypeUtil. This enables to consider numbers as equal no matter of their types, i.e. Double 1.0 is equal to Integer 1.
Added validation of the input data for fields with defined regex pattern in property or operation metadata.
Added sorting support in the JSON data viewers.
Added a new UI button for refreshing readable non-eventable properties. No need to refresh the whole FunctionalItem page UI in order to get the current property value if not defined as eventable.
Extended metadata viewer to display operation executed event metadata and regex value for String types metadata.
Changes and bug fixes
Functional Item Management Demo kitman scripts names changed, e.g. Functional Item Management Demo Simple to Functional Item Management Simple Demo.
Fixed checking FunctionalItem GET permission on tracking item services. Protects FunctionalItem instances access within service listeners/trackers in security mode.
Fixed cleaning items stored data in FIM Core DB on bundle provider uninstall, i.e. as it is expected by default if not the system property fim.data.clean.onUnintall is set to false.
Fixed the ability to set NULL value for Boolean type input values.
Framework 8.4.0
New features
Parametrization of properties files - it is possible to describe values in properties files by referring to values of other system properties or environment variables
Some of com.prosyst.mbs.impl.framework.protectedtypes data types are exposed as public API
Provide public API to track bundle, service and framework events. This is required for entities (as Log bundle for example), which would like to log all events, including those occurred before the entity is activated.
Restore backup providers improvements
CertificateManager should be configurable whether to register javax.net.ssl.{KeyManager/TrustManager} services
Changes and bug fixes
Fix for: WARNING: An illegal reflective access operation has occurred
Fix for: Backup admin test case fails during nightly testing
Fix for: Package export issue with one and the same package exported from two different bundles from different feature subsystems
Optimization in service registration performance
Fix for: Errors while installing kit: Conditional Permission Admin Demo
Fix for: Updated the copyright header to point to 2019
Fix for: Security of mbs.customFrameworkLoader configurations is leakable.
Fix for: fweventsmanager fails during nightly testing
Fix for: BackupProvider services that are deactivated and reactivated during a backup or restore are not taken into account
Fix for: Missing classes from framework.api - observed for com.prosyst.util.hash.XProperties and com.prosyst.util.hash.Key
Fix for: ConcurrentModificationException in services manager
Restore backup providers improvements
Removed MacOS x86 support
Fix for: java.lang.NumberFormatException in com.prosyst.mbs.impl.framework.FunctionalGroupImpl
Fix for: Z-Wave backup provider isn't loaded when using mbs.backupadmin.autobackup.file
Optimization in resolving of bundles
Fix for: Framework cannot be created with null configuration through framework factory
Fix for: Framework hooks test case fails during nightly testing
Fix for: Android 5.0 minimal image in emulator results in problematic imports in logs
Fix for: NullPointerException in com.prosyst.mbs.impl.framework.ServiceCacheOC.removeService
Fix for: Path traversal issue, when bundles work with data files.
Home Connect 1.2.0
New features
Home Connect Driver API new classes:
Added new classes for the home appliances - WasherDryer, Hood, Hob, CleaningRobot. These new classes contain the appliance TYPE constant plus any additional constants for this appliance. Updated HomeConnectType enum with the new known types - WasherDryer, Hood, Hob, CleaningRobot.
Added new common status classes - StatusBatteryLevel, StatusBatteryCharging, StatusChargingConnection. For the moment these are used only for the cleaning robot, but by definition they are common for all battery-operated appliances.
HomeConnectWasher.Program: Added a lot of new known program keys - Sensitive Auto30, Auto40, Auto60, Chiffon, Curtains, etc.
HomeConnectDryer.Program: Added a lot of new known program keys - Blankets, BusinessShirts, Hygiene, Jeans, etc.
HomeConnectOven.Program: Added heating mode programs available on oven for the North Amerikan market - ConvectionMultiRack, Bake, Pizza.
HomeConnectOven.Option: Added new known options - FastPreHeat, DelayedStart.
HomeConnectCoffeeMaker: Added event keys for empty bean container and empty water tank.
HomeConnectCoffeeMaker.FillQuantityOption: Added min/max/stepsize constants for stand-alone coffee makers and build-in coffee machine sold in US (these are different from the EU).
Added support for getting and executing commands of a home appliance, e.g. pause, resume program.
Added support for getting the current phase of a home appliance. For the moment the property phase is supported only by the cleaning robot.
Removed fixed options ("https://api.home-connect.com" and "https://simulator.home-connect.com") for server URL in Home Connect Driver configuration. Any custom URL can be set by the user.
Home Connect DA Items API new interfaces:
Added CleaningModeControl for representation of HomeConnectCleaningRobot.CleaningModeOption(Silent, Standart, Power). Used CleaningMode enumeration with corresponding values.
Added MapControl which represent HomeConnectCleaningRobot.ReferenceMapIdOption (TempMap, Map1-MapN), HomeConnectCleaningRobot.Setting - for the names of the available maps, HomeConnectCleaningRobot.Setting.CurrentMapand for the status of the lastSelectedMap.
Changes and bug fixes
com.prosyst.mbs.services.homeconnect package version updated to 1.1.
com.prosyst.mbs.services.homeconnect.util package version updated to 1.1.
com.prosyst.mbs.services.homeconnect.da.items package version updated to 1.1
Default value of mbs.homeconnect.driver.sseReconnectTimeout increased to 120000 (2 minutes), old value was 60000.
Removed unnecessary import packages and permissions from the Home Connect bundles.
Fixed problem with logging when security is enabled.
JSON-RPC 1.3.2
Changes and bug fixes
Fix for: Path Traversal in the backup & restore functionality
Fix for: Leakage of stack traces in the backup & restore functionality
Fix for: JSON RPC Servlet should register with a CustomizedHttpContext
KNX 5.3.0
New features
Group Cache improvements - the values in data link group cache are cleared on link disconnection. This behavior can be configured by a config property "group_cache_clean_on_disconnect" (default value true). The new config property is available for all drivers. Also added new method DataLink.clearGroupCache(int), applications can use this method to clear cached values for certain group addresses during runtime.
KNX project parser for new KNX project scheme from ETS 5.7.0 (http://knx.org/xml/project/20).
Changes and bug fixes
KNX config wizard changed to use the whiteboard pattern for registering its servlets and resources.
Extended list of known KNX manufacturers (KNX Driver Core API Bundle, class com.prosyst.mbs.services.knx.KnxManufacturer).
Fixed the return value of DPTTariffActiveEnergy.getTariff() method to be an integer within the correct range [0..254].
History 1.1.0
New features
Added references support for variables. Allows replacement with a value referenced with a bean field name or a map key. The format is defined in com.prosyst.mbs.services.history.config.HistoryConfiguration.
Extended variables creation and their replacement in the com.prosyst.mbs.services.history.spi.HistoryUtil.
Defined operation executed events metadata for the HistoryAdmin and HistoryConfigurationAdmin.
Added history data backup support.
Defined new producer constants in com.prosyst.mbs.services.history.producer.ItemEventingConfigurationConstants in order to simplify the configurations for Functional Item events.
Added Item Eventing Producer Handler to produce history entries based on the defined Functional Item events history configurations.
Added new console commands:
Added console commands for the History Configuration Admin defined operations.
Added console commands for subscription the History Admin operations events.
mBProfiler 6.4.4002
Changes and bug fixes
Removed macOS 32 bit support.
Core 1.3.3
Changes and bug fixes
Errors while exporting DB demo project
Errors while exporting process demo project
Externals 1.3.0
New features
Added the following bundles from Equinox 4.10: org.eclipse.jetty.util, org.eclipse.jetty.http, org.eclipse.jetty.io,org.eclipse.jetty.security,org.eclipse.jetty.server, org.eclipse.jetty.servlet,org.eclipse.equinox.http.servlet
Added a new bundle javax.servlet 3.1
Changes and bug fixes
Fix for: Deadlock in org.apache.aries.spifly activator
Fix for: sources jar do not contain the NOTICE and license files for the distributed third party sources
OSGi 1.4.0
New features
Log Service improvements - all the framework, bundle and service events including the ones before starting of the Log bundle are logged
Add more informative info/debug logs for subsystem installation failures
Http should support Servlet 3.0 Specification
Compatibility with OSGi R6 Http Whiteboard Specification
Http should support asynchronous IO processing
Add support for whiteboard registration of HTTP resources
Added HttpService service.id property to HttpHelper service registration by http.hetty
Parameterized configuration properties files for config admin
Changes and bug fixes
Fix for: Bind method isn't called for already registered services
Fix for: Bad thread local context (not the one of the bundle) while activating a component
Fix for: Configuration ConfigurationEvent.CM_UPDATED doesn't work for multiple SCR components with the same configuration
Fix for: Some collections provided by subsystem API are not completely immutable as required
Fix for: Subsystem test case sometimes fails on testImplShutdownInstall
Fix for: Failed resolving for a scenario, where a bundle from one feature subsystem is exported and this package is imported from a bundle from another feature subsystem
Fix for: CustomizedHttpContext getResource method returns wrong value
Fix for: Http whiteboard resources are not protected by the default HttpContext
Fix for: Default HttpContext permits all request when com.prosyst.mbs.util.simplelogin is stopped
Fix for: Incorrect security handling HttpService and default HttpContext
Fix for: Subscription event topic could be changed
Fix for: IllegalStateException Bundle with id XXX is in UNINSTALLED state from EventAdmin
Fix for: NullPointerException in com.prosyst.mbs.impl.services.event.ASynchQueue.run()
Fix for: The JSON parser throws exception on java.lang.Number data
Web 1.1.2002
Changes and bug fixes
Fix for: license file inconsistency in org.apache.felix.webconsole.jar about usage of org.json
Fix for: Register Apache Web Console Servlet with the default HttpContext
Fix for: Missing notice and license file in com.prosyst.mbs.web.console.shell.jar
Fix for: Errors, when importing jersey-fileupload demo in Eclipse
mBSA 3.4.1004
Changes and bug fixes
Мinor bug fixes
Media Streams 2.5.2002
Changes and bug fixes
Minor source code improvements
Modbus 1.0.1001
New features
More unit tests provided to cover the implementations.
Changes and bug fixes
Some minor typo fixes.
mToolkit 3.7.2003
Changes and bug fixes
Removed macOS 32 bit support.
Fixed showing web admin when HTTPS is used.
Fixed creating TEE Project with Testing Framework Assertion on Eclipse 2018.
Network Manager 2.0.3002
New features
Added console commands test case.
OMA 1.4.3001
Changes and bug fixes
Added support for Eclipse Jetty.
ONVIF 1.1.0
New features
Added persistence of registered ONVIF devices after bundle/server restart
Added new OSGi service ONVIF discovery
Added integration with Device Access and Functional Items Manager
Added Functional Item for ONVIF discovery, defining operations for scanning the network for ONVIF devices and FI property containing information for the discovered ONVIF devices + operation to register an ONVIF device as a DA device providing login credentials as parameters
Added Functional Item for Media Service for each media profile defining operations to retrieve image snapshot URL and video stream URL
Added Functional Item for Pan-Tilt-Zoom operations defining operations for move and zoom control (if supported by the camera)
Added Functional Item Detector - for Motion events detection
Added Functional Item Factory reset
Changes and bug fixes
Supporting ONVIF EventSubscription with ReferenceParameters and SubscriptionID