Popups
Eigene Popup-Views erstellen und als Standard für Widget-Typen zuweisen. Ein Popup öffnet sich beim Klick auf ein Widget oder über einen Datenpunkt.

Globale Popup-Einstellungen
| Option | |
|---|---|
| Auto-Schließen nach (Sek.) | Automatisches Schließen; 0 / leer = aus |
| Countdown anzeigen | Ecke, in der die Sekunden bis zum Schließen herunterlaufen: oben links, oben rechts, unten links, unten rechts; leer = aus |
| Popup-Transparenz | 0 % = deckend, höhere Werte lassen das Dashboard durchscheinen (max. 95 %) |
| Hintergrund abdunkeln | Abdunklung hinter dem Popup; 0 % = keine, Standard 60 % |
| Hintergrundfarbe | Fläche des Popups; leer = Theme (--popup-bg, sonst --app-surface) |
| Hintergrundbild | Bild hinter dem Inhalt mit Anpassung, Ausrichtung und Abdunkeln (wie beim Widget); leer = kein Bild |
| Innenabstand | Abstand zwischen Popup-Rand und den Widgets darin; 0–40 px, Standard 12 px |
Alle sieben Werte gelten als Standard für jedes Popup und lassen sich überschreiben:
| Ebene | Wo |
|---|---|
| Popup-View | Toolbar im View-Editor (leer = global); Bild über Hintergrundbild |
| Klick-Aktion | Widget-Optionen → Klick-Aktion (leer = View/global) |
Der Innenabstand wirkt zusätzlich zum Innenabstand der Widgets selbst (Frontend-Design → Typografie & Spacing). 0 px lässt die Widget-Karten bis an den Popup-Rand laufen — auf dem Handy die schmalste Variante. Den Scrollbalken-Streifen reserviert das Popup nur, solange sein Inhalt wirklich scrollt.
Die Hintergrundfarbe gibt es zusätzlich als Theme-Token: --popup-bg (und --popup-border) in Layouts & Theme färbt jedes Popup eines Layouts, ohne pro Popup etwas zu setzen — siehe Design-Tokens.
Popup per Datenpunkt
Öffnet ein Popup, sobald ein oder mehrere Datenpunkte ihre Bedingungen erfüllen — ohne Klick auf ein Widget.
| Option | |
|---|---|
| Bedingungen | Datenpunkt + Operator + Wert; mehrere mit UND / ODER und Klammern verknüpfbar. Ausgelöst wird nur die Flanke (nicht erfüllt → erfüllt) |
| Ziel | Vollständige Klick-Aktion: Popup-View, alle Datenpunkte des Geräts, Bild, Webseite, JSON, HTML, Widget-Inhalt |
| Datenpunkt zurücksetzen | Schreibt nach dem Öffnen einen Wert in den Datenpunkt der ersten Bedingung zurück (Tastermodus); leer = false |
| Popup schließen, wenn … | Schließt das Popup, sobald die Bedingungen nicht mehr erfüllt sind |
| Gültig auf Geräten | Optionaler Client-Filter; leer = alle Geräte |
| Nur in Layout / Nur auf Tab | Optionaler Scope |
Der Datenpunkt der ersten Bedingung steht im Popup als {{dp}} bereit — eine Popup-View lässt sich so für mehrere Trigger wiederverwenden.
| Beispiel | Bedingungen |
|---|---|
| Klingel nur bei Anwesenheit | Klingel ist wahr UND Anwesend ist wahr |
| Ruhe-Ansicht bei Leerlauf oder Nachtmodus | clients.{{clientId}}.idle.active = true ODER Nachtmodus ist wahr |
UND bindet stärker als ODER; die Klammer-Schaltfläche links fasst Zeilen zusammen.
{{clientId}} im Datenpunkt steht für das Gerät, auf dem das Dashboard läuft — eine Regel gilt so für jedes Gerät einzeln.
Bildschirmschoner
Ausführlich mit Screenshots: Anleitung Bildschirmschoner erstellen.
| Schritt | |
|---|---|
| 1 | Frontend-Design → Navigation → Leerlauf des Geräts melden: Zeit ohne Eingabe festlegen (Standard 120 s) |
| 2 | Popup-View mit der Ruhe-Ansicht anlegen |
| 3 | Trigger anlegen → Knopf Bildschirmschoner (setzt aura.0.clients.{{clientId}}.idle.active == true und „Popup schließen, wenn …“) |
| 4 | Ziel: die Popup-View; Vollbild einschalten |
Die nächste Berührung, der nächste Klick oder Tastendruck setzt den Datenpunkt auf false und schließt das Popup.
Flanke statt Zustand
Steht der Datenpunkt beim Laden der Seite schon auf dem Trigger-Wert, öffnet sich kein Popup. Bei mehreren Geräten schreibt das schnellste den Reset-Wert; die Flanke erreicht vorher alle Geräte.
Per Skript öffnen
| Datenpunkt | |
|---|---|
aura.0.popup.open | Alle Geräte |
aura.0.clients.<clientId>.popup.open | Nur dieses Gerät |
Die <clientId> steht in Einstellungen → Verbundene Geräte und lässt sich dort fest vergeben (siehe Client-ID).
Wert: Name oder ID einer Popup-View, oder JSON. Der Datenpunkt wird nach dem Öffnen automatisch geleert.
| JSON-Feld | |
|---|---|
view | Name oder ID der Popup-View (Pflicht) |
dp | Haupt-Datenpunkt, im Popup als {{dp}} |
title | Popup-Titel; leer = Name der View |
width | Breite in px; leer = nach Inhalt (Breite der View) |
height | Höhe in px (höchstens 85 % der Bildschirmhöhe); leer = nach Inhalt |
fullscreen | true = ganzer Bildschirm ohne Rand und Ecken; width/height entfallen |
Breite und Höhe werden auf kleinen Bildschirmen automatisch begrenzt (volle Breite minus Rand, 85 % der Höhe) — ein 900 px-Popup bleibt auf dem Handy also bedienbar.
| Beispiel | Wert |
|---|---|
| View per Name | Wetter-Details |
| View mit Datenpunkt | {"view":"Gerät","dp":"hm-rpc.0.ABC.1.STATE"} |
| Eigener Titel | {"view":"Gerät","dp":"hm-rpc.0.ABC.1.STATE","title":"Haustür"} |
| Breit, Höhe nach Inhalt | {"view":"Kamera","width":900} |
| Feste Größe | {"view":"Kamera","width":900,"height":700} |
| Schmal und hoch | {"view":"Einkaufsliste","width":360,"height":800} |
| Vollbild | {"view":"Ruhe","fullscreen":true} |
// Alle Geräte, nur per Name
setState('aura.0.popup.open', 'Wetter-Details');
// Popup-View mit Datenpunkt als {{dp}}
setState('aura.0.popup.open', '{"view":"Gerät","dp":"hm-rpc.0.ABC.1.STATE"}');
// Kamera groß auf dem Wandtablet — nur dieses Gerät
setState('aura.0.clients.wandtablet.popup.open', JSON.stringify({
view: 'Kamera',
title: 'Klingel',
width: 900,
height: 700,
}));
// Bei Klingeln öffnen
on({ id: 'hm-rpc.0.ABC.1.PRESS_SHORT', change: 'any' }, () => {
setState('aura.0.popup.open', JSON.stringify({ view: 'Kamera', width: 900, height: 700 }));
});Per Skript schließen
| Datenpunkt | |
|---|---|
aura.0.popup.close | Alle Geräte |
aura.0.clients.<clientId>.popup.close | Nur dieses Gerät |
true schließt alle offenen Popups des Geräts — egal ob per Klick, Trigger oder popup.open geöffnet, gestapelte Popups eingeschlossen. Der Datenpunkt wird danach automatisch auf false zurückgesetzt.
// Klingel-Popup nach dem Öffnen der Tür schließen
on({ id: 'hm-rpc.0.TUER.1.STATE', val: true }, () => {
setState('aura.0.popup.close', true);
});Trigger mit Zustand
Ein Trigger-Popup kann auch ohne Skript zugehen: „Popup schließen, wenn die Bedingungen nicht mehr zutreffen“ einschalten und „Zurücksetzen“ ausschalten. Eine weitere Bedingung <Schließen-DP> ≠ true (UND) schließt es dann, sobald dieser Datenpunkt true wird.
Popup-Views
Mitgeliefert wird Standard: Datenpunkt (Wert, Steuerung, ID, letzte Änderung). Sie ist bewusst kein Widget-Typ-Standard — sie dient nur als Rückfallebene für den Klick auf eine Listenzeile und ändert das Verhalten bestehender Widgets nicht.
Dazu kommen die Popups für Listenzeilen im Modus Automatisch: Liste: Licht, Liste: Schalter, Liste: Dimmer, Liste: Rollladen, Liste: Thermostat, Liste: Fensterkontakt, Liste: Sensor, Liste: Wert — welche Zeile welches öffnet: Klick auf Zeile. Auch sie sind keine Widget-Typ-Standards.
Standard: Dimmer, Standard: Thermostat, Standard: Schalter, Standard: Rolladen und Standard: Mediaplayer werden nicht mehr weiterentwickelt und in neue Installationen nicht mehr eingerichtet. Wer sie hat, behält sie unverändert.
Platzhalter
Haupt-Datenpunkt im Beispiel: alias.0.Heizung.Bad.TSOLL
| Platzhalter | ergibt | gilt in |
|---|---|---|
{{dp}} | alias.0.Heizung.Bad.TSOLL | jedem Feld der Popup-Widgets · Popup-Titel |
{{parent}} | alias.0.Heizung.Bad | jedem Feld der Popup-Widgets · Popup-Titel |
{{parent2}}, {{parent3}}, … | alias.0.Heizung, alias.0 | jedem Feld der Popup-Widgets · Popup-Titel |
{{name}} | TSOLL | jedem Feld der Popup-Widgets · Popup-Titel |
{{dpname}} | common.name des Datenpunkts, z. B. Soll-Temperatur | Texten der Popup-Widgets · Popup-Titel |
{{dpunit}} | common.unit des Datenpunkts, z. B. °C; leer ohne Einheit | jedem Feld der Popup-Widgets |
{{parentname}}, {{parent2name}}, … | common.name von {{parent}}, {{parent2}}, … | Texten der Popup-Widgets · Popup-Titel |
[[<dp>]] | Wert des Datenpunkts | Popup-Titel · Widget-Name (jedes Widget) |
{{row_<feld>}} | Rohwert eines Felds der geklickten JSON-Tabellen-Zeile | jedem Feld der Popup-Widgets · Popup-Titel · HTML-Popup |
{{rowtext_<feld>}} | dasselbe Feld, wie die Tabelle es zeigt (Datum, Zahlenformat, Zuordnung) | jedem Feld der Popup-Widgets · Popup-Titel · HTML-Popup |
{{…}} ersetzt beim Öffnen einmalig Text, [[…]] liest laufend den Wert. Die Text-Ersetzung läuft zuerst, beides ist also kombinierbar:
| eingeben | in Feld | ergibt |
|---|---|---|
{{parent}}.TIST | Datenpunkt eines Widgets | alias.0.Heizung.Bad.TIST |
[[{{parent}}.TIST]] °C | Widget-Name | 21.5 °C, live |
{{name}} · [[{{parent}}.TIST]] °C | Popup-Titel | TSOLL · 21.5 °C, live |
{{parent2}}.0.OPERATING_VOLTAGE | Datenpunkt eines Widgets | Wartungskanal eines HomeMatic-Geräts, siehe unten |
Jede Zahl steht für eine Ebene weiter oben. Nötig, wenn der gesuchte Datenpunkt in einem anderen Kanal desselben Geräts liegt — bei HomeMatic z. B. hm-rpc.2.000A….1.ACTUAL_TEMPERATURE (Messwert) und hm-rpc.2.000A….0.OPERATING_VOLTAGE (Batterie): {{parent}} endet im Kanal .1, {{parent2}} trifft das Gerät. Oberhalb von adapter.instanz gibt es keine Ebene mehr.
Beim Klick auf eine Listenzeile ist der Haupt-Datenpunkt die geklickte Zeile — ein Popup-Titel mit Platzhaltern gilt damit für alle Zeilen. Das HTML-Popup ersetzt die Platzhalter in seinem festen HTML, nicht in HTML aus einem Datenpunkt.
Ein Platzhalter im Namensfeld einer Listenzeile bleibt Text — nur das Feld Datenpunkt-ID der Zeile wird als Datenpunkt gelesen.
Vorschau im View-Editor
Vorschau mit (Leiste unter der Toolbar) legt fest, wogegen die Platzhalter beim Bearbeiten aufgelöst werden. Gespeichert werden weiter die Platzhalter.
| Auswahl | Diagramme zeigen |
|---|---|
| Widget, das die View öffnet (Standard: das erste gefundene) | echten Verlauf dieses Datenpunkts |
Eigener Datenpunkt… | echten Verlauf des gewählten Datenpunkts |
Beispieldaten (Platzhalter) | Beispielkurve mit Badge Vorschau |
Klick-Aktion „Alle Datenpunkte des Geräts"
Listet alle Datenpunkte, die unter demselben Elternobjekt, Kanal oder Gerät liegen wie der geklickte — als bedienbare Liste.
| Option | Standard | |
|---|---|---|
| Umfang | Gleicher Strang | parent (Elternobjekt) · channel · device |
| Nur relevante Datenpunkte | aus | filtert auf bedienbare/anzeigbare Rollen |
| Datenpunkt | Widget-/Zeilen-Datenpunkt | überschreibt die Quelle |
Gleicher Strang funktioniert immer, auch ohne Kanal-/Geräteobjekte (z. B. bei Aliassen).
Views verwalten
Liste aus mitgelieferten (Standard: …) und eigenen Views. Pro View: Bearbeiten, Kopieren, Exportieren; eigene zusätzlich umbenennen/löschen. Über View hinzufügen bzw. Import neue Views anlegen.
Ungenutzte entfernen löscht die mitgelieferten Standard-Views, auf die nichts verweist. Der Dialog listet vorher auf, was entfernt wird und was aus welchem Grund bleibt:
| Grund | |
|---|---|
| wurde angepasst | View wurde bearbeitet |
| ist als Klick-Aktion verlinkt | Widget, Popup-Widget oder Trigger zeigt darauf |
| ist Typ-Standard für vorhandene Widgets | Widgets dieses Typs ohne eigene Klick-Aktion öffnen sie |
| kann über Listenzeilen im Automatik-Modus geöffnet werden | Zeilen-Klick Automatisch löst die View über die Rolle auf |
Widget-Typ-Standards
Ordnet einem Widget-Typ eine Popup-View zu — gilt für alle Widgets dieses Typs ohne individuelle Klick-Aktion. In Bestandsinstallationen sind Dimmer, Thermostat, Schalter, Rolladen und Mediaplayer hier vorbelegt; neue Installationen starten ohne Zuordnung. Popup-View auf — keine View — unterdrückt das Popup für den Typ, das Papierkorb-Symbol entfernt die Zuordnung ganz.
| Spalte | |
|---|---|
| Widget-Typ | Typ, für den der Standard gilt |
| Popup-View | Zugeordnete View |
| Nur für Layouts | Optionaler Layout-Filter |
Listenzeilen
Welches Popup eine Listenzeile mit Klick Automatisch öffnet — je erkanntem Typ, für alle Listen. Widgets sind nicht betroffen.

| Auswahl | Zeile öffnet |
|---|---|
Standard (…) | Widget-Typ-Standard des Typs, sonst Liste: …, sonst Standard: Datenpunkt — in Klammern steht, was das gerade ist |
— kein Popup — | nichts |
| eine View | diese View, auch vor einem Widget-Typ-Standard |
Eigenes Popup für Listen: Liste: … unter Views verwalten kopieren, Kopie anpassen, hier auswählen. Eine gelöschte View fällt auf Standard zurück.