Ankündigung

Einklappen
Keine Ankündigung bisher.

Verständnisproblem sh.py <-> SV

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

    Verständnisproblem sh.py <-> SV

    Hallo,

    ich verstehe folgendes nicht:
    Code:
    {{ basic.value(id, gad, unit, tag) }}
    ID ist doch beliebig, oder? In einer sh.py Beispiel-Konfiguration habe ich gesehen, dass dort jemand einfach "item" verwendet hat.
    GAD ist doch der Wert, der angezeigt werden soll, auch dort wurde in dieser Konfig "item" verwendet.

    Was ist "item"?
    Ist es nun eine eindeutige ID? Der Name? Der Wert?

    Hier mal meine (nicht funktionierende) Konfiguration.

    Code:
    [Daten]
     name=Daten
     sv_page=Daten
    [[Keller_hum]]
        name = Keller Luftfeuchte
     #type = DS2438Hum
        type = num
        ow_addr = 26.A1B930010000
        ow_sensor = H
        rrd=1
        visu=yes
        sv_widget="{{ basic.value(item,item, '%') }}"
        knx_send=7/7/250
        knx_reply=7/7/250
        knx_dpt=5
    Es wird leider kein Wert in der SV angezeigt.

    Dies hingegen funktioniert:
    Code:
                sv_widget = "{{ device.dimmer('item', 'item.name', 'item', 'item.level') }}"
    Da wird doch auch für id und gad "item" verwendet. Warum funktioniert das eine, aber das andere nicht?

    Edit: es liegt an den fehlenden ''
    Aber die Verständnis-Frage bleibt...

    Gruß,
    Hendrik

    #2
    Hallo Hendrik,

    wie in dem anderen Thread angedeutet.

    Bei der Autogeneration wird bei dem sv_widget-String jedes vorkommen von 'item' mit der Item-ID ersetzt.

    Code:
    [test]
    sv_widget = " item, item.sub, item, item.was.weis.ich"
    wird zu 'test, test.sub, test, test.was.weis.ich'

    Die ID für das Widget ist nicht beliebig, sie muss eindeutig/einmalig sein!
    Die GAD ist für das SH.py Backend die item.id()

    hth

    Marcus

    Kommentar


      #3
      Hi Marcus,
      Zitat von mknx Beitrag anzeigen
      Bei der Autogeneration wird bei dem sv_widget-String jedes vorkommen von 'item' mit der Item-ID ersetzt.

      Die ID für das Widget ist nicht beliebig, sie muss eindeutig/einmalig sein!
      Die GAD ist für das SH.py Backend die item.id()
      Ich verstehe das soweit.
      die Item-ID ist dann aber eindeutig/einmalig, da sie a für sh.py auch schon einmalig sein muss, richtig?
      Benötige ich die id (in der smart-Visu) denn noch irgendwo?

      Gruß,
      Hendrik

      Kommentar


        #4
        Hi Hendrik,

        Zitat von henfri Beitrag anzeigen
        Code:
        {{ basic.value(id, gad, unit, tag) }}
        nochmal anders rum.

        Die id (des Widget) muss innerhalb der smartVISU eindeutig/einmalig sein.
        Die gad oder in unserem Fall die item.id() kann in der smartVISU beliebig oft referenziert werden. Innerhalb SmartHome.py ist/muss auch sie eindeutig sein.

        Ich verwende z.B. meherer Plots eines Items um mir verschiedene Zeiträume parallel anzeigen zu lassen. Dort ist dann die item.id() in mehreren Widgets referenziert.

        hth

        Marcus

        Kommentar


          #5
          Zitat von mknx Beitrag anzeigen
          Die id (des Widget) muss innerhalb der smartVISU eindeutig/einmalig sein.
          Die gad oder in unserem Fall die item.id() kann in der smartVISU beliebig oft referenziert werden. Innerhalb SmartHome.py ist/muss auch sie eindeutig sein.
          Ja, das hatte ich so auch verstanden.
          Die doppelte Verwendung des Begriffes id ist nicht so glücklich.

          Ich verwende z.B. meherer Plots eines Items um mir verschiedene Zeiträume parallel anzeigen zu lassen. Dort ist dann die item.id() in mehreren Widgets referenziert.
          Ja, das ist klar.
          Auch könnte man ein "Alles Aus" Item in mehreren Visu Seiten verwenden....
          Hier sind wir übrigens der lebende Beweis für
          Die doppelte Verwendung des Begriffes id ist nicht so glücklich.
          Denn ich meinte die SV-Widget-ID. Wofür wird die benötigt?!

          Gruß,
          Hendrik

          Kommentar


            #6
            Hi Hendrik,

            Zitat von henfri Beitrag anzeigen
            Die doppelte Verwendung des Begriffes id ist nicht so glücklich.
            ja, sind halt zwei Projekt die unabhängig voneinander entstanden sind. Und bei beiden ist es berechtig von id zu sprechen. Genauer wäre noch uid (unique id).

            Zitat von henfri Beitrag anzeigen
            Denn ich meinte die SV-Widget-ID. Wofür wird die benötigt?!
            Das hat was mit HTML und der Adressierung der Widgets im DOM zu tun.

            Bis bald

            Marcus

            Kommentar


              #7
              Zitat von mknx Beitrag anzeigen
              ja, sind halt zwei Projekt die unabhängig voneinander entstanden sind. Und bei beiden ist es berechtig von id zu sprechen. Genauer wäre noch uid (unique id).
              Klar.
              Vielleicht wäre es aber gut, im Sprachgebrauch zwischen SV ID und smarthome item name (?) zu unterscheiden.

              Das hat was mit HTML und der Adressierung der Widgets im DOM zu tun.
              Ich benötige es also selbst nie, oder?

              Kommentar


                #8
                Hi Hendrik,

                Zitat von henfri Beitrag anzeigen
                Ich benötige es also selbst nie, oder?
                Ich denke nicht.

                Bis bald

                Marcus

                Kommentar


                  #9
                  Ok, danke!

                  Kommentar


                    #10
                    Hi Hendrik

                    sorry, dass ich den Thread nochmal bemühe. Frage an Dich: Hast Du das Widget basic.value dann zur Anzeige bekommen. Ich habe zwar die ID's korrekt und eindeutig, bekomme aber basic.text nicht angezeigt. Texte )im Beispiel dies ist ein Test) in der gleichen Zeile, kein Problem.

                    Code:
                    	[[tor_l]]
                    	name = Garagentor Links
                    		[[auf]]
                    			name = Garagentor öffnen
                    			type = bool
                    			visu = yes
                    		  	knx_dpt = 1
                    			knx_send = 5/0/10
                    			sv_widget = "Dies ist ein Test {{ basic.text('item', 'item.name') }}"
                    Danke für eine Rückmeldung.

                    Michel

                    Kommentar


                      #11
                      Zitat von henfri Beitrag anzeigen
                      Klar.
                      Vielleicht wäre es aber gut, im Sprachgebrauch zwischen SV ID und smarthome item name (?) zu unterscheiden.


                      Ich benötige es also selbst nie, oder?
                      Doch! Wenn man individuelle Formatierungen über die visu.css mach, greift man mit der ID auf das Widget zu.

                      Gruss
                      Join smartVISU on facebook. Web: smartvisu.de.
                      Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

                      Kommentar

                      Lädt...
                      X