Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Wert eines konstanten objekts wird nicht angezeigt

    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

    [gelöst] Wert eines konstanten objekts wird nicht angezeigt

    This topic has been deleted. Only users with topic management privileges can see it.
    • Ben1983
      Ben1983 last edited by Ben1983

      Hallo, wenn ich ein Object so deklariere:

      const Id1AVonPv = 'modbus.0.holdingRegisters.40004_Prozentuale_Leistung 1A von PV';
      

      dann wird es beim Mousover so angezeigt:

      a2204869-fd12-4a39-8cb6-cf882d401774-image.png

      wird ein objekt mit const deklariert, jedoch so:
      const alias = {
      muellabfuhr : {
      abfuhrMorgen : 'alias.0.Allgemein.Muellabfuhr.morgenAbfuhr'
      }
      }
      warum bekomme ich dort nicht auch den Wert angezeigt?
      0a0e886e-6da4-4dae-a562-594a9cce14d9-image.png

      Edit:
      Findet ihr Variante 2 denn. Sinnvoll, oder sagen wir praktisch? Oder ist eine kurze einfache Variable als id vielleicht doch die bessere Wahl?
      Ziel soll es sein, dass ich nicht den wirklichen String zum State eintragen muss, sondern eine Constante, welche man in den Skripten nutzen kann und in Fall der Fälle eben nur an einer Stelle ändern muss.
      Ja man könnte auch den String vom alias nehmen, aber irgendwann habe ich mal gelebt, dass indirekte Adressierung nicht mit absoluten Ausdrücken gemacht werden sollte.

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

        @ben1983 sagte: warum bekomme ich dort nicht auch den Wert angezeigt?

        Weil ein Objekt keine einfache Variable ist, die den Wert enthält, sondern ein Objekt wird referenziert.

        @ben1983 sagte in Inhalt eines konstanten objekts wird nicht angezeigt:

        ist eine kurze einfache Variable als id vielleicht doch die bessere Wahl?

        Ich bevorzuge die einfache Variable(Konstante) für eine ID.

        Was globale Skripte angeht, so würde ich sie nur für häufig verwendete eigene Funktionen erstellen. Beispiel

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

          @paul53 ah ok,
          Also die id an sichbliever lokal in mehreren Skripten deklarieren?
          Dachte mir, dass ich die mehrfach Deklaration eben durch das globale umgehen kann.

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

            @ben1983 sagte: die id an sichbliever lokal in mehreren Skripten deklarieren?

            Man wird nicht die selbe ID in vielen Skripten benötigen (meine Erfahrung). Nachträgliche Änderungen in Skripten vermeidet man durch Verwendung von Alias.

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

              @paul53 verwende solche Dinge wie Leistungen schon in mehreren Skripten.
              Aber ich nutze auch alias.
              Versuche es mal um zu setzen.
              Klar sollte sich ein alias nicht ändern, nur wenn doch mal was dazu kommt etc. So war es gemeint.

              Wobei ich schon viele Ids habe, die erst mal über Eine Rest API beschrieben werden und dann in mehreren Skripten gelesen werden.

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

                @paul53 aber du würdest auf jeden Fall auch konstanten die id zuweisen und nicht den alias String direkt angeben, oder?

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

                  @ben1983 sagte: konstanten die id zuweisen und nicht den alias String direkt angeben,

                  Ich halte es so, dass ich erst die ID-Strings Konstanten zuweise, bevor ich sie verwende. Beispiel:

                  const path = 'alias.0.Wohnen.';
                  const idIst = path + 'Klima.Temperatur';
                  const idSoll = path + 'Heizung.Sollwert';
                  const idStell = path + 'Heizung.Ventil';
                  

                  Das macht sich sehr gut für Copy & Paste, denn man sieht auf einen Blick, wo Anpassungen erfolgen müssen.

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

                    @paul53 top.
                    Werde ich in meinen Skripten mal anwenden.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    777
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    2
                    8
                    160
                    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