Dieses Tool hilft bei der Erstellung von Widgets für Ihre Visualisierung mit smartVISU.
Es unterstützt mit Autovervollständigung vorhandener und im Kontext zulässiger Widgets, Items, Icons und Farben. Der Modus der Autovervollständigung kann ausgewählt werden.
Beginnen Sie einfach im Editor mit der Eingabe eines Widget-Namens oder öffnen Sie die Liste mit CTRL-Leerzeichen. Nachdem Sie ein Widget ausgewählt haben (z.B. basic.symbol...) und die erste Klammer eintippen,
wird ein Fenster mit Erläuterungen (Tooltip) für dieses Widget angezeigt. Der jeweils zu bearbeitende Parameter wird in roter Schrift angezeigt und alle dazu verfügbaren Details werden darunter gelistet.
Für Icons und Farben wird eine Vorschau im Tooltip angezeigt. Alle Parameter müssen mit Anführungszeichen eingegeben werden, wobei die Autovervollständigung die Parameter automatisch in Anführungszeichen setzt.
Nachdem das Widget vollständig eingegeben ist, können Sie es entweder auf dieser Seite, oder in einem neuen Fenster (empfohlen) anzeigen lassen und live testen. Das Widget ist voll funktionsfähig.
Es wird lediglich ein Twig-Error angezeigt, wenn ein Fehler in der Syntax ist. Zudem wird der eingegebene Widget Code einschließlich der Klammern "{{" + "}}" in die Zwischenablage
kopiert und kann direkt in Ihre Visu-Seiten eingefügt werden.
Man kann mehrere Widgets gleichezitig rendern, indem man sie mit einem <br>
-TAG trennt.
plot.period('', ['licht.og.terrasse.screens.warm.dimmen', 'licht.og.terrasse.screens.kalt.dimmen', 'licht.og.terrasse.decke.dimmen'], 'max', '1w', 'now', '0', '110', '1000', ['Screens warm', 'Screens kalt', 'Decke'], ['#daa', '#aad', '#955'], ['stair', 'stair', 'stair'], ['Uhrzeit', 'Helligkeit'], 'advanced', '', '', '', '', '', { yAxis: [ { tickInterval: 40 } ], legend: {align: 'right', verticalAlign: 'top', y: 50, layout: 'vertical'}, chart: { marginRight: 110} })
<br>
basic.stateswitch('','OG.Bad.Licht','midi','','light_ceiling_light','Licht Bad','','','','','')
<br>
quad.dimmer('Lueftungsstufe1', 'Lüftungsstufe', 'Haustechnik.Lueftung', 'Haustechnik.Lueftung.stufe', 0, 100, 5, icon.ventilation(), icon.ventilation('','','Haustechnik.Lueftung.stufe'), '', '', '', 0, 100, '', '', '', '', '', '', '', '', '', '', '', '', '', ['switch', 'value_popup'])
Kurzbefehl | Funktion |
---|---|
STRG+1 | Autovervollständigung nur für Items |
STRG+2 | Autovervollständigung nur für Widgets |
STRG+3 | Autovervollständigung nur für Icons |
STRG+4 | Autovervollständigung für alles |
STRG+5 | Autovervollständigung nur für Farben |
STRG+6 | Autovervollständigung AUS |
STRG+9 | Platzhaltersuche für Autovervollständigung ein/ausschalten |
STRG+Space | öffnet die aktuelle Liste zur Autovervollständigung |
STRG+F | Ausdruck im Code suchen |
STRG+SHIFT+R | Ausdruck im Code ersetzen - ENTER wechselt zum Ersatz-Ausdruck |
Man kann das neue Widget in den iframe auf der aktuellen Seite rendern. Dies wird jedoch die geladene index.php zerstören, so dass Probleme in der weiteren Navigation in smartVISU entstehen. Derzeit gibt es dafür nur die Lösung, die Seite neu zu laden (CTRL+F5 / CTRL + Shift + R).
Wird nur für shNG Versionen <= v1.7.2 benötigt. Ab v1.8 erstellt das smartvisu plugin die Datei standardmäßig.
#!/usr/bin/env python3
# create_master_item.py
import json
from lib.item import Items
items = Items.get_instance()
items_sorted = sorted(items.return_items(), key=lambda k: str.lower(k['_path']), reverse=False)
item_list = []
for item in items_sorted:
item_list.append(item._path + "|" + item._type )
f = open("/var/www/html/smartvisu/pages/YOUR_PAGES/masteritem.json", "w")
f.write(json.dumps(item_list))
f.close()
Ein Skript ist im fronthem / smartVISU Forum verfügbar
https://forum.fhem.de/index.php/topic,118508.msg1135044.html#msg1135044