Skip to content

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 anzeigenEcke, in der die Sekunden bis zum Schließen herunterlaufen: oben links, oben rechts, unten links, unten rechts; leer = aus
Popup-Transparenz0 % = deckend, höhere Werte lassen das Dashboard durchscheinen (max. 95 %)
Hintergrund abdunkelnAbdunklung hinter dem Popup; 0 % = keine, Standard 60 %
HintergrundfarbeFläche des Popups; leer = Theme (--popup-bg, sonst --app-surface)
HintergrundbildBild hinter dem Inhalt mit Anpassung, Ausrichtung und Abdunkeln (wie beim Widget); leer = kein Bild
InnenabstandAbstand 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:

EbeneWo
Popup-ViewToolbar im View-Editor (leer = global); Bild über Hintergrundbild
Klick-AktionWidget-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.

Öffnet ein Popup, sobald ein oder mehrere Datenpunkte ihre Bedingungen erfüllen — ohne Klick auf ein Widget.

Option
BedingungenDatenpunkt + Operator + Wert; mehrere mit UND / ODER und Klammern verknüpfbar. Ausgelöst wird nur die Flanke (nicht erfüllt → erfüllt)
ZielVollständige Klick-Aktion: Popup-View, alle Datenpunkte des Geräts, Bild, Webseite, JSON, HTML, Widget-Inhalt
Datenpunkt zurücksetzenSchreibt 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ätenOptionaler Client-Filter; leer = alle Geräte
Nur in Layout / Nur auf TabOptionaler Scope

Der Datenpunkt der ersten Bedingung steht im Popup als {{dp}} bereit — eine Popup-View lässt sich so für mehrere Trigger wiederverwenden.

BeispielBedingungen
Klingel nur bei AnwesenheitKlingel ist wahr UND Anwesend ist wahr
Ruhe-Ansicht bei Leerlauf oder Nachtmodusclients.{{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
1Frontend-Design → Navigation → Leerlauf des Geräts melden: Zeit ohne Eingabe festlegen (Standard 120 s)
2Popup-View mit der Ruhe-Ansicht anlegen
3Trigger anlegen → Knopf Bildschirmschoner (setzt aura.0.clients.{{clientId}}.idle.active == true und „Popup schließen, wenn …“)
4Ziel: 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.openAlle Geräte
aura.0.clients.<clientId>.popup.openNur 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
viewName oder ID der Popup-View (Pflicht)
dpHaupt-Datenpunkt, im Popup als {{dp}}
titlePopup-Titel; leer = Name der View
widthBreite in px; leer = nach Inhalt (Breite der View)
heightHöhe in px (höchstens 85 % der Bildschirmhöhe); leer = nach Inhalt
fullscreentrue = 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.

BeispielWert
View per NameWetter-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}
js
// 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.closeAlle Geräte
aura.0.clients.<clientId>.popup.closeNur 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.

js
// 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.

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

Platzhalterergibtgilt in
{{dp}}alias.0.Heizung.Bad.TSOLLjedem Feld der Popup-Widgets · Popup-Titel
{{parent}}alias.0.Heizung.Badjedem Feld der Popup-Widgets · Popup-Titel
{{parent2}}, {{parent3}}, …alias.0.Heizung, alias.0jedem Feld der Popup-Widgets · Popup-Titel
{{name}}TSOLLjedem Feld der Popup-Widgets · Popup-Titel
{{dpname}}common.name des Datenpunkts, z. B. Soll-TemperaturTexten der Popup-Widgets · Popup-Titel
{{dpunit}}common.unit des Datenpunkts, z. B. °C; leer ohne Einheitjedem Feld der Popup-Widgets
{{parentname}}, {{parent2name}}, …common.name von {{parent}}, {{parent2}}, …Texten der Popup-Widgets · Popup-Titel
[[<dp>]]Wert des DatenpunktsPopup-Titel · Widget-Name (jedes Widget)
{{row_<feld>}}Rohwert eines Felds der geklickten JSON-Tabellen-Zeilejedem 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:

eingebenin Feldergibt
{{parent}}.TISTDatenpunkt eines Widgetsalias.0.Heizung.Bad.TIST
[[{{parent}}.TIST]] °CWidget-Name21.5 °C, live
{{name}} · [[{{parent}}.TIST]] °CPopup-TitelTSOLL · 21.5 °C, live
{{parent2}}.0.OPERATING_VOLTAGEDatenpunkt eines WidgetsWartungskanal 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.

AuswahlDiagramme 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.

OptionStandard
UmfangGleicher Strangparent (Elternobjekt) · channel · device
Nur relevante Datenpunkteausfiltert auf bedienbare/anzeigbare Rollen
DatenpunktWidget-/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 angepasstView wurde bearbeitet
ist als Klick-Aktion verlinktWidget, Popup-Widget oder Trigger zeigt darauf
ist Typ-Standard für vorhandene WidgetsWidgets dieses Typs ohne eigene Klick-Aktion öffnen sie
kann über Listenzeilen im Automatik-Modus geöffnet werdenZeilen-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-TypTyp, für den der Standard gilt
Popup-ViewZugeordnete View
Nur für LayoutsOptionaler Layout-Filter

Listenzeilen ​

Welches Popup eine Listenzeile mit Klick Automatisch öffnet — je erkanntem Typ, für alle Listen. Widgets sind nicht betroffen.

AuswahlZeile öffnet
Standard (…)Widget-Typ-Standard des Typs, sonst Liste: …, sonst Standard: Datenpunkt — in Klammern steht, was das gerade ist
— kein Popup —nichts
eine Viewdiese 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.