Ankündigung

Einklappen
Keine Ankündigung bisher.

Temperatur-Sollwert verändert bei Berker RTR

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

  • thengsty
    antwortet
    Zitat von ChristianM Beitrag anzeigen
    * @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
    Kannst du mir mal kurzen zeigen wie du dein Widget aufrufst bzw. was übergeben wird? Ich stehe vor dem gleichen Prob mit dem RTR. Verstehe nicht ganz welche Werte du mit "getOffset" und "setOffset" meinst.

    Danke!

    Einen Kommentar schreiben:


  • TCr82
    antwortet
    Ich denke er meint das zB so...


    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~'gad_set', gad_set, '°C' ) }}</div>
    <p id="{{ uid~'getoffset' }}" style='display: none;' data-item="{{ gad_getoffset }}"></p>
    {{ 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 %}
    Ungetestet

    Einen Kommentar schreiben:


  • fedex
    antwortet
    Hallo, gibt es hier was neues?
    Ich stehe auch mit den berker b.iq rtr vor dem Problem
    Gruß FedEx

    Einen Kommentar schreiben:


  • ChristianM
    antwortet
    @Höhlenbär: Danke für die Rückmeldungen. Da bin ich ja erleichtert

    @Apollo: Danke für die Antwort, kann ich leider nicht ganz zuordnen. Gibt es irgendwo ein Beispiel, das zum Verständnis beiträgt? Googlen hierzu ergab nichts brauchbares.

    Einen Kommentar schreiben:


  • Apollo
    antwortet
    Zitat von ChristianM Beitrag anzeigen
    Nun die eigentlich einfache Frage: Wie kann ich im Skript eine Variable einlesen, die ich im Widget gar nicht anzeige?
    Gar nicht, du musst die Variable schon an das Javascript übergeben! Das geht aber super einfach, indem du data-item erweiterst (mit Komma trennen)

    Die dort definierten kommen auch im script an.

    Gruss

    Einen Kommentar schreiben:


  • Höhlenbär
    antwortet
    Ich bin etwas verunsichert, da sich keiner auf meine Frage gemeldet hat.
    Ist das Thema so speziell, dass hier keiner was zu sagen kann, oder habe ich eine Netiquette verletzt?
    Ja manchmal ist das so das keiner Antwortet. Aber ch denke das liegt nicht an deiner Frage sondern daran das es viele Suchende und nur wenig Wissende im Forum gibt. Und darum wird es auch manchmal mit einer Antwort dauern.
    Ich hätte Dir bei dieser Frage keine hilfreiche Antwort geben können.
    Finde es aber gut das Du deine Lösung hier postest.

    Einen Kommentar schreiben:


  • ChristianM
    antwortet
    Ich habe nun eine Lösung (oder besser gesagt, einen Workaround) gefunden, wie es gehen kann. Ich verwende das Attribut " style=display:none "
    Code:
    <div class="temp" style="display:none" >{{ basic.float(id~'getoffset', gad_getoffset, '°C' ) }}</div>
    Ich bin etwas verunsichert, da sich keiner auf meine Frage gemeldet hat.
    Ist das Thema so speziell, dass hier keiner was zu sagen kann, oder habe ich eine Netiquette verletzt?

    Gruß
    Christian

    Einen Kommentar schreiben:


  • ChristianM
    hat ein Thema erstellt Temperatur-Sollwert verändert bei Berker RTR

    Temperatur-Sollwert verändert bei Berker RTR

    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:
    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 %}
    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
    Code:
    <div class="temp">{{ basic.float(id~'getoffset', gad_getoffset, '°C' ) }}</div>
    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!
    Angehängte Dateien
Lädt...
X