Umstellung auf girder 6

01.09.2015

Die Automatisierungs-Software girder nutze ich inzwischen seit mehr als 10 Jahren. Seit meinen ersten Tagen mit einem Wohnzimmer-PC benutze ich girder, um damit die Automatisierung und Steuerung des PCs mit einer Infrarot-Fernbedienung herzustellen. Damals war es girder 3.1 welches noch kostenlos von einem Entwickler zur Verfügung gestellt wurde. Seit dem bin mit den Versionen mit gewachsen und habe den erweiterten Funktionsumfang genutzt, um immer weiterführende Use Cases umzusetzen. Jetzt wurde die Version 6 fertig gestellt und es wird für mich Zeit, mein hundhome auf diese neue Version umzustellen.

Bildquelle: promixis.com

Girder

Die Software girder wird bereits seit 1998 von einem enthusiastischen Entwickler bereitgestellt, der ursprünglich aus den Niederlanden kommt und inzwischen in den USA lebt und dort die Firma Promixis leitet. Girder ist eine Automatisierungslösung für Windows PCs die mit einer grafischen Oberfläche die einfache Verknüpfung von Automatismen erlaubt. Dies erfolgt nach dem einfachen Grundprinzip "Wenn ein Ereignis eintritt, dann führe bitte eine Aktion aus"; man kennt es heute auch von Online-Diensten wie "If-This-Then-That". Bei der Konfiguration werden die Aktionen in einer Baumstruktur grafisch dargestellt und durch Anhängen mit zugeordneten Ereignissen verknüpft. Aktionen als auch Ereignisse können alle Funktionen sein, die im Windows-PC aber auch an angeschlossenen System auftraten:

Beispiele für Aktionen:

  • Öffne / schließe ein Programm
  • Bewege die Maus, sende einen Tastendruck an ein Fenster
  • Verändere die Lautstärke
  • Sende ein Infrarot-Signal an ein Gerät

Beispiele für Ereignisse:

  • Empfange einen Tastendruck
  • Empfange ein Infrarot-Signal von einer Fernbedienung
  • Warte auf das Starten eines Programms
  • warte auf das Wechseln des TV-Kanals

Damit lassen sich bereits viele Anwendungsfälle abdecken. Die verfügbaren Ereignisgeber und Aktionen können darüber hinaus erweitert werden durch sogenannte Plugins. Diese können aus dem Community-Forum geladen oder selbst entwickelt werden.
Wem dass nicht ausreicht, der kann nun in den Aktionen zusätzlich noch ein selbst erstellten Programm ausführen und bekommt damit eine vollständig programmierbare Script-Engine die noch viel mehr Möglichkeiten eröffnet. Die dabei verwendete Programmiersprache ist LUA in der Version 5.1. Diese wurde für girder noch um ein paar spezielle Funktionen erweitert.

Girder Version 6

Im Laufe der Zeit hat sich girder stetig weiter entwickelt. In der Version 3.x war girder eine reine Desktop-Applikation die nach der Anmeldung eines Nutzern am Windows-PC im Nutzer-Kontext gestartet wurde. In den Versionen 4 und 5 wurden erste Versuche unternommen girder als Windows Service laufen zu lassen alternativ zur Desktop-Anwendung. Seit girder 6 wurde das Programm in ein Frontend und ein Backend aufgeteilt. Das Frontend läuft auf dem Desktop im Nutzer-Kontext und beinhaltet die grafische Oberfläche zur Konfiguration. Das Backend beinhaltet die Automationsprozesse die auch ohne Frontend ausführbar sind. Damit ist es nun möglich, girder in unterschiedlichen Modi zu starten.

"girder in same process"

Frontend und Backend laufen gemeinsam im Nutzer-Kontext auf dem Desktop wie bei den früheren girder Versionen (Siehe im Bild Windows PC 1)

"girder remote local"

Frontend und Backend laufen getrennt aber auf dem gleichen PC. Das Frontend auf dem Desktop und das Backend als Windows Service ( Siehe im Bild Windows PC 2). Das hat den Vorteil dass das Backend auch Regeln exekutiert, wenn der Nutzer nicht angemeldet ist oder girder nicht als Fenster gestartet hat.

"girder remote over network"

Frontend und Backend laufen getrennt auf unterschiedlichen Systemen/PCs. Das Frontend auf dem Desktop und das Backend als Windows Service ( Siehe im Bild Windows PC 2 und PC 3). Das hat den Vorteil dass das Backend auf einem PC laufen kann völlig ohne Nutzer-Kontext und der Anwender kann die Installation über das Frontend von einem anderen PCs aus konfigurieren. Seit girder 6 kann das Backend übrigens auch auf Linux-Systemen laufen wie z.B. auf einem Raspberry Pi.

Das Frontend

In der Benutzeroberfläche stehen dem Anwender die üblichen Funktionen zur Verfügung, um Ereignisse und Aktionen zu verknüpfen.

Im unteren bereich gibt es die für Entwickler nützlichen Tools zur Diagnose und Analyse. Dazu gehört eine LUA-Konsole die direkt Kommandos zur Script-Engine ermöglich. Desweiteren ein Sog. Variable-Inspektor der einen Zugriff auf die aktuellen Zustände der Lua-Variablen in einer Baumstruktur ermöglicht. Außerdem gibt es einen Logger der eingehende Events und ausgeführte Aktionen auflistet.
Weiterführende Informationen bekommt man auf er Homepage von Promixis oder direkt im Anwender-Forum wo einem immer zügig geholfen wird.

Girder 6 im hundhome

Bei mir läuft girder auf dem Wohnzimmer PC hundmedia in der Form "girder remote local" kombiniert mit "girder remote over network". Konkret heißt das:

  1. Der Backend-Prozess läuft als Windows Service auf hundmedia. Dort werden sämtliche Automatisierungsfunktionen ausgeführt.
  2. Ein Frontend-Prozess läuft ebenfalls auf hundmedia der mit dem Backend-Prozess stets verbunden ist. Das wird benötigt, weil girder nur im Anwender-Kontext auf Tastendrücke und Windows-Fenster reagieren kann. Der Windows Dienst kommt da nicht dran. Dadurch das beide Prozesse verbunden sind, stehen dem Backend-Prozess aber sämtliche Ereignisse zur Verfügung.
  3. Weitere Frontend-Prozesse laufen auf meinen PCs damit ich remote an der girder Installation arbeiten kann von überall.

Als Hauptaufgaben erledigt girder für mich die Ansteuerung sämtlicher Heimautomatisierungsprozesse und außerdem die Bedienung und Steuerung des Wohnzimmer-PCs hundmedia der ja immer noch mein primäres TV-Empfangs- und Medienwiedergabe-Gerät ist.
In den folgenden Wochen und Monaten werde ich vielleicht mehr dazu schreiben, wie ich neue Geräte im eHome hundhome in girder integriere.

Zurück