Ankündigung

Einklappen
Keine Ankündigung bisher.

basic.symbol bzw widget_window mit bool?

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

    basic.symbol bzw widget_window mit bool?

    Servus,

    ich hab nen moment gebraucht zu versehen warum es nicht geht aaaaaber ich vermute:

    Ich habe 3 GAs
    Code:
    [og]
        [[schlafzimmer]]
            [[[fenster]]]
                [[[[geschlossen]]]]
                    type = bool
                    visu_acl = rw
                    knx_dpt = 1
                    knx_listen = 2/7/2
                    knx_init = 2/7/2
                [[[[offen]]]]
                    type = bool
                    visu_acl = rw
                    knx_dpt = 1
                    knx_listen = 2/7/0
                    knx_init = 2/7/0
                [[[[gekippt]]]]
                    type = bool
                    visu_acl = rw
                    knx_dpt = 1
                    knx_listen = 2/7/1
                    knx_init = 2/7/1
    Diese liefern bool. widget_window will scheinbar int oder unsiged. 0,1,2 für die 3 Zusände. Wie könnte ich das lösen? Aktuell wird mir das widget gar nicht angezeigt.
    Zapft ihr Narren der König hat Durst

    #2
    Mach ein weiteres Item von type = num, dass du dann auf das window legst und mittels eval und eval_trigger berechnest du den Wert dieses Items aus den anderen drei bool Items.
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    Kommentar


      #3
      Scheint so zu funktionieren
      Dank dir!!!

      Code:
              [[[fenster]]]
                  [[[[geschlossen]]]]
                      type = bool
                      visu_acl = rw
                      knx_dpt = 1
                      knx_listen = 2/7/2
                      knx_init = 2/7/2
                  [[[[offen]]]]
                      type = bool
                      visu_acl = rw
                      knx_dpt = 1
                      knx_listen = 2/7/0
                      knx_init = 2/7/0
                  [[[[gekippt]]]]
                      type = bool
                      visu_acl = rw
                      knx_dpt = 1
                      knx_listen = 2/7/1
                      knx_init = 2/7/1
                  [[[[status]]]]
                      type = num
                      eval = sh.og.schlafzimmer.fenster.offen()*1 + sh.og.schlafzimmer.fenster.gekippt()*2
                      eval_trigger = og.schlafzimmer.fenster.geschlossen|og.schlafzimmer.fenster.offen | og.schlafzimmer.fenster.gekippt
      Zapft ihr Narren der König hat Durst

      Kommentar


        #4
        Hallo und sorry für das Kapern des threads.
        Ich versuche mich auch an dem Widget bzw. Symbol. Allerdings habe ich nur die Gruppenadressen für "offen" und "gekippt" und nicht für geschlossen. Wie bekomme ich es denn damit hin?
        Bei den Reeds von Winkhaus haben die beiden Stati den Wert 0 in Kombination mit der 1 für geschlossen laut Datenblatt vom Elektriker.
        Blöderweise bekomme ich es in der smartvisu nicht hin, nur die Anzeige entweder für geschlossen oder gekippt einzublenden. Gekippt funktioniert als einzelnes Symbol. Ist das Fenster aber geöffnet erscheint sowohl das Symbol gekippt und geöffnet :-( in der anzeige!
        Benötige ich denn unbedingt eine GA für "geschlossen"?

        Gruß Sascha

        Kommentar


          #5
          Zeig mal deinen code

          Und wie fragst du deine Reeds ab? Ist normal auch kein Problem eine GA für geschlossen anzulegen, wenn man die Logikfunktion vom Binäreingang nurzt.
          Zapft ihr Narren der König hat Durst

          Kommentar


            #6
            Hier, der code aus der "HWR.html"
            Ich habe dafür mal dieses window-widget mal probiert und angepasst aus einem Beispiel eines Forenthreads.

            HWR.html

            <div class="block">
            <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
            <div data-role="collapsible" data-collapsed="false">
            <h3>Status Fenster</h3>
            {% import "widget_window.html" as window %}
            <table width=100%>
            <tr>
            <td align=left>
            {{ window.one ('win1', 'Fenster', ['Alarm.Fenster.HWR.offen','Alarm.Fenster.HWR.kipp'] ) }}


            </td>
            </tr>
            </table>
            </div>
            </div>
            </div>

            code widget_window.html:
            /**
            * Standard window one
            *
            * @param unique id for this widget
            * @param name of the door/window
            * @param a gad/item for status
            */

            {% macro one(id, txt, gad_status) %}
            {% import "basic.html" as basic %}

            /** Design */
            <div class="dimmer">
            &nbsp;{{ txt|e }}:&nbsp;&nbsp;&nbsp;&nbsp;
            {{ basic.symbol(id|_('win1_icon0'), gad_status, 'gekippt', icon1~'fts_window_1w_tilt.png', 0) }}
            {{ basic.symbol(id|_('win1_icon1'), gad_status, 'geöffnet', icon1~'fts_window_1w_open.png', 0) }}
            </div>
            {% endmacro %}



            und die item liste:

            smartvisu.conf

            [Alarm]
            [[Fenster]]
            [[[HWR]]]
            [[[[offen]]]]
            type = bool
            visu_acl = rw
            knx_dpt = 1
            knx_listen = 14/1/30
            knx_send = 14/0/1
            knx_init = 14/1/30
            enforce_updates = true
            [[[[kipp]]]]
            type = bool
            visu_acl = rw
            knx_dpt = 1
            knx_listen = 14/2/30
            knx_send = 14/0/1
            knx_init = 14/2/30
            enforce_updates = true



            Gruß

            Kommentar


              #7
              ähnliches Problem wie ich auch hatte.

              Ich würde:
              1. das widged_window unverändert lassen
              2. den status berechnen wie 2ndsky vorgeschlagen hat.
              z.B.:
              Code:
              [Alarm] 
              [[Fenster]]
              [[[HWR]]]
              [[[[status]]]]                
                type = num                 
                eval = [URL="http://redaktion.knx-user-forum.de/lexikon/sh/"]sh[/URL].Alarm.Fenster.HWR.offen()*1 + [URL="http://redaktion.knx-user-forum.de/lexikon/sh/"]sh[/URL].Alarm.Fenster.HWR.kipp()*2
                eval_trigger = Alarm.Fenster.HWR.offen| Alarm.Fenster.HWR.kipp
              3. mit dem status das widged_window aufrufen


              4. Auf bessere Vorschäge von anderen warten ;-)
              Zapft ihr Narren der König hat Durst

              Kommentar


                #8
                Ok, Danke.
                Ich werde es nachher oder heute Abend mal ausprobieren!
                Jetzt muss ich erstmal wählen gehen ;-)

                Gruß Sascha

                Kommentar

                Lädt...
                X