Skip to content

Statische Liste

Manuell gepflegte Liste mit frei konfigurierbaren Datenpunkt-Links. Jeder Eintrag bindet seinen eigenen Datenpunkt und wird je nach Wert als Schalter, Regler, Wert oder Sensor-Badge dargestellt.

Datenpunkt

Kein Haupt-Datenpunkt — jeder Listeneintrag (entries[]) trägt seine eigene id. Booleans werden als Schalter, Zahlen mit Level-/Dimmer-Rolle als Regler, alles andere als Wert dargestellt; displayType (shutter · stepper · buttons · select · momentary · switch · slider · value · time · datepicker · input · auto) erzwingt die Darstellung pro Eintrag.

Darstellung Schalter

displayType: 'switch' macht die Zeile zum Schalter — dieselben Möglichkeiten wie das Schalter-Widget, nur pro Listenzeile. Gilt auch für die dynamische Liste und für das Badges-Layout, in dem die ganze Zeile schaltet.

FeldStandard
switchStyleslideslide (Schiebeschalter) · checkbox (Kontrollkästchen) · icon (klickbares Icon) · image (klickbares Bild)
trueIcon / falseIconPowerIcon je Zustand (bei icon und image)
onImage / offImageBild je Zustand (bei image); ohne Bild greift das Icon
switchIconSize22Größe von Icon/Bild in px. Leer = wie iconSize (das Icon vor dem Namen)
onValue / offValueSchreibwerte, z. B. 0/255, ON/OFF. Leer = wie der Datenpunkt (true/false bzw. 1/0)
statusDpSeparater Status-Datenpunkt für Geräte, die Schalten und Rückmeldung trennen (Tasmota: cmnd.POWER schaltet, stat.POWER meldet)
stateModebooleanboolean (an bei true, Zahl ungleich 0, ON) · condition (Vergleich)
stateOperator / stateValue> / 0Vergleich bei stateMode: condition
trueLabel / falseLabelTexte statt des Schiebeschalters (Pille); bei explizitem slide oder checkbox stehen sie neben dem Bedienelement
confirm / confirmTextfalseSicherheitsabfrage vor dem Schalten

Ist onValue gesetzt und kein statusDp konfiguriert, gilt die Zeile als an, wenn der Wert genau dem AN-Wert entspricht. Geschrieben wird immer auf den Datenpunkt der Zeile — ein statusDp meldet nur. Die Gruppen-Aktion (Master-Schalter) verwendet dieselben Werte.

Darstellung Schieberegler

displayType: 'slider' macht die Zeile zum Regler — dieselben Möglichkeiten wie das Schieberegler-Widget, nur pro Listenzeile. Gilt auch für die dynamische Liste; im Badges-Layout wird stattdessen der reine Wert angezeigt.

FeldStandard
sliderMin / sliderMax0 / 100Skala, z. B. 0/255 für einen Dimmer oder -20/40 für einen Sollwert
sliderStep1Schrittweite; bestimmt auch die Nachkommastellen des angezeigten Werts
sliderBarStylefalsefalse (Regler) · true (gefüllter Balken wie im Widget)
sliderBarSize100Balkenhöhe in % (nur bei sliderBarStyle)
sliderThickness4 / 6Dicke der Reglerspur in px (Zeile / Card-Layout)
sliderWidth80Breite des Reglers in px (Zeilen-Layouts; Card-Layout: volle Breite)
sliderColorvar(--accent)Farbe von Füllung und Regler-Knopf
sliderShowValuetrueWert neben dem Regler anzeigen
sliderShowUnittrueEinheit an den Wert hängen (Einheit des Eintrags, ohne Angabe %)
sliderShowMinMaxfalseSkalenenden links und rechts vom Regler
sliderShowScalefalseSkala mit den Schrittwerten unter dem Regler; ersetzt sliderShowMinMax
sliderScaleLabelEverynur jeden n-ten Schritt beschriften; leer = so viele, wie die Breite hergibt
sliderScaleTickstrueSkalenstriche zeichnen
sliderCommitOnReleasefalseErst beim Loslassen schreiben statt bei jeder Bewegung
sliderReadOnlyfalseFortschrittsanzeige — Regler wird gezeichnet, ist aber nicht bedienbar

Geschrieben wird auf die Schrittweite gerundet und auf die Skala begrenzt. Ein Datenpunkt ohne Schreibrecht zeigt nur den Wert; sliderReadOnly behält dagegen bewusst die Reglergrafik.

sliderShowScale beschriftet immer Min und Max. In der Zeile ist der Regler standardmäßig 80 px breit — dort bleiben meist nur diese beiden stehen; mehr Zahlen brauchen sliderWidth oder ein Card-Layout.

Nicht übernommen: die senkrechte Ausrichtung des Widgets (eine Listenzeile ist ein waagerechter Streifen) sowie Aktions-Buttons und Status-Badges — die gehören zum Widget-Rahmen, nicht zum Wert.

