SharePoint Server 2016 Preview(ed)

Und schon ist es wieder soweit! Es kommt mir vor, als wären lediglich wenige Monate ins Land gegangen, seit SharePoint 2013 vor der Tür stand und mit Apps, Office 2013 Flat-Style sowie spannenden Features um die Aufmerksamkeit seiner Anhänger als auch Kritiker warb. Kaum hat man also die Änderungen und Neuerungen des letzten Major-Release verdaut, bekommt man den nächsten Gang serviert – oder ist es nur ein Horsd’œuvre?

SP2016_splashErwartungshaltung

Was wird von Microsoft im Rahmen der Preview angekündigt? Ein Blick ins Datasheet zur Preview verrät das Folgende:

  • Infrastructure
    • Performance
    • Scale
    • Reliability
    • Hybrid Cloud
    • Operational Insights
  • Experiences
    • Modern collaboration
    • Social
    • Mobile
  • Compliance
    • Data protection

Ein paar Worte und Einblicke gibt es bereits im TechNet inklusive technischer Referenz, welche sich jedoch leider nur auf die PowerShell beschränkt.

Speziell für die On-Premise-Version interessiert mich der Umfang an Neuem sehr, sodass ich es mir nicht verkneifen konnte, einen Blick auf die öffentliche Preview zu werfen, die vor wenigen Tagen mit eher leisen Tönen in die weite Welt freigelassen wurde.

Prerequisites

…für eine Single-Server Farm zum Test der Preview:

  • Azure VM
    • Intel Xeon E5-2660 2,2GHz (x64) / Azure A3 – 4 Core
    • 7GB RAM
    • Windows Server 2012 R2 Datacenter
  • Microsoft SharePoint 2016 Preview
    http://www.microsoft.com/en-us/download/details.aspx?id=48712
    NQTMW-K63MQ-39G6H-B2CH9-FRDWJ
  • Ausführen des Prerequisites Installer von SharePoint 2016 (anbei auf dem Datenträger)
  • Microsoft SQL Server 2014 Express
    https://www.microsoft.com/en-US/download/details.aspx?id=42299
  • Active Directory Domain Services  (Domäne macht Sinn – nicht zuletzt, da der Assistent für die Config-DB nimmt kein lokales Konto, auch wenn im Fehlerdialog dazu “should” steht)
    • inklusive abhängiger Rollen/Features
    • dcpromo
    • ein Service-Account

Installation

Für die Vorbereitung mit allen erforderlichen Softwarepaketen gibt es ein Preparation Tool.

SP2016_prereq_3rdRun

Direkt nach dem Prep-Tool kann der Installer den Server mit den SharePoint-Binaries betanken…

SP2016_install1 SP2016_install2

…was die Voraussetzung für den Configuration Wizard ist, welcher die Config-Datenbank anlegt und den SharePoint bzw. die SharePoint-Zentraladministration zum Leben erweckt. Hier trifft man bereits auch etwas konkreter die Rollenzuteilung des zu installierenden Servers, die meiner Erinnerung nach bislang nicht so detailliert vorzugeben war.

SP2016_configWiz1 SP2016_configWiz2 SP2016_configWiz3 SP2016_configWiz4 SP2016_configWiz5 SP2016_configWiz6 SP2016_configWiz7 SP2016_configWiz8

Das war’s auch schon – Zeitaufwand von Prerequisites bis hierher ca. eine Stunde.

Die Konfiguration unserer neuen Single-Farm Instanz steht noch aus, was im nächsten Schritt über die Zentraladministration per Configuration Wizard folgt:

SP2016_ca1

SP2016_ca1-2

Service Applications
  • Access Services 2010
  • Access Services
  • App Management Service
  • Business Data Connectivity Service
  • Lotus Notes Connector
  • Machine Translation Service
  • Managed Metadata Service
  • PerformancePoint Service Application
  • PowerPoint Conversion Service Application
  • Project Server Service Application
  • Search Service Application
  • Secure Store Service
  • State Service
  • Usage and Health data Collection
  • User Profile Service Application
  • Visio Graphics Service
  • Word Automation Services
  • Work Management Service Application
  • Workflow Service Application
Services
  • Claims to Windows Token Service
  • Distributed Cache
  • Document Conversions Launcher Service
  • Document Conversions Load Balancer Service
  • Microsoft SharePoint Foundation Sandboxed Code Service
  • Microsoft SharePoint Foundation Subscription Settings Service
  • Microsoft SharePoint Foundation Workflow Timer Service
  • Microsoft SharePoint Insights
  • Request Management
  • SharePoint Server ASP.NET Session State Service

Ein paar Sachen haben nicht geklappt aber für den Anfang kommen wir damit hin.

SP2016_ca2

Auf den ersten Blick

Das Erste und fast auch das Einzige, was auf der Oberfläche tatsächlich als *Neu ins Auge springt, ist die Kopfzeile mit dem neuen Menü für Newsfeed, OneDrive und Sites.

SP2016_2_caConfigWizardDone2

SP2016_2_caConfigWizardDone SP2016_4_SubSiteProject_Oslo

Die OneDrive-Integration hat einen netten Configuration Splash Screen bekommen…

SP2016_3_OneDrive SP2016_3_OneDrive2

SP2016_3_OneDrive3

…und auf abonnierte Seiten kann man nun schneller mit Hilfe der Rubrik Sites zugreifen, was dem Anwender die Möglichkeit bringt, sich sein eigenes kleines Startmenü zusammenzustellen.

SP2016_2_caConfigWizardDone3

Ein wenig mehr hat sich beim mobilen Zugriff getan. Die UI-Gestaltung orientiert sich am Look & Feel von Windows Phone Apps und überzeugt per Touch nicht nur beim normalen, vertikalen Bildlauf sondern ebenfalls mit einer Art Pivot-Control.

SP2016_mobile-view_1 SP2016_mobile-view_2 SP2016_mobile-view_3 SP2016_mobile-view_4

Für Developer

Vorerst leider nicht viel Neues zu erkennen… zumindest nichts, ohne danach auf die Suche zu gehen. Die alten /_vti_bin/ ASP.NET Web Services sind offenbar noch mit dabei und ohne die DLLs im 16-Hive auseinanderzunehmen werden einem spannende, neue APIs und Features wohl aufgrund des bislang fehlenden SDKs verborgen bleiben.

SP2016_Dev1 SP2016_Dev2 SP2016_Dev3

Für Admins

Neben der bereits erwähnten strikteren Trennung der Serverrollen hier ein Vorgeschmack auf IIS, Datenbank und Umfang der PowerShell-Commandlets.

SP2016_Admin3_SQLDBafterInstall SP2016_Admin1

SP2016_Admin2

Sonstige Infos

Fazit

Mehr ein Horsd’œuvre als der Hauptgang. Tatsächlich wurde auch nicht viel mehr versprochen. Darf man offiziellen Quellen, wie dem Office-Blog und den großen IT-News-Seiten glauben, sei die strategische Ausrichtung des neuen Release der Feinschliff an Funktionen, die man als zukunftssicher identifiziert hat und die im Produkt verbleiben sollen. Man habe sich wohl bewusst gegen das Hinzufügen von vielen neuen Funktionen entschieden, um SharePoint stabiler und performanter zu machen. Das, was ich bislang im Preview bestaunen konnte, bestätigt diesen Ansatz. Ich bin gespannt, was ich in den nächsten Tagen noch alles entdecke und werde – zumindest bei größeren Überraschungen – berichten.

Out of Office

Zur Abwechslung mal kein “Technik-IT-Programmier-Quatsch” sondern ein kleiner Ausflug in den Nordosten der United States ganz ohne viele Worte…

Die Route

USA 2015 - Route

Impressionen der Tour

Diesmal wieder als klassischer Road Trip statt mit dem Camper durch die Natur aber dafür nicht minder schön. Eine kleine Auswahl der Fotos gibt’s im OneDrive:

Highlights sind eher die ländlichen Gegenden als die Metropolen. Um die Markierung des Freedom Trail in Boston auf dem Gehweg erkennen zu können, musste man fast die Mengen auseinander scheuchen. Es mag am diesjährigen Sommer liegen, der für weite Teile der Staaten Höchsttemperaturen parat hat, oder an der allgemeinen Ferienzeit aber es ist in Ballungszentren mehr als nur voll – allem voran mit Touristen.
Besonders zu empfehlen sind höher gelegene, bewaldete Regionen, wie zum Beispiel der Grand Canyon of Pennsylvania oder die Berkshire Mountains in Massachusetts und Connecticut. Hier ist es dann auch gleich bis zu 10 Grad kühler – bei durchgängig über 30°C im Schatten eine willkommene Abkühlung.

Ansonsten alles wie gehabt: Die Leute sind freundlich und überaus zuvorkommend, Autofahren ist im Gegensatz zu Deutschland extrem entspannt, tolle Natur gibt’s in Größenordnungen, außer an Sprudelwasser ist überall Zucker dran und eine C-Klasse wirkt im Stadtbild eher wie ein Kompaktwagen.

Server-Monitoring via Pushover/Pushalot

“Wo nur bleibt die Mail, die ich mir vor 10 Minuten habe weiterleiten lassen? SPAM-Folder? Nein. Bei genauerem Hinsehen entdecke ich einen Fehler im Mail-Client, der beim Synchronisieren mit dem privaten Mailserver aufgetreten sei. Man möge es später nochmals versuchen oder sich an seinen Admin wenden orakeln die üblichen Beschwichtigungsversuche. Mist – ausgerechnet heute! Eine erste Prüfung ergibt wenig. DynDNS ist okay, Maschine lebt aber mehr ist von unterwegs vorerst nicht festzustellen. Am Abend dann die Gewissheit: Auf dem Mailserver ist die Platte voll. Mailbox-Database und Log-Files haben ihr Übriges dazu beigetragen – hätte man doch aber eigentlich rechtzeitig mitbekommen können…”

