Features der Generierung
Unterschiedliche Visu-Styles
Zusätzlich zum von bisherigen Releases unterstützen Standard-Style, wird der Style black unterstützt.
Das folgende Beispiel zeigt die Möglichkeiten zur Auswahl des Styles der für smartVISU generierten Seiten.
Bisher wurden Blöcke generiert, die so aussahen (Style ‘Standard’):

Style Standard
In der aktuellen Version ist es möglich, die Blöcke in folgender Optik generieren zu lassen (Style ‘Black’):

Style Black
Dieses ist eine Visu-weite Einstellung, die in der Datei
/etc/plugin.conf vorgenommen wird. Dort kann visu_style: std
oder visu_style: blk
eingetragen werden.
Eine vollständige Seite im Style Black sieht z.B. folgendermaßen aus:

Visu Black
Unterschiedliche Blockgrößen
Die Blöcke in denen Widgets angezeigt werden, hatten in den bisherigen Releases eine fest definierte (Mindest-)Größe. Jetzt stehen drei unterschiedliche Mindestgrößen zur Verfügung.
Die smartVISU unterstützt Blöcke mit drei unterschiedlichen Größen. Gemeint ist hierbei die Mindestgröße des Blocks. Wenn in dem Block Widgets platziert werden, die mit dem Platz nicht auskommen, wird der Block automatisch höher. Die Blockhöhen unterscheiden sich in etwa um die Höhe der Heading-Zeile.
In den bisherigen Releases von smarthome.py/SmartHomeNG wurden beim automatischen generieren von smartVISU Seiten immer Blöcke der Größe 2 (mittel) verwendet.
Im aktuellen Release können auch Blöcke der Größen 1 (groß) und 3 (klein) in die Seiten generiert werden.
Dieses kann als Item-Attribut sv_blocksize
festgelegt werden.
Am Beispiel des Trenners Tests
zeigt die folgende Konfiguration,
wie Trenner konfiguriert werden:
%YAML 1.1
---
wohnung:
buero:
verbraucher:
name: Verbraucher
sv_blocksize: 1
sv_widget: "{{ basic.stateswitch('wohnung.buero.tv', 'wohnung.buero.tv', '', '', ['control_on_off.svg', 'control_standby.svg'], '', ['icon0','icon1']) }} <br> {{ basic.stateswitch('wohnung.buero.computer', 'wohnung.buero.computer', '', '', ['control_on_off.svg', 'control_standby.svg'], '', ['icon0','icon1']) }} <br> {{ basic.stateswitch('wohnung.buero.schrank', 'wohnung.buero.schrank', '', '', ['control_on_off.svg', 'control_standby.svg'], '', ['icon0','icon1']) }} <br> {{ basic.stateswitch('wohnung.buero.steckdose_tuer', 'wohnung.buero.steckdose_tuer', '', '', ['control_on_off.svg', 'control_standby.svg'], '', ['icon0','icon1']) }}"
sv_blocksize
dient zur Einstellung der (minimalen) Blockhöhe und
darf die Werte 1, 2 oder 3 annehmen. Wird sv_blocksize
nicht
angegeben, so wird der Default-Wert 2 benutzt.
Unterschiedliche Blocktypen
Die Blöcke in denen Widgets angezeigt werden, hatten in den bisherigen Releases einen festen Typ. Nun ist ein Typ Dual hinzugekommen.
Die smartVISU unterstützt Blöcke zusätzlich zu den Standard-Blöcken auch Blöcke mit “2 Seiten”, die in den bisherigen Releases von smarthome.py/SmartHomeNG nicht unterstützt wurden.
Im aktuellen Release können auch diese Dual-Blöcke in der automatischen Seitengenerierung verwendet werden.
Hier ein Beispiel, wie ein solcher DualBlock aussehen kann:

Dual-Block

Dual-Block 2
Ein solcher Dual-Block hat immer die Größe eines großen Blocks. Damit
die Visu-Seite “aufgeräumt” aussieht, sollte für den daneben liegenden
Block die große Form gewählt werden (sv_blocksize = 1
). Diehe dazu
auch Seite Unterschiedliche
Blockgrößen.
Hier ist ein Beispiel auf einer Visu Seite:

Navigation Trenner
Manuell erstellte Seiten
In smartVISU können manuell erstellte oder modifizierte Seiten in die Autogenerierung eingemischt werden.
Normalerweise werden durch das Plugin alle notwendigen Seiten für smartVISU generiert und im Bereich pages unter smarthome abgelegt.
Diese Seiten werden in smartVISU dann folgendermaßen ausgewählt:

smartVISU bietet jedoch eine Möglichkeit um manuell erstellte Seiten und automatisch generierte Seiten zu mischen.
Dazu muss man in smartVISU einen ordner unter pages anlegen und die manuell erstellten Seiten dort hineinkopieren. Anschließend muss man in smartVISU dann zur Darstellung diesen Bereich auswählen:

Beim Zugriff auf Seiten versucht smartVISU nun die entsprechende Seite aus dem unter pages angelegten Bereich zu laden. Wird die angeforderte Seite dort nicht gefunden, versucht smartVISU die Seite aus dem Bereich smarthome zu laden.
Man kann also SmartHomeNG die Seiten vollständig generieren lassen und eine Seite, die manuelle Modifikationen enthalten soll aus dem Ordner smarthome in den unter pages angelegten Bereich kopieren und anschließend in dieser Kopie die gewünschten Modifikationen vornehmen.
Bemerkung
Die modifizierte Seite erhält keine Änderungen mehr aus SmartHomeNG.
Falls Änderungen aus SmartHomeNG in diese Seite übernommen werden sollen, müssen diese aus der generierten Seite (im Ordner smarthome) in die manuell modifizierte Seite übernommen werden.
Alternativ kann die generierte Seite erneut kopiert werden und die Änderungen können dort eingearbeitet werden, wie dieses ursprünglich erfolgt ist.