Darstellung Rollladen

displayType: 'shutter' macht die Zeile zur Rollladen-Steuerung — dieselben Möglichkeiten wie das Rollladen-Widget, nur pro Listenzeile. Gilt auch für die dynamische Liste. Auto-Erkennung im Editor findet die Befehls-DPs bzw. den LEVEL-Datenpunkt aus der Nachbarschaft.

FeldStandard
shutterModecommandscommands (eigene Auf-/Stop-/Ab-DPs) · position (Haupt-DP der Zeile, z. B. LEVEL)
shutterUpDp / shutterStopDp / shutterDownDpBefehls-Datenpunkte (commands)
shutterWriteValuetrueWert, der auf einen Befehls-DP geschrieben wird
shutterOpenValue / shutterCloseValue100 / 0Werte für Auf/Ab im Positions-Modus
shutterActualDpNur lesender Ist-Positions-DP (HmIP-BROLL & Co.); gilt für die Anzeige
shutterInvertfalseGerät zählt umgekehrt (0 = offen)
shutterShowValue / shutterShowClosedPercentfalsePosition anzeigen, wahlweise als Geschlossen-Prozent
shutterShowSlider / shutterSliderWidthfalse / 64Positions-Regler in der Zeile, Breite in px (Card-Layout: volle Breite)
shutterSendOnReleasetruePosition erst beim Loslassen schreiben
shutterLivePreviewfalseAngezeigter Wert folgt dem Regler statt dem Datenpunkt
shutterTiltDp / shutterTiltActualDpLamellen-Datenpunkt und optionaler Ist-DP; blendet die Lamellen-Taste ein
shutterTiltMin / shutterTiltMax / shutterTiltInvert0 / 100 / falseGeräteskala der Lamellen (0…1, −90…90 …)
shutterTiltLabelLamellenBeschriftung der Lamellen-Steuerung
shutterShowTiltValuefalseLamellenwert in der Zeile anzeigen
shutterTiltLivePreview / shutterTiltSendOnReleasetrue / trueVorschau folgt dem Regler; Schreiben erst beim Loslassen
shutterActivityDp / shutterActivityMovingValues— / true,1„Fährt"-Datenpunkt; färbt Position und Tasten während der Fahrt
shutterDirectionDpRichtung (1 = auf, 2 = ab); hebt die passende Taste hervor
shutterLockDp / shutterLockValues— / true,1Verriegelung; zeigt ein Schloss vor der Steuerung

Die Lamellen-Steuerung öffnet sich als Popover (Vorschau, Regler, Schnellwerte) — in einer Zeile ist für einen senkrechten Regler kein Platz. Nicht übernommen: Tastengrößen und der Platzierungs-Block des Widgets, die zum Widget-Rahmen gehören.

Darstellung Tasten

displayType: 'buttons' legt feste Werte als Tasten in die Zeile — dieselben Möglichkeiten wie das Auswahlfeld-Widget, nur pro Listenzeile. Gilt auch für die dynamische Liste.

FeldStandard
presets[]Wert, Text, Farbe, Darstellung (text · icon · image · html), Icon/Bild, Größe
presetsSourceListejson nimmt die Tasten stattdessen aus einem Datenpunkt mit JSON
presetsDpDatenpunkt mit dem JSON (nur bei presetsSource: 'json')
presetsValueKey / presetsLabelKey / presetsColorKey / presetsIconKey / presetsImageKeyerkanntFeldnamen im JSON
presetSelectfalseAuswahlliste (Dropdown) statt einer Reihe von Tasten

Darstellung Auswahlfeld

displayType: 'select' legt die Auswahlliste des Auswahlfeld-Widgets in die Zeile. Die Werte sind dieselben wie bei den Tasten (presets[] samt JSON-Quelle) — ein Umschalten zwischen beiden Darstellungen behält sie. Im Badges-Layout wird stattdessen der Text des passenden Eintrags angezeigt. Gilt auch für die dynamische Liste.

FeldStandard
presets[] u. a.Werte, Texte, Farben, Icons/Bilder und die JSON-Quelle wie bei den Tasten
selectShowSelecttrueAuswahlliste anzeigen; false zeigt nur den aktuellen Eintrag
selectShowValueohne Auswahllisteaktuellen Eintrag zusätzlich neben der Auswahlliste anzeigen
selectEntryDisplaytextDarstellung des aktuellen Eintrags: text · icon-text · icon
selectWidthautomatischfeste Breite der Auswahlliste in px

Darstellung Wertzuordnung

displayType: 'states' bildet den Wert auf Text, Icon oder Bild ab — die Anzeige-Seite des Zustandsbild-Widgets, nur pro Listenzeile und mit beliebig vielen Zuständen.

