Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit Template Checker (und Verständnis)

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

    Probleme mit Template Checker (und Verständnis)

    Bild2.jpgBild1.jpg
    In der smartVISU hatte ich mir 2 Widgets zur Temperatur Anpassung geschrieben. Im sichtbaren Bild kann ich Komfortzeitrn und die Nacht zeiten definieren.
    In einem 2. gleichartigem Widget konnte ich die Temperaturen "Tag.Abwesend ,Nacht" definieren. Hiermit konnte ich die Temperaturwünsche in den einzelnen Räume steuern.

    Der Code des Widgets folgt:

    Code:
    /**
    * Small TimeSet (Uhrzeit setzen) widges in /smartvisu wird genommen
    * 2015.07.01 19:20
    * @param       unique id for this widget
    * @param       name of the TimeSet
    * @param       a gad/item for the actual htime  
    * @param       a gad/item for the set htime
    * @param       a gad/item for the actual mtime      
    * @param       a gad/item for the set mtime
    * @param       step for plus/minus buttons (optional, default 1.0°)
    */
    {% macro uhrzeit(id, txt, gad_actualh, gad_seth, gad_actualm, gad_setm, step) %}
    {% import "basic.html" as basic %}
    {% set uid = uid(page, id) %}
    
    /** Design */
    <div id="{{ uid }}" class="uhrzeit">
        <table style="width:100%; text-align: left;">
            <tr>
                <th width="30%">{% if txt %} {{ txt }} {% endif %}</th>
                <td width="8%">
                    {% if gad_seth %}
                        {{ basic.button(id~'minush', '', '', 'minus', '', 'micro') }}
                    {% endif %}
                </td>
                <td width="8%">
                    {% if gad_seth %}
                        {{ basic.button(id~'plush', '', '', 'plus', '', 'micro') }}
                    {% endif %}
                </td>
    
                <td width="6%"><div class="temph">{{ basic.float(id~'actualh', gad_actualh, ':') }}</div></td>
                <td width="10%"><div class="tempm">{{ basic.float(id~'actualm', gad_actualm, 'Uhr' ) }}</div></td>
    
                <td width="8%">
                    {% if gad_setm %}
                        {{ basic.button(id~'minusm', '', '', 'minus', '', 'micro') }}
                    {% endif %}
                </td>
                <td width="8%">
                    {% if gad_setm %}
                        {{ basic.button(id~'plusm', '', '', 'plus', '', 'micro') }}
                    {% endif %}
                </td>
    
    
        </tr>
        </table>
    
        {% if gad_actualh %}
    
            /** Events */
            <script type="text/javascript">
                // plus / minus Stunde
                $("#{{ uid~'minush' }}").unbind('click').bind('click', function(){
                    var temph = (Math.round((parseFloat($("#{{ uid~'actualh' }}").html().replace(',','.')) - {{ step|default(0.5) }}) * 10) / 10).toFixed(0);
                if ( temph < 0)  { temph = 0;}
                $("#{{ uid~'actualh' }}").html(temph + ':');
                io.write("{{ gad_actualh }}", temph);
                });
                $("#{{ uid~'plush' }}").unbind('click').bind('click', function(){
                    var temph = (Math.round((parseFloat($("#{{ uid~'actualh' }}").html().replace(',','.')) + {{ step|default(0.5) }}) * 10) / 10).toFixed(0);
                    if ( temph > 23)  { temph = 0;}
                $("#{{ uid~'actualh' }}").html(temph + ':');
                io.write("{{ gad_actualh }}", temph);
                });
            </script>
        {% endif %}
    
        {% if gad_actualm %}
              /** Events */
            <script type="text/javascript">    
             // minus Minute
                $("#{{ uid~'minusm' }}").unbind('click').bind('click', function(){
                    var tempm = (Math.round((parseFloat($("#{{ uid~'actualm' }}").html().replace(',','.')) - {{ step|default(0.5) }}) * 10) / 10).toFixed(1);
                if ( tempm < 0)  { tempm = 0;}
                $("#{{ uid~'actualm' }}").html(tempm + 'Uhr');
                io.write("{{ gad_actualm }}", tempm);
                });
                // plus Minute
                $("#{{ uid~'plusm' }}").unbind('click').bind('click', function(){
                    var tempm = (Math.round((parseFloat($("#{{ uid~'actualm' }}").html().replace(',','.')) + {{ step|default(0.5) }}) * 10) / 10).toFixed(1);
                    if ( tempm > 59)  { tempm = 59;}
                $("#{{ uid~'actualm' }}").html(tempm + 'Uhr');
                io.write("{{ gad_actualm }}", tempm);
                });
            </script>
        {% endif %}
    </div>
    {% endmacro %}
    der Template Checker schlägt folgende Änderungen vor, die jedoch mit der Meldung "Mandatory Parameter missing" abgewiesen wird.

    Code:
                <td width="8%">
                    {% if gad_seth %}
                         {{ basic.stateswitch(id~'minush', , 'micro', , 'minus', , 'icon0') }}
                    {% endif %}
                </td>
                <td width="8%">
                    {% if gad_seth %}
                        {{ basic.stateswitch(id~'plush', , 'micro', , 'plus', , 'icon0') }
                    {% endif %}
                </td>
    Hier scheitere ich nach vielen Versuchen in der sV2.9.
    Wer kann mir den entscheidenden Hinweis geben?
    Bitte nur "die eine Zeile" erläutern. ich höffe das Widget dann selbst umstellen zu können.
    Evtl. auch den Checker einmal prüfen. In der DOKU fehlte mir das entsprechende Beispiel.
    Angehängte Dateien

    #2
    Hallo schloessl ,
    Zitat von schloessl Beitrag anzeigen
    {{ basic.stateswitch(id~'plush', , 'micro', , 'plus', , 'icon0') }
    fehlt da nicht am Ende die zweite geschweifte Klammer?
    Gruß
    Hans

    Kommentar


      #3
      Ja, das richtig! Aber nur bei der Übernahme der Textzeilen passiert!
      Danke für den Hinweis! Leider noch nicht die Lösung.
      Gruß Wolfgang

      Kommentar


        #4
        Zwischen den doppelkommas ",," fehlt immer ein ''.
        Also:
        Code:
         
         {{ basic.stateswitch(id~'plush', '', 'micro', '', 'plus', '', 'icon0') }
        Grüße, Marc

        Kommentar

        Lädt...
        X