
Was muss man machen um die Features zu nutzen?
lg rudi

[eg]
[[eg-sep]]
name = Erdgeschoß
sv_page = seperator
[[flur]]
name = Flur
sv_page = room
sv_img = scene_stairs.png
sv_nav_aside = "{{ basic.float('item', 'eg.flur.temperature', '°C') }}"
sv_heading_left = "Zentral <span data-role="controlgroup" data-type="horizontal">{{ basic.button('bz1', 'zentral.beleuchtung.flur', 'An', '', 'on') }}{{ basic.button('bz2', 'zentral.beleuchtung.flur', 'Aus', '', 'off') }}</span>"
[[[licht1]]]
name = Flur 1
type = bool
visu = yes
sv_widget = "{{ my_widgets.switch('item', 'Beleuchtung', 'item', 'item.stromwert', 'item.wh', 'item.betriebsstunden') }}"
sv_item_type = light
knx_dpt = 1
knx_send = 2/0/120
knx_listen = 2/1/120
knx_init = 2/1/120
[[[[stromwert]]]]
type = num
visu = yes
knx_dpt = 9
knx_listen = 2/5/120
knx_init = 2/5/120
[[[[wh]]]]
type = num
visu = yes
knx_dpt = 13
knx_listen = 2/6/120
knx_init = 2/6/120
[[[[betriebsstunden]]]]
type = num
visu = yes
knx_dpt = 7
knx_listen = 2/7/120
knx_init = 2/7/120
[zentral]
[[uebersicht-sep]]
name = Übersichten
sv_page = seperator
[[beleuchtung]]
name = Beleuchtung
sv_page = overview
sv_img = light_light.png
sv_overview = light
sv_heading_left = "Alle Zentral <span data-role="controlgroup" data-type="horizontal">{{ basic.button('bz1', 'zentral.beleuchtung.alle', 'An', '', 'on') }}{{ basic.button('bz2', 'zentral.beleuchtung.alle', 'Aus', '', 'off') }}</span>"
sv_heading_right = "Flur Zentral <span data-role="controlgroup" data-type="horizontal">{{ basic.button('bfz1', 'zentral.beleuchtung.flur', 'An', '', 'on') }}{{ basic.button('bfz2', 'zentral.beleuchtung.flur', 'Aus', '', 'off') }}</span>"
[[[alle]]]
type = bool
visu = yes
knx_dpt = 1
knx_send = 1/2/0
[[[eg]]]
type = bool
visu = yes
knx_dpt = 1
knx_send = 1/2/2
[[[flur]]]
type = bool
visu = yes
knx_dpt = 1
knx_send = 1/2/120
[[[keller]]]
type = bool
visu = yes
knx_dpt = 1
knx_send = 1/2/1

sv_widget = "{{ basic.float('item', 'eg.flur.temperature', '°C') }}[COLOR="Red"]", "[/COLOR]{{ basic.float('item', 'eg.flur.temperature', '°C') }}"
if isinstance(item.conf['sv_widget'], list):
sv_widget = "{{ basic.float('item', 'eg.flur.temperature', '°C') }} {{ basic.float('item', 'eg.flur.temperature', '°C') }}"

