Irgendwo habe ich im Forum gelesen, dass es UI definitions nur für bestimmte roles gibt - leider stand dort nicht für welche.
Das “Beispiel für Heizung” aus dem Grundlagen Homegear / Starter-Guide - #17 by Sim habe ich nun mit einem virtual heating device im UI an den Start bekommen. Interessant ist, dass es bei mir nur mit virtual heating device, aber nicht mit virtual thermostat funktioniert. Vielleicht bringt das ja neue Erkenntnisse:
1. im Admin den room erzeugen z.B. ID=1
2. im AdminUI add device -> family=miscellaneous -> device=virtualheating
3. im AdminUI das device dem room zuordnen
homegear -e rc 'print_v($hg->addVariableToRoom(1, 1, "TEMPERATURE", 1));'
homegear -e rc 'print_v($hg->addVariableToRoom(1, 1, "SETPOINT_TEMPERATURE", 1));'
homegear -e rc 'print_v($hg->addVariableToRoom(1, 1, "CONTROL_MODE", 1));'
homegear -e rc 'print_v($hg->addRoleToVariable(1, 1, "TEMPERATURE", 201001));'
homegear -e rc 'print_v($hg->addRoleToVariable(1, 1, "SETPOINT_TEMPERATURE", 201002));'
homegear -e rc 'print_v($hg->addRoleToVariable(1, 1, "CONTROL_MODE", 201003));'
homegear -e rc 'print_v($hg->addUiElement(1, 1, "SETPOINT_TEMPERATURE", "Heizung"));'
Evtl. musst du einen reboot machen, damit die SETPOINT_TEMPERATURE.RV.xyz Variablen und die zugehörigen roles erzeugt werden. Das erfolgt offenbar über /var/lib/homegear/defaultroles.json.
Anschliessend sollte im UI unter devices ein heating widget mit slider auftauchen.
Warum funktioniert das mit VirtualHeating und nicht mit VirtualThermostat bzw. MAX!-Thermostat?
Man könnte jetzt natürlich über Node blue die device variables von VirtualHeating und MAX! verknüpfen, aber wie soll man das triggern? und vor allem - geht das nicht einfacher?