Feld
states[].valueVergleichswert
states[].opVergleich; ohne Angabe Gleichheit. Mit >=, < … wird die Zeile zum Bereich — die erste passende gewinnt
states[].labelText statt des Werts
states[].colorFarbe der Pille
states[].rendertext (Standard) · icon · image · html
states[].icon / states[].image / states[].sizeIcon bzw. Bild und dessen Größe in px

Die Tabelle ist dieselbe wie die Werte-Zuordnung der zweiten Zeile und wirkt an beiden Stellen gleich.

Darstellung Fenster-/Türkontakt

displayType: 'contact' bildet den Wert auf geschlossen · gekippt · offen ab — dieselbe Wertezuordnung wie das Fenster-/Türkontakt-Widget, nur pro Listenzeile. Gilt auch für die dynamische Liste und für das Badges-Layout.

FeldStandard
contactPresethmipWertevorlage; custom schaltet die drei Wertelisten frei
contactValuesClosed / contactValuesTilted / contactValuesOpenVorlageeigene Werte je Zustand, kommagetrennt (nur bei custom)
contactAppearanceText, Farbe und Icon je Zustand: { closed: { label, color, icon }, tilted: …, open: … } — Standard „Geschlossen" / „Gekippt" / „Offen". So wird die Zeile für etwas anderes als ein Fenster beschriftet, z. B. { closed: { label: "zu" }, open: { label: "heizt" } }
contactLockDpVerriegelungs-Datenpunkt; zeigt ein Schloss-Symbol vor dem Zustand
contactLockValuestrue,1Werte, die „abgeschlossen" bedeuten (kommagetrennt)

Darstellung Eingabefeld

displayType: 'input' macht die Zeile zum Eingabefeld — dieselben Möglichkeiten wie das Eingabefeld-Widget, nur pro Listenzeile. Im Badges-Layout wird stattdessen der reine Wert angezeigt. Gilt auch für die dynamische Liste.

Das Häkchen Negativ darstellen (× −1) kehrt das Vorzeichen um (gespeichert als negatives valueFactor) und lässt sich mit jeder Umrechnung kombinieren.

FeldStandard
inputPlaceholderPlatzhalter im leeren Feld
inputWidth110Feldbreite in px (Card-Layout der dynamischen Liste: volle Breite)
inputModetexttext · number
inputMin / inputMaxWertebereich im Zahlmodus; geschrieben wird auf ihn begrenzt
inputStep1Schrittweite im Zahlmodus
inputMultilinefalseMehrzeiliges Textfeld (schaltet den Zahlmodus ab); Enter = Zeilenumbruch, Strg/Cmd+Enter sendet
inputHeight48Höhe des mehrzeiligen Felds in px
inputSubmitModesubmitsubmit (Enter / Feld verlassen / Senden-Button) · live (jeder Tastenschlag)
inputShowSubmittrueSenden-Button anzeigen (nur bei submit)
inputClearAfterSubmitfalseBefehlsfeld: nach dem Senden leeren, Datenpunkt-Wert nie anzeigen
confirm / confirmTextfalseSicherheitsabfrage vor dem Senden (nur bei submit)
inputTextAlignleftleft · center · right
inputReadOnlyfalseSchreibschutz — Wert wird angezeigt, aber nicht geschrieben
inputShowUnitfalseEinheit des Eintrags rechts neben dem Feld anzeigen

Ein schreibgeschützter Datenpunkt ist immer schreibgeschützt, unabhängig von inputReadOnly.

Darstellung Datum/Zeit

displayType: 'time' zeigt einen Zeit-Datenpunkt als Uhrzeit und/oder Datum. Zeitstempel (Sekunden/Millisekunden), ISO-Zeitangaben und HH:mm werden automatisch erkannt; nicht lesbare Werte zeigen . Gilt auch für die dynamische Liste.

FeldStandard
timeFormattimerelative (vor 5 Min) · time (14:32) · time-sec · date (01.08.2026) · date-long (Samstag, 1. August 2026) · datetime · datetime-sec · custom
timePatternToken-Muster bei custom, z. B. EEEE, dd.MM. HH:mm

Tokens: HH mm ss · hh · dd MM yyyy yy · EEEE (Wochentag) · EE · MMMM (Monat) · ww (KW)

Darstellung Datumswähler

displayType: 'datepicker' macht die Zeile zum Datums-/Zeitwähler — dieselben Möglichkeiten wie das Datumswähler-Widget, nur pro Listenzeile. Der gewählte Wert wird im Ausgabeformat in den Datenpunkt geschrieben. Im Badges-Layout ist kein Platz für die Felder — dort steht der gesetzte Wert als Text. Gilt auch für die dynamische Liste.