dachte dass muss so sein - wie gesagt kenne mich nicht so aus mit python... nehme es oben aus dem text raus. if isinstance(item.conf['sv_widget'], list):
widget = ', '.join(item.conf['sv_widget'])
else:
widget = item.conf['sv_widget']
sv_widget = "{{ basic.float('item', 'eg.flur.temperature', '°C') }}"
sv_widget = "{{ basic.float('item', 'eg.flur.temperature', '°C') }}"
sv_widget = ["{{ basic.float('item', 'eg.flur.temperature', '°C') }}", "{{ basic.float('item', 'eg.flur.temperature', '°C') }}"]
diff --git a/plugins/visu/smartvisu.py b/plugins/visu/smartvisu.py
old mode 100755
new mode 100644
index d33824a..aac462d
--- a/plugins/visu/smartvisu.py
+++ b/plugins/visu/smartvisu.py
@@ -92,7 +92,11 @@ def pages(smarthome, directory):
img = item.conf['sv_img']
else:
img = ''
- nav_lis += parse_tpl(tpldir + '/navi.html', [('{{ visu_page }}', item.id()), ('{{ visu_name }}', str(item)), ('{{ visu_img }}', img)])
+ if 'sv_nav_aside' in item.conf:
+ nav_aside = item.conf['sv_nav_aside']
+ else:
+ nav_aside = ''
+ nav_lis += parse_tpl(tpldir + '/navi.html', [('{{ visu_page }}', item.id()), ('{{ visu_name }}', str(item)), ('{{ visu_img }}', img), ('{{ visu_aside }}', nav_aside), ('item.name', str(item)), ("'item", "'" + item.id()) ])
with open("{0}/{1}.html".format(outdir, item.id()), 'w') as f:
f.write(r)
nav = parse_tpl(tpldir + '/navigation.html', [('{{ visu_navis }}', nav_lis)])
Index: pages/base/tpl/navi.html
===================================================================
--- pages/base/tpl/navi.html (Revision 329)
+++ pages/base/tpl/navi.html (Arbeitskopie)
@@ -1,6 +1,7 @@
<li data-icon="false">
<a href="index.php?page={{ visu_page }}">
<img class="icon" src="{{ icon0 }}{{ visu_img }}"/><h3>{{ visu_name }}</h3>
+ <div class="ui-li-aside">{{ visu_aside }}</div>
</a>
</li>
[eg]
[[flur]]
name = Flur
sv_page = room
sv_img = scene_stairs.png
sv_nav_aside = "{{ basic.float('item', 'eg.flur.temperature', '°C') }}"
diff --git a/plugins/visu/smartvisu.py b/plugins/visu/smartvisu.py
old mode 100755
new mode 100644
index d33824a..58f50a5
--- a/plugins/visu/smartvisu.py
+++ b/plugins/visu/smartvisu.py
@@ -87,14 +87,28 @@ def pages(smarthome, directory):
except Exception, e:
logger.warning("Could not delete file {0}: {1}".format(fp, e))
for item in smarthome.find_items('sv_page'):
- r = room(smarthome, item, tpldir)
- if 'sv_img' in item.conf:
- img = item.conf['sv_img']
- else:
- img = ''
- nav_lis += parse_tpl(tpldir + '/navi.html', [('{{ visu_page }}', item.id()), ('{{ visu_name }}', str(item)), ('{{ visu_img }}', img)])
- with open("{0}/{1}.html".format(outdir, item.id()), 'w') as f:
- f.write(r)
+ if item.conf['sv_page'] == 'room':
+ r = room(smarthome, item, tpldir)
+ if 'sv_img' in item.conf:
+ img = item.conf['sv_img']
+ else:
+ img = ''
+ if 'sv_nav_aside' in item.conf:
+ if isinstance(item.conf['sv_nav_aside'], list):
+ nav_aside = ', '.join(item.conf['sv_nav_aside'])
+ else:
+ nav_aside = item.conf['sv_nav_aside']
+ else:
+ nav_aside = ''
+
+ nav_lis += parse_tpl(tpldir + '/navi.html', [('{{ visu_page }}', item.id()), ('{{ visu_name }}', str(item)), ('{{ visu_img }}', img), ('{{ visu_aside }}', nav_aside), ('item.name', str(item)), ("'item", "'" + item.id()) ])
+
+ with open("{0}/{1}.html".format(outdir, item.id()), 'w') as f:
+ f.write(r)
+
+ elif item.conf['sv_page'] == 'seperator':
+ nav_lis += '<li data-role="list-divider">' + str(item) + '</li>\n'
+
nav = parse_tpl(tpldir + '/navigation.html', [('{{ visu_navis }}', nav_lis)])
with open(outdir + '/navigation.html', 'w') as f:
f.write(nav)
[eg]
[[eg-sep]]
name = Erdgeschoß
sv_page = seperator
[[flur]]
name = Flur
sv_page = room
sv_img = scene_stairs.png
sv_nav_aside = "{{ basic.float('item', 'eg.flur.temperature', '°C') }}"
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.

Einen Kommentar schreiben: