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

      @paul53

      Glaube war wirklich in der falschen Zeile.
      Bei lesen muss ich vermutlich hin?

      Ich möchte, dass ich anstatt true = offen und anstatt false = geschlossen im. DP habe.

      Also eher so
      Screenshot_20240308_193131_Chrome.jpg

      Alias habe ich ja viele, aber noch nie was konvertiert...

      Edit
      Jetzt hab ich den nochmal neu angelegt.
      Meckert nicht, im. DP steht aber immer die Formel.

      {
        "type": "state",
        "common": {
          "name": "Koverttest",
          "role": "value.window",
          "type": "string",
          "max": 1,
          "read": true,
          "write": true,
          "alias": {
            "id": "0_userdata.0.example_state",
            "read": "\"val = true ? an : aus\" "
          }
        },
        "_id": "alias.0.og.Thermostat_Wohnbereich.WINDOW_STATE_2",
        "native": {},
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        },
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1709923236321
      }
      
      O paul53 2 Replies Last reply Reply Quote 0
      • O
        Oli @David G. last edited by

        @david-g
        Versuche es mal so:

        val == true ? "an" : "aus"
        
        David G. 1 Reply Last reply Reply Quote 0
        • David G.
          David G. @Oli last edited by

          @oli

          Mag er auch nicht.
          Hab jetzt mal noch ein paar Zeilen entfernt und nur das nötigste drinnen.
          Aber der DP zeigt noch die Formel.

          {
            "type": "state",
            "common": {
              "name": "Konverttest",
              "role": "state",
              "type": "string",
              "read": true,
              "write": true,
              "alias": {
                "id": "0_userdata.0.example_state",
                "read": "\"val == true ? an : aus\""
              }
            },
            "_id": "alias.0.og.Thermostat_Wohnbereich.WINDOW_STATE_2",
            "native": {},
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            },
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1709923909780
          }
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @David G. last edited by paul53

            @david-g sagte: true = offen und anstatt false = geschlossen im. DP habe.

            val ? 'offen' : 'geschlossen'
            

            Im JSON:

                  "read": "val ? 'offen' : 'geschlossen'"
            
            David G. 1 Reply Last reply Reply Quote 2
            • David G.
              David G. @paul53 last edited by

              @paul53

              Klappt, vielen Dank

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

                Hallo,
                ich habe ein Problem mit der Groß- und KLeinschreibung:

                zigbee-devices geben ihre Objekte im iobroker UNVERÄNDERBAR in Kleinbuchstaben an:

                zigbee.0.a4c138ef9eefc967.battery

                Versuche ich dieses Objekt durch einen Alias zur ersetzen, gibt mir der alias-Adapter zwingend dabei Großbuchstaben an:

                alias.0.Flur.Tuerklingel.BATTERY

                In Scripten ist das kein Problem, bei der Programmierung von Tabellen mittels ng-repeat

                <table class="table table-bordered" columns="2">
                    <caption>&nbsp;&nbsp;&nbsp;Zigbee-Schalter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Batteriezustand</caption>
                    <div ng-app="" ng-init="geraete=[ 
                    {raum:'Heizung-Eco (Flur)',adresse:'zigbee.0.0c4314fffe1e2d25.'},
                    {raum:'Multi-Licht (Flur)',adresse:'zigbee.0.b4e3f9fffed1bd72.'},
                    {raum:'Klingelkontakt (Flur)',adresse:'alias.0.Flur.Tuerklingel.'}
                    ]">
                        <tr>
                            <th>Raum</th>
                            <th>Prozent</th>
                        </tr>
                        <tr ng-repeat="x in geraete">
                            <td>{{x.raum}}</td>
                            <td ng-init="percentV=itemValue(x.adresse+'battery')" ng-class="{'alarm': percentV <= 45, 'attention': percentV > 45 && percentV <= 70}">
                                {{'%.0f' | sprintf:percentV}} %</td>
                        </tr>
                    </div>
                </table>
                

                bin ich aber zwingend auf die exakt gleiche Schreibweise angewiesen, um ng-repeat verwenden zu können.
                Allerdings kann ich weder im zigbee-Objekt, noch im alias-Objekt die Schreibweise ändern und somit anpassen. Ich brauche eine übereinstimmende Schreibweise, am Besten im alias-Objekt in Kleinbuchstaben.
                Eine Änderung der Property "Name" bringt nichts, es wird "ID" verwendet und diese ist nicht änderbar, bleibt in Großbuchstaben.
                Den langen, steinigen Weg, nun alle meine zigbee-Objekte mit einem Alias zu versehen, will ich -noch- nicht gehen.
                Gibt es einen Ausweg?
                Viele Grüße, jahnbes.

                apollon77 crunchip 2 Replies Last reply Reply Quote 0
                • apollon77
                  apollon77 @jahnbes last edited by apollon77

                  @jahnbes Was ist ng-repeat? generell klingt es nach einer limitierung von dieser Library/Tool/Whatever... vllt dort mal einen Feature-Request stellen hier auch grossbuchstaben zu erlauben?

                  Warum: Weil das bei zigbee vllt immer so ist mit allem Kleinbuchstabeln, aber allein mit homematic ist das schon kaputt und andere Adapter nutzen wieder andere Mixe. Also iobroker ist hier "flexibel" und es gibt keine zwingende Vorgabe alles klein zu schreiben und es gibt viele Bestandsadapter die das auch nicht tun - also hier bei iobroker zu limitieren fühlt sich nach dem falschen Weg an.

                  jahnbes 1 Reply Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @jahnbes last edited by crunchip

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

                    Versuche ich dieses Objekt durch einen Alias zur ersetzen, gibt mir der alias-Adapter zwingend dabei Großbuchstaben an:

                    Sicher?
                    Ich kann die anlegen wie ich möchte
                    Screenshot_20240411_092544.jpg

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

                      @apollon77
                      Hallo apollo 77, danke für Deine Antwort.
                      ng-repeat ist eine Direktive in AngularJS. So ziemlich jede Anwendung, die mit Collections operiert, benötigt den Einsatz dieser Direktive, um die Sammlungen von Daten in einer View bequem ausgeben zu können. Ich benutzte sie, um Tabellen in HABPanel dynamisch gestalten zu können, das heißt, eine Zeile der Tabelle wird als Schablone programmiert, dann eine Liste der darzustellenden Elemente (z.B. ZigBee-Geräte) erstellt und mit Hilfe von ng-repeat diese Liste abgearbeitet und die Tabelle mit allen Zeilen (ZigBee-Geräte) erzeugt. Neben der einfacheren Programmierung der Tabelle (ich muss nur eine Zeile programmieren) hat das auch deutliche Vorteile, wenn Elemente (Zeilen) zur Tabelle hinzukommen oder entfallen. Ich muss im Code nur die Liste ändern, siehe das oben angeführte Beispiel.
                      Hier die zugegebenermaßen kleine Tabelle, die der obige Code generiert:
                      Tabelle_ng_repeat.jpg
                      AngularJS ist ein clientseitiges JavaScript-Webframework zur Erstellung von Single-Page-Webanwendungen nach einem Model-View-ViewModel-Muster.

                      Es geht aus meiner Sicht auch nicht darum, etwas zu limitieren, sondern zu flexibilisieren, soll heißen, ich sollte Klein- und Großbuchstaben verwenden können.
                      Viele Grüße, jahnbes.

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

                        @crunchip
                        Hallo crunchip, danke für Deine Antwort. Die ist interessant. Wie hast die die Alias angelegt? Ich habe es über den iobroker gemacht (Wie sonst?) und da kamen zwangsweise starre Gropßbuchstaben raus.
                        Jetzt bin ich mir nicht mehr sicher. Ich werde testen und mich melden.
                        Viele Grüße, jahnbes.

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

                          @jahnbes Das kannst Du - dann musst Du die Alias Objekte selbst anlegen. Die grossbuchstaben werden die wuasi nur vorgegeben wenn du den "Devices" adapter nutzt, weil der das in seinen templates so definiert hat. könntest es so anlegen, dann aliase exportieren, löschen und im json File die Namen so anpassen wie Du es brauchst und wieder importieren (Weil ändern von Objekt-IDs geht nicht).

                          1 Reply Last reply Reply Quote 0
                          • crunchip
                            crunchip Forum Testing Most Active @jahnbes last edited by

                            @jahnbes wie siehe Bild, mit dem alias Manager, der ist flexibler und meiner Meinung besser zu händeln

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

                              @crunchip Alias Manager geht auch - der nutzt keine/andere templates

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

                                @apollon77
                                Danke!!!!!!!!!!!
                                Hallo apollon77 und crunchip, mit Euren Hinweise und Eurer Zusprache von Mut hat es geklappt, ich habe jetzt die Alias in Kleinbuchstaben

                                ID_gross_klein_aendern_1.jpg

                                und mein ng-repeat funktioniert:

                                ID_gross_klein_aendern_2.jpg

                                Der Weg, wie von Euch angeregt:

                                ID_gross_klein_aendern.jpg

                                • Im iobroker unter "Geräte" das Alias erzeugen (noch in Grossbuchstaben).
                                • Unter "alias" das Objekt (noch mit Grossbuchstaben) "ändern".
                                • Dort links unten (roter Pfeil) auf "Erstellen Sie eine Kopie des Objektes.".
                                • Dem neuen Objekt einen Namen mit Kleinbuchstaben geben.
                                • Das alte Objekt mit den Grossbuchstaben löschen.

                                Klasse!

                                Vielen Dank und Gruß jahnbes.

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

                                  @jahnbes Denke it dem json export gehts bei vielen noch schneller 🙂 Aber hautptsache Du hast einen Weg der für dich funktioniert!

                                  jahnbes 1 Reply Last reply Reply Quote 1
                                  • jahnbes
                                    jahnbes @apollon77 last edited by jahnbes

                                    @apollon77
                                    Mit dem alias-Manager geht es auch echt gut!

                                    1 Reply Last reply Reply Quote 0
                                    • David G.
                                      David G. last edited by David G.

                                      Ich melde mich auch mal kurz mit einer Frage.

                                      Meine Versuche klappen alle irgendwie nicht.

                                      Quelldatenpunkt liefert 0 und 1.
                                      Mein Alias soll false und true melden.

                                      Was wären Formeln fürs lesen und schreiben?

                                      EDIT:
                                      Habs geschafft

                                      val == 1 ? true : false
                                      val === true ? 1 : 0
                                      
                                      paul53 1 Reply Last reply Reply Quote 1
                                      • paul53
                                        paul53 @David G. last edited by

                                        @david-g sagte: Habs geschafft

                                        Einfacher:

                                        !!val
                                        val ? 1 : 0
                                        
                                        David G. 1 Reply Last reply Reply Quote 1
                                        • David G.
                                          David G. @paul53 last edited by

                                          @paul53

                                          Danke

                                          Kurzes offtopic...
                                          Ich hab gtad den Rechner an ^^.
                                          Magst du mir mal kurz hier weiterhelfen?
                                          https://forum.iobroker.net/topic/78608/bilder-mittels-llm-analysieren/10

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

                                            @david-g sagte: hier weiterhelfen?

                                            Davon habe ich keine Ahnung. Von wem stammt die Javascript-Funktion?

                                            David G. 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

                                            863
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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