Skip to content

About

user interface for configuration and administration

Topics

Resources

Security policy

Stars

302 stars

Watchers

20 watching

Forks

Latest commit

 

History

5,413 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ioBroker.admin

Number of Installations Number of Installations NPM version

Test and Release Translation status Downloads

User interface for configuration and administration of ioBroker.

This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information on how to disable the error reporting, see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.

JSON config schema

The JSON config schema description can be found at JSON config schema.

Using common.localLink

  • %ip% - ioBroker ip address (address of the admin)
  • %secure% or %protocol% - read from native.secure the value and use http or https
  • %web_protocol% - looking for the first instance of web (e.g., web.0) and get native.secure from system.adapter.web.0
  • %instance% - instance of the adapter
  • %someField% - get someField from native of this adapter instance
  • %web.0_bind% - get native.bind from system.adapter.web.0
  • %native_someField% - get someField from native of this adapter instance

Scheduled restart

Some adapters are not stable, or the connection disappears after one or two days. To fix this, there is a scheduled restart setting. To activate scheduled restart, just define CRON condition when to restart adapter.

It is suggested to restart in the night, when no one uses the adapter, e.g. 0 3 * * * - at 3:00 every day.

Let's Encrypt Certificates

To manage and update, let's encrypt certificates you need to use iobroker.acme adapter.

You will have so-called "collections" of certificates. Each collection has its own domains. You can select in the configuration of the admin adapter if and which a collection to use.

Simple instance's settings page

The user has the possibility to limit the access to the instance configuration dialog. For that, the option "Allow access only to specific instances" must be activated. It could be found on the "Access to the instances" tab. Additionally, the allowed instances should be selected in the appeared configuration table.

If this option is disabled, the simple configuration page could be accessed under http://IP:8081/configs.html

AI assistant

The admin interface includes an AI assistant (the floating button in the lower-right corner). It can answer questions about your ioBroker system, recommend adapters for a device or service, and — in "Actions" mode — make changes after your explicit confirmation. The assistant must first be enabled in the admin instance settings (native.disableMcp must be off); then pick an AI provider, credential and model in the assistant settings dialog.

Using the assistant without an API key (external MCP client)

If you do not want to configure an AI provider/API key inside ioBroker, you can instead drive the assistant from an external AI client (Claude Desktop, Codex, Gemini CLI, …). The client connects directly to ioBroker through the MCP (Model Context Protocol) server.

Open the assistant and click the "Use without an API key" button (the cable icon in the header). The dialog walks you through three steps:

  1. Install the MCP server — install the iobroker.mcp adapter, ideally as a web extension of your web (or admin) instance. It exposes ioBroker's tools to any MCP-compatible AI client. The dialog shows whether the adapter is already installed.
  2. Add the MCP server in your AI client — register a new MCP server in your client using the URL shown in the dialog, e.g. http(s)://<host>:<port>/mcp. The dialog lists the actual endpoint(s) of your installation (the embedded admin endpoint and any web/mcp instances) together with a copy button.
  3. System prompt — the same dialog also shows the exact system prompt the built-in assistant uses, with a read-only/actions toggle and a copy button. It is intentionally not reproduced here; copy it from the dialog and paste it as the system/instructions prompt in your AI client to get the same behaviour.

Reverse proxy

The reverse proxy documentation can be found at Reverse proxy.

Used icons

This project uses icons from Flaticon.

ioBroker GmbH has a valid license for all used icons. The icons may not be reused in other projects without the proper flaticon license or flaticon subscription.

Older changelog

Changelog

WORK IN PROGRESS

  • (@GermanBluefox) Deleting an adapter in a multihost system deletes it also on the other running hosts that hold its package but no longer need it: each host is asked with getAdapterUsage (js-controller 8.0 and newer), which also knows the packages a host keeps for the web extension of an instance on another host. A host that does not run or does not answer keeps the package. iobroker del on the command line still deletes on its own host only
  • (@GermanBluefox) The dialog "Write value" shows how big a string or JSON value is
  • (@GermanBluefox) Fixed: in the dialog "Write value" the value type was empty for JSON values and the type "JSON/Object" did not open the JSON editor
  • (@GermanBluefox) Instances can get the log level "off" (no log at all, not even errors), if js-controller 8 runs on their host

8.3.13 (2026-11-15)

  • (@GermanBluefox) Two-factor authentication with an authenticator app: every user sets it up in the user menu (QR code, backup codes), the login page asks for the code, administrators can switch it off for other users in the user dialog
  • (@GermanBluefox) Updated @iobroker/webserver to 3.5.0: two-factor authentication (TOTP) for the login
  • (@GermanBluefox) Updated @iobroker/socket-classes to 2.11.0: a user with two-factor authentication cannot connect with the password alone (basic authentication or ?user=&pass=)

