Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen ab morgen!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt ab morgen. Infos im Forum!
Mehr anzeigen
Weniger anzeigen

KWL Widget

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

  • Cannon
    antwortet
    Zitat von wvhn Beitrag anzeigen
    Für den Templatechecker müssten wir noch die Beschreibung der Parameter (docstrings) ergänzen und ggfls. eine Dokuseite erstellen (Anleitung siehe Abschnitt "Custom" in der Doku). Letzteres wäre dann das Sahnehäubchen.
    Ja ich habe das in der Dokumentation schon gesehen und werde mich darum kümmern.

    Sonst freue ich mich natürlich noch um Rückmeldungen, insbesondere von Usern, die ein Vorheizregister haben oder den Frostmodus auch mal in Aktion gesehen haben. Denn da ist auch noch einiges zu tun.

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    Erledigt: https://github.com/smartVISU-newstuf...ain/widget_kwl

    Für den Templatechecker müssten wir noch die Beschreibung der Parameter (docstrings) ergänzen und ggfls. eine Dokuseite erstellen (Anleitung siehe Abschnitt "Custom" in der Doku). Letzteres wäre dann das Sahnehäubchen.

    Danke!

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von wvhn Beitrag anzeigen
    Wenn Du einen github-User hast, sollte ein upload oder PR möglich sein. Wenn nicht, kannst Du das Widget auch als Textfile hier unten anhängen und ich lade es hoch.
    Ich stelle mich da zu doof für an. Erst ging es nicht, dann ging ich auf meinen Account und wieder zurück und der hat da einen neuen Brnach auf meinen Account angelegt und da konnte ich es hochladen. Direkt ging es nicht. Sei bitte so nett und ziehe es von da rüber: https://github.com/CannonRS/devices/...ain/widget_kwl

    Vielleicht gehen dann Änderungen zu machen von meiner Seite aus.

    Hier rein packen geht nicht, dafür sind es zu viele Dateien ...

    Unter Pull Requests ist auch die Kurz-Anleitung dazu gepostet....

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Da steht, das uploads deaktiviert sind. Brauche ich da spezielle Rechte?
    Wenn Du einen github-User hast, sollte ein upload oder PR möglich sein. Wenn nicht, kannst Du das Widget auch als Textfile hier unten anhängen und ich lade es hoch.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von wvhn Beitrag anzeigen
    Je nachdem, wie Du das Element anzeigen willst, musst Du entweder die css- Eigenschaften „display: none;“ nehmen (das Element wird nicht angezeigt, reserviert aber auch keinen Platz), oder „visibility: hidden;“ (Element ist vorhandenen und belegt einen Platz, wird aber versteckt).
    display: block; und visibility: visible; sind die jeweiligen Gegenstücke.
    Danke, genau das, was ich suchte.

    Zitat von wvhn Cannon Beitrag anzeigen
    Wenn das Widget fertig ist, wäre es klasse, wenn Du es auf smartvisu-newstuff zur Verfügung stellen könntest, am besten im Bereich "devices" und mit der entsprechenden items.yaml.
    Da steht, das uploads deaktiviert sind. Brauche ich da spezielle Rechte?

    Zitat von Tom Bombadil Beitrag anzeigen
    Lösung wie immer im Helios-Widget auf git zu finden ...
    Ich habe es wieder nicht gefunden. Da muss ich wohl mal zum Augenarzt. Aber immerhin geht es ja jetzt.

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Ich müsste noch die Texte entsprechend platzieren, abhängig von den entsprechenden Bildenr im Hintergrund. Deshalb folgende Frage. Wie kann ich bestimmte Elemente verstecken?
    Normal:

    aafef214-f10c-11e6-833a-57e4836718fe.png

    Icons und Texte, die je nach Betriebszustand gezeigt werden (frei positionert):

    6984aa08-f10d-11e6-887f-9e6898c1b31f.png

    Lösung wie immer im Helios-Widget auf git zu finden ...

    So, ich brauch jetzt nach stundenlangem Kisten- und Schränkeschleppen erstmal ein Bier.

    /tom

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    Je nachdem, wie Du das Element anzeigen willst, musst Du entweder die css- Eigenschaften „display: none;“ nehmen (das Element wird nicht angezeigt, reserviert aber auch keinen Platz), oder „visibility: hidden;“ (Element ist vorhandenen und belegt einen Platz, wird aber versteckt).
    display: block; und visibility: visible; sind die jeweiligen Gegenstücke.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Tom Bombadil Tom Bombadil Beitrag anzeigen
    Doch, wird vielfach so in dem von Dir verwendeten 'Muster' so genutzt.
    Offensichtlich wäre es sinnvoll lesen zu können. Ja gut, nun ist es so, wie es ist.

    Eine letzte Sache hätte ich noch, damit das Teil endlich mal fertig wird: Ich müsste noch die Texte entsprechend platzieren, abhängig von den entsprechenden Bildenr im Hintergrund. Deshalb folgende Frage. Wie kann ich bestimmte Elemente verstecken? Ich habe das jetzt so probiert:

    Code:
    <div id="{{ id }}kwl_outdoor_temp_normal" class="kwl_outdoor_temp_normal">{{ basic.print(id~'kwl_outdoor_temp', outdoor_temp, '%d °C', 'Math.round(VAR)') }}</div>
    {{ basic.print(id~'kwl_mode_print_supply_temp_normal' , [unitmode_summer|default(false), bypass_open|default(false)], 'script', '$("#'~id~'kwl_supply_temp_normal").attr("hidden",  (VAR1 == true) ? "false" : "true")') }}
    Die Variante geht nicht. Im Attribut "hidden" steht dann nicht false oder true, sondern hidden (Browser-Inspektor). Ich kann mir das nicht erklären, wenn ich jedoch hidden durch "blabla" ersetze wird das Attribut blabla korrekt gesetzt.

    Eine Alternative wäre statt "attr" eben "hide" bzw. "show" zu nehmen, nur ist mir nicht klar, wie ich da abhängig von VAR nutzen kann. Geht das überhaupt?

    Einen Kommentar schreiben:


  • thn80
    antwortet
    Wenn auch etwas offtopic, möchte ich euch auf diesen anderen aktuellen Thread hier im Forum hinweisen. Nach meinem Geschmack sieht das ganz hübsch aus und könnte hier zur Anregung dienen.
    Hallo zusammen, wir erstellen gerade ein Widget für die Steuerung der kontrollierten Wohnraumlüftung und würden gerne in Erfahrung bringen, welche Anlangen ihr bei den Kunden mit KNX einsetzt, welche ihr selbst verwendet und welche Steuerungsmöglichkeiten die Wichtigsten sind, um ein Steuermodul noch übersichtlich zu halten.

    Einen Kommentar schreiben:


  • Tom Bombadil
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Des Rätsels Lösung war also die Variante mit der Tilde zu nehmen, diese nochmal in Hochkommas zu setzen und dann noch eine 2. Tilde zu verwenden. Auf die Idee kommt ja niemand.
    Doch, wird vielfach so in dem von Dir verwendeten 'Muster' so genutzt.

    Zitat von wvhn Beitrag anzeigen
    Offenbar dürfen die Variablennamen im Makroaufruf nicht innerhalb von Hochkommas auftauchen.
    Ja, er interpretiert es sonst grundsätzlich als String.

    /tom
    Zuletzt geändert von Tom Bombadil; 11.03.2022, 15:17.

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    Offenbar dürfen die Variablennamen im Makroaufruf nicht innerhalb von Hochkommas auftauchen. Deshalb muss man die mit der Tilde rausziehen. Das war mir auch nicht mehr so ganz bewusst.
    Dann muss man noch unterscheiden zwischen dem String, der als Skipt übertragen wird und den Anführungszeichen, die im Skript benötigt werden.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Des Rätsels Lösung war also die Variante mit der Tilde zu nehmen, diese nochmal in Hochkommas zu setzen und dann noch eine 2. Tilde zu verwenden. Auf die Idee kommt ja niemand. Und es funktioniert!!!!

    Wie kommst du darauf überhaupt?

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    Code:
    {% set mydir = "icons/ws/" %}
    {% set myscript = '$("#mytest").attr("src", (VAR==1 ? "'~mydir~'light_light.svg" : "'~mydir~'light_downlight.svg"))' %}
    <img id="mytest" src="" alt="Testbild">
    {{basic.print('', 'test.varbool', 'script', myscript )}}
    oder
    Code:
    {% set mydir = "icons/ws/" %}
    <img id="mytest" src="" alt="Testbild">
    {{basic.print('', 'test.varbool', 'script', '$("#mytest").attr("src", (VAR==1 ? "'~mydir~'light_light.svg" : "'~mydir~'light_downlight.svg"))' )}}
    geht beides. Ist halt wie gesagt tricky im Twig.

    Einen Kommentar schreiben:


  • Bonze
    antwortet
    jetzt versteh ich das problem, im script teil wird das twig nicht richtig umgesetzt..

    hab mir das auch nachgebaut und es klappt wirklich nicht, allerdings wenn ich zB. das so mache, sieht man das die variable existiert
    Code:
    {% set widgetid = '#mytest' %}
    {{basic.slider('', 'test.value.ist')}}
    <img id="{{ widgetid  }}" src="" alt="Testbild">
    {{basic.print('', 'test.value.ist', 'script', '$("widgetid").attr("src", "{{ kwl_pic_dir }}")' )}}
    {{ dump(widgetid) }}
    Unbenannt.png
    Zuletzt geändert von Bonze; 11.03.2022, 11:17.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von wvhn Beitrag anzeigen
    Kurzer Testaufbau:
    Das geht auch. Das mache ich ja auch so. Das ist auch nicht das Problem. Das Problem ist, dass die TWIG-Variablen nicht umgesetzt werden. Versuche mal bitte z.B. die Id oder den Pfad mit einer TWIG-Variable zu ersetzen. So hier:

    HTML-Code:
    {% set id = 'mytest' %}
    {{basic.flip('', 'test.varbool')}}
    <img id="{{ id }}" src="" alt="Testbild">
    {{basic.print('', 'test.varbool', 'script', '$("#{{ id }}").attr("src", (VAR==1 ? "icons/ws/light_light.svg" : "icons/ws/light_downlight.svg"))')}}
    Und genau das geht nicht. Die erste Id in img wird durch die Variable ersetzt, die id in basic.print wird nicht ersetzt.

    Einen Kommentar schreiben:

Lädt...
X