FeldStandard
dateInputFormatpickerpicker (Datums-/Zeitwähler) · custom (Feld laut dateInputPattern)
dateInputPatternwie dateOutputPatternMuster bei dateInputFormat: custom, z. B. MM.yyyy
dateTimeOnlyfalsenur Uhrzeit, ohne Datum
dateShowTimefalsezusätzliches Uhrzeit-Feld zum Datum
dateOutputFormattimestamp_mstimestamp_ms · timestamp_s · iso · date · datetime_local · de_date · de_datetime · time_hhmm · time_hhmmss · custom
dateOutputPatterndd.MM.yyyyMuster bei dateOutputFormat: custom

Muster-Tokens: dd MM yyyy yy HH hh mm ss. Welches Auswahlfeld das Eingabe-Muster rendert (Kalender, Monatswähler, Uhrzeit, Textfeld mit eigener Auswahlliste) steht beim Datumswähler.

Nur Anzeige eines Zeit-Datenpunkts, ohne Schreiben: displayType: 'time'.

Zweite Zeile (zusätzliche Datenpunkte)

Dialog Datenpunkte verwalten → Detail-Editor → Abschnitt Zweite Zeile. Jeder Eintrag kann weitere Datenpunkte (entries[].subDps[]) in einer zweiten Zeile unter dem Haupt-Datenpunkt zeigen — Batterie, Signalstärke, Sollwert, Laufzeit. Nur Anzeige: kein Schalter, kein Regler, kein Schreiben.

Die Zeile hat drei Plätze — links, mitte, rechts. Mehrere Datenpunkte am selben Platz stehen in Konfigurationsreihenfolge nebeneinander.

Zwei Wege zum Hinzufügen, die Auswahl ist nicht auf das Gerät der Zeile beschränkt:

Schaltfläche
+ DP des Geräts (n) …Datenpunkte desselben Geräts als Kurzauswahl
+ Beliebiger DP …Objektbaum — jeder Datenpunkt aus ioBroker, auch von einem anderen Gerät oder Adapter

Die ID lässt sich außerdem direkt ins Feld tippen.

FeldStandard
idDatenpunkt-ID
sourcevaluevalue · lastChange · lastUpdate — Zeitstempel statt Wert
alignleftleft · center · right
labelText vor dem Wert; leer = nur Wert
iconLucide-Icon / Iconify-ID vor dem Text
unitaus dem ObjektEinheit hinter dem Wert (entfällt bei Zeit-Formatierung)
decimals / numberFormatglobalDezimalstellen und Tausendertrennung
fontSize9px
color--text-secondaryTextfarbe
valueTransform / valueFactor / valueOffset / valueTimeFormat / valueTimePatternListeeigene Wert-Umrechnung pro Zusatz-Datenpunkt

Zusätzlich pro Datenpunkt der zweiten Zeile:

Feld
Werte-Zuordnung (states)Tabelle Wert → Text, optional mit Icon und Farbe — z. B. trueONLINE. Ersetzt den Werttext; die Einheit entfällt dann
Bedingungen (conditions)dieselben Regeln wie je Zeile, nur für diesen einen Wert

Die Werte-Zuordnung ist dieselbe Tabelle wie beim Darstellungstyp Zustände und wirkt an beiden Stellen gleich.

Zeitstempel statt Wert

Schaltfläche + Letzte Änderung, oder am vorhandenen Datenpunkt Anzeigen umstellen. Der Zeitstempel ersetzt den Wert an diesem Platz — die zusätzliche Zeile unter dem Wert schaltet dagegen Letzte Änderung am Eintrag.

Option
sourcelastChange = letzte Wertänderung (lc) · lastUpdate = letzter Schreibvorgang (ts)
id leerDatenpunkt der Zeile — kein zweiter DP nötig
valueTimeFormatStandard relative (vor 5 Min); sonst time · date · datetime · custom

Einheit, Dezimalstellen und Werte-Zuordnung entfallen. Der Tooltip zeigt den genauen Zeitpunkt.

Layouts default · card · compact zeigen die zweite Zeile. Das Badges-Layout (minimal) nicht — dort ist eine Zeile eine Pille. Die dynamische Liste kennt dieselben Felder, zusätzlich als Vorlage für alle Einträge.

Bedingungen je Zeile

Regeln, die auf einen Wert reagieren und Farbe, Icon oder Text einer Zeile ändern. Zwei Orte, gleiche Regeln:

OrtGilt für
Dialog Datenpunkte verwalten → Tab Bedingungen (rowConditions)alle Zeilen
Detail-Editor → Abschnitt Bedingungen (entries[].conditions)nur diese Zeile

Die listenweiten Regeln laufen zuerst, die des Eintrags danach — pro Eigenschaft gewinnt die letzte. Ausblenden ist absorbierend.

