Ankündigung

Einklappen
Keine Ankündigung bisher.

basic.select Bitte um Hilfe

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

    basic.select Bitte um Hilfe

    in eine kleinen Bastelei hole ich mir die Daten zur Lüftung aus einer SQL-Datei .

    In der zugehörigen VISU-Maske gelingt mir das Setzen des Itemwertes. Bei der nächsten Anzeige steht der richtige Wert im basic.print zur Verfügung.

    Nur bei der Anzeige des basic.select bekomme ich nicht den gesetzten Wert angezeigt. .

    Ich würde hier die Anzeige gerne auf den vorgegebenden Eintrag vorbesetzen, ich schaffe es leider nicht!

    Kann mir jemand den entsprechenden Hinweis oder eine andere Lösung aufzeigen. Vorher hatte ich hier ein veraltetes men.select.

    HTML-Code:
    <tr>
       <td align=left style="padding-left: 10px;">
          Lüftung: {{ basic.print('foltxt1', 'luft.stufe','') }}
       </td>
       <td align=left>
          {{ basic.select('fol2', 'luft.stufe', '', 'Stufe 1', 'Stufe 2', 'Stufe 3', 'Aus') }}
       </td>
    </tr>
    Danke für jeden Hinweis!
    Zuletzt geändert von bmx; 15.08.2021, 14:16.

    #2
    Aus der Doku:

    HTML-Code:
    {{ basic.select(id, item, type, value, icon, text, color_on, group, itemvals, itemtxts) }}
    Damit könnte folgendes funktionieren:

    HTML-Code:
    <tr>
       <td align=left style="padding-left: 10px;">
          Lüftung: {{ basic.print('', 'luft.stufe','') }}
       </td>
       <td align=left>
          {{ basic.select('', 'luft.stufe', '', [1,2,3,0], ['Stufe 1', 'Stufe 2', 'Stufe 3', 'Aus']) }}
       </td>
    </tr>
    Du mußt noch die Mappings von Wert und Text prüfen denke ich.

    Kommentar


      #3
      Danke Bernd für die schnelle Antwort. I
      ch habe es mit Deiner Lösung probiert und erreiche trotzdem nicht mein Ziel. Irgendwo sitzt noch der kleite Teeufel.

      rWas Passiert:
      im basic.ptint wirde de der Wert des Items richtig angezeigt (z.B. Stufe 3)

      Im basic.select wird jeweis der der erste Wert der Liste angezeigt. Bei einer Ändreund auf "Stufe2" erscheint auch der Wert "Stufe 2" im basic.print .
      Der Datensatz ist nach der Speicherung richtig.

      Eurneuter Aufruf des Datensatzes: im basic.print steht der gewünschte Wert.
      In basic.selecz steht wieder der erste Wert "Stufe1"

      Ich finde nicht das Feld im basic.select in dem der Wert zur richtigen Anzeige des gewählten Eintrags angezeigt wird.

      Ich gehe vielleicht von einer falschen Annahme aus.
      Ich stelle mir vor, den gewählten Wert in dem ungeöffneten ISelect zu sehen, durch anklicken des Feldes öffnet sich die Auswahlliste zur neuen Änderung.

      Liege ich hier falsch?

      Danke für jeden Hinweis!


      Kommentar


        #4
        Im Code ist noch ein Fehler, der aber nicht für das beobachtete Verhalten verantwortlich ist. Richtig ist:
        Code:
        basic.select('', 'luft.stufe', '', [1,2,3,0], '', ['Stufe 1', 'Stufe 2', 'Stufe 3', 'Aus'])
        Du hast nicht geschrieben, welche Version von smartVISU Du nutzt. In der aktuellen Version übernimmt das basic.select den jeweiligen item-Wert 1:1 vom Backend und zeigt ihn richtig an. Hier wurde gegenüber den Vorgängern seit v2.9 nichts verändert. Ich habe auch mal kurz eine Seite aufgesetzt, die ein Test-Item mit basic.print ausgibt und mit basic.select. Beide reagieren korrekt. Das Select zeigt immer den aktuellen Wert des items an.

        Den Cache hattest Du gelöscht, bevor Du Bernds Code ausprobiert hast?

        Gruß
        Wolfram

        Kommentar


          #5
          Danke Wolfram,
          schnell noch einmal den Cache gelöscht und unter 3.1 getestet, Das Ergenis bleibt wie oben beschrieben.

          Wie ist den der Aufbau Deiner basic.select- Zeile?

          Danke für die Hilfe
          Gruß
          Wolfgang
          Zuletzt geändert von schloessl; 16.08.2021, 13:49.

          Kommentar


            #6
            Das Select habe ich so getestet, wie oben angegeben. Nur habe ich 'luft.stufe‘ durch eines meiner Test-Items ersetzt. Du kannst das auch in den Doku-Seiten testen oder im Widget Assistant.

            Ist 'luft.stufe‘ ein item in smarthomeNG? Und ist in der Item-Definition visu_acl auf "rw" gesetzt?

            Gruß
            Wolfram

            Kommentar


              #7
              Ja Wolfram,

              das Item ist vorhanden und auf 'rw' gesetzt.Über Backend/admin hatte ich jeweils die Inhalte der des Items beobachtet.

              Eein langer Abend mit vielen Varianten des Test ergab:

              basic.select('', 'luft.stufe', '',['Stufe 1', 'Stufe 2', 'Stufe 3', 'Aus' '', ['Stufe 1', 'Stufe 2', 'Stufe 3', 'Aus'])

              brachte die Lösung!

              Ich sethe wohl auf dem Kriegsfuß mit der Syntax. .

              Geht unter 3.1 und 3.2!!

              Danke an alle Helfer!

              Wolfgang

              Kommentar


                #8
                Danke für die Rückmeldung. Ich denke, dass noch ein Schreibfehler in der Syntax ist. Richtig müsste es heißen
                Code:
                basic.select('', 'luft.stufe', '',['Stufe 1', 'Stufe 2', 'Stufe 3', 'Aus'], '', ['Stufe 1', 'Stufe 2', 'Stufe 3', 'Aus'])
                Die erste Klammer enthält die an das Backend zu sendenden Werte, die zweite Klammer die zugehörigen Texte. Letztere kann man auch weglassen, wenn Werte und Texte übereinstimmen.

                Fehler von Bernd und mir war es, anzunehmen, dass Du numerische Werte 0-3 an das item übergeben willst. Tatsächlich übergibst Du aber die Strings. Das hatten wir nicht eindeutig geklärt.

                Gruß
                Wolfram
                Zuletzt geändert von wvhn; 18.08.2021, 18:10.

                Kommentar

                Lädt...
                X