digitalstrom developer day 2011: neue möglichkeiten mit dem digitalstrom-server

30
digitalSTROM Server - State of the Union digitalSTROM developerDAY, 27. Januar 2011 Matthias Aebi, Vorstandsmitglied digitalSTROM.org 1 Monday, January 31, 2011

Upload: digitalstromorg

Post on 02-Dec-2014

6.658 views

Category:

Documents


5 download

DESCRIPTION

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

TRANSCRIPT

Page 1: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

digitalSTROM Server - State of the UniondigitalSTROM developerDAY, 27. Januar 2011Matthias Aebi, Vorstandsmitglied digitalSTROM.org

1Monday, January 31, 2011

Page 2: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

dS485 Bus

Jan 31, 2011

digitalSTROM System

2

220V

220V

LAN

220V

2Monday, January 31, 2011

Page 3: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

Vor einem Jahr ...

3

futureLAB

Next Steps & Roadmap

19

• V0.7.5 (today)

• Code Cleanup

• JSON & SOAP calls clean & complete

• V0.8 (~ February)

• SSL for SOAP & JSON

• Finalize installation GUI

• Enhanced logging

• Configuration backup & restore

futureLAB

Nächste Schritte

20

• V0.9 (~ April)

• Rolebased permissions• Update mechanisms

• V1.0 (~ June)

• Security hardening• Field Tests & Bugfixing

• Beyond• Windows port• Event routing• Property tree synchronization for multiple dSSs

Alles richtig, aber aufwendiger und ...

✔✔

✔✔

✔✔✔✔

3Monday, January 31, 2011

Page 4: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

Zusätzliche ProjekteGrosse Klimasteuerung in Neubau der IUCN, GlandWohnhaus Neubauten (Wiesbaden, Uetikon)Altbauwohnung (Bern)Demowohnungen (Wetzlar, Schlieren)Weitere 8 Wohnungen & Büros (PP8)Testrack für systematische Überprüfung des Gesamtsystems

4

4Monday, January 31, 2011

Page 5: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

Zusätzliche Features & Arbeitsstatistik (seit Ende Januar 2010)

200 Feature Requests erfasst und bearbeitet147 Bugs erfasst und bearbeitet

Verbessrungen für BetriebErweiterungen für Logging (Differenzierung, Export)Export von Metering-DatenAutodiscovery für Applikationen (UPnP, Bonjour)

System Topologie

5

5Monday, January 31, 2011

Page 6: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

digitalSTROM Server Entwicklung

6

6Monday, January 31, 2011

Page 7: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

API Anpassungen & ErweiterungenLogging für externe ApplikationenKonsistente Namensgebung der FunktionenVerwalten von Event-SubscriptionsSets & Set-Optimizer ImplementiertVerbindungstest zu KlemmenTagging für Geräte / KlemmenSSL VerschlüsselungErweiterte Möglichkeiten beim Lesen von Stromverbrauchsdaten

Event-Handling

Jan 31, 2011

Zusätzliche Features &

7

7Monday, January 31, 2011

Page 8: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

dSS Wiki - API Dokumentation

8

8Monday, January 31, 2011

Page 9: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Javascript basierte PluginsE-Mail Versand bei bestimmten EventsZeitbasiertes Auslösen von EventsZugriff auf «Property Tree»

Ausbau der Scripting MöglichkeitenUnterstützung TCP Socket ZugriffeMehrere JS Files pro Script möglich (Libraries)

Aufbau und Integration digitalSTROM scriptSTOREServerimplementationDownload & Installation von Skripts (Apps)

Jan 31, 2011

Zusätzliche Features &

9

9Monday, January 31, 2011

Page 10: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

digitalSTROM scriptSTORE

10

10Monday, January 31, 2011

Page 11: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

digitalSTROM Scripts

11

11Monday, January 31, 2011

Page 12: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

dSS Property Tree

12

12Monday, January 31, 2011

Page 13: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

User InterfacedSS11 Konfiguration (Einstellungen)digitalSTROM Installations-GUI als kontinuierlicher Prozess (1 FTE)dSS Command Line Interface

SicherheitSession ManagementUmstellung auf httpsEntfernen von Binary Pugins

Stabilisierung und BugfixingTestcoverage ca. 50%

Jan 31, 2011

Zusätzliche Features &

13

13Monday, January 31, 2011

Page 14: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

dSS Command Line Interface

14

$ ds3 device getState 3504175fe0000000000012e7$ ds3 zone turnOn 172$ ds3 apartment callScene 5$ DSS_HOST=otherhost ds3 apartment callScene 13

14Monday, January 31, 2011

Page 15: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

dSS Wiki - Dokumentation

15

15Monday, January 31, 2011

Page 16: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

dSS11 Kofiguration

16

16Monday, January 31, 2011

Page 17: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

Web Installations GUI

17

17Monday, January 31, 2011

Page 18: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

Unerwarteter AufwandProbleme mit ThreadingCrashes im SpiderMonkey JavaScript Interpreter

18

18Monday, January 31, 2011

Page 19: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

Hardware - aizo dSS (dSS11)Atmel AT91SAM9G20 (ARM) CPU, 400MHz64 MBytes SDRAM256 MBytes Flash MemoryMicroSD Card auf BoardRS485 Interface2x USBVersorgungsspannung 24V DC (+/- 10%)Verbrauch 2.0W (CPU) + 2 x 2.5W (USB)10/100 MBit/s EthernetMehrfarben LED für StatusanzeigeSerieller Anschluss

19

19Monday, January 31, 2011

Page 20: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

digitalSTROM

accessHUB Daemon

Jan 31, 2011

Systemübersicht dSS11

20

dSS

dSS11 OS (Linux)

dSS11 HW

dS485d

dSS11 Webinterface

(System Config)

Open Embedded (Pkg Manager)

Extension

Scripts

JSON & SOAP API

Webserver(lighttpd)

Installer Web-

interfac

ARM 9CPU SD Card USB

HostFlash

Memory Ethernet RS485 Realtime Clock

etc.

dSS Core Functionality

dS.org: dSS

aizo: HW spezifisch

20Monday, January 31, 2011

Page 21: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

dSS11 Daemons

21

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 ...weitere Systemprozesse ...

21Monday, January 31, 2011

Page 22: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

dSS Funktionsübersicht

22

Event-Queue

Simulation

dS485dBus

Interface

Calls

CallsModel

MaintenanceEvents

Scripts

Data Callbacks

DataRequets

SOAP / JSON

Data Callbacks

DataRequets

Property Tree

Data

MeteringData

Store Time Series

Data

Time Series

Data

SOAP / JSONData

Events

SOAP / JSONDataEvents

Event- Callbacks

Event-Spec

Timed-Event

Events

dS485d

SimulationCalls

Calls

LogsData

RouterEvents

Scripts

Callbacks

Events

BusInterface

Calls

22Monday, January 31, 2011

Page 23: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

digitalSTROM accessHUB

23

Client

digitalSTROM accessHUB Server

digitalSTROM Server

Network Device

Network

Device

23Monday, January 31, 2011

Page 24: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

accessHUB Verbindungs-LibraryGet local dSS IDs

array of localdSSid = GetLocaldSSids

Open local connectionsocket = OpenLocalConnection(localdSSid)

Get remote inforemoteInfo = GetRemoteInfo(port)

Open remote connectionsocket = OpenRemoteConnection(remoteInfo)

Close connection

24

24Monday, January 31, 2011

Page 25: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

Entwicklungsprozess

25

Entwickler

SupportBenutzerEntwicklerProduktmanager

CoreEntwickler

Benutzer

RedmineGitorious& Hudson

ChangeControl Board

ArchitectureBoard

25Monday, January 31, 2011

Page 26: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

dSS Entwicklung - Who is who

26

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 Board

Matthias Aebi, Paul Buchmeier, Ludger Hovestadt

26Monday, January 31, 2011

Page 27: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

RoadmapV0.9-rc1 (heute)

dS485d IntegriertFeldtests (PP40)

V1.0-alpha1 (Start Februar - 31 Tickets)Letzte Anpassungen API & GUIZugriffsschutz für Logs, Bus-Out und Verbrauchsdaten

V1.0-beta1 (Start Mitte Februar - 4 Tickets)DokumentationBugfixingSecurity Hardening

27

27Monday, January 31, 2011

Page 28: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

RoadmapV1.0-rc1 (März)

Produktionsvorbereitung

V1.1 (Start Mai 2011 - 35 Tickets)Erweiterung RollenkonzeptKonfigurations-Backup & RestoreSensor Info APIIP V6 UnterstützungStatusbaum Remote SynchronisationInter-Bereichs-Routing (verteilte Systeme)

28

Aktuelle Details unter http://developer.digitalstrom.org/redmine/projects/dss/roadmap

28Monday, January 31, 2011

Page 29: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Jan 31, 2011

Jetzt die Zukunft mitgestalten

29

dSS

ExtensionScripts

JSON & SOAP API

Installer Web-

interface

dSS Core Functionality

ExtensionScripts

ExternalApplicati

JSON & SOAP API

dSS Core Functionality

Mobilapplikation (Smartphone, Tablet)TouchdeviceFernseher (Settopbox)Webapplikation...

29Monday, January 31, 2011

Page 30: digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server

Vielen Dank und ...

... bis bald aufhttp://developer.digitalstom.org

30

30Monday, January 31, 2011