So oder ähnlich kommt man gelegentlich zu der Erkenntnis, dass auch die IT in den eigenen vier Wänden nicht gänzlich wartungsfrei vor sich hin säuselt. Sei es ein Dienst, der sich gerne mal verabschiedet, eine Netzwerk-Komponente die einen kleinen Tritt braucht oder gar der knapp gewordene Speicherplatz.

An denkbaren Lösungen mangelt es heute nicht mehr. So könnte man überlegen, ob ein Nagios, MOM, OpenNMS, WhatsUp, Zabbix, etc. die Mühe wert wäre. Im Funktionsumfang und auch in der Erweiterbarkeit ähneln sich die bekanntesten Vertreter des Server-/Netzwerk-Monitoring schon seit Jahren sehr. Bleibt noch die Qual der Wahl. Und natürlich müsste auch noch eine Datenbank her, eine brauchbare Erstkonfiguration und vielleicht ein Backup aber daran würde es sicher nicht scheitern.
Dennoch bin ich mir sicher, dass zumindest für meinen Hausgebrauch dieser Ansatz völlig am Ziel vorbeigehen würde. Ein Wort trifft es ganz gut: überdimensioniert. So möchte ich doch nur wissen, dass der Speicher nicht voll läuft, hier und dort ein paar für mich spannende Dienste laufen und zwei/drei Webinterfaces erreichbar sind. Theoretisch genügt es auch völlig im Falle eines Fehlers eine kurze Info zu erhalten – ich muss nicht ganz genau wissen seit wann das Problem besteht und Dashboards brauche ich auch nicht.

Die Anforderungen:

  • Keine Middleware: Clients und Server sollen direkt Bescheid sagen, wenn etwas nicht mehr so ist, wie erwartet
  • Kein Aufwand: Einfach und schnell zu konfigurieren
  • Kein SPAM: Statt auf Mails auf Push-Dienste setzen
  • Kein Overhead: “Small memory/resource footprint”

Die Idee zum “PushMonitoring”

Ein simples Kommandozeilen-Tool mit XML-Konfigurationsdatei, welches bei jeder Ausführung die per Konfiguration definierten Prüfungen einmalig ausführt, deren Ergebnisse zusammenfasst und bei Abweichungen vom SOLL per Pushalot oder Pushover informiert. Als Prüf-Typen sollten anfangs Ping, freier Speicher und HTTP-Requests genügen – später vielleicht noch Dienste, TCP, Up-time. Durch den minimalistischen Ansatz bleibt das Tool universell einsetzbar und flexibel. Per geplantem Task genügt beispielsweise eine stündliche oder je nach Aufgabe auch tägliche Ausführung.

Konfiguration

Neben den primären Konfigurationsbereichen wie <sendInterfaces> und <checksToRun> kann zusätzlich per <sendWithoutError> ein Zeitraum festgelegt werden, nachdem man auch ohne Fehlermeldung mal wieder ein Lebenszeichen vom System erhalten möchte. Diese Funktion kann jedoch nur verwendet werden, wenn die Anwendung irgendwo das Logfile (definiert in <logFile>) speichern kann.

Fertig ist das Monitoring für Puristen

Das Projekt

Die Quellen finden sich auf Github unter roschinsky/PushMonitoring. Wer sich berufen fühlt – das Portieren auf Mono- bzw. CLR Core steht noch aus… ;)

Für alle die gerade kein Visual Studio am Start haben oder nur die Binaries brauchen gibt es natürlich noch die Pre-Build Version, die ich im One-Drive hinterlegt habe:

“PushMonitoring.zip”

QUELLE: OneDrive

GRÖßE: 0,02 MByte

DATUM: 30.06.2015

Garmin Fenix 2 vs. Microsoft Band

Wie schlägt sich eine semiprofessionelle Multisportuhr gegen einen Alltagsfitnesstracker mit eingebauter Smartwatch? Wer trackt besser? Wo liegen die Stärken und Schwächen in der Aufzeichnung sowie Genauigkeit? Fragen, denen ich gerne mit diesem Beitrag auf den Grund gehen möchte.

Wie man eher vermuten würde, ist es ein wenig als würde man Spielekonsolen mit professionellen Workstations vergleichen und rechnet mit einem tendenziell unausgeglichenen Ergebnis. Dennoch sprechen die Ergebnisse mehr für das Massenmarkt-taugliche Produkt als ich es angenommen hätte.

