This document summarizes the status of the digitalSTROM server development. It discusses the design goals, timeline, and structure of the digitalSTROM server (dSS). Key points include:
- The dSS has a high level of abstraction, simple objects, and open APIs to allow easy access.
- Implementation is in C++ on Linux, with ports to Mac OS X and ARM underway. An open source release occurred in January 2010.
- The roadmap includes adding features like SSL, installation tools, and enhancing logging/configuration. Developers are invited to contribute code, testing, documentation and more.
11. Design-Goals
• High level of abstraction
• Simple objects
• Easy access using modern APIs
• Powerful services
• Open interfaces
8 futureLAB
12. Design-Goals
• High level of abstraction
• Simple objects
• Easy access using modern APIs
• Powerful services
• Open interfaces
• Protection of privacy
• Integrated Rolemodel
9 futureLAB
13. Design-Goals
• High level of abstraction
• Simple objects
• Easy access using modern APIs
• Powerful services
• Open interfaces
• Protection of privacy
• Integrated Rolemodel
• Transparent simulation of a
(partial) apartment
10 futureLAB
14. Design-Goals
• High level of abstraction
• Simple objects
• Easy access using modern APIs
• Powerful services
• Open interfaces
• Protection of privacy
• Integrated Rolemodel
• Transparent simulation
• Integration of non-
digitalSTROM devices
11 futureLAB
15. Design-Goals
• High level of abstraction
• Simple objects
• Easy access using modern APIs
• Powerful services
• Open interfaces
• Protection of privacy
• Integrated Rolemodel
• Transparent simulation
• Integration of non-
digitalSTROM devices
• Efficient installation
12 futureLAB
16. dSS Structure overview
Property Data
SOAP /
Tree JSON
Data
Bus In
(dS485) dS485 Frames
Bus Model
Event Data
Metering
dS485 Frames Handler Maintenance
Simulation Data
Store Time
Series
Data
Timed-Event
Event
SOAP /
Time Series Data
Event
Event
SOAP / JSON
Skript-Engine Highlevel Event JSON
Call
Event-Queue
Call
Other Event
Handlers Call
Call
Simulation
dS485 Frames
Bus-Request dS485
Router Bus Event
Dispatcher Proxy dS485 Frames
Bus Out
(dS485)
Data Logs
13 futureLAB
19. Specification: High Level Events
apartment.sendEvent("off", "yellow");
zone(1).sendEvent("darker");
device("00000000FCAF0123").sendEvent("warmer");
var north = new set.tag("northside");
var shades = new set.group("gray");
north.intersect(shades).sendEvent("goodnight");
16 futureLAB
20. Implementation
• Linux based, C++, Intel
• SOAP & AJAX/JSON APIs
• Mac OS X (BSD Unix) port
• ARM port (embedded)
• January 2010 ~ 70‘000 lines of
code
• Continous extension
17 futureLAB
21. Open Source
• Security
• Creativity
• Speed
• Diversity
• Localization
• Quality
• Open Source Pre-Release in June 2009
• Open Source Release today (January 2010)
• GPL3 based dual-license model
• http://developer.digitalstrom.org
18 futureLAB
23. Nächste Schritte
• V0.9 permissions
(~ April)
•
Rolebased
• Update mechanisms
• V1.0 hardening
(~ June)
•
Security
• Field Tests & Bugfixing
• Beyond port
•
Windows
• Event routing
• Property tree synchronization for multiple dSSs
20 futureLAB
24. Offers to developers
• dSS code (GPL3)
• Mailing lists
• Early access to digitalSTROM hardware
• Repository hosting (Gitorious)
• Access to testsite(s) (demo-apartment)
• Script exchange platform
• Free digitalSTROM.org membership in
exchange for substantial contributions
21 futureLAB
25. Join us
• Become part of the revolution
• Share ideas
• Develop applications, widgets, ...
• Provide testing & feedback
• Submit Patches (Features, Bugfixes)
• Port to your favorite platform (OS,
CPUs)
• Share tutorials & examples
• Help with documentation
• Provide translations
• ...
22 futureLAB