8.3.12 (2026-11-13)

  • (@GermanBluefox) Fixed: after "Check adapters for updates" or iobroker update, the adapter list shows when the repository was read and not when it was generated (#3729)
  • (@GermanBluefox) Updated @iobroker/json-config to 10.1.20: cron in the JSON config does not offer the wizard of schedules anymore, which wrote {} into the field
  • (@GermanBluefox) Updated @iobroker/gui-components to 10.4.6: the CRON dialog has the new mode "Hourly" for a fixed minute of every hour, does not overwrite a schedule that the simple mode cannot show and does not accept invalid values
  • (@GermanBluefox) Fixed: the adapter list does not scroll to the top when an adapter is installed
  • (@GermanBluefox) Overview shows a hint when a js-controller update is available (#3722, #1914)
  • (@GermanBluefox) Fixed: the repository time stamp is updated on the first click of "Check adapters for updates" (#3724)
  • (@GermanBluefox) Updated @iobroker/gui-components to 10.4.5: in the JSON config, customFilter of objectId with common.role as a string shows the matching objects and not all others
  • (@GermanBluefox) Updated @iobroker/json-config to 10.1.21: translate for text, also in tables (#3721)
  • (@GermanBluefox) Fixed: about 70 texts were not translated, e.g. "Invalid version of ... Required ... Current"; missing spaces in the Windows update commands of js-controller
  • (@GermanBluefox) Fixed: a single sign-on ignored "Stay logged in" and always kept the login for 30 days in the browser. Tokens of an earlier login are removed before the new ones are stored, so they cannot hide them
  • (@GermanBluefox) Updated @iobroker/webserver to 3.4.1: a disabled user cannot sign in with single sign-on anymore, like with a password (apart from admin)

8.3.11 (2026-11-07)

  • (@GermanBluefox) Fixed: in the file rights dialog, a "different" permission could not be set for all files
  • (@GermanBluefox) Updated @iobroker/json-config to 10.1.19: added the control diskSelector to select a file or a folder on the disk of the host where the instance runs (needs js-controller with CONTROLLER_READ_DISK_DIR)
  • (@krobipd) Fixed: saving the instance settings writes only the settings changed in the dialog, so a setting the adapter wrote into its native while the dialog was open (e.g. its device list) is no longer set back (json-config 10.1.19)
  • (@GermanBluefox) Updated @iobroker/socket-classes to 2.10.3: the host commands readDiskDir and deleteDiskFile need the permission for cmdExec

8.3.10 (2026-11-06)

  • (@GermanBluefox) Fixed: "REAUTHENTICATE!" log flood (#3110)
  • (@GermanBluefox) Fixed: the "connection lost" overlay appears only after 2 seconds; loading a tab shows a spinner instead of it
  • (@GermanBluefox) Updated @iobroker/gui-components to 10.4.3: the loader uses the background of the theme
  • (@GermanBluefox) Updated @iobroker/json-config to 10.1.17: coordinates shows the position on an OpenStreetMap with map: true, a click on the map or dragging the marker sets it, mapStyle chooses the colors and readOnly only shows it; custom shows web components of @iobroker/web-components (webComponent); the text patterns know _instance. Admin provides the map, loaded only when a configuration shows one

8.3.9 (2026-11-05)

  • (@GermanBluefox) Changed: the dialog "Update all adapters" shows the overall progress and the result of each adapter
  • (@GermanBluefox) Added: tabs without permission show a lock instead of errors
  • (@GermanBluefox) Added: without write rights, instances, enums, users, files, objects and system settings are read-only
  • (@GermanBluefox) Updated @iobroker/json-config to 10.1.13: the configuration dialogs use the animated icons: upload with progress and result, trash cans, copy with a check mark instead of the alert "Copied", sendTo and setState confirm the result in the button, rows of tables light up and slide out; fixes for fileSelector, image with base64 and the CSV import into an empty table
  • (@GermanBluefox) Updated @iobroker/gui-components to 10.4.1: animated trash cans, upload, copy and reload symbols in the file and object browser, placeholder rows while the objects are loading, UploadImage shows the upload
  • (@GermanBluefox) Added: the rights of each object itself (owner, group, everybody) are checked as well

License

The MIT License (MIT)

Copyright (c) 2014-2026 bluefox dogafox@gmail.com

Full license text

About

user interface for configuration and administration

Topics

Resources

Security policy

Stars

302 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages