Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. Devices Adapter Alias Namen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Devices Adapter Alias Namen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @haus-automatisierung last edited by

      @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 nicht kaum 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.

      haus-automatisierung 1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @Codierknecht last edited by

        @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.

        Codierknecht 1 Reply Last reply Reply Quote 1
        • Codierknecht
          Codierknecht Developer Most Active @haus-automatisierung last edited by

          @haus-automatisierung
          Das kriegt man aber auch "von Hand" hin.
          Du weißt doch: Was man nicht selbst macht, taugt auch nix 😁

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @Codierknecht last edited by

            @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 🙂

            1 Reply Last reply Reply Quote 2
            • Armilar
              Armilar Most Active Forum Testing @warhammer73 last edited by

              @warhammer73

              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...

              W 1 Reply Last reply Reply Quote 0
              • W
                warhammer73 @Armilar last edited by

                @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.

                Armilar 1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @warhammer73 last edited by Armilar

                  @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.

                  W 1 Reply Last reply Reply Quote 1
                  • W
                    warhammer73 @Armilar last edited by

                    @armilar

                    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.mood

                    Jeder 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.

                    Codierknecht crunchip 2 Replies Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @warhammer73 last edited by

                      @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.

                      W 1 Reply Last reply Reply Quote 0
                      • crunchip
                        crunchip Forum Testing Most Active @warhammer73 last edited by crunchip

                        @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
                        8e12bb99-856a-4057-93e7-b524468e18a8-image.png a59d3baa-235d-4d87-b4b8-da2bb4306040-image.png f0fa7288-f8ec-4ab2-b989-137e7e4348f6-image.png

                        W 1 Reply Last reply Reply Quote 0
                        • W
                          warhammer73 @Codierknecht last edited by

                          @codierknecht
                          Naja, so konträr zum Gerätemanager ist es ja gar nicht.
                          Da kann ich auch für jeden Datenpunkt einen eigenen Alias anlegen und benennen wie ich will.
                          Ich muss halt nur damit leben das ich Actual mit irgendwas füllen muss.
                          Mit dem Kompromiss kann ich aber nun leben - Und das Gerät tauschen lässt sich damit natürlich auch.

                          1 Reply Last reply Reply Quote 0
                          • W
                            warhammer73 @crunchip last edited by

                            @crunchip
                            Naja, aber auch vom aktuellen Zustand kann es mehrere Werte geben (z.B. Thermometer mit Temperatur, Luftfeuchte, Batteriestand, Empfangsqualität oder Thermostat: Öffnung des Ventils, Temperatur am Thermostat).
                            Insofern krieg ich halt keine konsistente Nutzung eines so generischen Wertes hin - Macht ja aber nichts.
                            Wie gerade geschrieben gibt es halt den Alias auf Actual, aber ich nutze ihn nicht weiter.

                            Ja, den alias manager hatte ich mir auch angesehen - Aber dann doch lieber ganz händisch. Ist irgendwie für mich persönlich nicht so hilfreich.

                            crunchip 1 Reply Last reply Reply Quote 0
                            • crunchip
                              crunchip Forum Testing Most Active @warhammer73 last edited by

                              @warhammer73 seh dir mein edit oben an

                              1 Reply Last reply Reply Quote 0
                              • A
                                Andersmacher last edited by

                                Ich hoffe, ich darf mich hier zu dem Thema Alias-Namen mit einhaken, weil mich das Thema "Benennung" auch beschäftigt:

                                Unabhängig davon, ob man nun für die Alias-Erstellung manuell vorgeht oder den Device- oder Alias-Manager benutzt, stellt sich für mich die Frage, welche "Anteile" an der (Original)datenpunktbennung "ziehe" ich (schlauerweise) in den Namen des Alias mit hinein und welche lasse ich nur in der Objekt-Hierarchie stehen.
                                Am Beispiel eines Homematic-Rauchmelders:

                                Originalname: Rauchmelder_Flur:0.LOWBAT
                                Aliasstruktur: alias.0.HM_Geräte.Rauchmelder_Flur.LOWBAT

                                Was ist aus Eurer Sicht schlauer bzw. wo liegen Vor- oder Nachteile (Ich habe noch keine Erfahrungen mit Aliassen, denke aber, daß das irgendwann relevant sein kann)?

                                Aliasname: LOWBAT

                                oder besser (wenn ja, warum, denn daß das LOWBAT zum Rauchmelder_Flur gehört erkennt man ja aus dem Objektbaum)

                                Aliasname: Rauchmelder_Flur.LOWBAT
                                oder sollte man sogar noch die :0 mit im Namen behalten?

                                Für Hinweise bin ich dankbar.

                                Codierknecht W 2 Replies Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active @Andersmacher last edited by

                                  @andersmacher
                                  Wenn man sich einfach mal vor Augen führt, wozu die Aliase gedacht sind, wird eigentlich schnell klar wie man die benennen sollte.
                                  Ein Alias dient dazu, den Original-DP zu anonymisieren.
                                  Soll heißen: Egal welcher DP letztlich dahinter steckt - angesprochen wird nur noch der Alias.
                                  Ziel des Ganzen: In Scripten und der VIS spricht man nur noch den Alias an. Ändert sich mal der Original-DP, weil man z.B. den Hersteller wechselt, muss an den Scripten und der VIS nix geändert werden.
                                  Man braucht (und sollte) also im Namen des Alias weder den Hersteller noch die Instanz mit aufzunehmen.

                                  @andersmacher sagte in Devices Adapter Alias Namen:

                                  oder sollte man sogar noch die :0 mit im Namen behalten?

                                  Sollte damit auch beantwortet sein.

                                  Ich würde die Namen auch durchweg klein schreiben. Aber das ist eher Geschmackssache.

                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    warhammer73 @Andersmacher last edited by

                                    @andersmacher said in Devices Adapter Alias Namen:

                                    Am Beispiel eines Homematic-Rauchmelders:
                                    Originalname: Rauchmelder_Flur:0.LOWBAT
                                    Aliasstruktur: alias.0.HM_Geräte.Rauchmelder_Flur.LOWBAT

                                    Was ist aus Eurer Sicht schlauer bzw. wo liegen Vor- oder Nachteile (Ich habe noch keine Erfahrungen mit Aliassen, denke aber, daß das irgendwann relevant sein kann)?

                                    Aliasname: LOWBAT

                                    oder besser (wenn ja, warum, denn daß das LOWBAT zum Rauchmelder_Flur gehört erkennt man ja aus dem Objektbaum)

                                    Aliasname: Rauchmelder_Flur.LOWBAT
                                    oder sollte man sogar noch die :0 mit im Namen behalten?

                                    Für Hinweise bin ich dankbar.

                                    Im Endeffekt kann Dir niemand sagen was für Dich der richtige Weg ist.
                                    Beachte aber:
                                    Der Alias sollte eindeutig und sprechend sein (Ist LOWBAT sicher nicht, sowas wie Rauchmelder_Flur.LOWBAT schon eher
                                    Mache Dir am Besten vorher Gedanken wie Dein Maximalausbau aussehen könnte. Wenn die Chance besteht mehr wie einen Rauchmelder im Flur zu haben (oder es mehrere Flure gibt) dann berücksichtige das gleich in der Namensgebung (Also z.B. Rauchmelder_Flur_Erdgeschoss.LOWBAT)
                                    Überlege Dir ob und welche Gruppierungen Du später oder gleich am Ehesten vornehmen könntest. Also eher alle Geräte im Flur zusammengefasst, oder eher alle Rauchmelder? Entsprechend den Aliasbaum aufbauen (Also Flur.Rauchmelder.LOWBAT oder Rauchmelder.Flur.LOWBAT)

                                    Warum nicht nur LOWBAT? Weil Du in Scripten oder Konfigurationen gleich sehen willst was denn LOWBAT aussagt, ohne das Du dann erst in die Konfiguration gehst und schaust wo LOWBAT hinverweist.

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      Andersmacher @warhammer73 last edited by

                                      @warhammer73 und @Codierknecht Danke für Eure Rückmeldungen und Hinweise!

                                      Den Sinn der Aliasse (für VIS und Skripte im Falle eines Hardwarewechsels nichts ändern zu müssen) hatte ich bereits so interpretiert, wie Ihr es auch erläutert habt. Hatte da allerdings wohl nicht weit genug gedacht, daß man da später vielleicht nicht nur einen defekten HM-Rauchmelder gegen einen neuen tauscht, sondern natürlich auch einen komplett anderen nehmen könnte. Insofern wäre dann ein hersteller- oder gerätespezifischer Namensbestandteil schlecht/verwirrend. Ok, verstanden. Und das mit den etwaigen Gruppenbildungen ist mir auch klar. Mein Beispiel war da etwas vereinfachend.

                                      Meine Haupt"sorge" war, daß ich mir durch ungeschickte Namenshierarchie vielleicht Skriptmöglichenkeiten "verbaue" oder unnötig kompliziert mache (z. B. für die Funktion "IDs vom Selektor"). Da Ihr soetwas nicht angesprochen habt, nehme ich mal an, daß ich mir diesbezüglich aber eher keine Sorgen machen muß.

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @Andersmacher last edited by

                                        @andersmacher sagte: für die Funktion "IDs vom Selektor"

                                        Wenn man keine Enums dafür verwenden will - die ja auch erst zugeordnet werden müssen, ist eine einheitliche ID-Struktur erforderlich. Wie diese Einheitlichkeit aussieht, ist letztlich egal.

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          Andersmacher @paul53 last edited by

                                          @paul53 Danke!

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          798
                                          Online

                                          31.9k
                                          Users

                                          80.3k
                                          Topics

                                          1.3m
                                          Posts

                                          7
                                          29
                                          827
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo