Ankündigung

Einklappen
Keine Ankündigung bisher.

GAD set per Button (Javascript)

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

    GAD set per Button (Javascript)

    Hey zusammen,

    bin von SmartVisu 2.7 auf 2.9 umgestiegen. Seitdem funktioniert das Update der Solltemperatur nicht mehr.
    Ich nutze dazu "+"/"-"-Buttons, die dann über ein Javaskript einen GAD set auf FHEM auslösen. Also:

    HTML-Code:
    {% macro one(id, txt, gad_actual, gad_set, gad_state, step) %}
    {% import "basic.html" as basic %}
    {% set uid = uid(page, id) %}
    
    /** Design */
    <div id="{{ uid }}" class="rtr">
        <table style="width:100%; text-align: left;">
            <tr>
                <th width="25%">{% if txt %} {{ txt }} {% endif %}</th>
                <td width="15%"><div class="temp">{{ basic.float(id~'actual', gad_actual, '°' ) }}</div></td>
                <td width="15%">
                    {% if gad_set %}
                        {{ basic.button(id~'minus', '', '', 'minus', '', 'micro') }}
                    {% endif %}
                </td>
                <td width="15%"><div class="temp">{{ basic.print(id~'set', gad_set, '°' ) }}</div></td>
                <td width="15%">
                    {% if gad_set %}
                        {{ basic.button(id~'plus', '', '', 'plus', '', 'micro') }}
                    {% endif %}
                </td>
                <td width="15%"><div class="progress">{{ basic.print(id~'heating', gad_state, '%' ) }}</div></td>
            </tr>
    
        </table>
    Code:
        {% if gad_set %}
    
            /** Events */
            <script type="text/javascript">
                // plus / minus
                $("#{{ uid~'minus' }}").unbind('click').bind('click', function(){
                    var temp = (Math.round((parseFloat($("#{{ uid~'set' }}").html().replace(',','.')) - {{ step|default(0.5) }}) * 10) / 10).toFixed(1);
                $("#{{ uid~'set' }}").html(temp + ' °C');
                io.write("{{ gad_set }}", temp);
                });
                $("#{{ uid~'plus' }}").unbind('click').bind('click', function(){
                    var temp = (Math.round((parseFloat($("#{{ uid~'set' }}").html().replace(',','.')) + {{ step|default(0.5) }}) * 10) / 10).toFixed(1);
                $("#{{ uid~'set' }}").html(temp + ' °C');
                io.write("{{ gad_set }}", temp);
                });
            </script>
        {% endif %}
    Ich weiß basic.button ist deprecated, sollte aber dennoch funktionieren, richtig?
    Könnt ihr mir weiterhelfen oder zumindest einen Tip geben?

    Danke schon mal!

    Gruß,
    Ben
Lädt...
X