Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Verständnisfrage zu Aliase / Verknüfungen

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Verständnisfrage zu Aliase / Verknüfungen

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tourer4778 last edited by

      Aliase, mehrfach gehört und jetzt erst verstanden, worum es da geht.
      Gleich zu Anfang meiner IoBrokerzeit, habe ich immer schon selbst Verknüpfungen erstellt, und diese dann in Javaskript zuugewiesen / verknüpft.
      Bedeutet, wenn ich eine Hardware habe, die ich Ein/Auschalten will, habe ich ein Datenpunkt EinAus erstellt und ein Skript zum Schalten erstellt. Vorteil, ich habe alle Datenpunkte in einer Ordnerstruktur.

      Jetzt habe ich das mit Aliase gehört und ich finde den Aufwand nicht so viel weniger und etwas mehr unübersichtlicher, da ich in unterschiedlichen Instanz Ordnern arbeite.
      Oder sehe ich das falsch ?

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

        @tourer4778
        Ich denke Du hast das falsch verstanden.
        Die Struktur unterhalb von alias.0 denkst Du Dir selbst aus. Da hast Du fast alle Freiheiten.

        92bcbb1b-3bdc-4883-a9fd-047900640451-image.png
        Aber vergiss für's Erste den Alias-Manager. Der legt nicht unbedingt das an was Du haben möchtest.

        T 1 Reply Last reply Reply Quote 1
        • T
          tourer4778 @Codierknecht last edited by

          @codierknecht
          Ja, aber so springe ich in Javaskript & Vis immer zwischen alias.0 und 0_userdata .
          Bei mir ist alles unter userdata ...

          Codierknecht 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @tourer4778 last edited by

            @tourer4778
            Aber dafür sparst Du Dir vermutlich eine ganze Reihe Scripte und gehst vermutlich deutlich sparsamer mit Systemressourcen um.
            So ist eben das Konzept. 0_userdata.0 für eigene Datenpunkte, die nicht durch einen Adapter beschrieben werden. alias.0 als Referenz auf fremde DP, die zu einem Adapter gehören, damit man problemlos das zugehörige Gerät austauschen kann und/oder für einfache Konvertierungen.

            so springe ich in Javaskript & Vis immer zwischen alias.0 und 0_userdata

            Immer noch deutlich komfortabler als zwischen alexa und zigbee "springen" zu müssen 😉

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

              @tourer4778 sagte in Verständnisfrage zu Aliase / Verknüfungen:

              Jetzt habe ich das mit Aliase gehört und ich finde den Aufwand nicht so viel weniger und etwas mehr unübersichtlicher, da ich in unterschiedlichen Instanz Ordnern arbeite.

              Ich erkläre das immer so, dass unter alias.0 keine "echten" Daten liegen. Das sind "keine richtigen Datenpunkte", die verhalten sich aber genau so.

              Die Informationen werden also nur aus der Quelle "gespiegelt", wie eine Verknüpfung unter Windows im Dateisystem. Die belegen ja auch nicht nochmal den Platz auf der Festplatte. Es existiert quasi nur die Objekt-Beschreibung (Objekt-Datenbank), aber es existiert kein Zustand in der State-Datenbank. Der wird immer aus der Quelle/dessen Zustand errechnet! Wie bei der Verknüpfung unter Windows, welche zwar einen eigenen Namen, Pfad und ein eigenes Icon haben kann, aber sie hält die Daten selbst nicht, sondern zeigt nur darauf.

              Wenn Du unter 0_userdata.0 einen Datenpunkt anlegst, dann wird der Wert dahinter wirklich in die Zustands-Datenbank gespeichert. Spiegelst Du nun also die Werte mit Scripts, dann hast Du jeden Wert zwei mal und eine echte Kopie davon.

              Ein weitere Vorteil von alias.0 ist: Du bist unabhängig von irgendwelchen Adaptern oder laufenden Instanzen. Wenn der JavaScript-Adapter mal nicht läuft oder gerade ein Update bekommt, dann werden in der Zeit Deine Werte in 0_userdata.0 nicht aktualisiert. Damit laufen die Werte eventuell auseinander. Unter alias.0 erledigt das alles der js-controller. Ohne dass auch nur eine Instanz laufen muss.

              Hier hatte ich das mal etwas zusammengeschrieben: https://iobroker.readthedocs.io/de/latest/basics/aliases.html

              T MartinP 2 Replies Last reply Reply Quote 3
              • T
                tourer4778 @haus-automatisierung last edited by

                @haus-automatisierung
                Okay, danke für die Erklärung.
                Ich möchte mein Visu überarbeiten und sammele derzeit noch Ideen, die mir helfen können und die ich dabei gleich mit umsetze. Ganz nebenbei weiß ich seit gestern, das man seine Datenpunkte auf 0_userdata anlegen sollte und nicht auf Java... . Ist zwar viel Arbeit, aber das sollte die Struktur schon mal passen. Ich werde das mit Alias mal umsetzen.
                Danke an alle, ich finde das hier echt super und ihr gebt euch sehr viel Mühe.

                1 Reply Last reply Reply Quote 0
                • MartinP
                  MartinP @haus-automatisierung last edited by

                  @haus-automatisierung said in Verständnisfrage zu Aliase / Verknüfungen:

                  Ich erkläre das immer so, dass unter alias.0 keine echten Daten liegen. Das sind keine eigenen Datenpunkte, die verhalten sich nur so. Die Informationen werden also nur dahin "gespiegelt", wie eine Verknüpfung unter Windows im Dateisystem. Die belegen ja auch nicht nochmal den Platz auf der Festplatte.

                  Ist das wirklich so?

                  Die Konfigurationsmöglichkeiten eines Alias-Datenpunkt legen ja erstmal nahe, dass da mehr dahintersteckt...

                  Readable / Writeable

                  7e297482-b155-42c4-af4a-101dfd86214c-grafik.png

                  Man kann unterschiedliche IDs für Read und Write verknüpfen, und Konvertierungsfunktionen angeben ...

                  4e2ef949-21e3-446c-bd91-a16934c24f01-grafik.png

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

                    @martinp sagte in Verständnisfrage zu Aliase / Verknüfungen:

                    Die Konfigurationsmöglichkeiten eines Alias-Datenpunkt legen ja erstmal nahe, dass da mehr dahintersteckt...

                    Es gibt natürlich ein Objekt. Das ist aber was anderes als der Zustand selbst. Also ein Alias steht in der Objekt-DB, aber nicht in der State-DB.

                    Fürs Wording: Ein Datenpunkt ist (für viele hier) immer ein Objekt + Zustand. Daher in Anführungszeichen, weil es nur noch ein Objekt ist, und der Zustand errechnet / bzw. nur aus dem anderen Datenpunkt geholt wird. Habe den Post nochmal bearbeitet, damit es eindeutiger wird.

                    @martinp sagte in Verständnisfrage zu Aliase / Verknüfungen:

                    Man kann unterschiedliche IDs für Read und Write verknüpfen, und Konvertierungsfunktionen angeben ...

                    Ja, das habe ich in dem Link oben ja auch so erklärt? 🙂 Wo widerspricht das meinen Aussagen?

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @haus-automatisierung last edited by paul53

                      @haus-automatisierung sagte: ein Alias steht in der Objekt-DB, aber nicht in der State-DB.

                      Ein Alias ist ein vollständiger Datenpunkt inkl. Zustand.

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

                        @paul53 Ja, aber der Zustand wird nur intern berechnet und landet nicht in der Datenbank - schreibe ich so missverständlich? 🙂

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @haus-automatisierung last edited by

                          @haus-automatisierung sagte: der Zustand wird nur intern berechnet und landet nicht in der Datenbank

                          Bist Du sicher?

                          T haus-automatisierung 2 Replies Last reply Reply Quote 0
                          • T
                            tourer4778 @paul53 last edited by

                            Noch eine Frage.
                            Wenn ich einen Alias erstelle, vergebe ich eine Alias ID. kann diese Automatisch auch als DP Name vergeben werden ?
                            Vielleicht gewöhne ich mich ja auch noch daran, aber derzeit übernimmt er immer den vom Quell DP und der ist nicht immer verständlich.

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

                              @tourer4778
                              Wie erstellst du den Alias?
                              Der Alias kann einen beliebigen Namen erhalten, den man natürlich eingeben muss, wenn er abweichen soll.

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

                                @paul53 sagte in Verständnisfrage zu Aliase / Verknüfungen:

                                Bist Du sicher?

                                Ja, deswegen können viele Feature-Requests zu dem Thema nicht umgesetzt werden (z.B. manche Werte aus dem Quell-Datenpunkt zu ignorieren). Diskussion hier:

                                https://github.com/ioBroker/ioBroker.js-controller/issues/529#issuecomment-602863663

                                GermanBluefox created this issue in ioBroker/ioBroker.js-controller

                                open Implement "filter" for aliases #529

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @haus-automatisierung last edited by paul53

                                  @haus-automatisierung sagte: Werte aus dem Quell-Datenpunkt zu ignorieren

                                  Was hat das mit dem Schreiben in die States-DB zu tun?
                                  Man kann keine Werte ignorieren, da bei jeder Aktualisierung des Zeitstempels der Alias aktualisiert wird und es keinen Zugriff auf einen "oldVal" gibt.

                                  T haus-automatisierung 2 Replies Last reply Reply Quote 0
                                  • T
                                    tourer4778 @paul53 last edited by

                                    2bfc7cf2-6bf7-4276-9a34-1c26cc42bbf8-grafik.png @paul53

                                    Vorn den namen habe ich ja selbst eingegeben, hinten den übernimmt er vom DP. Diesen kann man nur händisch ändern, oder?
                                    Ich frage, weil ich vorn ja schon ein für mich sinnigen Namen engebe und hinten muss ich das noch einmal machen...

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

                                      @paul53 sagte in Verständnisfrage zu Aliase / Verknüfungen:

                                      Was hat das mit dem Schreiben in die States-DB zu tun?

                                      Ganz einfach: Der js-controller wird neugestartet = Alias leer, weil der letzte Wert nicht in der Datenbank steht und beim Start wiederhergestellt werden kann.

                                      Momentan ist die Voraussetzung, dass man den Wert im Alias immer und zu jeder Zeit (mit der ggf. hinterlegten Funktion) erneut berechnen kann, damit der nicht leer ist.

                                      @paul53 sagte in Verständnisfrage zu Aliase / Verknüfungen:

                                      und es (bisher) keinen Zugriff auf einen "oldVal" gibt.

                                      OldVal ist ja eh nur ein Feature vom JavaScript-Adpater und existiert bei der Adapter-Entwicklung / im js-controller eh nicht. Das hält der JavaScript-Adapter alles nur im Arbeitsspeicher und merkt sich die vorherigen Werte selbst. Das ist kein js-controller-Feature.

                                      Wird aber gerade gefühlt etwas Offtopic. Alles weiter steht ja auf GitHub.

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

                                        @tourer4778 sagte: weil ich vorn ja schon ein für mich sinnigen Namen engebe und hinten muss ich das noch einmal machen...

                                        Sinnig für einen Namen ist der letzte Teil der ID nur bei solch einer kurzen ID-Struktur. In allen anderen Fällen müsste der Name ohnehin manuell angepasst werden.
                                        Beispiel: ID: "alias.0.Wohnen.Licht.Decke.ein". Der Name "ein" wäre wenig aussagekräftig, sondern eher der Name "Deckenlicht Wohnzimmer ein", den man nur manuell bilden kann.

                                        1 Reply Last reply Reply Quote 0
                                        • Codierknecht
                                          Codierknecht Developer Most Active @tourer4778 last edited by

                                          @tourer4778

                                          @codierknecht sagte in Verständnisfrage zu Aliase / Verknüfungen:

                                          Aber vergiss für's Erste den Alias-Manager. Der legt nicht unbedingt das an was Du haben möchtest.

                                          Lege die Aliase "von Hand" im Objektbaum an.

                                          dd718f48-8ffb-46ec-b0a9-6c8f580a4e08-image.png

                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            tourer4778 @Codierknecht last edited by

                                            @codierknecht
                                            Danke, ja ich hatte so ein wenig meine Probnleme.
                                            Aber so langsam funktioniert es.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            707
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            30
                                            1618
                                            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