Also der override verändert das Startverhalten von openHAB.
ExecStartPre wird ausgeführt, bevor der Dienst gestartet wird. Die angegebene Zeile sucht alle Dateien unterhalb $OPENHAB_CONF (die geschweiften Klammern schützen enthaltene Leerzeichen und andere Schweinereien), deren Name auf .rules endet und benennt diese Dateien um, so dass die Endung anschließend .x lautet.
Nun startet systemd den Dienst openhab2.service
Wenn der Dienst gestartet ist, wartet das Script 120 Sekunden und macht danach die Umbennenung rückgängig (auf dem gleichen Weg, also nun alle Dateien mit der Endung .x finden und nach .rules umbenennen).
Zwei Anmerkungen dazu: 1. sollte die Änderung eigentlich nur im Zweig $OPENHAB_CONF/rules erfolgen. 2. könnte es sein, dass ein Anwender irgendwo im Zweig $OPENHAB_CONF selbst eine Datei mit der Endung .x angelegt hat. Es ist also ein schmutziger Trick mit eventuellen Nebenwirkungen... Kann man so machen, aber vermutlich wäre es besser, in $OPENHAB_CONF ein Verzeichnis rules_auto_inactive anzulegen und alle Rules aus rules in dieses Verzeichnis zu verschieben bzw. wieder zurückzuschieben. Man könnnte sogar einfach das ganze Verzeichnis rules umbenennen, das wäre wesentlich einfacher, allerdings mit dem gleichen Problem, dass man sicherstellen muss, dass der Anwender nicht selbst ein Verzeichnis mit dem "inactive-Namen" angelegt hat. Aber vielleicht bin ich auch einfach nur pingelig...
