Ankündigung

Einklappen
Keine Ankündigung bisher.

Anzeige des Feldes "name=" aus "*.conf"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Anzeige des Feldes "name=" aus "*.conf"

    Hallo,

    beim erstellen meiner Visu bin ich über folgende Frage gestolpert:

    Ist es möglich (wenn ja, wie) den Text, der in der *.conf-Datei vergeben wird, in der Visu anzuzeigen? Ich will die Texte zum einen nicht ein zweites mal eingeben und möchte zum anderen auch nicht zwei Datensätze up to date halten.

    Code:
    [Rueckmeldung]
        [[Dach1]]
            [[[A]]]
                name = 'Schlafen-1'
                type = bool
    ...
    Um es nochmal zu beschreiben, ich möchte den Inhalt des Feldes "name" (also: Schlafen-1) von 'Rueckmeldung.Dach1.A' in der Visualisierung angezeigt bekommen. Habe vieles per try&error versucht, aber leider ohne Erfolg.

    Gruß
    Heiko

    #2
    Schon mal str(sh.Rueckmeldung.Dach1.A) ausprobiert?

    Kommentar


      #3
      Hi,

      wenn Du autogenerate verwendest, dann wird 'item.name' immer durch den jeweiligen Namen ersetzt. Aber eben nur diese Zeichenkette - erlaubt somit nicht irgendwelche relative Navigationen.

      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


        #4
        Zitat von Sandman60 Beitrag anzeigen
        Schon mal str(sh.Rueckmeldung.Dach1.A) ausprobiert?
        Rueckmeldung.Dach1.A.name könnte gehen.
        Also oohne sh. Aber mit .name

        Kommentar


          #5
          Hallo ihr drei,

          danke für eure schnellen Antworten.

          @Sandman60:
          Diese Idee hatte ich noch nicht. Verwende ich aber "str(...)" kommt immer die Fehlermeldung "error: The function "str" does not exist"

          @mumpf
          Hatte die Installtionsanleiung durchgearbeitet und bin bei der manuellen erstellung geblieben.

          @henfri
          habe es auch schon probiert, mit und ohne ' ' bzw. Rueckmeldung.Dach1.A.name()

          Was ich noch probiert habe ist einen neuen Unterpunkt "namen" anzulegen, dem ich dann auch den Typ String zuordnen konnte:
          Code:
          [Rueckmeldung]
              [[Dach1]]               
                  [[[A]]]
                      name = 'Schlafen-1'
                      type = bool
          ...
                      [[[[namen]]]]
                          name = 'Schlafen-2'
                          type = str
                          visu_acl = ro
          in der *.html habe ich dazu volgendes geschrieben (und viele andere Versuche auch mit anderen Funktionen als "basic.text"):
          Code:
              <div class="block"> <!-- Dach1 -->
                  <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-midi="true">
                      <div data-role="collapsible" data-collapsed="false">
                              {{ basic.text('id989', 'Rueckmeldung.Dach1.A', 'Rueckmeldung.Dach1.A.namen', 'Rueckmeldung.Dach1.A.namen' ) }}
                      </div>
                  </div>
              </div>
          Heiko

          Kommentar


            #6
            Buhh.. das hat mich heute auch mindestens den 1/2 Tag gekostet..

            das Attribut 'name' kann so leider nicht direkt ausgegeben werden:
            Code:
            {{ basic.value('eg.kueche.jalousie.tuer.name', Eg.Kueche.Jalousie.Tuer.name) }}
            um das Attribut 'name' von Eg.Kueche.Jalousie.Tuer in smartVISU darzustellen, hab ich dessen Inhalt in ein (Hilfs)-Item geladen..

            Code:
            [Eg]
              [[Kueche]]
                [[[Jalousie]]]
                  [[[[Tuer]]]]
                    name = Jalousie Küche Tür
                  [[[[Text]]]]
                    type = str
                    visu_acl = ro
                    eval = str(sh.Eg.Kueche.Jalousie.Tuer)    # Liest den Name(n) des Items!! Item ohne Klammern angeben!!
                    #eval = 'Jalousie Küche Tür'     # so kann ein Text auch direkt dem Item übergeben werden
                    eval_trigger = Eg.Kueche.Jalousie.Tuer.Text
            zum Ausgeben des Textes in smartVISU:

            Code:
            {{ basic.value('eg.kueche.jalousie.tuer.text', Eg.Kueche.Jalousie.Tuer.Text) }}


            Edit1: Vielleicht gibt es ja inzwischen eine bessere/einfachere Lösung

            Gruß Ivan

            Zuletzt geändert von ivande; 28.01.2016, 21:06.

            Kommentar

            Lädt...
            X