„Konzeption und Implementierung einer mobilen Cross-Plattform-Lösung zur Steuerung Matter-kompatibler Smart-Home-Geräte” lautet der Titel der Bachelor-Arbeit, welche ich in den vergangenen Monaten in Kooperation mit slashwhy bearbeiten durfte. Das Ziel dabei war, zu erforschen, wie der im Oktober 2022 veröffentliche Smart-Home-Standard Matter für die Entwicklung von Smart-Home-Apps im Cross-Plattform-Ansatz mit dem Framework Flutter verfügbar gemacht werden kann.
Matter ist eine Initiative hunderter Unternehmen aus den Branchen Smart Home und Halbleiter. Der Standard hat zum Ziel, die Fragmentierung zwischen unterschiedlichen im Smart Home verwendeten Kommunikationstechnologien und Hersteller-Ökosystemen zu verringern, indem ein offener und übergreifender Standard in der Kommunikation genutzt wird. Matter legt einen Fokus auf Benutzerfreundlichkeit, Sicherheit und Datenschutz und wird von der Connectivity Standards Alliance herausgegeben. Mehr Informationen zu den Vor- und Nachteilen von Matter gegenüber bestehenden Technologien, wie z. B. ZigBee, finden sich in unserem Blog-Beitrag What’s the Matter.
Flutter ist eine Software, mit der Anwendungen (Apps) für verschiedene Betriebssysteme entwickelt werden können – unter anderem für Android und iOS.
Die offizielle Implementierung der Matter-Spezifikationen, das Matter SDK, bietet Referenz-Implementierungen (d. h. verwendbare Software) für nativ entwickelte Apps, bei denen Schnittstellen in den Programmiersprachen Java und Kotlin für Android sowie Objective-C und Swift für iOS bereitstehen. Das Matter SDK selbst ist in den Programmiersprachen C und C++ entwickelt. Für Flutter Apps hingegen gibt es bislang keine direkte Matter-Integration, da Flutter Apps mit der Programmiersprache Dart entwickelt werden. Im Kontext meiner Bachelor-Arbeit habe ich nun eine Lösung geschaffen, die es Entwickler:innen ermöglicht, Matter-fähige Cross-Plattform-Anwendungen mit Flutter in Dart zu entwickeln.
Wie geht es nun weiter?
Die zwei entstandenen Plugins sollen zukünftig weiterentwickelt werden, um sämtliche Matter-Funktionalitäten stabil zu unterstützen. Zudem besteht ein Konzept, wie sich iOS als zweite Plattform und später möglicherweise die beliebtesten Desktop-Betriebssysteme sowie das Web als Plattform ergänzen lassen. Dies soll erreicht werden, indem die Weiterentwicklung zukünftig als Open Source Software unter Beteiligung der Öffentlichkeit erfolgt. Eine Veröffentlichung der Plugins in der Paketverwaltung für Flutter- und Dart-Projekte pub.dev ist zudem mittelfristig vorgesehen.
Das slashhome-Projekt mit App und Muster-Smart-Home trägt einen Teil zur Wissensbasis von slashwhy über den Matter-Standard bei und dient zudem zu Demonstrations- und Ausbildungszwecken.