Feld
targetrow (Standard) · name · value · icon — worauf die Regel wirkt
clauses / logicwie bei den Widget-Bedingungen, inkl. Vergleich gegen einen zweiten Datenpunkt
color · bg · iconColorTextfarbe · Zeilenhintergrund (nur row) · Icon-Farbe
iconanderes Icon, solange die Regel greift
iconSizeIcon-Größe in px, solange die Regel greift; leer lässt die eingestellte Größe
fontSizeTextgröße in px, solange die Regel greift; leer lässt die eingestellte Größe
textersetzt den angezeigten Text; die Einheit entfällt dabei
bold · italicSchriftschnitt
effectpulse · blink — lässt das Element pulsieren bzw. blinken
hideElement ausblenden

Eine Regel auf row gibt Textgröße, Textfarbe, Fett/Kursiv sowie Icon, Icon-Farbe und Icon-Größe an Name, Wert und Icon weiter; Hintergrund und Ausblenden bleiben bei der Zeile. Eine Regel auf einen einzelnen Teil gewinnt gegen sie.

Auf value wirken Textgröße, Textfarbe und Schriftschnitt in jeder Darstellung: auch auf die Schalter-Beschriftung, die Zustands- und Kontakt-Pille, die Rollen-Anzeige eines Sensors, den Wert von Schieberegler und Stepper sowie die Datums- und Text-Felder. Ohne Werttext — Umschalter ohne Beschriftung, Rollladen-Tasten, Wert-Tasten, Taster — gibt es nichts zu formatieren.

Datenpunkt einer Bedingung

Schreibweisebedeutet
{dp} (leer)Wert der Zeile selbst
hm-rpc.0.Gerät.UNREACHgenau dieser Datenpunkt, in jeder Zeile derselbe
{{parent}}.UNREACHNachbar-Datenpunkt der jeweiligen Zeile
{{dp}} · {{name}}vollständige ID bzw. letztes Segment der Zeile

Die doppelten Klammern sind dieselben Platzhalter wie in der zweiten Zeile. Zeilen, deren Datenpunkt einen Platzhalter nicht beantworten kann (kein Elternstrang), überspringen die Regel — statt gegen den wörtlichen Text zu vergleichen.

Beispiel

{{parent}}.UNREACH ist wahr → target: icon, Icon CloudOff, Icon-Farbe rot. Eine Regel, jede Zeile prüft ihr eigenes Gerät.

Wert-Umrechnung / Zeit

Der Button neben dem Datenpunkt-Feld (Dialog Datenpunkte verwalten → Abschnitt Datenpunkt) rechnet den Wert nur für die Anzeige um und/oder formatiert ihn als Uhrzeit/Datum — wie bei der Wert-Anzeige. Der Datenpunkt bleibt unverändert. Gilt auch für die dynamische Liste.

FeldStandard
valueTransformPreset-Id, custom oder none (schaltet die globale Umrechnung für diesen Eintrag ab)
valueFactor / valueOffset1 / 0Anzeige = Wert × Faktor + Offset
valueTimeFormatrelative · time · time-sec · date · date-long · datetime · datetime-sec · custom
valueTimePatternToken-Muster bei custom, z. B. EEEE, dd.MM. HH:mm

Presets: Sekunden → Minuten/Stunden · ms → s · Wh → kWh · W → kW · Bytes → KB/MB/GB · 0..1 → % · °C → °F.

Wirkt auf den angezeigten Werttext, die Farbschwellen und die Statistikzeile — nicht auf Schalter, Regler, +/− und Eingabefeld, die ihren Wert zurückschreiben. Bei aktiver Zeit-Formatierung entfällt die Einheit. Ohne eigene Einstellung gilt die globale Umrechnung der Liste (Widget bearbeitenWerte & Farben).

Layouts

Default

Volle Zeilen mit Label, optionalem Raum/ID und Wert rechts — für Standardlisten.

Card

Kacheln im Raster (auto-fill, min. 90px) mit Label oben und Wert zentriert.

Compact

Zweispaltiges, dichtes Gitter — für viele Einträge auf wenig Platz.

Minimal

Inline-Pills mit Label und Wert, umbrechend — für kompakte Status-Anzeigen.

Einstellungen

Im Editor unter Widget bearbeiten. Die Datenpunkte selbst liegen dahinter im eigenen Dialog Datenpunkte verwalten; im Panel bleiben nur die Optionen der Liste als Ganzes, in aufklappbaren Abschnitten.

Datenpunkte verwalten

Links alle Einträge, rechts die vollständige Konfiguration des ausgewählten. Der Dialog ist verschiebbar, größenveränderbar und merkt sich seine Größe.

Tab
EinträgeDatenpunkte hinzufügen, per Drag & Drop sortieren, löschen; rechts der Detail-Editor (ID, Icon, Bezeichnung, Format, Darstellung, Farben, Schwellen). Ab 8 Einträgen mit Filterfeld
Klick auf ZeileDetail-Popup beim Klick auf eine Zeile (siehe unten)
NamenNamensmuster und Namens-Filter

