Choose how custom values appear
Turn a value from a data connection into a prominent number, a range bar or a status matrix on a Custom block.
A Custom block showing a battery at 76 % as a bar three-quarters full, and a matrix of door and alarm states with problems listed first.
- A working data connection: an HTTP API, a webhook, MQTT, Power BI or MCP. Choose a connection compares them. HTTP API connections support bearer tokens and API keys.
- For local home values, the native Home Assistant connection instead: see Show Home Assistant values.
Follow these steps in your own Denframe. This website never connects to your household, your accounts or your devices, and never asks for your credentials.
Open the connection’s data
In Studio, open Sources, then Custom. For a new connection, choose Add a custom source and follow its guide up to the Choose data stage. For one you have, open its source and choose its edit action: Edit connection and data for an HTTP API or MCP source (test it again, then go to Choose data), Edit selected data for a webhook, Edit MQTT connection and data for MQTT, or Edit or reconnect Microsoft for direct Power BI.
Each value the connection offers is an output with its own Display name, fields and Presentation. Pick the one you want to change.
Set up the fields
Edit the existing field first. Set its Value type, choose its value in Available fields (or type a JSON Pointer such as
/batteryor/door/statusunder Advanced field path), and give it a Label.An output holds one to eight fields: add one with Add field only when you need it, and configure every field you add. Changing a field’s type sets the output back to List.
A presentation can be chosen only once a field of its type exists: Hero number needs a Metric field, Bars a Range field and Status matrix a Status field. An MQTT connection offers Metric, Range, Status and Text fields.
Show one number large
Use a Metric field with its label, value path and an optional Unit and Decimal places (optional). Under Presentation, choose Hero number, then pick the field in Hero value.
Denframe shows that value prominently. If it is missing, Denframe doesn’t substitute a different metric.
Show readings as bars
Use a Range field with a numeric value path, Minimum and Maximum, then choose Bars. A battery value of
76with bounds 0–100 fills 76 % of the bar.Send a JSON number within the bounds. A string such as
"65%"isn’t a number; a plain numeric string such as"65"is read only with Convert numeric text on. Denframe never shows part of a value: when a selected field is missing, not a number or outside the bounds, the preview reports the selected values as unavailable or invalid, and a live reading like that isn’t shown and its source reports the problem.Show states as a status matrix
Add a Status field for each thing to watch, then choose Status matrix. If your producer sends its own words, map them under Incoming value meaning ok, warning and critical. Without a mapping, exactly
ok,warningandcriticalare accepted.Every state must be present and recognised: a missing or unmapped state makes the preview report the selected values as unavailable or invalid, and a live reading like that isn’t shown and its source reports the problem. Critical and warning cells come before healthy ones, with words and symbols beside the colour. Detail path (optional) adds a line of detail to a cell.
Preview it and put it on a block
Choose Preview selected values, pick the value in Value to show and look at it in TV 16:9 and Portrait. For a new connection, tick the dashboard under Show on and choose Add source. For one you have, choose Save; blocks already showing the value keep it, and you can select another Custom block in Studio and choose this source and value.
An output with no presentation chosen shows as a list. Presentations adapt to the room a block has: bars show three readings in a compact block and six in a full one; a matrix uses up to three columns and two or three rows, and counts what it leaves out as “+N more”. A smaller block falls back to a one-line summary; a block with no room is left out.
The presentation belongs to the output, so it applies wherever that value is used. Cast, panel and thumbnail previews use the same renderer.
Check it worked
The Custom block shows the value the way you chose: a large number, bars filled to the reading, or a grid of states with problems first. Check it in Studio’s preview of the screen it is meant for.
For missing values, follow connection troubleshooting before changing the layout.

If it doesn’t work
A presentation can’t be chosen
It needs a field of its type: a Metric field for Hero number, a Range field for Bars, a Status field for Status matrix.
The preview refuses a Range field
The value is missing, isn’t a number or is outside Minimum and Maximum. Send a JSON number, or turn on Convert numeric text for a plain numeric string; a unit inside the string, such as 65%, isn’t accepted.
The preview refuses a Status field
The incoming state is missing or isn’t mapped. Map your producer’s words under Incoming value meaning, or send ok, warning or critical.
The block shows a single line instead of the bars or grid
The block is too small for the full presentation. Give it more room on the grid, or preview it on the screen it is meant for.