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