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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Fragen / Antworten rund um die neue Alias Funktion

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Marty56 @paul53 last edited by

      Eine Frage: Der VW Adapter setzt zum Teil für numerische Werte "Null". Das scheint ein Bug zu sein. Ich möchte deshalb einen Alias definieren, der "Null" und "undefined" im ursprünglichen Datenpunkt ignoriert.

      Kann mir da jemand helfen. Ich habe mal einen Vorschlag gemacht, aber ich bin mir nicht sicher, ob der OK.
      Und einfach ausprobieren möchte ich nicht, weil ich diese Alias Burst Errors habe und nicht Fehler provozieren möchte durch falsche Syntax.

      {
        "common": {
          "name": "Odometer",
          "type": "number",
          "unit": "",
          "alias": {
            "id": "vw-connect.0.TMBJC7NYXMF025168.status.vehicle-status.remote.mileageInKm",
          "read": "if (val <> Null) val"
          },
          "role": "indicator"
        },
        "native": {},
        "type": "state",
        "from": "system.adapter.javascript.0",
        "user": "system.user.admin",
        "ts": 1690006032176,
        "_id": "alias.0.Auto.Mileage",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Marty56 last edited by paul53

        @marty56 sagte: Alias definieren, der "Null" und "undefined" im ursprünglichen Datenpunkt ignoriert.

        Das kann ein Alias nicht, denn er wird immer aktualisiert, wenn der Original-DP aktualisiert wird. Wenn nicht aktualisiert werden soll, benötigt man ein Skript.

        EDIT: Sollen null oder undefined durch 0 ersetzt werden, ist die richtige Syntax:

              "read": "val == null ? 0 : val"
        
        M 1 Reply Last reply Reply Quote 0
        • M
          Marty56 @paul53 last edited by

          @paul53 Danke

          1 Reply Last reply Reply Quote 0
          • Scotty89
            Scotty89 last edited by

            Hey zusammen,

            ich brauche experten Hilfe ich stehe auf dem Schlauch und bekomme es einfach nicht hin...

            Ich würde gern über ein Alias von String werten in eine Boolean wandeln wollen.
            Konkret von den Strings:
            OPEN = true
            CLOSED = false

            kann mir jemand sagen wie die " Alias Funktion" dafür aussieht..

            Vielen Dank

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

              @scotty89 sagte: String werten in eine Boolean wandeln

              Lesekonvertierung:

              val == 'OPEN'
              
              T 1 Reply Last reply Reply Quote 0
              • Scotty89
                Scotty89 last edited by

                Scotty89 vor 16 Minuten
                Hey zusammen,

                ich brauche experten Hilfe ich stehe auf dem Schlauch und bekomme es einfach nicht hin...

                Ich würde gern über ein Alias von String werten in eine Boolean wandeln wollen.
                Konkret von den Strings:
                OPEN = true
                CLOSED = false

                kann mir jemand sagen wie die " Alias Funktion" dafür aussieht..

                Vielen Dank

                M 1 Reply Last reply Reply Quote 0
                • M
                  McBeath @Scotty89 last edited by

                  Hallo liebe community, ich bin noch recht am Anfang der Möglichkeiten des IOB.
                  Fange gerade an mit alias zu arbeiten.
                  Ich habe von meiner PV nur einen Datenpunkt Batterieleistung für Laden und Entladen.
                  Habe mit mittels blocky schonmal einen DP "Laden" mit "Laden PV", Laden Netz" und "Entladen" erstellt.
                  Jetzt wollte ich mir je einen Alias auf den DP "Batterieleistung" erstellen und in Abhängigkeit vom DP "Laden" mit val oder mit 0 befüllen.
                  Mein Versuch mit:

                  Konverter beim Lesen
                  "0_userdata.0.Datenpunkt.Laden" == "Laden PV" ? val : 0

                  Liefert leider nur "0"
                  Ist das etwas überhaupt möglich?
                  Erahnen zwar schon die Antwort aber frage trotzdem mal die Fachleute 😁

                  paul53 UweRLP 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @McBeath last edited by

                    @mcbeath sagte: Ist das etwas überhaupt möglich?

                    Nein, man kann in einem Alias nur einen Datenpunkt auswerten. Für alles andere benötigt man ein Skript.

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

                      @paul53 said in Fragen / Antworten rund um die neue Alias Funktion:

                      @mcbeath sagte: Ist das etwas überhaupt möglich?

                      Nein, man kann in einem Alias nur einen Datenpunkt auswerten. Für alles andere benötigt man ein Skript.

                      Danke @paul53, das war zwar nicht die Antwort, die ich erhofft aber erwartet hatte.😉

                      1 Reply Last reply Reply Quote 0
                      • UweRLP
                        UweRLP @McBeath last edited by

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

                        Konverter beim Lesen
                        "0_userdata.0.Datenpunkt.Laden" == "Laden PV" ? val : 0

                        Aus 0_userdata.0.Datenpunkt.Laden einen Alias erstellen, dass sollte gehen.
                        Im Alias dann val == "Laden PV"

                        UweRLP 1 Reply Last reply Reply Quote 0
                        • UweRLP
                          UweRLP @UweRLP last edited by UweRLP

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

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

                          Konverter beim Lesen
                          "0_userdata.0.Datenpunkt.Laden" == "Laden PV" ? val : 0

                          Aus 0_userdata.0.Datenpunkt.Laden einen Alias erstellen, dass sollte gehen.
                          Im Alias dann val == "Laden PV"

                          Sorry ist so unvollständig

                          Alias Read-Function val == "Laden PV"
                          Gibt dann TRUE / WAHR zurück

                          Alias Write-Function val == true ? "Laden PV" : "Nicht Laden"
                          Wird der Alias auf TRUE gesetzt wird USERDATA auf "Laden PV" gesetzt wenn Alias auf FALSE dann wird USERDATA auf "Nicht Laden" gesetzt.

                          Ich hoffe so ist nun vollständig und verständlich 😊

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            McBeath @UweRLP last edited by McBeath

                            @uwerlp said in Fragen / Antworten rund um die neue Alias Funktion:

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

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

                            Konverter beim Lesen
                            "0_userdata.0.Datenpunkt.Laden" == "Laden PV" ? val : 0

                            Aus 0_userdata.0.Datenpunkt.Laden einen Alias erstellen, dass sollte gehen.
                            Im Alias dann val == "Laden PV"

                            Sorry ist so unvollständig

                            Alias Read-Function val == "Laden PV"
                            Gibt dann TRUE / WAHR zurück

                            Alias Write-Function val == true ? "Laden PV" : "Nicht Laden"
                            Wird der Alias auf TRUE gesetzt wird USERDATA auf "Laden PV" gesetzt wenn Alias auf FALSE dann wird USERDATA auf "Nicht Laden" gesetzt.

                            Ich hoffe so ist nun vollständig und verständlich 😊

                            @UweRLP
                            Danke für deine Unterstützung, aber das war nicht ganz das, worum es ging.
                            Der Alias des DP "Ladeleistung" val z.b. 3000W sollte in Abhängigkeit von "0_userdata.0.Datenpunkt.Laden" ,welcher den Wert "Laden PV" oder "Entladen" enthält, den alias mal mit "val" oder mit "0" befüllen.
                            Das hätte dann aus 3000W - Laden PV auf 2 untersiedljche Alias

                            1. Laden = 3000W
                            2. Entladen = 0W

                            Und aus 3000W - Entladen

                            1. Laden = 0W
                            2. Entladen = 3000W
                              Gezaubert.

                            Ich hoffe mein Vorhaben ist verständlich. 😲

                            UweRLP 1 Reply Last reply Reply Quote 0
                            • UweRLP
                              UweRLP @McBeath last edited by

                              @McBeath
                              "Ist 0_userdata.0.Datenpunkt.Laden = Laden PV dann Ladeleistung = 3000W"
                              "Ist 0_userdata.0.Datenpunkt.Laden = Entladen dann Ladeleistung = 0W"

                              So habe ich das jetzt verstanden, würde ich mit einem Blockly/Script lösen.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                McBeath @UweRLP last edited by

                                @uwerlp
                                Genau so habe ich es jetzt auch gelöst. 👍 😊

                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  fredje @McBeath last edited by

                                  Hallo, habe einen DP der true und false ausgibt. Kann ich durch anlegen eines alias erreichen das für true 1 und für false 0 im alias ausgegeben wird. Wenn ja, wie .. Danke

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

                                    @fredje sagte: für true 1 und für false 0 im alias ausgegeben wird. Wenn ja, wie .. Danke

                                    Beim Lesen?

                                    val ? 1 : 0
                                    
                                    F 1 Reply Last reply Reply Quote 1
                                    • F
                                      fredje @paul53 last edited by

                                      @paul53 .. danke .. funktioniert

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        McBeath @fredje last edited by McBeath

                                        Ich hätte hier noch mal eine kurze Frage.

                                        Habe einen Datenpunkt mit den Werten 0, 1, 2, 3.
                                        Möchte aber nur jeweils 0 und 1 bzw 2 und 3 auswerten.
                                        Habe auf diesen Datenpunkt mal zwei Alias angelegt
                                        Und mit der konvertierfunktion folgendes eingetragen

                                        Alias1
                                        Lesen val == 0 ? 1 : val == 1 ? 0 : val
                                        Scheiben val == 1 ? 0 : val == 0 ? 1 : val

                                        Alias2
                                        Lesen val == 3 ? 0 : val == 2 ? 1 : val
                                        Schreiben val == 0 ? 3 : val == 1 ? 2 : val

                                        Jetzt müsste ich nur noch wissen wie ich bei Alias1 die Werte 2 und 3
                                        bzw. bei Alias2 die Werte 1 und 0 ignorieren kann?

                                        Der DP steuert einen Aktor 0 = Ch1 on, 1 = Ch1 off, 2 = Ch2 on, 3 = Ch2 off

                                        Wäre toll wenn das möglich wäre 😲

                                        paul53 M 2 Replies Last reply Reply Quote 0
                                        • paul53
                                          paul53 @McBeath last edited by

                                          @mcbeath sagte: Werte 1 und 0 ignorieren kann?

                                          Das ist nicht möglich. Dafür benötigt man ein Skript.

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            McBeath @McBeath last edited by

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

                                            Ich hätte hier noch mal eine kurze Frage.

                                            Habe einen Datenpunkt mit den Werten 0, 1, 2, 3.
                                            Möchte aber nur jeweils 0 und 1 bzw 2 und 3 auswerten.
                                            Habe auf diesen Datenpunkt mal zwei Alias angelegt
                                            Und mit der konvertierfunktion folgendes eingetragen

                                            Alias1
                                            Lesen val == 0 ? 1 : val == 1 ? 0 : val
                                            Scheiben val == 1 ? 0 : val == 0 ? 1 : val

                                            Alias2
                                            Lesen val == 3 ? 0 : val == 2 ? 1 : val
                                            Schreiben val == 0 ? 3 : val == 1 ? 2 : val

                                            Jetzt müsste ich nur noch wissen wie ich bei Alias1 die Werte 2 und 3
                                            bzw. bei Alias2 die Werte 1 und 0 ignorieren kann?

                                            Der DP steuert einen Aktor 0 = Ch1 on, 1 = Ch1 off, 2 = Ch2 on, 3 = Ch2 off

                                            Wäre toll wenn das möglich wäre 😲

                                            Und es funktioniert doch!
                                            Alias1 lesen:
                                            val == 0 ? 1 : val == 1 ? 0 : val = nothing
                                            Alias1 scheiben:
                                            val == 0 ? 1 : val == 1 ? 0 : val = nothing

                                            Alias2 lesen:
                                            val == 2 ? 1 : val == 3 ? 0 : val = nothing
                                            Alias2 schreiben:
                                            val == 0 ? 3 : val == 1 ? 2 : val = nothing

                                            So übergibt Alias 1 nur bei Eingabe von 0 oder 1 den Wert 1 bzw. 0.
                                            Und der Alias 2 nur bei Eingabe von 0 oder 1 den Wert 3 bzw. 2.

                                            Man soll nicht zu früh aufgeben 😁

                                            M 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

                                            948
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            alias js-controller
                                            87
                                            615
                                            141784
                                            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