Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Fragen / Antworten rund um die neue Alias Funktion

    NEWS

    • Update NodeJS best practise, supported 14, 16 und 18!

    • Update js-controller 4.0.24 (Stable)

    • Fehler 25, 217 oder "ENOTEMPTY" bei Adapter-Install/Update

    Fragen / Antworten rund um die neue Alias Funktion

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

      {
        "from": "system.adapter.javascript.0",
        "user": "system.user.admin",
        "ts": 1576736190798,
        "common": {
          "name": "Weihnachtsbaum",
          "type": "boolean",
          "role": "switch",
          "read": true,
          "write": true,
          "smartName": {
            "de": "Weihnachtsbaum"
          },
          "alias": {
            "id": "deconz.0.Lights.2.on"
          }
        },
        "native": {},
        "acl": {
          "object": 1638,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.user",
          "state": 1638
        },
        "_id": "alias.0.EG.Wohnzimmer.Licht.Weihnachtsbaum.on_off",
        "type": "state"
      }
      
      1 Reply Last reply Reply Quote 0
      • Garfonso
        Garfonso Developer @K_o_bold last edited by Garfonso

        @K_o_bold
        Ja, du musst ein native: {} manuell hinzufügen. Das Problem hatte ich jedenfalls mit meinen ersten Versuchen bei alias.0.
        Dabei gibt es einen gemeinen Fallstrick: wenn man das Objekt im Admin anguckt, dann fügt admin (vermutlich) das native: {} ganz unten im Textfeld ein, obwohl es ggf. in der Objektdatenbank gar nicht da ist. Wenn du dann auf "Speichern" drückst, obwohl du selber nichts geändert hast, geht es.

        @apollon77
        Da wüsste ich mal gerne, wo das her kommt. Das ist mir letztens schon aufgefallen. Ich wollte dafür auch ein Ticket aufmachen, dachte auch ich hätte das, finde es aber gerade nicht (urgs, ich werd alt?).

        1 Reply Last reply Reply Quote 0
        • K
          K_o_bold last edited by K_o_bold

          @Garfonso,

          das muss man auch erst mal wissen. Was beschreibe ich mit einem native: {}. ?
          Ich habe es mal angelegt und jetzt ist das Objekt auch im IoT Adapter und Alexa verfügbar.
          Nachfolgend jetzt mal meine Objektdefinition mit dem Native. Habe ich es so richtig angelegt?

          {
            "type": "state",
            "common": {
              "name": "Weihnachtsbaum",
              "type": "boolean",
              "role": "switch",
              "read": true,
              "write": true,
              "smartName": {
                "de": "Weihnachtsbaum"
              },
              "alias": {
                "id": "deconz.0.Lights.2.on"
              }
            },
            "from": "system.adapter.javascript.0",
            "user": "system.user.admin",
            "ts": 1576736190798,
            "_id": "alias.0.EG.Wohnzimmer.Licht.Weihnachtsbaum.on_off",
            "acl": {
              "object": 1638,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.user",
              "state": 1638
            },
            "native": {
              "alexa": "switch"
            }
          }
          

          @apollon77 ,
          bleibt das so? Das ist für Anwender nicht gerade Selbsterklärend 😉

          Garfonso 1 Reply Last reply Reply Quote 0
          • Garfonso
            Garfonso Developer @K_o_bold last edited by

            @K_o_bold
            in native muss nix drin stehen. Aber aus irgendeinem Grund will der iot Adapter das zwingend haben. Kann auch leer sein und er schreibt da auch nix rein...

            in native kann der Adapter, der das Objekt anlegt, Konfig zu dem Objekt speichern, da geht wohl keiner sonst dran oder so ist das gedacht. Das macht natürlich bei alias-Definitionen dann keinen Sinn da native zu haben.

            1 Reply Last reply Reply Quote 0
            • K
              K_o_bold last edited by

              @Garfonso ,

              dann kann man an dieser Stelle wohl von einem "bug" sprechen...danke. Dann habe ich zumindest einen workaround,. wenn auch unschön. Ich denke aber das wird in irgendeiner Weise behoben, bzw. ist schon ein bekanntes Problem.

              apollon77 1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 @K_o_bold last edited by

                @K_o_bold wie wurden die Objekte denn angelegt? Manuell per Admin? An sich über Adapter wird verhindert das es Objekte ohne native gibt. Wenn das per Admin geht ist die Frage ob man das forcieren muss oder nicht ...

                Garfonso K 2 Replies Last reply Reply Quote 0
                • paul53
                  paul53 @apollon77 last edited by paul53

                  @apollon77 sagte in Fragen / Antworten rund um die neue Alias Funktion:

                  reicht auch „Objekte neu laden“ im Admin?

                  Habe gerade getestet und 2 neue Alias per Skript erzeugt und im Reiter "Objekte" beobachtet:

                  • Objekt wird angezeigt ohne Zustand
                  • Browser cache geleert: Keine Änderung
                  • Baum neu erstellt: Keine Änderung
                  • Reiter im gleichen Browser Tab gewechselt ("Instanzen" und zurück "Objekte"): Zustand wird angezeigt, aber mit falschem Wert.
                  • Admin neu gestartet: Zustand wird richtig angezeigt
                  apollon77 1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 @paul53 last edited by

                    @paul53 dann bitte issue anlegen im Admin dazu. Müssen wir ansehen

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

                      @apollon77 sagte:

                      issue anlegen im Admin

                      Sicher beim Admin oder beim js-controller ? Denn, wenn ich neue Objekte (enums) per Admin anlege, habe ich ein ähnliches Problem im Javascript-Adapter, den ich erst durchstarten muss, um auf die neuen Objekte zugreifen zu können.

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

                        @paul53 ich würde es erstmal bei den Adaptern sehen und deren zwischen caching. Falls doch rauskommt das es controller ist schieben wir es.

                        1 Reply Last reply Reply Quote 0
                        • Garfonso
                          Garfonso Developer @apollon77 last edited by

                          @apollon77
                          Die Frage ist ja eigentlich, warum iot unbedingt ein native Part braucht um die id für smartName zu aktzeptieren..?

                          Der Zigbee Adapter hat das Problem auch immer, k.a. warum. Und beim erstellen von Alias Objekten per Skript (mit setObject) muss man halt auch selber dran denken, dass der native Part da ist (und gemeinerweise zeigt halt das Admin ein native an, obwohl es das im Objekt gar nicht gibt -> das hat mich damals schon ein paar Stunden gekostet. Warum ist das so?)

                          apollon77 1 Reply Last reply Reply Quote 0
                          • S
                            Stefan_1969 last edited by

                            Die alias-Funktion oder die Datenpunkte finde ich bei mir nicht.
                            Ich habe begonnen mir eine Struktur mit linkeddevices aufzubauen und habe jetzt zwei Fragen:

                            1. Was ist der Unterschied zwischen den beiden Funktionen?
                            2. Werden beide nebeneinander existieren oder eine abgelöst und eingestellt?

                            Die Funktionalität ist genial aber Ich würde mir ungern die Arbeit zwei mal machen ....

                            Viele Grüsse
                            Stefan

                            apollon77 1 Reply Last reply Reply Quote 0
                            • P
                              Phil85 last edited by

                              Wirklich geile Sache mit dem Alias 😉
                              Meine Struktur sieht bis jetztb wie folgt aus
                              95f1042c-fc52-4a3f-a710-60a4493d017d-grafik.png

                              1 Reply Last reply Reply Quote 1
                              • P
                                Phil85 last edited by

                                In Skripten aber hauptsächlich in Views welche raumübergreifend kopiert werden,
                                suche ich einfach nur noch den Zimmer Namen und ersetze ihn mit einem Anderen.
                                Und schon passt der View mit allen sämtlichen Datenpunkten 😉

                                1 Reply Last reply Reply Quote 0
                                • apollon77
                                  apollon77 @Stefan_1969 last edited by

                                  @Stefan_1969 Alias ist die direkt im js-controller (seit 2.0 neu) integrierte Form. Linkeddevices wird von einem Adapter gemanaged der auch immer laufen muss. Es gibt aktuell keine Pläne linkeddevices abzuklemmen oder so, also kannst Du das weiterhin nutzen - frisst halt mehr Ressourcen weil der Adapter alles handelt

                                  S 1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @Garfonso last edited by

                                    @Garfonso sagte in Fragen / Antworten rund um die neue Alias Funktion:

                                    Die Frage ist ja eigentlich, warum iot unbedingt ein native Part braucht um die id für smartName zu aktzeptieren..?

                                    Sagen wir es so: Ein State-Objekt ohne "native" ist an sich ungültig, auch wenn native leer ist. Den genauen Grund warum iot auf native zugreift weiss ich gerade nicht und müsste ich nachsehen ...

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Stefan_1969 @apollon77 last edited by

                                      @apollon77 vielen Dank! Die Info hat mir ein Licht aufgehen lassen 😊
                                      Nun ist auch mir der Unterschied klar 👍

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        K_o_bold @apollon77 last edited by

                                        @apollon77 ,

                                        die Objekte wurden mit dem Skript von @paul53 angelegt. Also per Admin..

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

                                          @K_o_bold sagte:

                                          Also per Admin.

                                          Also per Javascript.

                                          @apollon77 sagte in Fragen / Antworten rund um die neue Alias Funktion:

                                          Ein State-Objekt ohne "native" ist an sich ungültig, auch wenn native leer ist.

                                          Bei mir wird immer native mit einem leeren Objekt automatisch erzeugt.

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

                                            @paul53
                                            Bist du dir 100% sicher? Wie gesagt, der admin fügt das leere native ein, auch wenn es in der Objekt DB nicht steht. Wenn man dann auf speichern klickt, ohne was zu ändern, ist es da. Wenn nicht, dann fehlt es weiterhin und iot möchte weiterhin nicht mit dem Datenpunkt arbeiten. Probier das mal aus. Bei mir ist es 100% so, auch jetzt noch.

                                            paul53 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

                                            1.2k
                                            Online

                                            29.2k
                                            Users

                                            63.3k
                                            Topics

                                            967.5k
                                            Posts

                                            alias js-controller
                                            68
                                            497
                                            23742
                                            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-2021
                                            logo