Skip to content

pavelnil/Elementum-Profile-Switcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Elementum Profile Switcher

Description

A Kodi addon for creating, editing, and quickly switching between configuration profiles for two addons:

  • plugin.video.elementum (Elementum)
  • script.elementum.burst (Burst)

It allows you to save different sets of settings (e.g., for different users, devices, purposes, network environments) and apply them with one click without manually navigating through settings menus.

Features

  • Create profiles – saves current values of all Elementum and Burst settings into a separate JSON file.
  • Apply profiles – restores saved settings from a profile with the ability to selectively enable/disable individual parameters.
  • Edit profiles:
    • Enable/disable any settings (enabled flag determines if the setting is applied).
    • Change setting values considering their type (text fields, boolean switches).
    • Bulk operations: "Select all", "Deselect all", "Delete unselected".
  • Update profile – replaces setting values in an existing profile with the current ones from Elementum/Burst while preserving the enabled flags. Useful for syncing after manual changes.
  • Profile management – rename and delete profiles.
  • Automatic Elementum reload – after applying a profile, an HTTP request to /reload is sent so Elementum picks up the new settings without restarting Kodi.
  • Logging – all actions are written to the Kodi log (INFO/ERROR/DEBUG levels) for easier debugging.

Requirements

  • Kodi 18 (Leia) or newer (with Python 3 support)
  • Installed addons:
    • plugin.video.elementum (Elementum)
    • script.elementum.burst (Burst)

Installation

  1. Download the archive with the latest version of the addon from the Releases section.
  2. In Kodi, go to Install from zip file.
  3. Select the downloaded ZIP archive and confirm installation.
  4. After installation, the addon appears in My add-ons → Services.

Usage

Main menu

When you launch the addon, a list of existing profiles and the "Create Profile" item are displayed.

  • Create Profile – asks for a name (allowed characters: letters, digits, spaces, -, _, .). A new profile will be created with the current Elementum and Burst settings.
  • Profiles – clicking a profile applies it (all enabled settings are written to the addons).
  • Context menu (right-click or long press) for each profile:
    • Edit – opens the profile editor.
    • Elementum > Profile – updates profile values with current settings (enabled flags unchanged).
    • Rename – changes the profile name.
    • Delete – deletes the profile (after confirmation).

Profile editor

In the editor, there are two sections: Elementum and Burst. Each section shows all settings saved in the profile.

  • Short click on a setting toggles its enabled flag (checkmark). Only enabled settings will be applied when the profile is used.
  • Context menu of a setting:
    • Change value – allows entering a new value. For boolean settings (bool), a true/false dialog is shown.
  • Context menu in the settings list (general commands):
    • Select all – enables all settings.
    • Deselect all – disables all settings.
    • Delete unselected – removes from the profile all settings with enabled = false. Useful for cleaning up the profile of unnecessary parameters.

All changes in the editor are saved immediately to the profile file.

Profile structure

Profiles are stored in the addon_data/plugin.elementum.profileswitcher/ folder as separate JSON files with the .json extension. The file name corresponds to the profile name.

Example profile content:

{
  "elementum": {
    "enable_trakt": {
      "value": "true",
      "enabled": true,
      "type": "bool"
    },
    "trakt_username": {
      "value": "myuser",
      "enabled": false,
      "type": "text"
    }
  },
  "burst": {
    "sort_method": {
      "value": "date",
      "enabled": true,
      "type": "text"
    }
  }
}
  • value – saved setting value (always a string).
  • enabled – whether the setting participates in application.
  • type – setting type (determined from the target addon's settings.xml).

How it works

  1. When creating a profile, the addon parses settings.xml of Elementum and Burst, retrieves the list of all settings and their types, then reads the current values.
  2. When applying a profile, only settings with enabled = true are written, and only if their current value differs from the saved one.
  3. After successful application, an HTTP request is sent to http://127.0.0.1:<remote_port>/reload, where remote_port is taken from Elementum settings (or default port 65220). If the request returns error 401 (Unauthorized), the addon automatically falls back to the alternative method via RunPlugin(plugin://plugin.video.elementum/reload).
  4. In the editor, all changes are saved directly to the JSON file.

Logging

The addon writes messages to the Kodi log with the prefix [Elementum Profile Switcher]. Use the kodi.log file to view logs.

About

A Kodi addon for creating, editing, and quickly switching between configuration profiles for Elementum and Burst

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages