Aura is a modern visualization dashboard for ioBroker.
Beta – The project is under active development. Bugs and breaking changes are possible.
- Flexible grid layout with drag & drop
- Multiple tabs / pages per dashboard
- Themes: Dark, Light, Catppuccin (Latte, Frappé, Macchiato, Mocha), Apple Liquid Glass and more
- Full admin interface – no YAML, no JSON editing required
- Responsive – works on tablet, smartphone and desktop
| Widget | Description |
|---|---|
| Switch | On/Off toggle |
| Dimmer | Brightness slider |
| Thermostat | Target / actual temperature |
| Gauge | Round gauge with color zones |
| Fill level | Tank / water / gas level – vertical or horizontal |
| Chart | Line, bar, pie chart (ECharts) |
| Calendar | iCal / Google Calendar |
| Weather | Current weather data |
| Clock | Analog or digital |
| iFrame / Camera | Embed any URL |
| EVCC | Wallbox, solar, battery storage |
| Waste collection | Which bin needs to go out? |
| Group | Nested widgets |
Install Aura via ioBroker Admin:
- Open ioBroker Admin
- Go to Adapters
- Search for Aura and install it
After installation, create a new Aura instance (if not done automatically).
Open ioBroker Admin → Instances → web.0 → Settings and set:
| Setting | Value |
|---|---|
| socket.io | integrated |
Important: The default value "socket.io" uses the separate
iobroker.socketioadapter on port 8084. Aura requires socket.io on the same port as the web adapter (integrated mode) so that both plain HTTP access and HTTPS via reverse proxy work with a single connection endpoint.
The dashboard is available at:
http://<iobroker-ip>:8082/aura/
The admin interface at:
http://<iobroker-ip>:8082/aura/#/admin
Aura works behind a reverse proxy (e.g. nginx, Nginx Proxy Manager, Caddy) with a
valid TLS certificate (e.g. Let's Encrypt). The web adapter socket.io must be set to integrated
(see Step 3) so that /socket.io/ and /aura/ are served from the same port.
| Field | Value |
|---|---|
| Forward Scheme | http |
| Forward Hostname / IP | <iobroker-ip> |
| Forward Port | 8082 |
| Websockets Support | enabled |
No additional custom nginx directives are needed when socket.io is set to integrated.
When the web adapter itself terminates TLS (self-signed certificate), browsers block programmatic
WebSocket connections (wss://) from JavaScript even after the user accepted the HTTPS warning in
the browser. A reverse proxy with a CA-signed certificate (e.g. Let's Encrypt) avoids this
restriction entirely.
Please report directly as a GitHub issue:
github.com/hdering/ioBroker.aura/issues
# Install dependencies
npm install
# Start dev server (connects to ioBroker via proxy)
npm run dev
# Production build
npm run build:adapter- Datapoint auto-fill: fix title and unit lookup in manual widget dialog (was patching dead code); fix
y:nullReactGridLayout warning (Infinity→9999); fix chartResponsiveContainer0×0 warning
- Datapoint auto-fill: title and unit now also resolved when typing the ID directly in the edit dialog or using the manual wizard
- Datapoint picker: auto-fill widget title from
common.namewhen the title field is still empty
- Header datapoint and value widget: optional HTML template with
{dp}placeholder for rich value formatting (e.g.<b style="color:var(--accent)">{dp}</b> °C)
- Calendar: automatic retry on fetch timeout (5 s delay, 1 retry); final errors logged to ioBroker via
aura.0.calendar.clientError
- iFrame widget: "Fill tab" option – widget fills entire tab area permanently; toggle is disabled when other widgets are present in the tab (with hint)
- iFrame widget: fullscreen button (hover to reveal); click fills viewport, Esc or X to close
- Frontend: optional admin link button in header, configurable in Settings
- Editor: widget ID moved to dialog title bar in parentheses next to "Widget Bearbeiten"; edit dialog is draggable (no backdrop)
- Chart widget: runtime time range selector buttons (1h/6h/24h/7d/30d) in frontend
- Gauge widget: min/max labels moved outside the arc, centred at endpoints
- CSS: add
aura-header,aura-tabs,aura-page-{slug}classes anddata-tabattribute - Editor: show widget ID at the bottom of the edit dialog
- Settings: merge "This Device" and "All Clients" into one card with inline rename; fix name not written to ioBroker DP; create intermediate
.info/.navigatechannels
- Chart widget: configurable custom time range; remove stray colon from tooltip
- Semantic CSS classes:
aura-page,aura-tab-{slug},aura-widget-{id},aura-widget-type-{type}; clock CSS classes - Theme & CSS: configurable grid gap and widget inner padding sliders
- CSS-variable reset button always visible, disabled when nothing is overridden
aura.0.config.dashboard: remove double-stringify; store as pretty-printed JSON object- Configurable horizontal snap width (
gridSnapX) in Settings for finer widget positioning - Connection indicator: green dot for 2 s on startup; red dot on disconnect (even when badge is hidden)
- Fix: trailing comma in
io-package.jsonnews section caused CI JSON parse error
- Clock widget custom format: add
EEtoken for abbreviated weekday (e.g.Mo)
- Fix W5039: remove
admin/words.js– jsonConfig adapters useadmin/i18n/directly
- Fix W5022: generate
admin/words.jsfrom i18n JSON files; fix empty Russian translation file
- Fix W5022: add
translatescript topackage.jsonfor i18n support
- Fix W5022: migrate jsonConfig to i18n – use translation keys and
admin/i18n/for all 11 languages
- Fix W3009: concurrency group set to
${{ github.ref }} - Fix W3019: switch deploy to npm trusted publishing (remove npm-token)
- Fix W4042: extend jsonConfig
fileMatchin.vscode/settings.json
- Fix W4042: extend jsonConfig
fileMatchin.vscode/settings.jsonto include all jsonConfig variants
- Move
main.jsto root directory per ioBroker adapter convention
- Adapter checker fixes: use
testing-action-deploy@v1, ESLint flat config,admin/i18n/, jsonConfig schema URL, dependabot cooldown
- Fix E2004: remove 0.4.13 from news (never published to npm due to CI failure)
- Fix invalid JSON in io-package.json (trailing comma after last news entry)
- Stable release: adapter checker compliance, src-vis convention, release script, i18n in npm package
- Fix E2005: restore 0.3.98 (npm latest) in news section
- Add
releasescript topackage.jsonfor iobroker.dev release management
- Add
src-vis/i18n/topackage.jsonfiles to include translations in npm package
- Rename frontend source directory from
src/tosrc-vis/per ioBroker adapter convention
- Fix adapter checker: correct news section, fix vscode schema URL, add .releaseconfig.json
- Fix invalid JSON in io-package.json (trailing comma after last news entry)
- Fix npm ci: add .npmrc with legacy-peer-deps=true to resolve peer dependency conflicts in CI
- Beta release for testing: adapter checker compliance and CI pipeline fully green
- Fix CI: upgrade @typescript-eslint to v8, add no-require-imports override for CommonJS, fix ternary-as-statement lint errors
- Adapter checker compliance: i18n for jsonConfig, node: prefix for built-ins, workflow deploy job, dependabot, react-resizable dependency
- Adapter checker fixes: add globalDependencies admin >=7.6.17, remove unpublished news entry, add jsonConfig size attributes, add workflow tag trigger
- Fix CI pipeline: add test:package and test:integration scripts, resolve all ESLint warnings
- Adapter checker compliance: node >=20, trim news to 7 entries, remove allowInit, use ioBroker standard workflow actions, fix package dependencies
- Add configurable default tab per layout – set which tab opens when the dashboard URL has no tab slug
- Replace hardcoded personal domain in settings placeholder with generic example
- Fix overview tile titles: use localLinks
namefield (ioBroker uses name, not key, as the visible title)
- Fix overview tile names: use full replacement instead of deep-merge so old keys ("Dashboard"/"Admin") are removed
- Fix restart loop when custom URL is set (only write localLinks when value actually changed)
Older entries: see CHANGELOG_OLD.md
MIT License
Copyright (c) 2026 Hermann Dering aura@dering-online.de
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.