Features der Generierung

Zusätzliche Infos in der Navigation anzeigen

In der Navigation können eine Reihe zusätzlicher Informationen angezeigt werden.

Das folgende Beispiel zeigt die Möglichkeiten zur Anzeige von zusätzlichen Informationen in der Navigation. Es können zwei Zeilen angezeigt werden. Im Beispiel wird in der ersten Zeile die aktuelle Raumtemperatur angezeigt und in der zweiten Zeile werden Icons angezeigt, die den Zustand von Geräten in dem Raum anzeigen.

Navigation Zusatzinfos

Navigation Zusatzinfos

Das Beispiel zeigt folgendes an:

  • Kaffeemaschine auf Standby in der Küche

  • TV an im Wohnzimmer

  • Im Gästezimmer und im Bad wird geheizt

  • Im Büro läuft das TV im Audio Mode

  • Die Waschmaschine läuft

Am Beispiel der Küche zeigt die folgende Konfiguration, wie die zusätzlichen Informationen konfiguriert werden:

%YAML 1.1
---

wohnung:

    kochen:
        name: Kochen
        sv_page: room
        sv_img: scene_cooking.svg
        sv_nav_aside: "{{ basic.print('m_kochen.ist', 'wohnung.kochen.heizung.ist', '°') }}"
        sv_nav_aside2: "{{ basic.symbol('m_kochen_kaffee2', 'wohnung.kochen.kaffeeautomat.status', '', 'scene_coffee_maker_automatic.svg',  [2,3],'',['icon0','icon1']) }} {{ basic.symbol('m_kochen_heizen', 'wohnung.kochen.heizung.heizen', '', 'sani_heating.svg', 1, '', 'icon1') }}"

Wie in den bisherigen Releases:

  • sv_page zeigt an, dass [wohnung.kochen] ein Raum ist und für diesen ein Navigationseintrag und eine Seite generiert werden soll.

  • sv_img gibt an, welches Icon in der Navigation und auf der Seite angezeigt werden soll.

Neu:

  • sv_nav_aside spezifiziert, was an der Seite in der oberen Zeile angezeigt werden soll. In diesem Fall ist das die aktuelle Raumtemperatur.

  • sv_nav_aside2 spezifiziert,was an der Seite in der unteren Zeile angezeigt werden soll. In diesem Fall ist das eine Reihe von Symbolen:

    – Kaffeeautomat im Standby

    – Kaffeeautomat heizt

    – Die Heizung heizt

Wenn die Stati nicht aktiv sind, werden die jeweiligen Icons nicht angezeigt. Da der Kaffeeautomat nur entweder im Standby sein kann oder heizt, wird nur eines der Icons angezeigt. Wenn der Kaffeeautomat ausgeschaltet ist, wird kein Icon angezeigt.

Generierung einer Konfigurations-Navigation

Zusätzlich zum Aufbau einer Navigation über die Seiten der Räume, kann eine Navigation über mehrere Konfigurationsseiten aufgebaut werden.

Das folgende Beispiel zeigt die Möglichkeiten zum generieren einer Kategorie Navigation. Die Kategorie Navigation wird durch anklicken des Hand-Symbols in der Titelzeile der smartVISU aktiviert.

Kategorie Navigation

Kategorie Navigation

Am Beispiel der obigen Konfigurations-Navigation zeigt die nachfolgende Konfigurationsdatei, wie die Navigation konfiguriert wird:

%YAML 1.1
---

config:

    konfiguration:
        name: Konfiguration
        sv_page: category
        sv_img: control_all_on_off.svg

    beschattung:
        name: Beschattung
        sv_page: category
        sv_img: fts_shutter_40.svg

    beleuchtung:
        name: Beleuchtungsautomatik
        sv_page: category
        sv_img: light_light_dim_00.svg

sv_page ist zum Generieren eines Eintrages für die Konfigurations-Navigation auf den Seitentyp category einzustellen.

Trenner in der Navigation

Die Navigation kann durch Trenner unterteilt werden, um die Übersichtlichkeit zu erhöhen.

Das folgende Beispiel zeigt die Möglichkeiten zur Anzeige von Trennern in der Navigation. Zwischen den Navigationseinträgen können mehrere Trenner angezeigt werden. Das Beispiel zeigt nicht die Raum-Navigation, sondern die Navigation auf der Konfigurationsseite.

Navigation Trenner

Navigation Trenner

Das Beispiel zeigt folgende Trenner: - Tests - Kategorien

Am Beispiel des Trenners Tests zeigt die folgende Konfiguration, wie Trenner konfiguriert werden:

%YAML 1.1
---

config:

    verteilung:
        name: Verteilung
        sv_page: category
        sv_img: measure_current.svg

    separator_test:
        name: Tests
        sv_page: cat_separator

    fritzboxen:
        name: Fritzboxen
        sv_page: category
        sv_img: it_router.svg

sv_page ist zum generieren eines Trenners auf einen speziellen Seitentyp einzustellen. - Wenn ein Trenner in die normale Raumnavigation eingefügt werden soll, so muss sv_page: separator angegeben werden. - Wenn ein Trenner in die Konfigurationsnavigation eingefügt werden soll, so muss sv_page: cat_separator angegeben werden.

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

Style Standard

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

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

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_blocksizenicht 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

Dual-Block 2

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

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:

Vollständige Autogenerierung

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:

Teil-Autogenerierung

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.