Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Die Alias funktion - Fragen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Die Alias funktion - Fragen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @gelberlemmy last edited by mickym

      @gelberlemmy Da das Ganze als Zeichenkette (String) in doppelten Anführungszeichen ist, markieren die Hochkommas eine Zeichenkette in der Zeichenkette - bei Dir ist es aber tatsächlich eine Zahl - deshalb ohne Hochkommas. Im Prinizip gibst Du in dem String mit den doppelten Anführungszeichen Javascript code ein und "val" repräsentiert den Wert des Orginal-Datenpunktes.
      Im Prinzip wird einfach bei setzten des Wertes Deines Alias (Read) Datenpunktes (Wertes = val) den Conditional Operator genutzt. Somit bedeutet es nichts weiter als Dein Orginal hat den Wert 22, dann setze true anderenfalls false.

      gelberlemmy Troya 2 Replies Last reply Reply Quote 0
      • gelberlemmy
        gelberlemmy @mickym last edited by

        @mickym super danke für die Erklärung

        1 Reply Last reply Reply Quote 0
        • Troya
          Troya @mickym last edited by

          @mickym
          Moin, die Alias-Funktion scheint sich geändert zu haben und diese Methode schaltet bei mir nicht mehr das Alias.
          Wie muss es aktuell heißen?

          Admin 5.1.25
          Node.js v12.22.7
          NPM 6.14.15

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Troya last edited by

            @troya Ehrlich gesagt weiß ich nicht, was Du meinst? Bei mir gabs keine Änderung. Installieren Dir doch mal den Alias Manager und schau mal ob Du das damit entsprechend hinbekommst:

            fe240f26-7b28-4722-bddd-696033fe1284-image.png

            1 Reply Last reply Reply Quote 0
            • Troya
              Troya @mickym last edited by Troya

              @mickym sagte in Die Alias funktion - Fragen:

              @gelberlemmy sagte in Die Alias funktion - Fragen:

              @CrunkFX hallo, lese hier das Thema gerade mit. Ich habe ZWave Türsensoren die für "offen" 22 und geschlossen "23"ausgeben. Nun möchte ich per Alias für 22 = true und für 23 = false ausgeben.
              Geht dies ? Was muss ich hierfür in RAW eingeben ?

              Gruß André

              {
                "from": "....",
                "user": "....",
                "ts": ...,
                "common": {
                  "name": "on",
                  "role": "",
                  "type": "boolean",
                  "desc": "Manuell erzeugt",
                  "read": true,
                  "write": false,
                  "def": false,
                  "alias": {
                    "id": "orginal.pfad",
                    "read": "val === '22' ? true : false"
                  }
                },
                "native": {},
                "acl": {
                  "object": ....,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator",
                  "state": ....
                },
                "_id": "....",
                "type": "state"
              }
              

              Kann man noch ausweiten - aber im Prinzip langt ja 22 = true - alles andere false.

              Die Funktion mit dem umwandeln von 22 auf true von damals. Aber ich schau mir morgen mal den Manager an, danke!

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Troya last edited by

                @troya Das muss immer noch so funktionieren wie vorher - das hat auch nichts mit dem Adapter zu tun.

                b4741773-ede1-4464-b17a-c8f3e8a531b3-image.png

                Im Adapter kannst Du das nur jetzt direkt eintragen und musst nicht mehr die Definition des Alias-Datenpunktes bemühen.

                Wenn da also irgendwas nicht funktioniert - dann gibts ein anderes Problem - da weiß ich aber auch nicht weiter, weil es meines Erachtens weiter so gehen muss.

                1 Reply Last reply Reply Quote -1
                • CrunkFX
                  CrunkFX Forum Testing last edited by

                  @troya sagte in Die Alias funktion - Fragen:

                  "read": "val === '22' ? true : false"

                  Hast du mal

                  "read": "val == '22' ? true : false"
                  

                  versucht?

                  Troya haus-automatisierung 2 Replies Last reply Reply Quote 0
                  • Troya
                    Troya @CrunkFX last edited by

                    @crunkfx
                    Danke, "val == '22' ? true : false" mit zwei Gleichzeichen hat jetzt funktioniert, komisch, versteh ich nicht.

                    @mickym
                    Danke, der Adapter erleichtert einiges!

                    CrunkFX 1 Reply Last reply Reply Quote 0
                    • CrunkFX
                      CrunkFX Forum Testing @Troya last edited by

                      @troya Du prüfst mit deinem Befehl auf den Typ String. Möglicherweise ist aber der auszuwertende Wert vom Typ number. Wenn du in JS mit == prüfst ist der auszuwertende Typ egal( Disclaimer: Ganz einfach erklärt, für vollständige Erklärung: Hier klicken .

                      LG
                      CrunkFX

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

                        Weil ich hierzu gerade eine Frage per Mail bekommen habe: true und false auf die Art zurück zu geben ist redundant. Der Vergleich liefert ja bereits genau das, was man sucht.

                        Aktuell wäre es also: "falls Ergebnis gleich true gib true zurück, sonst gib false zurück":

                        val == 22 ? true : false
                        

                        Es reicht:

                        val == 22
                        

                        Mit ? : (also if else) würde man ja nur arbeiten, wenn man daraus wieder andere Datentypen / Wert machen möchte. z.B.

                        val == 22 ? 'jau' : 'nö'
                        
                        1 Reply Last reply Reply Quote 2
                        • First post
                          Last post

                        Support us

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

                        925
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        alias
                        8
                        33
                        5006
                        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