Hallo zusammen,
ich versuche gerade einen neues RTR Modul zum laufen zu bringen in dem ich auch die Komforttemperatur verstellen kann.
Außerdem möchte ich die Buttons der Sollwertverschiebung, nur anzeigen wenn der Komfortbetrieb aktiv ist.
Aktuell habe ich hierbei folgende Probleme:
1. Ich kann die Buttons nicht in Abhängigkeit von einem Wert ausblenden. Konkret müsste hier die Variable gad_state auf den Wert 2 abgefragt werden.
2. Die Buttons die eigentlich die Komforttemperatur ändern sollen, ändern immer den oberen Wert. Haben also die gleiche Funktion wie die Buttons darüber
3. Ich würde die Temperaturwerte gerne immer mit einer Nachkommastelle anzeigen, auch wenn der Wert Null ist.
Hier noch der aktuelle Code und ein Screenshot. Hoffe es kann mir jemand auf die Sprünge helfen...
RTR_MDT_NEU_001.JPG
ich versuche gerade einen neues RTR Modul zum laufen zu bringen in dem ich auch die Komforttemperatur verstellen kann.
Außerdem möchte ich die Buttons der Sollwertverschiebung, nur anzeigen wenn der Komfortbetrieb aktiv ist.
Aktuell habe ich hierbei folgende Probleme:
1. Ich kann die Buttons nicht in Abhängigkeit von einem Wert ausblenden. Konkret müsste hier die Variable gad_state auf den Wert 2 abgefragt werden.
2. Die Buttons die eigentlich die Komforttemperatur ändern sollen, ändern immer den oberen Wert. Haben also die gleiche Funktion wie die Buttons darüber
3. Ich würde die Temperaturwerte gerne immer mit einer Nachkommastelle anzeigen, auch wenn der Wert Null ist.
Hier noch der aktuelle Code und ein Screenshot. Hoffe es kann mir jemand auf die Sprünge helfen...
RTR_MDT_NEU_001.JPG
Code:
/** * Standard RTR (Room Temperatur Regulator) mit Komforttemperatur * * @param "id" eingeitige Bezeichnung fuer das Widget * @param "txt" Name des RTR´s oder Raum * @param "gad_actual" Isttemperatur * @param "gad_set_value" Sollwert (absolut) * @param "gad_set" Sollwertverschiebung * @param "gad_com" Komforttemperatur * @param "gad_heat_value" Stellgroesse * @param "gad_state" Betriebsart (Komfort/StandBy/Nacht/Frost) / 1Byte * @param "gad_txt" Text vom RTR anzeigen (optional) * @param "step" Schrittweite fuer die plus/minus Buttons (optional, default 0.5) */ {% macro rtr(id, txt, gad_actual, gad_set_value, gad_set, gad_com, gad_heat_value, gad_state, gad_txt, step) %} {% import "basic.html" as basic %} <div id="{{ uid(page, id) }}" data-widget="device.rtr" data-step="{{ step|default(0.5) }}" class="rtr"> <div class="actual"> <div class="temp">{{ basic.float(id~'actual', gad_actual, '°C' ) }}</div> <div class="text">{{ txt }} {% if gad_txt %} {{ basic.value(id~'txt', gad_txt) }} {% endif %}</div> </div> <div class="set"> {% if gad_txt %}<a data-role="button" data-icon="minus" data-inline="true" data-iconpos="notext" class="ui-mini"></a>{% endif %} <div class="temp" style="display:none;">{{ basic.float(id~'set', gad_set, '°C' ) }}</div> <div class="temp">{{ basic. float(id~'set_value', gad_set_value, '°C Solltemp' ) }}</div> {% if gad_txt %}<a data-role="button" data-icon="plus" data-inline="true" data-iconpos="notext" class="ui-mini"></a>{% endif %} </div> <div class="set"> <a data-role="button" data-icon="minus" data-inline="true" data-iconpos="notext" class="ui-mini"></a> <div class="temp">{{ basic.float(id~'com', gad_com, '°C Komtemp' ) }}</div> <a data-role="button" data-icon="plus" data-inline="true" data-iconpos="notext" class="ui-mini"></a> </div> <div class="control"> {{ basic.switch(id~'mode', gad_state, icon1~'user_available.png', icon0~'user_away.png', '1', '2') }} {{ basic.switch(id~'night', gad_state, icon1~'scene_night.png', icon0~'scene_day.png', '3', '2') }} {{ basic.switch(id~'frost', gad_state, icon1~'weather_frost.png', icon0~'weather_frost.png', '4', '2') }} {{ basic.shifter(id~'shift', '', gad_heat_value, icon1~'sani_heating_series_00.png', icon0~'sani_heating_series_00.png',0,90 ) }} </div> </div> {% endmacro %}
Code:
<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>Heizung</h3> {{ device.rtr('rtr', 'Heizung', 'Heizung.Buero.isttemp', 'Heizung.Buero.solltemp', 'Heizung.Buero.sollschieb', 'Heizung.Buero.comforttemp', 'Heizung.Buero.stellgroesse', 'Heizung.Buero.status', 'an', 0.2) }} </div> </div> </div>
Code:
[Heizung] [[Buero]] [[[isttemp]]] type = num visu_acl = rw sqlite = yes knx_dpt = 9 knx_listen = 4/2/3 knx_init = 4/2/3 [[[stellgroesse]]] type = num visu = true knx_dpt = 5001 knx_listen = 4/2/0 knx_init = 4/2/0 [[[solltemp]]] type = num visu_acl = rw sqlite = yes knx_dpt = 9 knx_send = 4/2/2 knx_listen = 4/2/2 knx_init = 4/2/2 [[[sollschieb]]] type = num visu_acl = rw knx_dpt = 9 knx_init = 4/2/15 knx_listen = 4/2/15 knx_send = 4/2/15 [[[comforttemp]]] type = num visu_acl = rw sqlite = yes knx_dpt = 9 knx_send = 4/2/10 knx_listen = 4/2/10 knx_init = 4/2/10 [[[status]]] type = num visu_acl = rw knx_dpt = 5 knx_listen = 4/2/14 knx_send = 4/2/14 knx_init = 4/2/14 [[[heizen]]] type = bool visu_acl = rw sqlite = yes knx_dpt = 1 knx_listen = 4/2/4 knx_init = 4/2/4
Kommentar