openHAB – Erste Block Lib veröffentlicht
Tags: Block, Block-Library, GEO, Geographic information system, GIS, Lib, NIU, openHAB, Publikation
Seitdem ich mich seit einigen Monaten mit openHAB beschäftige, habe ich inzwischen auch schon ein wenig etwas zu der Community beigetragen. Neben der Aktivität im Forum auf community.openhab.org und openhabforum.de habe ich mich auch dazu entschieden, eine eigene Block-Library zu veröffentlichen. Auch wenn ich Programmierer bin, finde ich es dennoch sehr praktisch, die Regeln auf Basis der Blöcke aufbauen lassen. Somit ist mir die Idee für eine eigene Library bekommen.
Usecase
Beim Aufbau der verschiedenen Regeln habe ich auch den NIU-Roller mit integriert. Eine Regeln bzgl. des Rollers soll aber nur etwas tun, wenn dieser auch zu Hause ist (z.B. der Hinweis den Roller zu laden). D.h. ich muss die Entfernung zwischen dem Roller und „Zu Hause“ berechnen. Da es bei den vordefinierten Blöcken keine passenden gibt, welche dies unterstützen, musste ich selbst Hand anlegen. Entstanden ist die „Geographic information system (GIS)“ Library.
Integration & Veröffentlichung
Die Integration geschieht über das openHAB selbst. Dort können unter „Entwickler Tools“ ⇾ „Block Libraries“ einfach neue Libs angelegt werden. Die Konfiguration geschieht dabei in YAML. Für jeden Block können unterschiedliche Eingangs-, Ausgangs- und Block-Aussehen-Konfiguration. Damit lässt sich konfigurieren, wie der Block aussieht und womit dieser verknüpft werden kann. Was der eigentliche Block dann macht, habe ich mit BlockCodeTemplates in JavaScript implementiert. Somit auch sehr einfach, wenn man aus der Webentwicklung kommt. Entstanden sind die folgenden Blöcke, welche u.a. die Distanz-Berechnungen durchführen können.
Die Veröffentlichung geschieht dabei in dem Forum unter community.openhab.org. Es muss nur ein Foreneintrag mit den passenden Tags und in der passenden Kategorie veröffentlicht werden. Zudem muss der Eintrag eine bestimmte Struktur haben. Hier findet ihr die Publikation. Zusätzlich ist zu empfehlen, dass der Code z.B. im GitHub hochgeladen wird. Dann kann dieser besser weiterentwickelt werden und es gibt ein Linkziel, auf welches man verweisen kann. Hier ist die YAML Datei zu finden. Im Anschluss kann die Block-Library von anderen Personen direkt über die openHAB Oberfläche heruntergeladen und benutzt werden. Sehr cool!
Fazit
Das Entwickeln und veröffentlichen ist wirklich cool gemacht. Die Integration kann direkt in der eigenen openHAB Instanz vorgenommen und getestet werden. Das Veröffentlichen mit einem simplen „Forum-Eintrag“ ist auch denkbar einfach. Es muss sich vorweg nur ein wenig eingelesen werden. Bestimmt werden weitere Block-Libraries folgen. Viel Spaß mit der ersten!
Hinterlasse einen Kommentar/Leserbrief!