Um nicht nur die Ergebnisse einer einzelnen Messung gegenüberzustellen, nehmen wir zwei unterschiedliche Touren an unterschiedlichen Tagen über jeweils rund 6km. Eine Runde mit dem Rad und einen Lauf, zu denen ich mir sowohl das Band als auch die Fenix nebst HRM-Run-Gurt umgeschnallt habe. Mit den Gesamtergebnissen und den ermittelten prozentualen Abweichungen starten wir in den ungleichen Kampf:

Garming Fenix vs. Microsoft Band - Biking

Garming Fenix vs. Microsoft Band - Running

Das erste Fazit fällt überraschend gut aus, auch wenn sich an dieser Stelle noch keine Aussage über wahr oder falsch treffen lässt. Besonders beeindruckt war ich von den Ergebnissen bei der Herzfrequenz, da ich hier deutlichere Abweichungen erwartet hätte. Während bei allen Pulsuhren, die ich bislang probieren konnte, stets eine sofortige Reaktion des Herzschlags auf kleinste Aktivitäten festzustellen war, erschien mir die Pulsmessung des Microsoft Band eher träge. Trotzdem sind beim Lauf absolut identische Werte ermittelt worden, was ich tatsächlich nicht erwartet hätte.

Quantität

Der nächste Punkt ist die Menge der Daten, die von beiden Geräten aufgezeichnet werden. Für den direkten Vergleich habe ich lediglich die Werte aufgeführt, die von Fenix und Band gleichermaßen protokolliert werden. In der Anzahl der verschiedenen Messwerte hat die Garmin Fenix hier ohne Frage die Nase vorn. Läuft man mit HRM-Run erhält man neben den gebräuchlichen Angaben auch sehr detaillierte Informationen über die Bewegung beim Laufen. So werden über die gesamte Strecke Vertikale Bewegung und Bodenkontaktzeit aufgezeichnet, welche Aufschluss über Verbesserungspotential in der Bewegung geben.

Doch auch beim Band habe ich Angaben entdeckt, die ich bei Garmin nicht finden konnte: Die verbrauchte Energie wird in verbrannte Kohlenhydrate und Fette unterteilt. Sicher nur eine Aufschlüsselung nach Standardformel aber dennoch interessant.

Qualität

Keinesfalls weniger maßgeblich ist jedoch die Genauigkeit und Verlässlichkeit der Daten. Um wirklich belastbare Zahlen zu erhalten, müsste man zwar noch ein paar mehr Vergleichsreihen anstellen aber auch bei den zwei Tests wird sichtbar, wo es Probleme gibt.
Bei den ermittelten Zahlen würde ich den beim Radfahren auffälligen Ausrutscher der maximalen Herzfrequenz als Zufall bzw. sporadischen Messfehler interpretieren, da der Durchschnittswert über die gesamte Tour sehr dicht an den Wert der Fenix herankommt. Ein klein wenig Rückschluss auf das erwähnte “träge Verhalten” beim Aufzeichnen der Herzfrequenz bringen die Diagramme, die die App zum Band preisgibt. Die Abtastung der Herzrate scheint nicht permanent zu erfolgen sondern in kleinen Häppchen.

Microsoft Band - Dashboard Bike HR  Microsoft Band - Dashboard Run HR

Aber kommen wir zu einem schwerwiegenderen Problem. Die deutlichen Unterschiede bei Energieumsatz/Kalorien und Distanz springen ins Auge, zumal die Abweichungen sowohl beim Lauf als auch auf dem Rad in relativ ähnlicher Intensität zu erkennen sind. Die Kalorien könnte man hierbei noch auf eine abweichende Formel schieben aber bei der Distanz, die bei der Fenix immer länger als zu vermuten ausfällt, bin ich stutzig geworden. Es liegt auf der Hand – einer wird sich irren.
Der genaue Vergleich der Strecken an signifikanten Stellen deckt auf, was man schon ahnen konnte, wenn man an die GPS-Suchzeiten (Band ca. 5 bis 10 Sekunden; Fenix meist mehr als eine Minute) denkt. Die Fenix 2 patzt tatsächlich bei der Ortung und baut zahlreiche Schlenker und Haken ein, die man nie gelaufen ist und dabei dennoch “auf der Uhr” hat.

Garmin Fenix vs. Microsoft Band - GPS-Tracking Fehler - Bike

Garmin Fenix vs. Microsoft Band - GPS-Tracking Fehler - Run

Damit wäre der Grund für die stets längere Strecke geklärt, die bei zunehmender Streckenlänger noch wesentlich mehr ins Gewicht fallen dürfte. Die Auswertung zeigt, dass das Band nicht fehlerfrei, jedoch überraschend gut die Route aufzeichnet, wohingegen die auf dem neusten Stand gepatchte Garmin Fenix 2 mächtig daneben liegt. Ein wenig erschreckend, da ich definitiv das schlechtere Ergebnis vom Band und nicht von einer der namenhaften Größen im Bereich GPS Consumer Elektronik erwartet hätte.
Eine kurze Suche im Netz zeigt auch, dass es mit der Uhr aus dem Hause Garmin offenbar generell Probleme in Sachen GPS-Genauigkeit zu geben scheint:

Fazit

Die Garmin Fenix 2 enttäuscht sehr was den GPS-Empfang und die GPS-Genauigkeit anbelangt. Das Microsoft Band kann sich hingegen mehr als sehen lassen, was Genauigkeit und selbst Anzahl der ermittelten Werte anbelangt.

Build Tour 2015

Build Tour 2015Als ich von dem Event erfuhr, ging mir die Frage “Wie soll man eine 3- bzw. 4-Tages Konferenz mit weit über 100 Sessions sinnvoll in einen Tag mit 3 Sessions packen?” durch den Kopf. Die Antwort liegt auf der Hand – geht nicht, keine Chance, nicht mal ansatzweise. Wenn man sich jedoch vorher nicht aus Versehen zu einer solchen Erwartungshaltung hat hinreißen lassen, ist den Microsofties der Espresso der großen Build durchaus gelungen.

Ursprünglich hatte ich mir überlegt erst nach der Keynote zu erscheinen. Es erwies sich als glückliche Fügung, dass ich mich anders entschieden hatte. Zu meiner Freude war die Eröffnung der Veranstaltung durch Mr. Kevin Gallo alles andere als zäh. Nach den zu erwartenden Statements zur neuen Konzern- und Entwicklungsstrategie, die dem aufmerksamen Developer in den vergangenen Wochen wahrlich nicht entgehen konnten, gab es bereits Demos mit Code im Visual Studio. Einige Pannen vermittelten während der Demos ein recht authentisches Gefühl sowie den Eindruck, dass noch einige Tests laufen müssen, bis ein RC und die Final von Windows 10 zu erwarten sind.

Trotz der knappen Agenda war fast alles mit dabei, was man bereits den Medien tröpfchenweise entnehmen konnte. Die Themen, die kurz beleuchtet wurden, machen definitiv neugierig auf mehr.

Die Stichpunkte, die ich mir von der Build mitgenommen habe:

  • Unified core and app platform
    • UAP – Universal App Platform
    • UWP – Universal Windows Platform
    • Ein Store für alle(s); auch für bestehende Anwendungen auf .NET- oder Win32-Basis
    • App-to-App communication via App Service
    • Visual Studio 2015 – Debugging Tools
  • Edge
    • Performance
    • TypeScript mit ECMA Script 6 in Edge mit dabei
    • Tools (modern.ie)
  • Was noch?
    • IoT mit Windows auf dem Raspberry Pi 2
    • Continuum
    • Azure – App Tracing
    • Design (design.windows.com)

Speziell zur Entwicklung von Windows 10 Apps ist der MVA-Kurs “A Developer’s Guide to Windows 10 Preview” sehr zu empfehlen.

Wer nun Lust auf mehr bekommen hat, der wird fündig auf der Channel9-Seite zum Event mit allen Sessions sowie auch den Slides. Mit Hilfe des PowerShell-Scripts von Peter Schmidt in der TechNet Code-Gallery lassen sich bei Bedarf auch Videos und/oder Slides gesammelt herunterladen.

Was fehlte? Ganz klar – die Microsoft HoloLens zum Bestaunen und vielleicht sogar zum Ausprobieren. Schön wären auch ausreichend Tour-Shirts der Größe M gewesen, die leider bereits nach wenigen Minuten vergriffen waren. Macht aber nix – dafür habe ich jetzt ein neues Nightshirt. :D

Ansonsten war der Tag gestern am Westhafen in Berlin eine schöne Zusammenfassung dessen, worauf sich .NET-Developer in naher Zukunft freuen dürfen. Herzlichen Dank auch an den Caterer – das Essen war ganz ausgezeichnet! Ein Tipp noch am Rande: Club Mate an der Getränke-Bar wäre eine clevere Alternative zu Wasser, Cola und Saft gewesen…

Microsoft Band importiert…

…, ausgepackt und vorerst für praktisch befunden – alles andere wird sich auf kurz oder lang zeigen. Einen kleinen Erlebnisbericht zur Inbetriebnahme kann ich mir dennoch nicht verkneifen.

Rund ein halbes Jahr ist seit Vorstellung von Microsoft Band ins Land gegangen und noch immer ist kein Start auf dem hiesigen Markt absehbar. Schade gleichermaßen, dass einerseits der Versuchsballon des Hybriden aus Fitness-Tracker und Smart Watch deutlich zu knapp dimensioniert wurde und es zweitens keine wirklich brauchbare Alternative für Windows Phone gibt – speziell was die Smart Watch Funktionalität anbelangt. Zum Glück gibt es alternative Bezugsmöglichkeiten. Meine Wahl fiel auf Amazon.co.uk. Nach Bestellung am Wochenende ging heute das Paket bei mir nieder.

Microsoft Band - Box

Ein Unboxing-Video spare ich mir, da es mehr als reichlich Material im Netz zum Thema gibt.

Für sein Geld bekommt man also ein kleines, quadratisches Kästchen, was das Band, ein Ladekabel (Stecker mit Magnet-Kupplung auf USB) und einen Quickstart-Guide enthält. Wie meist bei elektronischem Gerät ist der erste Schritt der Anschluss ans Stromnetz.

Kurz drauf meldet sich auch gleich das Armband und weist per Display auf die App “Microsoft Health” hin, die offenbar zur Inbetriebnahme benötigt wird. Da ich mir vor einer Weile die App bereits aus dem englischsprachigen Store installiert habe, kann ich nicht genau sagen, ob die App inzwischen direkt über den Deutschen Store installiert werden kann. Falls nicht genügt es, die regionalen Einstellungen kurz auf en-US umzustellen, anschließend die App zu installieren und danach wieder auf de-de zurückzusetzen.

Microsoft Band - Box opened

Microsoft Band - unboxed

Der Verbindungsvorgang ist denkbar einfach. Das Band geht nach Aktivierung automatisch in den Bluetooth Pairing-Mode. Über Einstellungen wird die Verbindung wie mit jedem anderen Bluetooth-Gerät hergestellt und anschließend kann die App gestartet werden. Nach einigen Angaben zu Gewicht und Größe werden Band und Handy miteinander verknüpft. Hat die App das Band erkannt, wird nach Updates gesucht – bei mir gab es auch prompt eins, was ca. nach 3 Minuten installiert war. Abschließend werden noch einige Fragen zur Personalisierung (Name des Bands, Hintergrundbild und -farbe) gestellt und es ist fertig eingerichtet.

Microsoft Band - loading

Über die App kann man noch eine ganze Menge einstellen – beispielsweise habe ich mir das Benachrichtigungscenter ins Menü gepackt, ein paar Kacheln entfernt, andere hinzugefügt und neu sortiert. Die Sprache am Gerät kann man leider nicht auf Deutsch umstellen aber über die zusätzliche App “Pimp my band” ist auch das problemlos möglich.

Fazit: Inzwischen trage ich das gute Stück den Abend lang am Arm und habe daran vermutlich etwas mehr als das was man unter “regulärer Benutzung” versteht herumgespielt – der Akku ist dennoch voll und hat nicht einen Pixel in der Ladezustandsanzeige verloren. Der Formfaktor ist etwas gewöhnungsbedürftig, was den Tragekomfort nicht einschränkt. Das Gewicht ist ebenfalls unproblematisch und bislang funktioniert alles so, wie ich es mir vorgestellt habe.

Für die nächsten Wochen steht dann noch der Test des Microsoft Band SDK an… wenn es nur annähernd so einen guten Eindruck wie die Hardware macht, werde ich sicher darüber berichten.

Microsoft Band SDK - Update

Ausgerechnet heute gab es doch auch gleich noch ein Update des SDKs, welches man sich via NuGet Package Manager…

PM> Install-Package Microsoft.Band

…herunterladen kann. Die Dokumentation sowie auch der Design-Guide dazu sind als PDF verfügbar.

Update 02. Mai: Laufzeit Akku

Inzwischen hat das Band seinen ersten Boxenstopp am Ladekabel hinter sich. Ich habe es mal auf ein technisches K.O. durch “Strom-alle” ankommen lassen und das Betteln und Flehen, es zum betanken an den Strom anzuschließen, ignoriert. Daraus resultiert eine Laufzeit mit 2x GPS-Tracking für jeweils ~7km Radfahren von 47,5 Stunden.

HomeMatic mal ausprobiert – ein Erfahrungsbericht

HomeMatic APIDie Idee einer heimischen Steuerzentrale hat mich zugegebenermaßen schon einige Jahre lang fasziniert – selbst damals, als das “UI” noch aus Tastern und Lämpchen bestand. Mit den heute verfügbaren, modularen und fertig aufgebauten Systemen ist die Einstiegshürde deutlich gesunken, hätte man sich früher alle Komponenten selbst löten müssen. Profan gesprochen sind es zwar nur ein paar fernsteuerbare Lichtschalter aber die Vorteile eines solchen Systems sowie die damit verbundenen Möglichkeiten lassen sich gewiss nicht nur dem Technikbegeisterten erklären.

