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.
    • paul53
      paul53 @topsurfer last edited by

      @topsurfer sagte: "true" soll "closed" ausgeben, "false" soll "open" ausgeben".

      JSON.parse(val).contact ? 'closed' : 'open'
      
      T 1 Reply Last reply Reply Quote 0
      • T
        topsurfer @paul53 last edited by

        @paul53 Thx again!

        1 Reply Last reply Reply Quote 0
        • G
          gutgut30 last edited by gutgut30

          Hi,

          ich habe nun endlich mal angefangen auf Aliase umzustellen. Ich habe hier jedoch einen State, den bekomme ich über ein Alias nicht mehr sinnvoll gesetzt. Ich übergebe eine Zahl, angeblich wird jedoch ein Objekt empfangen.

          "Object alias.0.Gastherme.Steuerung.Betriebsart is invalid: obj.common.min has an invalid type! Expected "number", received "object" This will throw an error up from js-controller version 7.0.0!"

          Übergebe ich wie bisher eine Zahl für den gewünschten Wert, dann erhalte ich ein null. Übergebe ich die Zahl als String, dann gehts, im Log erscheint jedoch natürlich ein Hinweis, dass eine Zahl erwartet worden ist.

          Am Script habe ich nur den DP vom Ursprung zum Alias geändert.

          Beide DP scheinen mir identisch konfiguriert.

          Der Ursprung:

          {
            "type": "state",
            "common": {
              "name": "Betriebsart (700)",
              "type": "number",
              "role": "value",
              "read": true,
              "write": true,
              "unit": "",
              "states": {
                "0": "Schutzbetrieb",
                "1": "Automatik",
                "2": "Reduziert",
                "3": "Komfort",
                "65535": "---"
              },
              "custom": {
                "history.0": {
                  "enabled": true,
                  "aliasId": "",
                  "debounceTime": 0,
                  "blockTime": 0,
                  "changesOnly": true,
                  "changesRelogInterval": 0,
                  "changesMinDelta": 0,
                  "ignoreBelowNumber": "",
                  "disableSkippedValueLogging": false,
                  "retention": 31536000,
                  "customRetentionDuration": 365,
                  "maxLength": 960,
                  "enableDebugLogs": false,
                  "chartStep": ""
                }
              }
            },
            "native": {
              "id": "700",
              "bsb": {
                "name": "Betriebsart",
                "dataType_name": "ENUM",
                "dataType_family": "ENUM",
                "destination": "0",
                "possibleValues": [
                  {
                    "enumValue": 65535,
                    "desc": "---"
                  },
                  {
                    "enumValue": 0,
                    "desc": "Schutzbetrieb"
                  },
                  {
                    "enumValue": 1,
                    "desc": "Automatik"
                  },
                  {
                    "enumValue": 2,
                    "desc": "Reduziert"
                  },
                  {
                    "enumValue": 3,
                    "desc": "Komfort"
                  }
                ],
                "isswitch": 0,
                "dataType": 1,
                "readonly": 0,
                "readwrite": 0,
                "unit": ""
              }
            },
            "_id": "bsblan.0.Betriebsart_(700)",
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1739452181978
          }
          

          Der Alias:

          {
            "common": {
              "alias": {
                "id": "bsblan.0.Betriebsart_(700)",
                "read": "",
                "write": ""
              },
              "name": "Betriebsart",
              "role": "value",
              "type": "number",
              "unit": "",
              "min": "",
              "max": "",
              "read": true,
              "write": true,
              "states": {
                "0": "Schutzbetrieb",
                "1": "Automatik",
                "2": "Reduziert",
                "3": "Komfort",
                "65535": "---"
              },
              "custom": {
                "history.0": {
                  "enabled": true,
                  "aliasId": "",
                  "debounceTime": 0,
                  "blockTime": 0,
                  "changesOnly": true,
                  "changesRelogInterval": 0,
                  "changesMinDelta": 0,
                  "ignoreBelowNumber": "",
                  "disableSkippedValueLogging": false,
                  "retention": 31536000,
                  "customRetentionDuration": 365,
                  "maxLength": 960,
                  "enableDebugLogs": false
                }
              }
            },
            "native": {},
            "type": "state",
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1734278479428,
            "_id": "alias.0.Gastherme.Steuerung.Betriebsart"
          }
          

          Ich hab auch schon mal den Native-Block vom Original in den Alias kopiert, das hat aber nichts verändert. Auch ein "konvertiere Zahl zu Zahl" hat (wie erwartet) nichts verändert.

          Was mache ich falsch? Wieso glaubt der Alias ein Objekt zu empfangen?

          Update/Edit:
          Gefunden. Da scheint etwas bei Übernehmen der min/max Values nicht zu passen. Diese waren im Alias plötzlich auf null. Ich hab sie jetzt manuell gesetzt, damit klappt es.

              "min": 0,
              "max": 3,
          

          Gelöst durch finden eines seit Jahren offnen Bugs: https://github.com/iobroker-community-adapters/ioBroker.alias-manager/issues/36

          RP70DP created this issue in iobroker-community-adapters/ioBroker.alias-manager

          open invalid: obj.common.min has an invalid type! Expected "number", received "string" #36

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

            @gutgut30 sagte: Wieso glaubt der Alias ein Objekt zu empfangen?

            Kann es sein, dass der Originalwert null sein kann? null ist ein Objekt.
            Lösche "min" und "max", denn das sind Leerstrings.

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

              @paul53 Habs gerade so ähnlich gelöst und mein Posting aktualisiert. Das war es. Danke

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

                @gutgut30 sagte: manuell gesetzt, damit klappt es.

                Das müssen Zahlen sein - keine Strings!

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

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

                  Das müssen Zahlen sein - keine Strings!

                  Du hast Recht. Hab es im Posting aktualisiert. ioBroker scheint es aber beim Speichern des DP auch selber zu korrigieren.

                  1 Reply Last reply Reply Quote 0
                  • G
                    gutgut30 last edited by

                    Eine kurze generelle Frage noch: Wenn ich meine Daten mit History oder InfluxDB logge. Logge ich dann den Alias oder den original Gerätedatenpunkt?

                    paul53 Codierknecht 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @gutgut30 last edited by paul53

                      @gutgut30 sagte: Logge ich dann den Alias oder den original Gerätedatenpunkt?

                      Besser den Alias, auch in Visualisierung und Skripten.

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

                        @gutgut30
                        Um die Antwort von @paul53 zu vervollständigen:
                        Wenn Du einen Alias loggst, brauchst Du Dir beim späteren Austausch eines Gerätes keine Gedanken machen.
                        Einfach den Alias auf das neue Gerät zeigen lassen.
                        Das gleiche gilt in Scripten.

                        1 Reply Last reply Reply Quote 0
                        • G
                          gutgut30 last edited by

                          Vielen Dank.

                          Der Fehler mit den min/max ist allerdings mehr als nervig. Ich muss so gut wie jeden Alias Datenpunkt nacharbeiten. Da kann man ja absolute Zweifel haben, dass man diesen Zeitaufwand jemals wieder reinholt weil ein bis 5 Geräte getauscht werden müssen...

                          1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer last edited by ticaki

                            @Homoran
                            hat jetzt nix direkt mit dem Thema zu tun... aber könntest du das neue mal aus der Überschrift raus machen - ich frage mich jedesmal was es neues mit dem Alias gibt, bis mir wieder einfällt das es ja die alte neue Alias Funktion ist. 🙂

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @ticaki last edited by Homoran

                              @ticaki könnte man machen.
                              man könnte aber auch einen 6 Jahre alten Thread zu machen

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

                                Ich würd gerne aus einem Tasmota Stecker 0 und 1 auslesen und im Alias als false/true haben.
                                Beim Schreiben soll es aber wieder als 0 oder 1 zurückgeschrieben werden.

                                Hab beim Lesen
                                val == 0 ? false : val == 1 ? true : val

                                Beim Schreiben
                                val == false ? 0 : val == true ? 1 : val

                                Es wird aber nicht auf das Tasmota Objekt (ein Timer Enable) geschrieben.
                                Stelle ich in der Tasmota Oberfläche den Timer auf AN, wird er aber korrekt ausgelesen übers Alias.

                                Steh grad an. Jemand ne Idee?
                                Danke

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

                                  @astuermer sagte: 0 und 1 auslesen und im Alias als false/true haben.

                                  val == 1 // Lesen
                                  val ? 1 : 0 // Schreiben
                                  
                                  astuermer 1 Reply Last reply Reply Quote 1
                                  • astuermer
                                    astuermer @paul53 last edited by

                                    @paul53 Danke!

                                    Leider dürfte der Sonoff Adapter da keine Schreibrechte auf den Terminplaner haben.
                                    Geräte ein und ausschalten geht problemlos, aber bei den Timern will er nicht.

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      JavaMafia last edited by JavaMafia

                                      Guten Abend,

                                      beschäftige mich gerade mit dem Alias Manager. Hatte jetzt das Problem das bei mir der SourceAnalytix Adapter nicht richtig gezählt hat.

                                      Habe in meiner Verteilung ein Smartmeter von Siemens verbaut der von jedem Stromkreis die Leistung messen und protokolieren (Wirkleistung, Wirkenergie) kann.

                                      Jetzt zu dem vorhaben:
                                      Ich möchte in dem Alias Manager direkt die Energiekosten berechnen. Die Formel die in dem Beispiel eingetragen ist, klappt auch. Was ich nun verbessern möchte ist, dass anstelle der 0,08€ ein Datenpunkt verknüpft ist. Damit ich nicht immer alle Alias Punkte ändern muss, wenn sich der Arbeitspreis ändert.
                                      kosten.jpg

                                      Ich danke schon mal im voraus.

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

                                        @javamafia sagte: dass anstelle der 0,08€ ein Datenpunkt verknüpft ist.

                                        Das leistet ein Alias nicht, denn er kann nur einen Original-DP lesend auswerten.
                                        Für die Multiplikation von zwei DP-Werten benötigt man ein Skript.

                                        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

                                        852
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

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