NEWS
Devices Adapter Alias Namen
-
Hallo,
ich habe mit dem Adapter Devices / Geräte Verwalten Aliase angelegt. Das klappt damit ja auch ganz gut, aber wenn ich ein Thermometer einbinden möchte dann sollten natürlich auch die Namen Temperature/Humidy oder Luftfeuchtigkeit verwendet werden.
Leider bekomme ich aber die Vorgaben "Actual" und "Second" als Namen nicht angepasst.Habt Ihr irgendwelche Ideen?
-
@warhammer73
Warum so kompliziert?
Leg die doch einfach im Objektbaum an. Da hat man doch alles was man braucht und die volle Kontrolle. -
@codierknecht ? oder Hä?
-
@warhammer73
Bei der Erstanlage vergibt man die ID (hier: "alias.0.MeinNeuerAlias").
Später kann man den neuen Alias bearbeiten und einen "sprechenderen" Namen vergeben, der dann in der Spalte "Name" erscheint. -
@codierknecht
Beim Baum funktioniert das ganze ja problemlos und ich kann Namen vergeben wie ich will (Siehe Bild, statt Gerät_1 geht auch noch jeder andere Name).Aber:
... und das ist das Problem, wenn ich ein Temperaturgerät anlege, dann gibt es automatisch die "Actual" und "Second". Ich kann zwar weitere anlegen und damit auch "Temperatur" und "Luftfeuchtigkeit", aber die beiden gehen halt nicht weg und können auch nicht umbenannt werden.Gerade ausprobiert, wenn ich neue anlege (z.B. Luftfeuchtigkeit) und dann im unter "Objekte" versuche Second zu löschen, dann löscht er das zwar, beim nächsten aufrufen mit dem Device Adapter wird das aber wieder überschrieben.
-
@warhammer73 nimm doch den alias manager vllt kommst du damit besser zurecht
-
@warhammer73
Ich kann nicht ganz folgen.
Wo kommt denn dieser Screenshot her?
Beim Bearbeiten eines Alias sieht das bei mir völlig anders aus:
-
@codierknecht sagte in Devices Adapter Alias Namen:
Wo kommt denn dieser Screenshot her?
device Manager
-
@crunchip sagte in Devices Adapter Alias Namen:
device Manager
Eben - ich sprach von selbst angelegten Aliasen im Baum.
Da hat man selbst unter Kontrolle, was angelegt wird und was nicht.
Je Thermometer 2 DP (mit selbst gewählten Namen) angelegt und gut ist.Wobei ich aber auch zugeben muss, das beschriebene "Problem" noch nicht zu sehen.
Wie die DP heißen ist ja eigentlich Wumpe. Die können von mir aus auch "Kurt" oder "Paul" heißen - solange sie die richtigen Werte enthalten. In der Visualisierung erhalten die dann entsprechende Label.Den Alias-Manager oder Geräte-Manager habe ich nach ersten Tests bei mir verbannt.
Alles was ich so brauche lege ich im Baum unterhalb vonalias.0
selbst an. Da weiß man dann sehr genau, was da existiert und was nicht. -
@codierknecht sagte in Devices Adapter Alias Namen:
Da hat man selbst unter Kontrolle, was angelegt wird und was nicht.
Ja, aber man sollte sich gut mit Objekt-Rollen auskennen, wenn man die Geräte dann in weiteren Adaptern verwenden möchte.
-
@haus-automatisierung sagte in Devices Adapter Alias Namen:
Ja, aber man sollte sich gut mit Objekt-Rollen auskennen, wenn man die Geräte dann in weiteren Adaptern verwenden möchte.
in die Verlegenheit bin ich bisher
nichtkaum gekommen.
Könnte daran liegen, dass ich keine Alexa und kein Google im Haus habe
Zumindest vermute ich mal, dass Dein Einwand in diese Richtung geht. -
@codierknecht Generell geht es bei dem Geräte-Adpater darum, dass man bestimmte Geräte-Typen auf den gleichen Nenner bringt. So können alle möglichen Adapter auf dieser Basis aufbauen. Das kann auch eine Visualisierung sein. Siehe z.B. lovelace oder material.
-
@haus-automatisierung
Das kriegt man aber auch "von Hand" hin.
Du weißt doch: Was man nicht selbst macht, taugt auch nix -
@codierknecht sagte in Devices Adapter Alias Namen:
Du weißt doch: Was man nicht selbst macht, taugt auch nix
Mit dem Ansatz sind ja 99% der Adapter obsolet und man kann alles im JavaScript-Adpater selbst programmieren
-
Leider bekomme ich aber die Vorgaben "Actual" und "Second" als Namen nicht angepasst.
Exakt das ist der Sinn an virtuellen Devices, dass du es nicht anpassen kannst. Ansonsten kannst du dir ja eine 1:1 Beziehung zwischen einem Datenpunkt und einem Alias bauen. Dann verstehe ich aber nicht, warum du einen Alias brauchst. Dann nimm lieber den Datenpunkt. Alles andere hätte außer Zeitverschwendung dann keinen Sinn.
Wenn du aber eine Lampe hast, die einmal über "on" oder "switch" oder "power" geschaltet wird, dann ist es immer SET oder ACTUAL im Alias und der Code muss nicht mehr angepasst werden, sollte sich ein Device verabschieden oder durch ein anderes mit einem Schaltzustand "XYZ" ersetzt werden...
-
@armilar
Der Code muss aber auch nicht angepasst werden wenn es statt Actual und Second Temperatur und Luftfeuchtigkeit heisst.
Dann ist
a) Der Name wenigstens sprechend
b) Auch dann kann ich physikalisch als Gerät mit dem Alias immer noch jedes Device hängen das Werte für Temperatur und Luftfeuchtigkeit bereitstellt und kann diese auch austauschen wie ich will und muss nichts weiter ausser die Verknüpfung bei Alias anpassen. Die muss ich bei einem Ersatzgerät aber auch für Actual und Second anpassen. -
@warhammer73 sagte in Devices Adapter Alias Namen:
a) Der Name wenigstens sprechend
Aus einem unleserlichen Datenpunkt (in dem Punkt hast du natürlich recht), wie z.B.
deconz.0.Lights.5.on
würde dann z.B. ein
alias.0.schreibtischlampe_buero.ACTUAL
werden
Jetzt ist er sprechend und kann flexibel ersetzt werden. D.h. deinem Code kann es egal sein, welcher Adapter hinter dem Device steckt.
Aber es würde ja unschön aussehen, wenn der ALIAS als
alias.0.schreibtischlampe_buero.on
angelegt werden würde und irgendwann ein
AdapterXYZ.0.Lights.XY.switch
den Job übernimmt.
Ganz unsauber wäre es dann, wenn das Device mehrere Eigenschaften besitzt und zunächst nur als
alias.0.schreibtischlampe_buero
angelegt wird.
Ich denke bei der Anzahl an individuellen Adaptern die es gibt (und da ist augenscheinlich nichts standardisiert) und die Adapter die noch kommen werden, würde ich beim TypeScript des NSPanel durchdrehen, wenn ich jeden Datenpunkt von seiner Endung und Abhängigkeit eines Adapters berücksichtigen müsste oder eigene individuelle Nomenklaturen zulassen würde. Ganz zu schweigen von dem Code, da sich ansonsten jeder sein eigenes individuelles Schema baut (das wäre unpflegbar und unsupportbar).
Es werden direkt Aliase (Device oder Channel) mit Rollen abgefragt und verarbeitet.
Der Geräte-Manager bekommt das in der Erstellung super hin. Und was ist so schlimm an der Endung?
Das schlimmste ist dann, wenn jemand mit selbstgebastelten Aliasen erstmals versucht, den Content für die Devices zu erzeugen. Das geht dann zu 100% schief.
Ich sag es mal so. Es gibt da quasi so eine Art "Standard" und der Geräte-Manager hält sich zumindest dran.
-
Bleiben wir bei Deinem Beispiel:
alias.0.schreibtischlampe_buero.ACTUAL
... was soll das Aussagen? Zumindest ich weiss garantiert in einem Jahr nicht mehr, was Actual ist.
Der Zustand an/aus?
Der Dimmgrad in Prozent?
Die Leistungsaufnahme?
Der RGB Farbwert?
...hingegen:
alias.0.schreibtischlampe_buero.on
alias.0.schreibtischlampe_buero.brightness
alias.0.schreibtischlampe_buero.powerconsumption
alias.0.schreibtischlampe_buero.rgb
erklären sich von selbst.Und wenn da jetzt ein Adapter dahinter sitzt mit:
XY.0.Lights.Power
XY.0.Lights.threshold
XY.0.Lights.consumption
XY.0.Lights.color
Muss mich das nicht interessieren solange ich die Aliase nutze.
Da kann ich den Adapter auch austauschen gegen einen mit:
YY.0.Lights.switch
YY.0.Lights.color
YY.0.Lights.power
YY.0.Lights.moodJeder wie er mag. Ich persönlich würde am Rad drehen wenn jeder Alias ein Actual hat und das mal die Temperatur, mal die Ventilstellung, mal an/aus, mal Stromverbrauch... ist.
-
@warhammer73
Durchaus verständlich, aber konträr zum Vorgehen des Gerätemanagers.
Darum: Eigene Aliase erstellen. Die kann man benennen wie man will und später jederzeit das dahinter liegende Gerät tauschen.
Ist natürlich je nach Umfang 'ne Menge Arbeit. -
@warhammer73 sagte in Devices Adapter Alias Namen:
was soll das Aussagen
@warhammer73 sagte in Devices Adapter Alias Namen:
Zustand an/aus
in dem Fall ja, aber nicht zum schalten, sondern der state der den aktuellen Zustand zeigt
der weitere "selbe" DP der angelegt wird, wäre dann SET, dieser DP ist der zum schalten.wie HIER schon geschrieben, nimm den alias manager, wenn dich dieses actual stört
EDIT
hier mal ein Beispiel, mit der Datenstruktur