Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Fragen / Antworten rund um die neue Alias Funktion

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

Fragen / Antworten rund um die neue Alias Funktion

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
aliasjs-controller
621 Beiträge 88 Kommentatoren 173.7k Aufrufe 73 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • hg6806H hg6806

    Aber ich dachte das trägt man in den Datenpunkt des Geräts ein hinten bei RAW?

    Denn ich habe ja noch gar kein Alias Datenpunkt.

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #242

    @hg6806 sagte:

    Aber ich dachte das trägt man in den Datenpunkt des Geräts ein hinten bei RAW?

    Nein, das ist so beim Adapter ioBroker.linkeddevices, nicht aber beim Alias.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    hg6806H 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @hg6806 sagte:

      Aber ich dachte das trägt man in den Datenpunkt des Geräts ein hinten bei RAW?

      Nein, das ist so beim Adapter ioBroker.linkeddevices, nicht aber beim Alias.

      hg6806H Offline
      hg6806H Offline
      hg6806
      Most Active
      schrieb am zuletzt editiert von
      #243

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

      ioBroker.linkeddevices

      Was ist das denn?

      Dann habe ich noch immer nicht verstanden wie man überhaupt ein Alias Datenpunkt anlegt.

      paul53P 1 Antwort Letzte Antwort
      0
      • hg6806H hg6806

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

        ioBroker.linkeddevices

        Was ist das denn?

        Dann habe ich noch immer nicht verstanden wie man überhaupt ein Alias Datenpunkt anlegt.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #244

        @hg6806 sagte:

        nicht verstanden wie man überhaupt ein Alias Datenpunkt anlegt.

        Zeige mal einen Datenpunkt zu dem Du einen Alias erstellen möchtest.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • hg6806H Offline
          hg6806H Offline
          hg6806
          Most Active
          schrieb am zuletzt editiert von
          #245

          Hier sind zwei Screenshots:

          2020-03-21 20_40_12-objects - ioBroker.jpg

          2020-03-21 20_40_38-objects - ioBroker.jpg

          paul53P 1 Antwort Letzte Antwort
          0
          • hg6806H hg6806

            Hier sind zwei Screenshots:

            2020-03-21 20_40_12-objects - ioBroker.jpg

            2020-03-21 20_40_38-objects - ioBroker.jpg

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #246

            @hg6806
            Dann kopiere das Script, passe die Alias-ID und den Namen an und starte das Script.

            // Original-Datenpunkt
            const idOrigin = 'smartmeter.0.1-0:1_8_0_255.value';
             
            // Alias-Datenpunkt
            const idAlias = 'smartmeter.zaehler_1.bezug_total';
            var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
            // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
            nameAlias = 'Zähler 1 Bezug total';
            desc = 'per Script erstellt';
            // typeAlias = 'boolean'; // oder 'number'
            // read = "val < 20 ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
            // write = "val ? 'Ein' : 'Aus'";
            // role = 'indicator';
            // min = 0; // nur Zahlen
            // max = 100; // nur Zahlen
            // unit = '%'; // nur für Zahlen
            // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
            custom = []; // verhindert doppelte Ausführung von history, ...
            // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
            // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
            
            function createAlias(idSrc, idDst) {
               if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
               else {
                  var obj = {};
                  obj.type = 'state';
                  obj.common = getObject(idSrc).common;
                  obj.common.alias = {};
                  obj.common.alias.id = idSrc;
                  if(typeAlias) obj.common.type = typeAlias;
                  if(obj.common.read !== false && read) obj.common.alias.read = read;
                  if(obj.common.write !== false && write) obj.common.alias.write = write;
                  if(nameAlias) obj.common.name = nameAlias;
                  if(role) obj.common.role = role;
                  if(desc) obj.common.desc = desc;
                  if(min !== undefined) obj.common.min = min;
                  if(max !== undefined) obj.common.max = max;
                  if(unit) obj.common.unit = unit;
                  if(states) obj.common.states = states;
                  if(custom && obj.common.custom) obj.common.custom = custom;
                  obj.native = {};
                  setObject(idDst, obj);
                  if(raum && getObject('enum.rooms.' + raum)) {
                     let obj = getObject('enum.rooms.' + raum)
                     obj.common.members.push(idDst);
                     setObject('enum.rooms.' + raum, obj);
                  }
                  if(gewerk && getObject('enum.functions.' + gewerk)) {
                     let obj = getObject('enum.functions.' + gewerk)
                     obj.common.members.push(idDst);
                     setObject('enum.functions.' + gewerk, obj);
                  }
               } 
            }
             
            createAlias(idOrigin, 'alias.0.' + idAlias);
            

            Anschließend die Instanz admin.0 neu starten (nicht stoppen !).

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            hg6806H 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @hg6806
              Dann kopiere das Script, passe die Alias-ID und den Namen an und starte das Script.

              // Original-Datenpunkt
              const idOrigin = 'smartmeter.0.1-0:1_8_0_255.value';
               
              // Alias-Datenpunkt
              const idAlias = 'smartmeter.zaehler_1.bezug_total';
              var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
              // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
              nameAlias = 'Zähler 1 Bezug total';
              desc = 'per Script erstellt';
              // typeAlias = 'boolean'; // oder 'number'
              // read = "val < 20 ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
              // write = "val ? 'Ein' : 'Aus'";
              // role = 'indicator';
              // min = 0; // nur Zahlen
              // max = 100; // nur Zahlen
              // unit = '%'; // nur für Zahlen
              // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
              custom = []; // verhindert doppelte Ausführung von history, ...
              // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
              // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
              
              function createAlias(idSrc, idDst) {
                 if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                 else {
                    var obj = {};
                    obj.type = 'state';
                    obj.common = getObject(idSrc).common;
                    obj.common.alias = {};
                    obj.common.alias.id = idSrc;
                    if(typeAlias) obj.common.type = typeAlias;
                    if(obj.common.read !== false && read) obj.common.alias.read = read;
                    if(obj.common.write !== false && write) obj.common.alias.write = write;
                    if(nameAlias) obj.common.name = nameAlias;
                    if(role) obj.common.role = role;
                    if(desc) obj.common.desc = desc;
                    if(min !== undefined) obj.common.min = min;
                    if(max !== undefined) obj.common.max = max;
                    if(unit) obj.common.unit = unit;
                    if(states) obj.common.states = states;
                    if(custom && obj.common.custom) obj.common.custom = custom;
                    obj.native = {};
                    setObject(idDst, obj);
                    if(raum && getObject('enum.rooms.' + raum)) {
                       let obj = getObject('enum.rooms.' + raum)
                       obj.common.members.push(idDst);
                       setObject('enum.rooms.' + raum, obj);
                    }
                    if(gewerk && getObject('enum.functions.' + gewerk)) {
                       let obj = getObject('enum.functions.' + gewerk)
                       obj.common.members.push(idDst);
                       setObject('enum.functions.' + gewerk, obj);
                    }
                 } 
              }
               
              createAlias(idOrigin, 'alias.0.' + idAlias);
              

              Anschließend die Instanz admin.0 neu starten (nicht stoppen !).

              hg6806H Offline
              hg6806H Offline
              hg6806
              Most Active
              schrieb am zuletzt editiert von
              #247

              @paul53
              Danke, aber wohin kopieren? Als normales Javascript?

              paul53P 1 Antwort Letzte Antwort
              0
              • hg6806H hg6806

                @paul53
                Danke, aber wohin kopieren? Als normales Javascript?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #248

                @hg6806 sagte:

                Als normales Javascript?

                Ja.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • hg6806H Offline
                  hg6806H Offline
                  hg6806
                  Most Active
                  schrieb am zuletzt editiert von hg6806
                  #249

                  Danke, hat soweit geklappt.
                  Nun habe ich doch angefangen alle Smartmeterwerte in Alias zu schreiben.
                  Damit ich einen Überblick bekomme habe ich sogar mal eine Excel Übersicht darüber erstellt.

                  Fragen dazu, kann man hier die Alias-Werte auch runden, bzw die Nachkommastellen angeben?
                  Ich habe mit den original Smartmeterwerten immer das Problem, dass durch die vielen Nachkommastellen die History-Werte immer sehr groß werden.

                  Noch etwas off-topic. Kann man bei den Datenwerten irgendwie herausfinden wo die Werte überall benutzt werden? Vis, Flot, Javascript, etc.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • hg6806H hg6806

                    Danke, hat soweit geklappt.
                    Nun habe ich doch angefangen alle Smartmeterwerte in Alias zu schreiben.
                    Damit ich einen Überblick bekomme habe ich sogar mal eine Excel Übersicht darüber erstellt.

                    Fragen dazu, kann man hier die Alias-Werte auch runden, bzw die Nachkommastellen angeben?
                    Ich habe mit den original Smartmeterwerten immer das Problem, dass durch die vielen Nachkommastellen die History-Werte immer sehr groß werden.

                    Noch etwas off-topic. Kann man bei den Datenwerten irgendwie herausfinden wo die Werte überall benutzt werden? Vis, Flot, Javascript, etc.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #250

                    @hg6806 sagte:

                    kann man hier die Alias-Werte auch runden, bzw die Nachkommastellen angeben?

                    Ja, siehe hier.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • hg6806H Offline
                      hg6806H Offline
                      hg6806
                      Most Active
                      schrieb am zuletzt editiert von hg6806
                      #251

                      Moin!
                      Hat soweit alles geklappt, habe für die meisten Smartmeter Werte Aliases angelegt.
                      Doch seltsamerweise werden dieses irgendwann nicht mehr aktualisiert.
                      Aber alle Wert zur gleichen Zeit.
                      Wenn ich den Admin neu starte geht wieder alles für ein paar Stunden, dann stoppt das Ganze wieder.

                      Woran liegt das und wie kann ich das fixen?

                      1 Antwort Letzte Antwort
                      0
                      • hg6806H Offline
                        hg6806H Offline
                        hg6806
                        Most Active
                        schrieb am zuletzt editiert von
                        #252

                        Nach einem 2. Neustart läuft nun alles stabil für einige Tage.

                        Noch eine Frage zu Alias. Kann man von einem Datenpunkt zwei Aliase erstellen oder gibt das irgendwo einen Konflikt.
                        Der Monteur hat leider den Stromzähler falsch deklariert und jetzt wollte ich ein 2. Alias erstellen und dann wenn Sourceanalytix mit diesem Punkt parallel läuft und genügend Daten vorhanden sind den alten löschen.
                        Sollte doch gehen, oder?

                        GarfonsoG 1 Antwort Letzte Antwort
                        0
                        • hg6806H hg6806

                          Nach einem 2. Neustart läuft nun alles stabil für einige Tage.

                          Noch eine Frage zu Alias. Kann man von einem Datenpunkt zwei Aliase erstellen oder gibt das irgendwo einen Konflikt.
                          Der Monteur hat leider den Stromzähler falsch deklariert und jetzt wollte ich ein 2. Alias erstellen und dann wenn Sourceanalytix mit diesem Punkt parallel läuft und genügend Daten vorhanden sind den alten löschen.
                          Sollte doch gehen, oder?

                          GarfonsoG Offline
                          GarfonsoG Offline
                          Garfonso
                          Developer
                          schrieb am zuletzt editiert von
                          #253

                          @hg6806
                          Du kannst beliebig viele aliase für einen Datenpunkt erstellen.
                          Es kann sogar Sinn machen, das zu tun und zwar, wenn du verschiedene Funktionen in read/write hast. So könntest du für einen Tür-Kontakt, nur einen Datenpunkt closed=true, wenn geschlossen ist zwei aliase machen, einen einfach für closed und einen für opened mir read: !val -> schon hättest du beide.

                          Das ist sehr hilfreich, wenn man seine Geräte auf diese Weise etwas angleicht. :-) (habe ich bei einigen Schließkontakten bereits gemacht und ich habe zwei Dachfenster, die unterschiedlicher Meinung waren ob sie jetzt bei 100% offen oder zu sind -> habe ich im vis irgendwie immer falsch gemacht, jetzt sind sie gleich und ich kriege es endlich hin, yeah. :-) ).

                          Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                          Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                          1 Antwort Letzte Antwort
                          0
                          • hg6806H Offline
                            hg6806H Offline
                            hg6806
                            Most Active
                            schrieb am zuletzt editiert von
                            #254

                            Ok, danke für die Info.
                            Hatte das parallel schon gestartet und läuft auch.
                            Manchmal muss man aber komischerweise den Admin 2x restarten.

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              manmac
                              schrieb am zuletzt editiert von
                              #255

                              Hi, ich würde gerne einen alias für den fibaro RGWB adapter anlegen. der benötigt einen string mit #RRGGBBWW und ich würde das gerne jeweils auf einen alias für R/G/B/W getrennt und jeweils einem integer im range 0-100 mappen.

                              hat das schon jemand von euch probiert?

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • M manmac

                                Hi, ich würde gerne einen alias für den fibaro RGWB adapter anlegen. der benötigt einen string mit #RRGGBBWW und ich würde das gerne jeweils auf einen alias für R/G/B/W getrennt und jeweils einem integer im range 0-100 mappen.

                                hat das schon jemand von euch probiert?

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #256

                                @manmac sagte:

                                hat das schon jemand von euch probiert?

                                Nein, aber als Ansatz z.B. für grün versuche mal

                                "read": "Math.round(parseInt(val.substring(3, 5), 16) / 2.55)"
                                

                                Mit "write" wird es aber per Alias nicht funktionieren, da nur einer von 4 erforderlichen Werten vorliegt.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                M 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @manmac sagte:

                                  hat das schon jemand von euch probiert?

                                  Nein, aber als Ansatz z.B. für grün versuche mal

                                  "read": "Math.round(parseInt(val.substring(3, 5), 16) / 2.55)"
                                  

                                  Mit "write" wird es aber per Alias nicht funktionieren, da nur einer von 4 erforderlichen Werten vorliegt.

                                  M Offline
                                  M Offline
                                  manmac
                                  schrieb am zuletzt editiert von manmac
                                  #257

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

                                  "read": "Math.round(parseInt(val.substring(3, 5), 16) / 2.55)"

                                  danke :+1: , das hilft schonmal sehr. jetzt muss ich nur mehr das "write" kommando hinbekommen ... das muss ich mir noch überlegen :thinking_face: kann man eigentlich den alias wert auch über ein script befüllen lassen?

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • M manmac

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

                                    "read": "Math.round(parseInt(val.substring(3, 5), 16) / 2.55)"

                                    danke :+1: , das hilft schonmal sehr. jetzt muss ich nur mehr das "write" kommando hinbekommen ... das muss ich mir noch überlegen :thinking_face: kann man eigentlich den alias wert auch über ein script befüllen lassen?

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #258

                                    @manmac sagte:

                                    beim schreiben auch den aktuellen wert der anderen farben brauche, sonst überschreibe ich ja beim setzen einer farbe den wert der andern

                                    Das meinte ich mit

                                    da nur einer von 4 erforderlichen Werten vorliegt.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @manmac sagte:

                                      beim schreiben auch den aktuellen wert der anderen farben brauche, sonst überschreibe ich ja beim setzen einer farbe den wert der andern

                                      Das meinte ich mit

                                      da nur einer von 4 erforderlichen Werten vorliegt.

                                      M Offline
                                      M Offline
                                      manmac
                                      schrieb am zuletzt editiert von
                                      #259

                                      @paul53

                                      du hast schneller geantwortet, als ich dachte ;)
                                      :thinking_face: kann man eigentlich den alias wert auch über ein script befüllen lassen?

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • M manmac

                                        @paul53

                                        du hast schneller geantwortet, als ich dachte ;)
                                        :thinking_face: kann man eigentlich den alias wert auch über ein script befüllen lassen?

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #260

                                        @manmac sagte:

                                        kann man eigentlich den alias wert auch über ein script befüllen lassen?

                                        Ja, dafür ist der Alias gedacht, dass man per Script nicht auf Adapter-Datenpunkte zugreifen muss. Möchtest Du allerdings auch schreibend den #RRGGBBWW-Wert ändern, wirst Du um ein Script nicht herum kommen.

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @manmac sagte:

                                          kann man eigentlich den alias wert auch über ein script befüllen lassen?

                                          Ja, dafür ist der Alias gedacht, dass man per Script nicht auf Adapter-Datenpunkte zugreifen muss. Möchtest Du allerdings auch schreibend den #RRGGBBWW-Wert ändern, wirst Du um ein Script nicht herum kommen.

                                          M Offline
                                          M Offline
                                          manmac
                                          schrieb am zuletzt editiert von
                                          #261

                                          @paul53

                                          ja, da bin ich grad dran.

                                          hab mich nur gefragt, ob ich statt dem "write":"val = ..." auch "write":"<get return value from script>" machen kann.

                                          GarfonsoG 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          474

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe