Zur Übersicht

IB-Tool für Zumtobel - ein Klick, alles im Licht

Frank Gregor Aktualisiert am 17. Aug. 2020
Zumtobel Testlabor

MASSIVE ART bringt Licht ins Dunkel! Und das mit einem Klick. Das Zumtobel IB-Tool ist das perfekte Werkzeug für Anlagenbetreuer und Servicetechniker: Ein Knopfdruck und komplette Gebäude sind hinsichtlich Funktion und Installation überprüft - via iPod Touch oder iPhone. Vor einigen Monaten haben wir bereits über die App berichtet. heute geht es ins Detail. Schnell, einfach und sicher Lichtlösungen konfigurieren - für den international führenden Anbieter ganzheitlicher Lichtlösungen machen wir das.

Der Geist in meiner Tasche

Geister sind für mich per se etwas Gutes und Nutzbringendes. Sie sind unsichtbare Helfer, die wie selbstverständlich Dinge erledigen, für die wir viel länger bräuchten - oder erst gar nicht tun würden. Da sehe ich erstaunliche Parallelen zu den Apps für Smartphones. Diese sind inzwischen für die meisten eine Selbstverständlichkeit. Sie erledigen viele kleine Aufgaben. Manche davon erscheinen reichlich unnütz, andere wiederum sind im Alltäglichen einfach nicht mehr wegzudenken. Doch die Wenigsten haben eine Ahnung davon, wie diese kleinen Helferlein auf unseren geliebten Handschmeichlern das Licht des Displays erblicken. Wer steckt dahinter? Wie viele Leute entwickeln so etwas? Wie lange braucht man dafür? Und: Ist das kompliziert?

Vielleicht gelingt es mir, die eine oder andere Frage zu beantworten und etwas mehr "Aha" auch für diese Seite der Medaille zu vermitteln.

Wenn MASSIVE ART sagt: Wir machen das. Dann ist das so. Der Großteil der Arbeit - und somit auch das meiste Know-How - siedelt sich im Bereich der Web-Entwicklung an. Native Apps für iOS zu entwickeln ist zwar kein komplettes Neuland, war aber in diesem speziellen Fall durchaus eine ... Herausforderung.

Was war die Anforderung?

Unser Kunde, die Firma ZUMTOBEL, wollte von uns ein Tool entwickelt haben, welches ein seit vielen Jahren bei ihren Technikern in Gebrauch befindliches, beliebtes aber doch recht unhandliches Gerät ersetzen soll. Das Gerät hat einen nüchternen und pragmatischen Namen - EG. Das steht ganz einfach für Eingabegerät.

Eingabegeraet
Eingabegeraet

Mit diesem Teil (erkennst du es? Es ist eigentlich ein Stück Kabelkanal) waren und sind die Techniker auf Baustellen und in mehr oder weniger grossen Gebäudekomplexen unterwegs - um die fast komplette elektrische Hausinstallation zu warten und einzurichten. Es handelt sich dabei um Installationen auf Basis des sogenannten LUXMATE Bus.

Bei diesem System ist jede Leuchte und Jalousie, jeder Bewegungsmelder und Schalter, jedes elektrisch verstellbare Fenster, jedes Notlicht und jede Leinwand mit einem Steuercomputer verbunden. Die Zeiten, in denen ich für Licht am Konferenztisch einen Schalter, ein Kabel und mindestens eine Leuchte brauchte, sind längst vorbei. Bei LUXMATE läuft alles über dieses Steuergerät.

Zumtobel-ScreenshotOverview
Zumtobel-ScreenshotOverview

Wenn ich nun einen Lichtschalter betätige, dann passiert ungefähr Folgendes:

  • der Schalter schreit in den Raum (also, auf den LUXMATE Bus): "Ich habe hier einen Einschaltauftrag für die Deckenleuchtengruppe 1 über dem Konferenztisch im Konferenzraum 3"
  • alle Geräte dieser Gruppe, dieses Raumes fühlen sich nun angesprochen, und... 
  • ...reagieren. Das Licht geht an (sollte es jedenfalls).

Doch woher weiss der Steuercomputer, wer sich in Gruppe 1 des Raumes 3 befindet? Woher weiss er, was da überhaupt für Geräte hängen (oder stehen)? Wie wissen die Geräte am Bus, wann sie sich angesprochen fühlen sollen?

Ein LUXMATE Bus ist wie eine kleine Stadt. Jeder Bewohner (Leuchte, Jalousie, Schalter etc.) hat eine eindeutige Adresse, und ist über diese direkt ansprechbar. Aufgabe des EG ist es, alle Bewohner mit einer solchen Adresse zu versorgen. Und hier kommt nun der Bürgermeis... äh, der Techniker in's Spiel. Er muss dies wirklich für jedes einzelne Gerät am Bus erledigen! Er adressiert, gruppiert, löscht oder verschiebt einzelne Adressen, Gruppen oder ganze Räume.

Zumtobel-ScreenshotConfiguration
Zumtobel-ScreenshotConfiguration

Und nun schau dir das Gerät ganz oben noch einmal an. Es ist gross, es ist schwer und hat zwei dicke Kabel angeschlossen. Die sind nicht nur unhandlich und hässlich, sie schränken auch noch die Bewegungsfreiheit ein.

