ich hab da ein kleines Verständnisproblem. In der ansonsten sehr guten Anleitung von @Sim fehlt mir ein Beispiel für komplexere rolen wie ein Heizungsregler
Beim einbinden von Lichtern ist es ja relative einfach. eine variable “state” die der Role zugefügt wird fertig
Bei der Heizung ist das anders. Die Heizung hat verschieden Variablen. Wie weise ich der Role alle notwendigen variablen zu und vor allem woher weiß die Role dann was aktuelle Temperature ist oder was es für eine Soll Temperatur ist oder…:
Was muss man anders machen? Das ist ja nur ein Teil der role
Die zweite Frage ist was allgemeines.
Gibt es eine Funktion, die alle Ui Elemente entfernt und die role to variable Verbindungen auflöst.
Hab beim erstellen nun ein Paar kleinere Fehler gehabt und nun teilweise 3 mal die gleiche Lampe im Zimmer verlinkt. Würde gerne wieder zurück auf Anfang und mit dem wissen was ich jetzt habe nochmal anfangen.
Leider nicht komme da Immernoch nicht wirklich zu Rande und irgendwie hab ich noch andere Probleme so das ich aktuell nicht mal den Räumen ihre Lampen zuordnen kann.
Muss aber sagen hab in letzter Zeit wenig gemacht es läuft relativ gut mit der alten Beta der UI.
Aber falls du weiter kommst sag Bescheid vielleicht komme ich auch mal wieder dazu
im frontend. Habe zum Beispiel 2 mal Heizung drin welche beide auf den gleichen Heizregler verweisen.
Um ehrlich zu sein im Admin Ui komme ich noch nicht ganz klar damit was mir da angezeigt wird, weil ich da halt auch probiert habe und nun Dinge doppelt angezeigt werden. Die wiederum im frontend gar nicht zu sehen sind.
Deswegen würde ich halt wieder gerne auf Zustand null gehen und dann mit dem Wissen von jetzt neu beginnen
Löschen von UI Elementen geht so:
homegear -e rc ‘print_v($hg->getAllUiElements(“en-US”));’ oder
homegear -e rc ‘print_v($hg->getAllUiElements(“de-DE”));’
je nach dem wie die Sprache eingestellt ist.
Danach das Element mit dem gewünschten Index löschen:
homegear -e rc ‘print_v($hg->removeUiElement(1));’ (Der Index eines UI-Elements findet sich im Feld [databaseId] der Ausgabe von getAllUiElements)
Wichtig ist danach noch die Rolle der Variable zu entfernen, weil diese in der Geräteübersicht noch mitgezählt wird:
homegear -e rc ‘$hg->removeRoleFromVariable(1, 1, “STATE”, 100001);’
Was du also machen kannst, ist einfach alle Elemente mit removeUiElement() entfernen und dann in der Admin-UI in <ip>:2001/admin/inventory/roles oder mit removeRoleFromVariable() die Variablen aus den verwendeten Rollen löschen. Eine Rücksetzfunktion gibt es derzeit nicht.
Viele Grüße, Simon
wenn ich das richtig sehe wird das Loeschen & neu Installieren des Paketes nicht wirklich etwas bringen, da die ganzen UI-Elemte genauso wie die Geraete an sich in der Homegear-Datenbank gespeichert sind.
Wenn du nicht alles manuell Loeschen kannst/willst, bleibt eigentlich nur noch die Moeglichkeit der kompletten Neuinstallation … oder Einspielen eines Backups von einem Zeitpunk vor der “Rumspielerei”
Allerdings ist jetzt noch ein Schönheitsfehler drin. Da meine Thermostate nicht ganz der Role entsprechen musste ich den Umweg über virtulle Stationen gehen.
Irgendwie können diese aber nur ganze zahlen als Vorgabe annehmen. Sprich ich stelle es auf 21.5 Grad und es springt immer auf 22 Grad. was für eine Temperatur manchmal etwas zu grob ist finde ich.
Gibt es hier noch einen Trick wie man das feiner Einstellbar machen kann?
Moin Felix,
erste Idee: du setzt bestimmt 21.5 °C und nicht 21,5 °C, so wie du es auch schreibst, richtig?
Verwendest du VirtualThermostat oder VirtualHeating als virtuelles Gerät? VirtualHeating wäre richtig. Da es gerade zwei gibt: die dürften gleich sein.
Du stellt deine Frage im Zusammenhang mit der UI; wenn du aus Node-Blue heraus eine Temperatur mit .5 setzt, nimmt sie der Thermostat dann an?
die Temperatur wird in der UI durch den Schieberegler gesetzt. Ich stelle auf einen ungeraden Wert, der Schieberegler springt dann auf den nächsten ganzzahligen wert.
Ich habe den virtuellen Thermostat genutzt kam mir auf den ersten Blick sinnvoller vor.
von überall anders kann ich an den Thermostat (den realen) Koma Werte senden. Der virtuelle springt trotzdem zur nächsten Ganzzahl, auf oder abgerundet eben.
Gibt es einen einfachen Weg den virtuellen Thermostat mit dem virtuellen heating zu ersetzen? Habe jetzt schon einige gemacht und mann müsste das ja komplett durchgehen
Muss mir aber auch mal den virtuellen heating anschauen wenn ich wieder daheim bin.
Dass nur Ganzzahlen gehen ist vermutlich eine Eigenheit vom VirtualThermostat. Ich habe das bei mir mal nachgestellt und da ist es genauso. Beim VirtualHeating geht’s aber. Mir ist leider kein einfacherer Weg bekannt, als das bisherige rückgängig zu machen und neu anzulegen. Wenn du das für ein Gerät gemacht hast, ist es beim Nächsten ja aber lediglich die Peer-ID/databaseId, die geändert werden muss.
ich habe es dann über den Virtuellen Thermostat gelöst. Einfach in der Admin UI soviele anlegen wie du brauchst und dann diese über Node Blue verschalten.
Dann kannst du diese in der UI verlinken. Wenn die Variablen und Kanäle nicht dem entsprechen was die UI erwartet geht das nicht anders soweit ich weiß.
Ich nutze Micropelt die über Enocean laufen.
Hab mal ein Makro geschrieben welches auf Excel basis ist und den Funktionsstring erstellt. siehe: Hier
vielen Dank für das Excel-Sheet, das ist super praktisch.
Eine Frage habe ich noch:
In meinem virtual device habe ich die variables TEMPERATUR, SETPOINT_TEMPERATURE, CONTROL_MODE.
Im MAX! device entspricht das den variables ACTUAL_TEMPERATURE, SET_TEMPERATURE, CONTROL_MODE.
Ich muss also den Wert von MAX! z.B. ACTUAL_TEMPERATURE auf das virtual device TEMPERATURE übertragen. Versuchsweise habe ich das mal für diese eine variable intervallgesteuert in Node Blue gemacht - funktioniert auch, aber scheint mir keine gute Lösung zu sein.
Wie genau hast du die Verlinkung gemacht - im AdminUI oder Node Blue?
ja du musst quasi im Node Blue die Daten an dein Max! Geräte übergeben. Hat mich jetzt nicht sonderlich gestört da ich eh noch andere stellen habe di das abgreifen und schreiben müssen. Externes Thermometer und wand wandfühler etc.