Matthias Aebi, Vorstandsmitglied der digitalSTROM-Allianz, blickte als Erstes auf die Fortschritte in der Entwicklung der Open Source Software des digitalSTROM-Servers (dSS) zurück und stellte fest, dass die beim ersten Developer Day 2010 gesteckten Ziele weitestgehend erreicht wurden. Als Beispiel stellte er den digitalSTROM Apps store vor, der die Verteilung der Javascript basierten Plugins, den dSS-Apps, ermöglicht. Im zweiten Teil des Referates ging Aebi auf die interne Struktur des dSS ein und zeigte, an welchen Punkten Skripte auf Informationen zugreifen und das Verhalten des dSS beeinflussen können. Auch wurde der digitalSTROM accessHUB vorgestellt, mit dem der Fernzugriff auf den dSS ohne manuelle Konfiguration möglich wird. Zum Abschluss stellte Aebi den dSS-Entwicklungsprozess näher vor.
Mehr unter: www.digitalstrom.org
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
1. digitalSTROM Server - State of the
Union
digitalSTROM developerDAY, 27. Januar 2011
Matthias Aebi, Vorstandsmitglied digitalSTROM.org
Monday, January 31, 2011 1
2. digitalSTROM System
LAN
220V
dS485 Bus
220V
220V
Jan 31, 2011 2
Monday, January 31, 2011 2
3. Vor einem Jahr ...
Next Steps & Roadmap
Nächste Schritte
• V0.7.5
✔
(today)
• Code Cleanup
• V0.9 permissions
• ✔ ✔
(~ April)
JSON & SOAP calls clean & complete
• Rolebased
• Update mechanisms✔
• V0.8for SOAP & JSON ✔
(~ February)
• SSL
• Finalize installation GUI ✔ • V1.0 hardening ✔
(~ June)
• Enhanced logging ✔ • Security
• Field Tests & Bugfixing ✔
• Configuration backup & restore ✘
• Beyond port
•
Windows
19 • Event routing
futureLAB
• Property tree synchronization for multiple dSSs
20 futureLAB
Alles richtig, aber aufwendiger
und ...
Jan 31, 2011 3
Monday, January 31, 2011 3
4. Zusätzliche Projekte
Grosse Klimasteuerung in Neubau der IUCN, Gland
Wohnhaus Neubauten (Wiesbaden, Uetikon)
Altbauwohnung (Bern)
Demowohnungen (Wetzlar, Schlieren)
Weitere 8 Wohnungen & Büros (PP8)
Testrack für systematische Überprüfung des
Gesamtsystems
Jan 31, 2011 4
Monday, January 31, 2011 4
5. Zusätzliche Features &
Arbeitsstatistik (seit Ende Januar 2010)
200 Feature Requests erfasst und bearbeitet
147 Bugs erfasst und bearbeitet
Verbessrungen für Betrieb
Erweiterungen für Logging (Differenzierung, Export)
Export von Metering-Daten
Autodiscovery für Applikationen (UPnP, Bonjour)
System Topologie
Jan 31, 2011 5
Monday, January 31, 2011 5
7. Zusätzliche Features &
API Anpassungen & Erweiterungen
Logging für externe Applikationen
Konsistente Namensgebung der Funktionen
Verwalten von Event-Subscriptions
Sets & Set-Optimizer Implementiert
Verbindungstest zu Klemmen
Tagging für Geräte / Klemmen
SSL Verschlüsselung
Erweiterte Möglichkeiten beim Lesen von
Stromverbrauchsdaten
Event-Handling
Jan 31, 2011 7
Monday, January 31, 2011 7
8. dSS Wiki - API Dokumentation
Jan 31, 2011 8
Monday, January 31, 2011 8
9. Zusätzliche Features &
Javascript basierte Plugins
E-Mail Versand bei bestimmten Events
Zeitbasiertes Auslösen von Events
Zugriff auf «Property Tree»
Ausbau der Scripting Möglichkeiten
Unterstützung TCP Socket Zugriffe
Mehrere JS Files pro Script möglich (Libraries)
Aufbau und Integration digitalSTROM scriptSTORE
Serverimplementation
Download & Installation von Skripts (Apps)
Jan 31, 2011 9
Monday, January 31, 2011 9
13. Zusätzliche Features &
User Interface
dSS11 Konfiguration (Einstellungen)
digitalSTROM Installations-GUI als kontinuierlicher
Prozess (1 FTE)
dSS Command Line Interface
Sicherheit
Session Management
Umstellung auf https
Entfernen von Binary Pugins
Stabilisierung und Bugfixing
Testcoverage ca. 50%
Jan 31, 2011 13
Monday, January 31, 2011 13
14. dSS Command Line Interface
$ ds3 device getState 3504175fe0000000000012e7
$ ds3 zone turnOn 172
$ ds3 apartment callScene 5
$ DSS_HOST=otherhost ds3 apartment callScene 13
Jan 31, 2011 14
Monday, January 31, 2011 14
15. dSS Wiki - Dokumentation
Jan 31, 2011 15
Monday, January 31, 2011 15
18. Unerwarteter Aufwand
Probleme mit Threading
Crashes im SpiderMonkey JavaScript Interpreter
Jan 31, 2011 18
Monday, January 31, 2011 18
19. Hardware - aizo dSS (dSS11)
Atmel AT91SAM9G20 (ARM) CPU,
400MHz
64 MBytes SDRAM
256 MBytes Flash Memory
MicroSD Card auf Board
RS485 Interface
2x USB
Versorgungsspannung 24V DC (+/-
10%)
Verbrauch 2.0W (CPU) + 2 x 2.5W
(USB)
10/100 MBit/s Ethernet
Mehrfarben LED für Statusanzeige
Serieller Anschluss
Jan 31, 2011 19
Monday, January 31, 2011 19
20. Systemübersicht dSS11
Installer Extensio
dS.org: dSS Web- n
interfac Scripts
dSS11
aizo: HW
spezifisch JSON & SOAP API Webinterface
digitalSTRO (System
M Config)
accessHUB
dSS Core Functionality
Daemon
dSS
Webserver
dS485d (lighttpd)
etc.
Open Embedded (Pkg Manager)
dSS11 OS (Linux)
ARM 9 USB Flash Realtime
SD Card Ethernet RS485
CPU Host Memory Clock
dSS11 HW
Jan 31, 2011 20
Monday, January 31, 2011 20
21. dSS11 Daemons
dss digitalSTROM Server
ds485d ds485 Stack Server
(acchubd) Remote Connect. Serv.
avahi-daemon Bonjour Server
mediatomb UPnP Server
lighttpd Webserver
dropbear SSH Server
udhcpc DHCP Client
ntpclient Network Time
cron Times Events
svlogd2 System Logging
weitere Systemprozesse ...
Jan 31, 2011 21
Monday, January 31, 2011 21
22. dSS Funktionsübersicht
Data Data
Requets Requets
Property
SOAP / JSON Scripts
Tree
Data Data
Callback Callback
Calls Data s s
dS485d
Bus Data
Interface
Events Model
Metering
Calls Maintenance
Simulation
Data
Events
Events
Store Time
Events Data Series
Scripts SOAP / JSON
Data
Event- Event-
Callback
s
Queue Callback Event-Spec Data
s
Router Timed- Time Series SOAP / JSON
Event
Event
Event
s s
Calls
Calls Simulation
Data
Bus Logs
Interface
dS485d
Calls
Jan 31, 2011 22
Monday, January 31, 2011 22
23. digitalSTROM accessHUB
digitalSTROM accessHUB Server
Networ
k
Device
Network
Device
✘
digitalSTRO
Client M Server
Jan 31, 2011 23
Monday, January 31, 2011 23
24. accessHUB Verbindungs-Library
Get local dSS IDs
array of localdSSid = GetLocaldSSids
Open local connection
socket = OpenLocalConnection(localdSSid)
Get remote info
remoteInfo = GetRemoteInfo(port)
Open remote connection
socket = OpenRemoteConnection(remoteInfo)
Close connection
Jan 31, 2011 24
Monday, January 31, 2011 24
25. Entwicklungsprozess
Entwickler
Redmine
Support Gitorious
Benutzer & Hudson
Entwickler
Produktmanager
Core
Entwickler
Change
Control Board
Benutzer
Architecture
Board
Jan 31, 2011 25
Monday, January 31, 2011 25
26. dSS Entwicklung - Who is who
Core Entwickler Sergey Bostandzhyan
Patrick Stählin
Johannes Winkelmann
Entwickler Sergey Bostandzhyan, Roman
Köhler, Patrick Stählin, Michael
Tross, Johannes Winkelmann,
uva.
Change Control Board Matthias Aebi, Miguel
Rodriguez, Michael Tross
dSS Architecture Matthias Aebi, Paul Buchmeier,
Board Ludger Hovestadt
Jan 31, 2011 26
Monday, January 31, 2011 26
27. Roadmap
V0.9-rc1 (heute)
dS485d Integriert
Feldtests (PP40)
V1.0-alpha1 (Start Februar - 31 Tickets)
Letzte Anpassungen API & GUI
Zugriffsschutz für Logs, Bus-Out und Verbrauchsdaten
V1.0-beta1 (Start Mitte Februar - 4 Tickets)
Dokumentation
Bugfixing
Security Hardening
Jan 31, 2011 27
Monday, January 31, 2011 27
28. Roadmap
V1.0-rc1 (März)
Produktionsvorbereitung
V1.1 (Start Mai 2011 - 35 Tickets)
Erweiterung Rollenkonzept
Konfigurations-Backup & Restore
Sensor Info API
IP V6 Unterstützung
Statusbaum Remote Synchronisation
Inter-Bereichs-Routing (verteilte Systeme)
Aktuelle Details unter http://developer.digitalstrom.org/redmine/projects/
dss/roadmap
Jan 31, 2011 28
Monday, January 31, 2011 28
29. Jetzt die Zukunft mitgestalten
Mobilapplikation (Smartphone, Tablet)
External Touchdevice
Fernseher (Settopbox)
Applicati Webapplikation
...
Installer
Extension
Extension
Web- Scripts
Scripts
interface
JSON & SOAP API
dSS Core Functionality
dSS
Jan 31, 2011 29
Monday, January 31, 2011 29
30. Vielen Dank und ...
... bis bald auf
http://developer.digitalstom.org
30
Monday, January 31, 2011 30