URL-Parameter
Das Verhalten der CometVisu lässt sich teilweise durch URL-Parameter anpassen. Da sich diese Parameter mit in den Favoriten des Browsers abspeichern lassen, kann so effektiv und schnell auf die entsprechenden Varianten zugegriffen werden.
Verwendung
Diese Parameter werden einfach hinten an die URL gehängt, durch ein „?“ (erster URL Parameter), bzw. durch ein „&“ (alle weiteren URL Parameter) getrennt.
Beispiele:
Beschreibung |
URL |
---|---|
Standard |
|
Ein Parameter für eine andere Config |
|
Ein Parameter für ein anderes Design |
|
Mehrere Parameter werden mit & verknüpft |
Parameter
config - Config-Datei
Durch den Parameter config
wird eine andere Config-Datei ausgewählt.
Also z.B. config=NAME
- Diese Config-Datei muss dann unter dem Namen
visu_config_NAME.xml
entweder im config-Verzeichnis der Visu oder im
config/demo
Verzeichnis der Visu liegen.
design - Design
Durch den Parameter design
wird das Design in der Config-Datei
übersteuert.
forceReload - Cache übersteuern
Durch den Parameter forceReload
mit dem Wert true (also zusammen
forceReload=true
) werden alle Dateien sicher neu geladen.
Dies kann nach einem Anpassen der Config-Datei wichtig sein.
startpage - Startseite
Durch den Parameter startpage
kann die Unter-Seite festgelegt werden,
die nach dem Laden der Visu als erstes angezeigt wird.
Die einfachste Weise direkt eine bestimmte Startseite zu laden, ist es
indem man zu der gewünschten Seite navigiert und sich den Link, den der
Browser dann anzeigt speichert. Dieser enthält immer die ID der gerade
angezeigten Seite als anchor-Teil der URL (z.B.
http://<server>/cometvisu/?config=home#id_6_
, zeigt die Seite mit der ID id_6_
).
Hierfür wird der startpage-Parameter gar nicht benötigt.
Zusätzlich ist es noch möglich über den startpage-Parameter den Namen
der Startseite anzugeben. Wenn man also eine Unterseite mit dem Namen Bad
als Startseite nutzen möchte so lautet die URL http://<server>/cometvisu/?config=home&startpage=Bad
Gerade wenn man Visus an mehreren Orten im Haus verteilt hat, kann es Sinn machen bei einer gesamten Config-Datei je nach Visu-Standort die Unter-Seite als erstes anzuzeigen, die dem Raum entspricht.
forceDevice - Ausgabegerät übersteuern
Durch den Parameter forceDevice
kann durch den Wert mobile
auch
an „großen“ Geräten die Seite so wie auf einem kleinen, mobilen Gerät
(z.B. Smartphone) dargestellt werden. Bei jedem anderen Wert wird die
Seite (auch auf Mobilgeräten) wie am PC dargestellt.
Dies wird eigentlich nur für Entwickler benötigt.
maturity - Ausgereiftheit
Durch den Parameter maturity
kann man Features freischalten, die
noch in Entwicklung sind und somit unbeabsichtigte Querwirkungen haben.
Default: release (maturity=release)
Options: release (maturity=release), development (maturity=development)
Dies sollte nur von Entwicklern benutzt werden!
backend - Backend
Durch den Parameter backend
wird das verwendete Backend zur Laufzeit
konfiguriert. Es existiert auch ein backend
Parameter in der Config
um dies fest einzustellen.
Default: cgi-bin (backend=cgi-bin)
Options: cgi-bin (backend=cgi-bin), openhab (backend=openhab), mqtt
Der Default-Wert „cgi-bin“ (Achtung, inkonsistent mit xml Element, default=“cgi“!) ist normalerweise richtig und braucht nicht geändert werden. „r“, „w“ und „l“ liegen dabei in /cgi-bin/.
Bei der Option „openhab“ wird der für OpenHAB notwendige Pfad verwendet.
enableQueue - Queue
Durch den Parameter enableQueue
wird beeinflusst ob von der CV alle
oder nur die auf der aktuellen Seite benötigten Gruppenadressen
abgefragt werden. Dies kann unter Umständen zu Performanceverbesserungen
führen.
Default: 0 (enableQueue=0)
Options: 0 (enableQueue=0), 1 (enableQueue=1)
Dies ein experimentelles Feature, welches unter Umständen nicht wie gedacht funktioniert, deswegen ist es derzeit standardmäßig abgeschaltet.
testMode - Testmodus ohne echtes Backend
Durch den Parameter testMode
kann man die CometVisu rudimentär testen ohne
ein laufendes Backend im Hintergrund zu haben. Normalerweise sendet die CometVisu
bei der Betätigung eines Switches den Einschaltwert auf der definierten Adresse zum
Backend. Das Backend liefert dann die entsprechende Rückmeldung über die Statusänderung,
welche die CometVisu dann wiederum anzeigt. Fehlt ein Backend, kann man die Bedienelemente der CometVisu
nicht wirklich testen, weil ohne Rückmeldung die Statusänderung fehlt und man so z.B.
eine Switch niemals einschalten kann. Mit dem TestMode wird der zum Backend gesendete Befehl einfach als
Statusupdate wieder zurück zur CometVisu geschickt und somit ein einfaches Backend simuliert.
Dieses simulierte Backend bietet aber, wie schon erwähnt, nur rudimentäre Funktionen. Hat man z.B. wie in der KNX-Welt üblich unterschiedliche Sende- und Rückmeldeadressen, wird dies mit dem TestMode nicht funktionieren.
Default: 0 (testMode=0)
Options: 0 (testMode=0), 1 (testMode=1)
enableCache - Caching aktivieren
Durch den Parameter enableCache
kann das Caching konfiguriert werden. Dieses bewirkt, dass eine Config
nicht bei jeden Laden komplett neu eingelesen wird und daraus eine HTML-Seite generiert wird, sondern dass
die gerenderte HTML-Struktur inkl. aller weiterer benötigter Daten lokal im Browser gespeichert werden
(im LocalStore). Bei jedem weiteren Laden der Config werden die Daten also aus dem Cache gelesen, was
das Laden der Visu auf leistungsschwachen Geräten wie z.B. Smartphones beschleunigt.
Der Cache kann über diesen Parameter aktiviert (=true), deaktiviert (=false) oder gelöscht werden (=invalid). Das Löschen bewirkt, dass alle Werte aus dem Cache gelöscht werden und neu angelegt werden.
Default: Im Release: true, in der Entwicklerversion: false
Options: false (enableCache=false), true (enableCache=true), invalid (enableCache=invalid)
reporting - Session aufzeichnen
Zur Unterstützung einer Fehlermeldung, kann die Interaktion mit der CometVisu aufgezeichnet und den Entwicklern als Replay-Datei zu Verfügung gestellt werden. Diese können damit genau sehen, welche Daten zwischen der CometVisu und dem Backend geflossen sind und welche Aktionen der Benutzer vorgenommen hat. Idealerweise lässt sich ein Fehler mit diesen Dateien zuverlässig reproduzieren und erleichtert so die Behebung des Problems erheblich.
Default: false (reporting=false)
Options: true (reporting=true), false (reporting=false)
Achtung
In den replay-Dateien wird die komplette Konfigurationsdatei abgespeichert. Sollten sich Zugangsdaten in dieser Konfiguration befinden, sollte eine Kopie der Konfiguration ohne solch sensible Daten erstellt werden und die Session mit dieser Konfiguration aufgezeichnet werden.
Daten aus der verstecken Konfiguration werden nicht mit übertragen.
Um diese Replay-Dateien aufzuzeichnen, muss man die CometVisu mit dem URL-Parameter reporting=true im Querystring laden.
Nachdem man den fehlerhaften Zustand erreicht hat, kann man die Replay-Datei herunterladen indem man in der
Browser-Console (öffnen mit F12) downloadLog()
ein gibt und mit enter bestätigt.
Neben dem automatischen Download der Datei, wird der Inhalt ebenfalls auf der Konsole
ausgegeben. So kann man kontrollieren, welche Daten enthalten sind.
Hinweis
Da die Replay-Dateien in Echtzeit abgespielt werden, empfiehlt es sich die Laufzeit möglichst kurz zu halten. Eine Replay-Datei die 30 Minuten oder mehr läuft bis das Problem zu sehen ist, wird die Fehlerbehebung erschweren, da der Entwickler diese ggf. sehr oft abspielen muss während der Fehleranalyse und -behebung.
reportErrors - Fehlermeldungen automatisch an sentry.io senden
Eine weitere Möglichkeit die Entwickler bei der Verbesserung der CometVisu zu unterstützen, ist das Aktivieren der automatischen Fehlerberichte. Diese Berichte werden bei Auftreten eines Fehlers teilweise komplett automatisch an einen Webdienst geschickt (sentry.io), welcher diese sammelt, aufbereitet und die CometVisu-Entwickler benachrichtigt.
Da hierzu neben dem Fehler auch viele Informationen über z.b. den eingesetzten Browser zu sentry.io geschickt werden, muss diese Funktionalität explizit eingeschaltet werden über diesem URL-Parameter.
Default: false (reportErrors=false)
Options: true (reportErrors=true), false (reportErrors=false)
Um die Fehlerreports zu aktivieren muss die CometVisu mit reportErrors=true geladen werden. Die Fehlerdialoge der CometVisu bieten dazu die Option, die CometVisu mit diesem Parameter neu zu laden, sollte das noch nicht passiert sein. Dann kann der Benutzer versuchen, den Fehler erneut zu reproduzieren und dann einen Fehlerbericht mit weiteren Erklärungen an sentry.io schicken.
log - Debug-Meldungen in der Browserconsole an-/abschalten
Mit diesem Parameter können die Debug-Meldungen auf der Browserkonsole ein- und ausgeschaltet werden. In der Entwicklerversion sind diese standardmäßig eingeschaltet in einem Release aus.
Default: false im Release, true in Entwicklerversion
Options: true (log=true), false (log=false)
worker - ServiceWorker Cache in der Entwicklerversion einschalten
In der Entwicklerversion ist der ServiceWorker zum Caching der Dateien abgeschaltet, damit man Änderungen während des Entwickelns beim neu Laden direkt testen kann. Mit diesem URL-Parameter kann der ServiceWorker trotzdem eingeschaltet werden
Default: false (worker=false)
Options: true (worker=true) [nur in Entwicklungsversion, in einem Release hat dieser Parameter eine Funktion]