Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

Tri-State Button?

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

  • accelle
    antwortet
    Hat lange gedauert, ist aber endlich in Release 1 fertig: https://knx-user-forum.de/smartvisu/...tml#post358567

    Gruß und schönes WE
    Peter

    Einen Kommentar schreiben:


  • accelle
    antwortet
    Zitat von henfri Beitrag anzeigen
    Danke Stephan,

    dazu hatte ich bisher keine Dokumentation gefunden (wo hast du das gefunden?)

    icon0 ist also immer das Icon, für den Fall, dass das Item den Wert 0 hat
    und
    icon1 ist also immer das Icon, für den Fall, dass das Item den Wert 1 hat

    Das geht dann auch so weiter (icon2, 3, )?

    Gruß,
    Hendrik
    Hallo Hendrik,

    es ist so wie shs oben erklärt hat: icon0 und icon1 sind die beiden Farben aus dem Design, das Du gewählt hast. Es gibt nur icon0 und icon1. Wenn Du eine Farbe direkt anwählen willst, dann musst Du z.B. 'icons/or/sani_heating.png' für Orange verwenden.

    Gruß
    Peter

    Einen Kommentar schreiben:


  • accelle
    antwortet
    Zitat von henfri Beitrag anzeigen
    Hallo,

    leider funktioniert's bei mir nicht.
    Es bleibt immer das erste Icon stehen.
    Im smartvisu-log finde ich nix, d.h. auch kein Versuch ein Item zu schalten.

    Was ich gemacht habe:
    .....


    Nach meinem Verständnis sollte doch jetzt bei jedem Klick auf das Icon das Item 1, 2, 3 ... annehmen, oder?

    Gruß,
    Hendrik
    Hallo Hendrik,

    machst Du bitte einen eigenen Thread für Dein Thema auf und poste bitte noch den Ausschnitt aus der *.conf, in dem eg.wohnen.ofenmultistate und UG.Buero.SetRCDmode definiert sind.

    Gruß
    Peter

    Einen Kommentar schreiben:


  • shs2
    antwortet
    Zitat von henfri Beitrag anzeigen
    Danke Stephan,

    ...(wo hast du das gefunden?)

    icon0 ist also immer das Icon, für den Fall, dass das Item den Wert 0 hat
    und
    icon1 ist also immer das Icon, für den Fall, dass das Item den Wert 1 hat

    Das geht dann auch so weiter (icon2, 3, )?
    ...
    Aus den Beispieldateien und hier: smartVISU Documentation v2.7. . Icon2,3 ist mit bislang nicht untergekommen, und ich hab's auch bislang nicht ausprobiert was passiert

    Aber du steuerst nicht das Icon sondern den Pfad zur entsprechenden Iconfarbe dynamisch.

    Gruss Stephan

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    leider funktioniert's bei mir nicht.
    Es bleibt immer das erste Icon stehen.
    Im smartvisu-log finde ich nix, d.h. auch kein Versuch ein Item zu schalten.

    Was ich gemacht habe:
    1) visu.js Teil aus der zip von oben eingefügt in ./pages/meine/visu.js
    2) dies
    Code:
    {% import "myButtons.html" as myButtons %}
    
        {{ myButtons.multi_state_button('eg.wohnen.ofenmultistate', 'eg.wohnen.ofenmultistate', icon1~'control_standby.png', 0, 'Aus', icon0~'sani_heating.png', 1, 'An', icon1~'sani_heating_automatic.png', 2, 'Auto') }}
        {{ myButtons.multi_state_button('UG.Buero.SetRCDmode', 'UG.Buero.RCD.Betriebsart', icon1~'user_available.png', 1, 'Status 1', icon0~'scene_night.png', 3, 'Status 3', icon1~'weather_frost.png', 4, 'Status 4', icon0~'user_away.png', 2, 'Status 2') }}
    in meine html.

    Das war's.

    Nach meinem Verständnis sollte doch jetzt bei jedem Klick auf das Icon das Item 1, 2, 3 ... annehmen, oder?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Danke Stephan,

    dazu hatte ich bisher keine Dokumentation gefunden (wo hast du das gefunden?)

    icon0 ist also immer das Icon, für den Fall, dass das Item den Wert 0 hat
    und
    icon1 ist also immer das Icon, für den Fall, dass das Item den Wert 1 hat

    Das geht dann auch so weiter (icon2, 3, )?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • shs2
    antwortet
    inon1~ wählt aus der Icon Bibliothek das Icon aus welches im ausgewählten Design für aktiviert steht. Analog steht icon0~ für nicht aktiv .

    Also z.b wird das grüne Icon bei Icon1 ausgewählt, das weiße für Icon0.
    willst du davon unabhängig Farben zuweisen geht das über die direkte Pfadangabe

    probier mal aus:
    Code:
                            
     fixe Zuweisung - ich will orange/blau unabhängig vom Design
     Heizung orange {{ basic.symbol('HeizenAn', 'heizen', 'Heizung ein',[COLOR=orange]'icons/or/[/COLOR]sani_heating.png') }}
    Heizung blau{{ basic.symbol('HeizenAus', 'heizen', 'Heizung aus', [COLOR=blue]'icons/bl/[/COLOR]sani_heating.png',0) }}
      
     dynamisch - offenes Fenster soll abhängig vom design grün sein:
      
          <b>{{ basic.symbol('FensterWZoffen', 'wohnen.fenster', 'offen', [COLOR=lime]icon1~[/COLOR]'fts_window_1w_open.png') }}  </B>
                      {{ basic.symbol('FensterWZzu', 'wohnen.fenster', 'geschlossen', [COLOR=gray]icon0~[/COLOR]'fts_window_1w.png', 0) }}
    Gruß Stephan

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    ich versuche gerade, den Button einzubinden.
    Kannst du mir die Syntax hinter dem icon1~... erklären?
    Was bedeutet die Ziffer?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • accelle
    antwortet
    Ich werde eine Version bauen mit variabel vielen Stati und für ein Item. Ich denke, das löst mindestens 90% der Anforderungen.

    Will man eine Status-Folge, die sich aus mehreren Items (GAs) zusammensetzt, damit verarbeiten, dann brauchts eben zwei kleine Python-Skripte (s.o.).

    Sind es zwei oder mehr Items mit jeweils unabhängigen Stati, dann muss man ohnehin das Widget mehrfach nebeneinander nutzen.

    Insofern erfüllt die Variante mit 1 Item alle Bedürfnisse, sofern jemand bereit ist, ein klein wenig Zusatzprogrammierung zu machen.

    Gruß
    Peter

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Zitat von Apollo Beitrag anzeigen
    Technisch ja, aber zu fehleranfällig.
    Für den User oder für den Entwickler?

    Einen Kommentar schreiben:


  • Astrafahrer
    antwortet
    Zitat von accelle Beitrag anzeigen
    Du verwendest aus 0..3 diejenigen Zahlen, die für die 3 benötigten Kombinationen passen. Das KNX-Plugin sollte die Konvertierung in einen 2-bit-Wert machen.

    Hoffe, das hilft.
    Hallo Peter,
    vielen Dank für die Unterstützung. Ich werde das demnächst ausprobieren. Jetzt habe ich das Prinzip verstanden.

    Einen Kommentar schreiben:


  • Apollo
    antwortet
    Technisch ja, aber zu fehleranfällig.

    Gruss

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Dann aber besser so:

    Code:
    basic.mulitstate (id, [item1, item2], [pic1, pic2, pix3...], [[item1_val1, item1_val2....], [item2_val1, item2_val2....]], [txt1, txt2....])
    damit bleibt das Interface gleich und man kann beliebig viele Items angeben

    Einen Kommentar schreiben:


  • shs2
    antwortet
    Zitat von Apollo Beitrag anzeigen
    Hi Peter,

    besser wäre ein "universelle" Schnittstelle gewesen:

    basic.mulitstate (id, item, [pic1, pic2, pix3...], [val1, val2....], [txt1, txt2....])

    oder sowas in der Richtung.

    Gruss
    Und wenn man dann auch noch gleich optional ein 2. Item angeben könnte, mit einer 2. Wertereihe wäre das perfekt ( zumindest für meinen Anwendungsfall Zentrale Lüftungssteuerung ):

    basic.mulitstate (id, item1, item2 [pic1, pic2, pix3...], [val1_1, val1_2....], [va2_1, val2_2....], [txt1, txt2....])

    Ansonsten funktioniert die Lösung mit Logic im Backend wirklich prima bei mir
    Gruß Stephan

    Einen Kommentar schreiben:


  • accelle
    antwortet
    Zitat von Apollo Beitrag anzeigen
    besser wäre ein "universelle" Schnittstelle gewesen
    Stimmt. Hatte ich nicht bedacht. Habe auf die Schnelle ein bestehendes "Multi-Icon" überarbeitet, damit es auch schalten kann.

    Werde in den nächsten Tagen ein neues Release erstellen.

    Gruß
    Peter

    Einen Kommentar schreiben:

Lädt...
X