Homegear-UI

Ich habe in @pmayer 's Blog vom Homegear-UI gelesen. Daran bin ich sehr interessiert. Das ist so ziemlich der letzte Baustein, um vollständig von openHAB auf Homegear zu migrieren. Ich habe es mir auch installiert, leider kommt noch kein Ergebnis:

Mein aktuelles UI in openHAB ist schon relativ umfangreich. Ich habe halt relativ viele Geräte, da möchte ich beispielsweise nicht jeden Heizkörper einzeln einstellen müssen. Daher brauch ich die Möglichkeit beliebige Funktionen (Flows) aufzurufen. Also z.B. ein Schalter, der eine Systemvariable umstellt, wodurch dann der Flow gestartet wird. Es ist also für mich relativ wichtig UI-Elemente ohne direkte Peer erzeugen zu können. Ist so etwas geplant?

2 Likes

Hi,
um ein Element zu Visualisieren gibt es addUiElement().
Es können Geräte- oder Systemvariablen visualisiert werden.

Eine Variable muss einer Rolle hinzugefügt werden mit addRoleToVariable().

Die Rollen können der defaultRoles.json in /var/lib/homegear/ entnommen werden.
Die Variable, der Kanal oder das Gerät muss einem Raum und einem Stockwerk zugewiesen sein.
Entweder über die AdminUI oder z.B. mit addSystemVariableToRoom().

Beispiel:
Systemvariable erstellen:
homegear -e rc '$hg->setSystemVariable("Licht.Wohnzimmer", false);'

Raum und Stockwerk erstellen, Raum zu Stockwerk zuweisen über AdminUi.

Variable zu Raum hinzufügen:
homegear -e rc '$hg->addVariableToRoom(0, -1, "Licht.Wohnzimmer", 1);'
0, -1 = Systemvariablen, hier können auch Gerätevariablen stehen.

Variable zu einer Rolle hinzufügen:
homegear -e rc '$hg->addRoleToVariable(0, -1, "Licht.Wohnzimmer", 100001);'

UI Element erzeugen:
homegear -e rc '$hg->addUiElement(0, -1, "Licht.Wohnzimmer", "Deckenlicht");'

bei mir sieht das dann so aus:

test.homegear.eu zeigt eine etwas umfangreichere UI

Grüße Benni

4 Likes

Hallo zusammen,
gibt es für die UI irgendwo ein Fehler Log ?
ich habe die befehle genau so ausgeführt wie von benni.st beschrieben allerdings sehe ich nur das blaue Haus und keine Visu.
Es wurde mir auch kein Fehler ausgegen bei der Eingabe der Befehle.

installiert habe ich das aktuelle nightly.
Auf einem Rapi stretch.

Gruß Padi

@Micha - ne Idee?

Leider nein (die Frontend-UI ist auch nicht von mir).
Aber das “normale” homegear.log/.err bzw. -scriptengine.log/.err sollten bei Fehlern schon was zeigen. Ggf. das Loglevel hoeher stellen?

– Micha

Aber das “normale” homegear.log/.err bzw. -scriptengine.log/.err sollten bei Fehlern schon was zeigen.

Ja, da sollte was drinstehen, bzw. die RPC-Funktion sollte in jedem Fall eine Fehlermeldung zurückgeben, wenn das UI-Element nicht angelegt werden konnte.

Wichtig auch: Intern nennt sich diese Art UI-Elemente “addUiElementSimple”. Diese simple Elementerstellung erfordert eine UI-Elementzuordnung zu Rollen in der defaultRoles.json. Wenn es diese noch nicht gibt, funktioniert es nicht (aber es gibt dann eine Fehlermeldung). Es dürfte aber nicht mehr lange dauern, bis wir alles zugewiesen haben.

Viele Grüße

Sathya