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

                                            @paul53

                                            ChatGPT

                                            In den Log bekomme ich was ich möchte. Hätte es aber gerne in den return für die Funktion.

                                            PackElend 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

                                            847
                                            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