Das Icon vor dem Namen wird je Datenpunkt im Abschnitt Beschriftung gesetzt (entries[].icon, Lucide / Iconify-ID), die Größe daneben in px (entries[].iconSize, Standard 11, im Default-Layout 13). Die Größe gilt für jede Darstellung; das Icon eines Schalters hat mit entries[].switchIconSize eine eigene.

Der Detail-Editor rechts ist in Abschnitte gegliedert: Datenpunkt · Beschriftung · Darstellung (mit dem gewählten Typ als Kennzeichen, darin alle typabhängigen Felder) · Zweite Zeile · Bedingungen · Farbschwellen · Verhalten (letzte Änderung, Klick auf Zeile).

Klick auf Zeile

Dialog Datenpunkte verwalten → Tab Klick auf Zeile. Ein Klick auf eine Listenzeile öffnet ein Detail-Popup zu genau diesem Datenpunkt. Klicks auf Schalter, Regler oder Buttons in der Zeile schalten weiterhin direkt.

OptionStandard
rowClickActionAusauto · { "kind": "none" } (aus) · vollständige Klick-Aktion
rowPopupTitleZeilennameTitel des Popups
rowPopupWidth / rowPopupHeightautopx
rowPopupAutoCloseSecView/GlobalSekunden, 0 = aus

Standard ohne eigene Einstellung: Aus — Zeilen reagieren nicht auf Klicks. Eigene Aktion startet mit Popup: Alle Datenpunkte des Geräts, Umfang Gleicher Strang (Elternobjekt), Nur relevante Datenpunkte an — entspricht { "kind": "popup-dps", "scope": "parent", "relevantOnly": true }. Automatisch (Popup nach Rolle) muss aktiv gewählt werden.

Automatik nach Rolle des Datenpunkts:

RollePopup
level.dimmer · level.* · *dimmer* · *brightness*Dimmer
switch · switch.* · sensor.* · indicator.* · buttonSchalter
level.blind · *shutter* · *cover* · *awning*Rollladen
level.temperature · heating*Thermostat
media.* (außer media.volume)Schalter
sonstStandard: Datenpunkt (Wert, Steuerung, ID, letzte Änderung)

Zugewiesene Widget-Typ-Standards gelten auch hier — wer dem Typ switch eine eigene View zuweist, bekommt sie auch in der Liste.

Pro Datenpunkt lässt sich das im Detail-Editor überschreiben (entries[].clickAction):

Modus
Wie ListeÜbernimmt die Listen-Einstellung — der Normalfall
AutomatischErzwingt die Ableitung aus der Rolle, auch wenn die Liste auf Aus oder eine eigene Aktion steht
AusDiese Zeile reagiert nicht auf Klicks
Eigene AktionVollständige Klick-Aktion nur für diese Zeile — eine Zeile öffnet ein Widget-Popup, die nächste springt in einen anderen Tab. Die Popup-Größe kommt weiterhin aus der Listen-Einstellung

Popup-Titel und Titelzeile lassen sich zusätzlich pro Datenpunkt setzen — in jedem Modus außer Aus:

FeldStandard
entries[].popupTitleListen-Titel, sonst ZeilennameÜberschrift des Popups nur für diese Zeile
entries[].popupHideTitlewie Listetrue = Titelzeile aus · false = an, auch wenn die Liste sie ausblendet

Navigations-Aktionen (Sprung: Tab · Externe URL · Widget) springen direkt, statt ein Popup zu öffnen.

Badges-Layout

Ein Badge ist die ganze Zeile. Bei Automatisch schalten schaltbare Badges weiterhin, das Popup übernimmt nur Badges ohne eigenen Schalter (Sensoren, schreibgeschützte und numerische Werte). Eine ausdrücklich gesetzte Aktion gewinnt dagegen auch bei schaltbaren Badges.

Trennlinien (Abschnitte)

Dialog Datenpunkte verwalten → Button Trennlinie unter der Liste. Eine Trennlinie ist ein eigener Eintrag: sie wird wie ein Datenpunkt hinzugefügt, per Drag & Drop an die gewünschte Stelle gezogen und mit demselben ✕ gelöscht. Sie rendert eine Linie über die volle Breite, wahlweise mit Überschrift, und eröffnet damit einen Abschnitt. Wirkt in allen Layouts außer custom.

Auswählen öffnet rechts den Editor:

FeldStandard
dividertrue kennzeichnet die Zeile als Trennlinie (die id ist dann synthetisch, z. B. divider:1)
dividerLabelÜberschrift; leer = nur Linie
dividerAlignleftleft · center · right
dividerFontSize10px
dividerColor--text-secondaryTextfarbe
dividerLinetruefalse = nur Überschrift, ohne Linie

Verhalten:

