Hallo zusammen,
seit einigen Wochen ist smartvisu meine Freizeitbeschäftigung Nr.1. Einfach eine super Visualisierungslösung. Danke an alle Unterstützer und Treiber!
Seit einiger Zeit hänge ich jedoch an der Implementierung meines Berker RTRs.
Will man am RTR von extern die Solltemperatur verstellen, funktioniert das bei Berker ein wenig anders (Basis-Sollwertverschiebung). Es gibt hier eine Basistemperatur und einen Temperatur-Offest. Um die Soltemperatur zu verstellen muss man diesen Temperatur-Offest auslesen um die gewünscht Gradzahl erhöhen und wieder zurück senden.
Mit meinen sehr mageren HMTL- und JavaScript-Kenntnissen haben ich mir das mal wie folgt aus einigen Beispielen hier zusammengebastelt:
Wie das (für diesen Frage reduzierte) Widget aussieht siehe Anhang.
Das Widget funktioniert auch mittlerweile genau so, wie ich mir das vorstelle.
Nun hänge ich noch an einem kleinen Schönheitsfehler. Eigentlich will ich den Offest gar nicht anzeigen, sondern nur den Sollwert. Wenn ich nun aber die Zeile
rausnehmen, funktioniert das Skrip nicht mehr, weil hier wohl auf die ID verwiesen wird.
Nun die eigentlich einfache Frage: Wie kann ich im Skript eine Variable einlesen, die ich im Widget gar nicht anzeige?
Vielen Dank für eure Unterstützung!
seit einigen Wochen ist smartvisu meine Freizeitbeschäftigung Nr.1. Einfach eine super Visualisierungslösung. Danke an alle Unterstützer und Treiber!
Seit einiger Zeit hänge ich jedoch an der Implementierung meines Berker RTRs.
Will man am RTR von extern die Solltemperatur verstellen, funktioniert das bei Berker ein wenig anders (Basis-Sollwertverschiebung). Es gibt hier eine Basistemperatur und einen Temperatur-Offest. Um die Soltemperatur zu verstellen muss man diesen Temperatur-Offest auslesen um die gewünscht Gradzahl erhöhen und wieder zurück senden.
Mit meinen sehr mageren HMTL- und JavaScript-Kenntnissen haben ich mir das mal wie folgt aus einigen Beispielen hier zusammengebastelt:
Code:
/ ** * Temperatur Offset * * @param unique id for this widget * @param a gad/item for the set temperature * @param a gad/item for the Temperatur Offset (get) * @param a gad/item for the Temperatur Offset (set) */ {% macro myTempOffset(id, gad_set, gad_getoffset, gad_setoffset) %} {% import "basic.html" as basic %} {% set uid = uid(page, id) %} <div id="{{ uid }}" class="set"> {{ basic.button(id~'minus', '', '', 'minus', '', 'micro') }} <div class="temp">{{ basic.float(id~'getoffset', gad_getoffset, '°C' ) }}</div> <div class="temp">{{ basic.float(id~'gad_set', gad_set, '°C' ) }}</div> {{ basic.button(id~'plus', '', '', 'plus', '', 'micro') }} /** Events */ <script type="text/javascript"> // plus / minus $("#{{ uid~'minus' }}").unbind('click').bind('click', function(){ var temp = parseInt($("#{{ uid~'getoffset' }}").html()) - 1; io.write("{{ gad_setoffset }}", temp); }); $("#{{ uid~'plus' }}").unbind('click').bind('click', function(){ var temp = parseInt($("#{{ uid~'getoffset' }}").html()) + 1; io.write("{{ gad_setoffset }}", temp); }); </script> </div> {% endmacro %}
Das Widget funktioniert auch mittlerweile genau so, wie ich mir das vorstelle.
Nun hänge ich noch an einem kleinen Schönheitsfehler. Eigentlich will ich den Offest gar nicht anzeigen, sondern nur den Sollwert. Wenn ich nun aber die Zeile
Code:
<div class="temp">{{ basic.float(id~'getoffset', gad_getoffset, '°C' ) }}</div>
Nun die eigentlich einfache Frage: Wie kann ich im Skript eine Variable einlesen, die ich im Widget gar nicht anzeige?
Vielen Dank für eure Unterstützung!
Kommentar