Anfänger Fragen zur Ersteinrichtung

Hallo,

ich habe mir ein Haus gekauft, in dem der Vorbesitzer MAX! Heizkörper-, Wandthermostate und Fensterkontakte verbaut hat.
Alle Geräte laufen zur Zeit stand-alone. Es gibt keinerlei Vernetzung.
Laut seinen Aussagen hatte er wohl versucht mit Hilfe eines MaxCube CUNX und Homegear eine Smarthome Steuerung aufzubauen, ist aber daran gescheitert.
Ich habe mit SmartHome bisher praktisch nichts am Hut gehabt. Das einzige was ich in dieser Richtung mal getan hatte war mit Hilfe eines ESP32 ein paar Daten per MQTT an einen Mosquitto Server zu senden.
Netzwerktechnisch habe ich ein IOT VLAN vorbereitet, in dem zukünftig alles was mit Smarthome zu tun hat eingesperrt werden soll.
Meine gesamte Netzwerktechnik (Router, Accesspoints, Switche) basiert auf OpenWrt. Dort läuft auch der MQTT Server. Das ist alles getestet und funktionert.

Jetzt möchte ich einen neuen Versuch starten die MAX! Komponenten zu vernetzen. Da habe ich eigentlich nur FHEM und Homegear gefunden, die auch mit einem CUNX umgehen können.
Wenn ich den CUNX mit dem Netzwerk verbinde, holt er sich brav eine IP Adresse aus dem IOT VLAN. Er scheint also schon einmal ansprechbar zu sein.

Da der CUNX in Richtung Smarthome Zentrale ja nur über TCP/IP spricht, sehe ich keine Timing Probleme mit den einzelnen Geräten. Daher habe ich mich entschlossen Homegear als LXC Container auf meinem Proxmox Server zu installieren.

Auf Basis eines Debain Bullseye habe ich also wie auf der Download Seite Homegear - Downloads beschrieben, vor ein paar Tagen eine nightly installiert. Das hat auch erst einmal wunderbar funktioniert.
Auch ein Update dieser Version funktioniert problemlos.

Zunächst habe ich mir in der Hoffnung das es nicht zu viele Unterschiede gibt die Doku zu Version 0.8 reingezogen.
Außerdem habe ich mir den “Starter-Guide” angesehen.
Dabei ist mir gleich aufgefallen das Links, wie z.B. https://doc.homegear.eu/data/homegear/installation.html ins Leere zeigen…

Inhaltlich sind viele Themenbereiche aus dem Starter-Guide wie z.B. Scripting für mich (zunächst einmal) uninteressant. Ich denke das wäre eher etwas für Fortgeschrittene.

Nachdem ich die Admin-UI aufgerufen habe, habe ich mir zunächst einmal angesehen, was es dort so zu konfigurieren gibt. Im Bereich Inventar bin ich auf “Gebäude, Stockwerke und Räume gestoßen”.
Also dachte ich mir: Das wirst du brauchen um Geräte wie Thermostate irgendwie zu gruppieren. In der Admin UI ließ sich das auch problemlos erledigen.
Hier hätte ich mir von dem Starter-Guide mehr Hilfestellung erwartet. Für einen Anfänger ist es nämlich nicht unbedingt klar, was man in welcher Reihenfolge machen muss.

Es kam wie es kommen musste. Nach einigem herumprobieren, wurde mir klar, das es für mich sinnvoller gewesen wäre die Daten in einer anderen Reihenfolge einzugeben (auch wenn das technisch nicht notwendig ist).
Das würde mir erleichtern den Überblick zu behalten.
Letztlich endete das darin, das ich das System noch mal neu aufgesetzt habe. Alle Eingaben waren natürlich weg. Ein Backup hatte ich zwar vorher gemacht, aber damit konnte ich nur den gleichen unsinnigen Stand wiederherstellen.
Einen Export/Import von spezifischen Einstellungen habe ich nirgendwo entdeckt.

Spätestens jetzt stellte sich mir die Frage, kann man Inventar wie Gebäude, Stockwerke und Räume auch per CLI anlegen?
Dann könnte man seine Installation mit gespeicherten Eingaben bequem neu aufsetzen ohne die GUI zu bemühen.
Auf der Konsole “homegear -r” habe ich diesbezüglich nichts gefunden…

Hallo,
zumindest für die Möglichkeit Eingaben über das CLI zu machen, habe ich eher zufällig ein paar Hinweise gefunden. Ich hätte mir gewünscht, das das in der notwendigen Klarheit irgendwo gestanden hätte…

Da hier doch einige mitlesen, es aber keine Antworten gab, kommentiere ich mal selbst …

Das man mit “homegear -r” in das CLI von HomeGear wechselt, war relativ schnell klar. Auch das man sich dort mit “help” anlisten lassen kann, welche Befehle möglich sind.
Also z.B. “families list” um sich die installierten (und damit selektierbaren) Familien anzeigen zu lassen.

Dann findet man hier und da solche Dinge wie:

> $hg->addLink(39,1,19,3);'

Dummerweise eigentlich immer ohne den Hinweis, es sich im ein Command handelt, das man in der HomeGear CLI eingeben muss und vorher demzufolge “homegear -r” aufgerufen haben muss. Und zwar nur das, und nicht mehr!

Das ist für Anfänger schon eine Herausforderung. Wenn man in der CLI nämlich vorher so etwas wie “families select 4” bzw. “fs 4” eingegeben hat, kommt nur eine Fehlermeldung, aus der sich natürlich nicht ablesen läßt, das man sich an einer falschen Stelle im CLI befindet.

Und wenn man die CLI via “homegear -r” aufgerufen hat, bringt einen die Hilfe auch nicht unbedingt weiter.
Gibt man z.B. “rc” bzw. “runcommand” ein, so wie es die Hilfe suggeriert, so erhält man ein unfreundliches “unknown command”.
Man kann also nicht “rc” und dann “help” eingeben, wie bei anderen Befehlen, sondern man muss “rc help” eingeben.
Dann erfährt man anhand des Beispiels quasi ganz nebenbei, dass es dich bei den ominösen Befehlen al la “$hg->setValue(12, 2, “STATE”, true);” scheinbar um ein PHP Command handelt.

Mir diesem zusammengereimten Wissen ist es dann auch nur noch ein kleiner Schritt um Befehle direkt von der Linux Shell, oder einem bas Script ausführen zu können. Man muss nur noch erkennen, das man statt “homegear -r” den Befehl “homeger -e” nutzen muss um einen Befehl direkt auf der HomeGear Konsole ausführen zu können. Wie das Command dann aussehen muss. Darüber schweigt sich die Hilfe aus.

Aber ganz einfach. Wenn man weiß wie man die durchaus vorhandenen Informationen zusammensetzen muss…

Hier ein paar Beispiele. Der Befehl startet immer mit “homegear -e”.
Dem folgt der eigentliche inhaltliche Befehl, der in Hochkommata eingeschlossen wird. Mit “rc” wird signalisiert, das jetzt ein PHP Befehl kommt, der mit “$hg” beginnt. Das “$hg” sorgt für den Aufbau des passenden HomeGear Environments.
Und dann endlich folgt das was letztlich gemacht werden soll.

homegear -e 'rc $hg->addLink(39,1,19,3);'
homegear -e 'rc $hg->removeLink(39,1,19,3);'
homegear -e 'rc $hg->addLink("MEQ1821372:1", "KMQ1441244:3");'