Sortierungwirkt innerhalb eines Abschnitts — die Abschnitte selbst bleiben stehen
Wert-Filter / Suchebleibt von einem Abschnitt keine Zeile übrig, entfällt seine Trennlinie
Positioneine Linie ohne Überschrift ganz oben sowie eine Trennlinie ohne Zeilen dahinter werden unterdrückt
Zählung, Summe, Gruppen-Aktionignorieren Trennlinien vollständig

Unabhängig davon ist showDividers — die dünne Linie zwischen je zwei Zeilen.

Die dynamische Liste hat das bewusst nicht: dort kommen die Zeilen aus einem Filter und werden neu sortiert, eine Trennlinie an fester Stelle wäre nach der nächsten Sortierung falsch. Zum Gruppieren dient dort groupByRoom.

Namen

Dialog Datenpunkte verwalten → Tab Namen. Ein Muster für alle Zeilen; leer = zusammengesetzter Name des Datenpunkts.

Platzhalterergibt
<Raum>Raum des Datenpunkts
<Gerät>Geräteteil des Namens
<DPName>letztes Segment der ID
<Name>vollständiger Name
<ID>vollständige Datenpunkt-ID
{{parent}} · {{parent2}} · {{dp}} · {{name}}ID-Bausteine der Zeile, wie in der zweiten Zeile
[[id]]Wert dieses Datenpunkts, live

Steht der Anzeigename in einem eigenen Datenpunkt, kombiniert man beides:

MusterErgebnis
[[{{parent}}.DeviceName]]Wert des Nachbar-Datenpunkts DeviceName je Zeile
Steckdose [[{{parent}}.DeviceName]]mit festem Text davor
[[shared.0.Ort]] <DPName>absolute ID — derselbe Wert in jeder Zeile

Ein [[…]] ohne Wert fällt auf den normalen Namen zurück. nameFilters (Button Namens-Filter) schneidet die <…>-Platzhalter zurecht, mit Vorschau; Regeln auf Ergebnis laufen auf dem fertigen Label — also erst nachdem [[…]] seinen Wert hat.

OptionStandard
namePatternNamensmuster
nameFiltersRegelliste für die Platzhalter-Texte

Anzeige

OptionStandard
showTitletrueTitel anzeigen
showIcontrueIcon anzeigen
iconListLucide-Icon
iconSize20px
titleAlignleftleft · center · right
showCounttrueAnzahl hinter dem Titel
showIdfalseDatenpunkt-ID unter dem Label (nur default)
showRoomfalsezugeordnete Räume unter dem Label (nur default)
showDividerstrueTrennlinien zwischen Einträgen
wrapTextfalselange Labels/Werte umbrechen statt abschneiden
labelMinPercent50min. Breite des Labels in % (nur bei wrapText)

Werte & Farben

OptionStandard
trueText / falseTextglobale AN/AUS-Texte (Eintrag überschreibt)
activeColor--accent-greenTextfarbe bei AN
inactiveColor--text-secondaryTextfarbe bei AUS
activeBg / inactiveBgHintergrund des Eintrags je Zustand
valueTransform / valueFactor / valueOffsetglobale Wert-Umrechnung (Eintrag überschreibt)
valueTimeFormat / valueTimePatternglobale Zeit-Formatierung (Eintrag überschreibt)
colorThresholdsglobale Farbskala aus [Schwelle, Farbe], z. B. [[17,"#ef4444"],[100,"#22c55e"]] — der Wert nimmt die Farbe der ersten Schwelle, unter der er liegt, oberhalb der letzten bleibt deren Farbe. Reihenfolge beliebig. Pro Datenpunkt überschreibbar (Datenpunkte verwaltenFarbschwellen)

Filter

Frontend-Filter als Chip im Header; backendValueFilter steuert nur die Editor-Vorschau. Neben den drei eingebauten Modi bietet das Menü die eigenen Filter (siehe Eigene Filter) und ein Freitextfeld.

OptionStandard
valueFilterallall · active · inactive · ID eines eigenen Filters
filterActiveLabelNur aktiveChip-Text
filterInactiveLabelNur inaktiveChip-Text
hideBuiltinFiltersfalseNur aktive/Nur inaktive aus dem Menü nehmen
hideFilterSearchfalseFreitextfeld im Menü ausblenden
filterSearchPlaceholderSuchen …Platzhalter des Freitextfelds
hideFilterButtonfalseFilter-Chip ausblenden
backendValueFilterallVorschau-Filter im Editor

Freitext trifft Name, Datenpunkt-ID, Wert und alle Werte der zweiten Zeile.

Eigene Filter

Panel Filter & SortierungEigene Filter. Jeder Filter erscheint als eigener Eintrag im Filter-Menü; jede Regel prüft den Haupt-Datenpunkt, die weiteren Datenpunkte der zweiten Zeile oder beide. Das Wertefeld ist Freitext mit Auswahlliste der aktuell vorhandenen Werte; der Dialog zeigt live, wie viele Einträge ein Filter trifft.

filterPresets[]Standard
idwird in valueFilter / backendValueFilter referenziert
labelText im Filter-Menü
iconIconify-ID / Lucide-Name im Menü
logicANDAND (alle Regeln) · OR (eine genügt)
rules[]siehe unten
rules[]Standard
sourcemainmain · sub (weitere DPs) · both · name (angezeigter Zeilenname)
subKeyleer = alle weiteren DPs; sonst Bezeichnung oder DP-Endung (BATTERY)
operator== != > >= < <= contains enthält nicht true false active inactive empty notEmpty
valueVergleichswert (entfällt bei active/inactive/true/false/empty/notEmpty)
everyfalsebei mehreren geprüften Werten müssen alle passen

Der Zeilenname ist der angezeigte — ein [[…]] im Namensmuster ist bereits durch seinen Wert ersetzt, wenn eine Regel ihn sieht. Damit lassen sich Zeilen auch ausschließen, was das Suchfeld nicht kann: Name · enthält nicht · Offline blendet jede Zeile aus, in deren Namen „Offline" steht.

enthält nicht ist eine verneinende Regel und gilt für alle geprüften Werte: trifft einer zu, fällt die Zeile weg. Der Schalter „alle müssen passen" hat darauf keine Wirkung.

Sortierung

Panel Filter & SortierungSortierung. Eine Kette von Kriterien: das erste entscheidet, die folgenden nur bei Gleichstand. Der Dialog zeigt live die daraus entstehende Reihenfolge.

sortRules[]Standard
sourcevaluevalue (Wert) · name (angezeigter Zeilenname) · sub (Datenpunkt der 2. Zeile)
subKeybei sub: Bezeichnung oder DP-Endung (BATTERY); leer = erster weiterer DP der Zeile
orderascasc · desc
modeautoauto · number · text · active · lastChange · lastUpdate
emptylastlast · first — wohin Zeilen ohne Wert kommen
mode
autoZahlen numerisch, Text alphabetisch (Zahlen darin numerisch)
numberText wird zur Zahl; was keine ist, gilt als ohne Wert
textrein alphabetisch — 10 steht damit vor 9
activeaktive (an / > 0) zuerst, desc dreht es
lastChangenicht der Wert, sondern wann er sich zuletzt geändert hat (lc)
lastUpdatewann der Adapter zuletzt geschrieben hat (ts) — auch ohne Wertänderung

lastChange / lastUpdate vergleichen den Zeitstempel statt des Werts. Welcher Datenpunkt gemeint ist, sagt weiterhin source: bei sub der in subKey gewählte Datenpunkt der zweiten Zeile, sonst der Datenpunkt der Zeile selbst. asc = älteste zuerst, desc = neueste zuerst. Zeilen, die noch nie gemeldet haben, gelten als ohne Wert und folgen empty.

Der Schlüssel in subKey ist die Bezeichnung des Datenpunkts oder das letzte Segment seiner ID — dieselbe Konvention wie bei den eigenen Filtern. Ein Vorlagen-Eintrag {{parent}}.BATTERY wird also als BATTERY angesprochen und in jeder Zeile gegen ihr eigenes Gerät aufgelöst.

Zeilen ohne Wert kommen in beiden Richtungen ans Ende (empty: last) — sonst startet jede Liste „schlechtester Akku zuerst" mit den Geräten, die gar keinen Akku haben.

Ohne Kriterium gilt die manuelle Reihenfolge aus dem Dialog Datenpunkte verwalten.

Sind Trennlinien gesetzt, wirkt die Sortierung innerhalb eines Abschnitts — die Abschnitte selbst bleiben in der konfigurierten Reihenfolge stehen.

Bestehende Dashboards

Die älteren Optionen sortBy / sortOrder / sortBy2 / sortOrder2 (none · label · value · sub:<Bezeichnung>) wirken unverändert weiter. Der Dialog zeigt sie als Kette an; die erste Änderung darin ersetzt sie durch sortRules[].

Summe

Summiert die numerischen Werte der sichtbaren Einträge unter dem Titel.

OptionStandard
showSumfalseSummenzeile anzeigen
sumLabelΣPrefix der Summenzeile
sumAlignleftleft · center · right
sumFontSize10px

Sammelschalter

Master-Steuerung im Header für alle Einträge.

OptionStandard
groupSwitchfalseSammelschalter anzeigen
groupActionTypeswitchswitch · dimmer · shutter · momentary
groupSwitchStyleslideslide · checkbox (nur switch)
groupDimmerOnValue100Schreibwert bei „alle an" (Dimmer)
groupExcludeIdsvon der Gruppenaktion ausgenommene Einträge

Zähler veröffentlichen

OptionStandard
publishCountfalsegefilterte Anzahl nach aura.0.lists.<id>.count schreiben