osgi users' forum germany - meeting darmstadt 2014-04-14 - qivicon
TRANSCRIPT
QIVICON OSGi Users’ Forum Germany – 14th April 2014, Darmstadt Jochen Hiller, Darmstadt, Connected Home, Deutsche Telekom AG
29/04/14 – confidential – 2
WELCOME
To another OSGi event hosted in Darmstadt at Deutsche Telekom...
29/04/14 - strictly confidential - 3 - streng vertraulich - 3 29/04/14 – streng vertraulich, vertraulich, intern, öffentlich – 3
QIVICON. THE SMART HOME PLATFORM.
29/04/14 4 29/04/14 4
CURRENT MARKET SITUATION.
independent, single solutions available QIVICON – open eco-system
actuators/
sensors hardware
backend
software QIVICON
homebase
basic client actuators/
sensors
QIVICON: standardized platform for the mass market. “The time is right”
applications
stand alone
solutions premium solutions
Do-it-Yourself solutions
29/04/14 5 5
STANDARDIZED PLATFORM FOR THE MASS MARKET.
„high end“
„do it yourself“
„mass market“
29/04/14 6 29/04/14 6
OUR VISION.
single offerings product offerings based on the QIVICON platform
home appliances
mood management
sun shading systems
heating control
6
29/04/14 7 29/04/14 7 7
DEUTSCHE TELEKOM: A RELIABLE AND TRUSTED PARTNER FOR A SMART HOME ECOSYSTEM.
Which is the most trusted company to deliver a smart home solution from a single source?
Smart Home – future chances for different industries
29/04/14 8
AN OPEN PARTNER ECO-SYSTEM BASED ON THE QIVICON PLATFORM.
QIVICON – the platform for the Smart Home
Partner-Ecosystem
B2C
Relationship
Home Base
• SDK • Portal incl. Shop
• Installation Assistant • Backend
End-Customer
Platform
Partner Solution (HW / SW)
Platform
Usage
B2B
Relationship
• Basic Control
8
Services-, Hardware Manufacturer- , Development- & Consulting Partner
29/04/14 9 9
PARTNER STATUS ACCORDING TO INDUSTRIES (OCTOBER 2013).
agreed partnership agreed partnership
security, monitoring
window, door
home appliances
home automation
sales channel
lighting
health, AAL
consumer electronics
photovoltaics
energy provider
awning, shading
* multiple mention due to activity in different industries ** grey boxes to reflect companies that do not want to be shown at the moment
others
1 X
in discussions
1 X
1 X *
**
**
1 X
1 X
*
*
**
**
**
QIVICON PLATFORM ARCHITECTURE.
QIVICON – Architecture
QIVICON Platform
QIVICON UI
Portal/ Shop
Partner
Cloud Services
At Home
Local App
Local App
Home Base
Local App
§ QIVICON Home Base is the central control unit § Devices are connected via ZigBee, HomeMatic (popular radio
protocol in Germany) and IP (further in-house technologies can be added – via USB sticks)
§ Apps are running locally – and can be controlled remotely
§ Backend provides § QIVICON UI (e.g. for pairing) § Remote access capabilities § End customer portal/shop § Customer support interfaces
Customer Support
SDK
Internet Router
Remote Apps
IP
2nd option
1st option
QIVICON HOME BASE. HARDWARE SPECIFICATIONS.
29/04/14 - strictly confidential - 11
§ 1-Core ARM v11, 600 MHz § 512 MB RAM
§ 2 GB Flash § TPM Module § 4 USB Slots § Optional 3G Stick § Optional Battery Pack
Wireless HA connectivity: § Homematic (built-in)
§ ZigBee (USB Stick)
QIVICON HOME BASE. SOFTWARE SPECIFICATIONS.
29/04/14 - strictly confidential - 12
HGI SWEX underpinning: § Linux OS
§ JavaSE 7 Embedded VM § OSGi 4.2 Runtime (ProSyst)
§ QIVICON APIs
Remote Access: § OAuth2 Authentication § Synchronous: JSON-RPC § Server Push: WebSockets
29/04/14 – confidential – 13
QIVICON ARCHITECTURE
Linux Operating System
QIVICON Runtime
Home Automation
Applications
Java VM OSGi
Device Abstraction RuleEngine
Protocols (Zigbee, BidCos, KNX, …)
Notification
External Access
RemoteAccess HttpServer
Rooms, Groups
Application Application Application
Provisioning Connection
Management
Basic Application
Config Client
Backend Integration
Uses/ Extends
Uses/ Extends
QIVICON SDK. SIMPLE APPLICATION DEVELOPMENT.
Eclipse based Development Toolkit • Project Wizards
• Deployment Tools
• Debugging, Profiling
• Win/Linux/Mac
QIVICON Emulator QIVICON Home Base
Run/Debug
APIs/Services
20 June 2013 QIVICON Developer Training 14
QIVICON SDK. SIMPLE APPLICATION DEVELOPMENT.
§ QIVICON Services exposed via RemoteAccess API § DeviceAbstraction, RuleEngine, EventAdmin § permission for external applications required
§ Common API for local access AND access via QIVICON platform § e.g. for SmartPhone applications connecting
locally and via Internet § Reliable communication between backend /
QIVICON Box § Push Notification
§ WebSockets, Long Polling
§ Exposure of application services supported § locally, via Internet
Jochen Hiller / QIVICON SDK Overview 15
Device Abstraction (Home Device Manager) RuleEngine
Application OSGi
EventAdmin
2012-10-09
QIVICON Platform
RemoteAccess (Pull/Push)
RemoteAccess (Pull/Push)
20 June 2013 QIVICON Developer Training
QIVICON CLIENT API. USE CASES.
Connection Management • Discovery • Transparent
Authorization • OAuth2 • Basic Auth
JSON-RPC • Backend • Home Base
Events • WebSockets • Long Polling
QIVICON Client API
16
QIVICON AND OSGI
29/04/14 – confidential – 17
§ OSGi Concepts provided to QIVICON developer § OSGi Framework 4.2 § Application management (based on PAR files, predecessor of Subsystems) § LogService, ConfigAdmin, EventAdmin, HttpService, Declarative Services § Java/OSGi Security concept § OpenSource tools, e.g. Felix WebConsole (for development)
§ OSGi Concepts used internally in QIVICON § Remote Management using TR-069 § Dynamic installation and update management of OSGi bundles § DMTAdmin for abstracted hardware access § HttpService, WebExtender alike concept § UserAdmin
SOME LESSONS LEARNED
29/04/14 – confidential – 18
§ JavaSE Embedded 7 rocks § Security concept to complex for „normal“ developers § Even if simplified by QiviconManifest § (OpenSource) Libraries not ready for OSGi security model (JSON, GSON, Apache
HttpClient) § OAuth is simple, but adds some complexity
§ Platform reliability must be ensured § Careful Timeout/Thread handling of core OSGi services (framework, event handling, ...) § Review process of developer applications (automated static/partially dynamic analysis)
§ Device Abstraction: really lot of detailed work § Backup/Restore service needed § Higher-Level Platform State needed § HttpService from OSGi 4.2 lacks essential features (filters, listener, authn)
CONTACT MYSELF
§ Java / OSGi / Eclipse Developer § OpenSource Developer since 1998
§ Developer Evangelist @ QIVICON
§ Product Owner QIVICON SDK
§ Contact me: [email protected]
2012-10-09 Jochen Hiller / QIVICON SDK Overview 19