OpenHAB Designer Plugin für Visual Studio Code
OpenHAB Designer
Für die Entwicklung an meiner Openhab Instanz habe ich bislang den Eclipse Smarthome Designer benutzt. Dieser ist allerdings eher als rudimentär zu verstehen.
Jetzt gibt es aber ein neues Licht am Himmel, ein Plugin für Visual Studio Code! Angekündigt in diesem Tweet KubaWolanin erweitert es den mächtige Open Source Editor um Unterstützung für die Openhab Scriptengine.
Es ist aktuell noch nicht über den market verfügbar, funktioniert allerdings schon ziemlich gut.
Es kommuniziert mit dem Openhab Server. Und ich bin gespannt welche Funktionen dadurch noch hinzukommen bzw. verbessert werden. Schließlich ist es aktuell möglich, Things und Items sowohl in der WebGui als auch in den Konfigurationsdateien anzulegen.
Vorteile und Wünsche
In VS-Code ist auch gleich die Code-Verwaltung git integriert, sodass man direkt aus VS-Code heraus committen kann. Auch die Differenzanzeige ist nur einen Klick entfernt. Wie bei ESMD kann ich auch hier eine Batch benutzen. Diese kopiert den gesamten Ordner via Robocopy auf den Pi. In meinem Falle startet VS-Code auch deutlich schneller als ESHD. Dass mir die Umgebung auch an sich besser gefällt, ist allerdings persönlicher Geschmack und das muss man für sich selbst herausfinden.
Wunschliste
- Things und Items die von der WebGUI stammen in die Dateien verschieben. (Versionsverwaltung, Massenbearbeitung etc.)
- Formatter!
- Vollumfängliche Code-Completion (.state etc.)
Fazit
Auf jeden Fall ist dieser Ansatz aus meiner Sicht jetzt schon vielversprechender als der ESMD. Dieser scheint, was die Entwicklung angeht, ziemlich ins Stocken geraten zu sein. Wer also auch nicht ganz damit zufrieden ist, der kann sich doch auch einfach mal das neue Plugin anschauen.
Wenn dann OH noch um einige Funktionen erweitert (richtige Methoden/Funktionen, Importe für Dateien um auf Methoden aus anderen Dateien zugreifen zu können), kann man endlich mal ordentlich arbeiten und muss nicht mehr so frickeln. Und warum gibt es eigentlich Things und Items, wenn Items eigentlich nur Eigenschaften von Things sind… das SCHREIT ja eigentlich nach Objekten. 😉