Bei den Überlegungen zu Sinn und Unsinn einer Heimautomatisierung lief mir HomeMatic schon vor zwei/drei Jahren mal über den Weg. Die Entscheidung dem System der eQ-3 AG nun doch eine Chance zu geben, ging im Wesentlichen auf zwei Ereignisse zurück: Die Erkenntnis, dass HomeMatic einen Webservice zur umfangreichen Ansteuerung der Anlage mitbringt, zusammen mit einer guten Empfehlung, sowie einen kleinen “Sicherheitsvorfall” an der Wohnungstür. Rein zufällig war es gerade draußen auch noch kalt und das zeitgesteuerte Heizungsthermostat im Bad hatte schon lange seine Programmierung vergessen… Zeit also für ein Starterpaket!

Einer der Vorteile des Systems sind die zahlreichen Geräte, mit denen man das System fortwährend ausbauen und erweitern kann. So gibt es vom Fensterkontakt über das Heizungsventil bis zum Wassersensor eigentlich nichts, was es nicht gibt. Einen guten Überblick über Sensoren und Aktoren kann man sich auf den Seiten des Anbieters verschaffen.

Die bidirektionale Kommunikation zwischen den Geräten und der Zentrale erfolgt per Funk auf 868 MHz über das proprietäre Funkprotokoll BidCoS.
Jedoch auch bei einem auf den ersten Blick recht stimmig umgesetzten Gesamtsystem, finden sich bei genauerem Hinsehen bereits einige konzeptionelle Schwächen. So zum Beispiel wird neben der bidirektionalen Kommunikation auf eine Absicherung der Übertragung per AES gesetzt – leider gilt dies offenbar nur für ein Challenge-Response-Verfahren, welches zur Authentifizierung des Senders gegenüber dem Empfänger bei Schaltvorgängen genutzt wird und nicht für die Absicherung der gesamten Übertragung.

Inbetriebnahme und Konfiguration

HomeMatic  - Installation Unterputz 2-Fach Aktor und AnsteuerungDie Steuereinheit/Zentrale (im HomeMatic-Slang CCU genannt) ist das Herzstück der Anlage. Das nicht besonders ansprechende und aus UX-Sicht an einigen Stellen mehr als fragwürdige Frontend der CCU ist inhaltlich durchdacht und mit umfangreichen Funktionen ausgestattet. So kann hier mit wenigen Klicks das Bekanntmachen (Anlernen) und Einrichten von Sensoren sowie Aktoren erfolgen. Neben einer Art Workflow-Engine, mit der sich kleine Skripte für individuelle Steuerungsabläufe entwerfen lassen, ist hier ebenfalls ein Ansteuern der eingerichteten Geräte möglich. Darüber hinaus lassen sich direkte Steuerungsverknüpfungen einrichten, was die autarke Kopplung von einzelnen Sensoren und Aktoren ermöglicht.

Die HomeMatic-Endgeräte sind meist ohne besonderen Aufwand zu montieren. So gibt es einfache Zwischensteckdosen, mit denen beispielsweise Schaltvorgänge und Strom(-verbrauchs-)messungen realisiert werden können. Bei manchen Sensoren sind minimale handwerkliche Skills von Nöten – jedoch jeder, der es vermag einen Schraubenzieher seiner Bestimmung gemäß zu verwenden, sollte ohne Probleme zurechtkommen.

Für die Installation einiger Geräte, wie beispielsweise die für die Unterputz-Montage konzipierten, sind Grundkenntnisse der Elektrotechnik sinnvoll. Auch hier jedoch kann man wenig falsch machen, da Beschriftungen und Anleitung keine Frage offen lassen. HomeMatic  - Installation Unterputz SchaltaktorFür die optimale Integration in die bestehende Haustechnik werden Unterputz-Schaltaktoren angeboten, welche mit Hilfe von Adaptern an die gängigen Systemblenden angepasst werden können – so kann man die ursprüngliche Wippe des alten Schalters verwenden, während hinter dem Schalter lediglich die funkende, neue Technik in der Wand versteckt wird.

Webservices und XML-RPC

Bereits mit der Inbetriebnahme der Steuereinheit gingen auch die ersten Überlegungen einher, wie man denn am besten programmatisch an das neue Spielzeug herankommen könnte. Mit einer ersten Google-Anfrage zum Thema gelangt man zielsicher zur HomeMatic-eigenen Webschnittstelle, basierend auf dem bereits etwas in die Jahre gekommenen XML-RPC-Protokoll.

Auf der Hersteller-Webseite im Download-Bereich findet man detaillierte und verständliche Informationen, wie die Spezifikation der HomeMatic XML-RPC-Schnittstelle. Darin werden das grundlegende Prinzip der Schnittstellenfunktion sowie eine Referenz der verfügbaren Methoden beschrieben.
Weitere Recherchen im Netz führen relativ schnell zu einer C# Bibliothek auf SourceForge mit Beispiel-Implementierung, welche neben der HomeMatic-Bibliothek selbst einen XML-RPC-Server für die Event-basierte Logik als auch einen Client zum Auslesen und Ansprechen des Systems enthält.

Mit dem Wissen aus der Referenz zur XML-RPC-Schnittstelle und der HMRemoting-Bibliothek ließ sich in kurzer Zeit eine für meinen Geschmack ansprechendere Webanwendung als die Systemeigene zusammenbasteln, mit welcher man sich die interessanten Geräte in einer Übersicht darstellen lassen und die schaltbaren Aktoren bedienen kann.

HMC_internal

Analog zum Home Access Center hatte ich im neuen “HomeMatic Center” wieder eine Trennung zwischen externem Netz, DMZ und internem Netz implementiert, so dass per Konfiguration definiert werden kann, wer von wo was sehen und bedienen darf.

Da die Übersicht und Bedienung des Systems nur die halbe Miete ist, folgte unmittelbar darauf ein Benachrichtigungsdienst für den Service Pushalot, welcher bei Statusänderung Bescheid geben sollte. Hier fingen meine Probleme mit der XML-RPC Schnittstelle der HomeMatic an…

Bei der Logik-Schicht kann man sich mit Hilfe der init-Methode mit einem XML-RPC-Server registrieren und sich bei Statusänderungen direkt von der CCU auf dem Laufenden halten lassen. Die mitgelieferte Beispiel-Implementierung funktionierte auf den ersten Blick, so dass ich unmittelbar eine eigene Version umsetzte. Hier überraschte, dass kurz nach Start (zwischen 30 Sekunden und 2 Minuten) des Dienstes keine Events mehr registriert wurden. Nach einigen Versuchen und Grübeln konnte ich das Problem zu allem Unglück ebenfalls mit der eigentlich für gut befundenen Beispiel-Implementierung nachstellen.

HomeMatic - XmlRpc Transport Error

Nachdem ich verschiedenste Threads in einschlägigen HomeMatic-Foren inhalierte, wurde schnell klar, dass es hier wohl ein allgemeineres Problem gibt. Ein Blick in /var/log/messages direkt auf der CCU verschaffte nochmals Gewissheit: Sowohl mein Code als auch der Beispiel-Code verursachten fehlerhafte XML-RPC Aufrufe, die emsig vom System protokolliert wurden.

Mit der Hoffnung auf eine schnelle Lösung des Problems, reifte die fixe Idee, den Dienst auf ein aktives System umzubauen. Statt der Registrierung auf ein Event, sollte der Dienst nun als Client in geringem Versatz (alle 3 Sekunden) ausgewählte Statuszustände bei der CCU abfragen. Das bescherte mir zwar vorerst ein funktionierendes Benachrichtigungssystem – jedoch nur in Form eines wenig eleganten Workarounds, der sich leider ebenfalls als Sackgasse entpuppte. Nach einem Tag Betrieb des Dienstes fielen mir gehäuft temporäre Verbindungsstörungen der HomeMatic-Komponenten auf. Die Service-Meldungen waren permanent voll mit Störungswarnungen und am dritten Tag waren plötzlich die wenige Wochen zuvor eingesetzten Akkus des Rauchmelders leer, so dass ich den Dienst wieder deaktivierte und mich grundsätzlich nach einer anderen Art zum Abfragen des Systems umschaute…

Webservices und das XML-API Addon

Nach einem weiteren guten Tipp kam ich dazu mein erstes Addon auf der CCU zu installieren: XML-API, welches direkt auf der Zentrale XML-Dateien deutlich schneller und mit deutlich mehr Informationen generierte, als ich es von der XML-RPC Schnittstelle des Herstellers kannte. Zwar verfügt das Addon nicht über die Möglichkeit sich Ereignis-basiert zu registrieren – dafür aber stimmen Performance und Last-Verhalten der CCU auch bei schnell aufeinanderfolgenden Zugriffen.
Und damit nicht genug – der Zugriff auf das System-Log und System-Variablen ist problemfrei möglich, was mir zumindest bei der XML-RPC Schnittstelle nicht gelungen ist.

Getrieben von der Idee den Benachrichtigungsdienst sowie auch das HomeMatic Center auf XML-API umzustellen, habe ich begonnen einen kleinen .NET Wrapper für die Verwendung der XML-API zu schreiben. Das Projekt ist mit ersten, einfachen Funktionen bei GitHub unter dem Namen HomeMatic-XmlApi-Lib zu finden. Ich bemühe mich neuere Versionen von Zeit zu Zeit in das Repo zu synchronisieren. Über Anregungen, Forks und Pull Requests freue ich mich.

Fazit

HomeMatic ist vermutlich nicht die ultimative Lösung für alle Fragen und Probleme zum Thema Home Automation. Dennoch ist es ein insgesamt solides und durchdachtes System mit kleineren Macken, die man getrost ignorieren kann, wenn man nicht ein bis in die letzte Ecke professionelles oder absolut perfektes System erwartet, was mit Sicherheit ein Vielfaches der Ausgaben für eine HomeMatic in Anspruch nehmen würde.

Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 146 Followern an