Der kleine grosse Bruder

Also sollte etwas Neues her. Gedacht & geplant, probiert & getestet - das IB-Tool war geboren. Ok, der Name ist... nunja, technisch korrekt. IB-Tool steht ganz einfach für Inbetriebnahme-Tool. (-:

IB-Tool-Adressierung
IB-Tool-Adressierung

Das IB-Tool soll das EG in Zukunft ersetzen. Somit soll es auch über alle Funktionalitäten seines Vorgängers verfügen. Nur eben leichter & einfacher, ohne Kabel aber alle Vorzüge eines Smartphones in sich vereinend.

All das kam mir genau recht. Selbst, ursprünglich aus einer technischen Ecke kommend, bin ich ausgebildeter Telekommunikations-Elektroniker (Hallo Deutsche Telekom!), und habe eine Leidenschaft für die Entwicklung von Software für iOS. Diese beiden Dinge in Kombination, das Sprechen mit Hardware über selbst geschriebene Software - echte Traumvoraussetzungen.

Von einem der auszog mit Leuchten zu reden...

So ziemlich alle Apps für iOS & Co. haben eines gemeinsam: Nichts geht ohne Kommunikation über das Netzwerk - sprich WLAN. Und genau das war ein nicht unwesentlicher Punkt dieser Herausforderung. Ich hatte bisher noch nie echte Netzwerkprogrammierung umgesetzt. Doch ich war mindestens so gespannt, wie zu diesem Zeitpunkt noch planlos.

Wenn ich von Netzwerkprogrammierung spreche, dann meine ich nicht das Aufrufen irgendwelcher Web-Adressen und Verarbeiten der Antwort. Bei diesem Projekt ging es ein paar Etagen tiefer in den Keller. Viele Fallstricke galt es, aus dem Weg zu räumen. Denn das IB-Tool muss neben der Kommunikation mit dem LUXMATE Bus auch noch permanent andere Aufgaben erledigen. Es überwacht das Vorhandensein des WLAN, es prüft die Erreichbarkeit des Gateway (Steuercomputer), es erfragt permanent bestimmte Status vom Gateway um dies dem Techniker bei Bedarf mitteilen zu können und es muss auf jede Störung entsprechend reagieren.

Steuerkommandos werden bit- und byteweise zu einem sogenannten LUXMATE Telegramm zusammengesetzt und dann versendet. Antworten vom Bus, oder spontan auftretende Telegramme anderer Busteilnehmer oder Steuergeräte müssen empfangen und genauso wieder auseinandergenommen werden. Tricky war die Umsetzung auch aufgrund der Asynchronität in der Kommunikation. Das Senden eines Telegramms kann keine, eine oder mehrere Antworten am Bus zur Folge haben.

All das passiert innerhalb weniger Millisekunden, und die meisten Anfragen sind demnach auch an ganz bestimmte und sehr knapp definierte Timings gebunden.

... und dabei immer wieder dazu lernte

Im Laufe der Entwicklung machte ich eines Tages eine erschreckende Entdeckung. Die App stürzte nach längerem Benutzen reproduzierbar aus heiterem Himmel ab. Genauer gesagt wurde sie vom Betriebssystem abgeschossen. Das war ein Schock, ein Rückschlag. Was war passiert?

Das IB-Tool ist eine native App, und sie wurde (wie bei iOS üblich) mit Objective-C umgesetzt. In dieser Sprache muss man sich in gewissen Grenzen als Entwickler selbst um eine korrekte Speicherverwaltung kümmern. Und das hatte ich wohl etwas vernachlässigt. Das Resultat waren massive Memory Leaks. Zu Deutsch: Während die App lief, hat sich der Speicher des Smartphones immer weiter mit nicht mehr benötigten Daten gefüllt. So lang, bis iOS selbst irgendwann den Hahn zugedreht und die App ohne Vorwarnung beendet hat.

Es half alles nichts, ich musste in den sauren Apfel beißen. Und so habe ich die Umsetzung von Funktionalität auf Eis gelegt und alles in allem fast zwei Wochen nur mit Fehlersuche verbracht. Eine wirklich intensive Zeit mit langen Abenden (und Nächten) im Testlabor. [siehe Titelbild]

Und nun?

Kein Zweifel, das IB-Tool war und ist ein spannendes und forderndes Projekt. Und ich freue mich schon jetzt auf die neuen Features, die für kommende Versionen geplant sind. Ideen gibt es bereits mehr als genug.

Du möchtest mehr? Hier gibt es noch einige technische Details.

Das IB-Tool ist mit folgenden Zumtobel/LUXMATE-Systemen kompatibel:

  • LUXMATE Comfort Anlagen
  • PROFESSIONAL LRA
  • LITENET
  • LITECOM

Die wichtigsten Funktionen des Zumtobel IB-Tools im Überblick.

  • Lokalisieren & adressieren der Aktoren/Bediengeräte/Sensoren
  • Überprüfen der gesamten Installation & der Adressierungsstruktur
  • Ändern/Löschen von Adressen
  • Konfiguration von Stellwerten für Aktoren
  • Bedienung aller Aktoren (Schalten, Dimmen)
  • Schnellübersicht über die komplette Anlage
  • Integrierte Hilfe
Frank Gregor
Senior iOS Developer