{
  "common": {
    "name": "aura",
    "version": "0.36.5",
    "readme": "https://hdering.github.io/ioBroker.aura/",
    "titleLang": {
      "en": "Aura",
      "de": "Aura",
      "ru": "Aura",
      "pt": "Aura",
      "nl": "Aura",
      "fr": "Aura",
      "it": "Aura",
      "es": "Aura",
      "pl": "Aura",
      "uk": "Aura",
      "zh-cn": "Aura"
    },
    "desc": {
      "en": "Modern visualization dashboard for ioBroker",
      "de": "Modernes Visualisierungs-Dashboard für ioBroker",
      "ru": "Современная панель визуализации для ioBroker",
      "pt": "Painel de visualização moderno para ioBroker",
      "nl": "Modern visualisatiedashboard voor ioBroker",
      "fr": "Tableau de bord de visualisation moderne pour ioBroker",
      "it": "Dashboard di visualizzazione moderna per ioBroker",
      "es": "Panel de visualización moderno para ioBroker",
      "pl": "Nowoczesny panel wizualizacji dla ioBroker",
      "uk": "Сучасна панель візуалізації для ioBroker",
      "zh-cn": "ioBroker 的现代可视化仪表板"
    },
    "authors": [
      "Hermann Dering <aura@dering-online.de>"
    ],
    "keywords": [
      "visualization",
      "dashboard",
      "vis",
      "tablet",
      "ical",
      "calendar",
      "evcc",
      "gauge",
      "chart"
    ],
    "licenseInformation": {
      "license": "MIT",
      "type": "free"
    },
    "icon": "aura.png",
    "extIcon": "https://raw.githubusercontent.com/hdering/ioBroker.aura/main/admin/aura.png",
    "messagebox": true,
    "logTransporter": true,
    "type": "visualization",
    "mode": "daemon",
    "compact": false,
    "tier": 3,
    "connectionType": "local",
    "dataSource": "push",
    "noIntro": true,
    "platform": "Javascript/Node.js",
    "adminUI": {
      "config": "json"
    },
    "localLinks": {
      "frontend": {
        "link": "%protocol%://%ip%:8095/",
        "name": {
          "en": "Aura Frontend",
          "de": "Aura Frontend",
          "ru": "Aura Frontend",
          "pt": "Aura Frontend",
          "nl": "Aura Frontend",
          "fr": "Aura Frontend",
          "it": "Aura Frontend",
          "es": "Aura Frontend",
          "pl": "Aura Frontend",
          "uk": "Aura Frontend",
          "zh-cn": "Aura Frontend"
        }
      },
      "backend": {
        "link": "%protocol%://%ip%:8095/#/admin",
        "name": {
          "en": "Aura Backend",
          "de": "Aura Backend",
          "ru": "Aura Backend",
          "pt": "Aura Backend",
          "nl": "Aura Backend",
          "fr": "Aura Backend",
          "it": "Aura Backend",
          "es": "Aura Backend",
          "pl": "Aura Backend",
          "uk": "Aura Backend",
          "zh-cn": "Aura Backend"
        }
      }
    },
    "dependencies": [
      {
        "js-controller": ">=6.0.11"
      }
    ],
    "globalDependencies": [
      {
        "admin": ">=7.8.23"
      }
    ],
    "news": {
      "0.36.5": {
        "en": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "de": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "ru": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "pt": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "nl": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "fr": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "it": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "es": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "pl": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "uk": "Design - resetting per-layout header overrides now activates Save and persists after reload",
        "zh-cn": "Design - resetting per-layout header overrides now activates Save and persists after reload"
      },
      "0.36.4": {
        "en": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "de": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "ru": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "pt": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "nl": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "fr": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "it": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "es": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "pl": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "uk": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)",
        "zh-cn": "Guidelines - horizontal guide line now lines up between the editor and the frontend (it accounts for the header and tab/section bar, so it marks the target device's bottom edge in both)"
      },
      "0.36.3": {
        "en": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "de": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "ru": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "pt": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "nl": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "fr": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "it": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "es": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "pl": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "uk": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)",
        "zh-cn": "Timer - new option to hide the astro symbol so only the resolved time is shown\nJSON table - per-column prefix and suffix to decorate cell values (e.g. units or currency)\nGroup - transparent groups now stay transparent when opened via the \"Popup: widget content\" click action\nGroup - resizing a child in the editor no longer rescales the other children (fixed-grid pitch while editing)"
      },
      "0.36.2": {
        "en": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "de": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "ru": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "pt": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "nl": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "fr": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "it": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "es": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "pl": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "uk": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4",
        "zh-cn": "Timer - astro events now show the resolved sunrise/sunset time next to the symbol\nTimer - all events are now shown in a scrollable list instead of being cut off at 4"
      },
      "0.36.1": {
        "en": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "de": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "ru": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "pt": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "nl": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "fr": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "it": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "es": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "pl": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "uk": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices",
        "zh-cn": "Settings - Grid & Mobile can now hide the draggable dashboard scroll bar on touch devices"
      },
      "0.36.0": {
        "en": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "de": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "ru": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "pt": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "nl": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "fr": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "it": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "es": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "pl": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "uk": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles",
        "zh-cn": "🌟 New feature: Menu - new freely positionable navigation widget: shows the sections or the tabs as a menu, with per-widget de-selection of entries, four layouts (horizontal bar, vertical list, grid, pills) and four active styles"
      },
      "0.35.2": {
        "en": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "de": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "ru": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "pt": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "nl": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "fr": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "it": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "es": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "pl": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "uk": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children",
        "zh-cn": "Popup (widget content) - embedded widget now fills the configured popup width/height instead of collapsing to a narrow box; without an explicit size it uses the widget's own designed size, so groups no longer squeeze their children"
      }
    }
  },
  "native": {
    "customUrl": "",
    "port": 8095,
    "socketPort": 8082,
    "socketSecure": false,
    "socketUrl": "",
    "secure": false,
    "certPublic": "",
    "certPrivate": "",
    "certChained": "",
    "fsRoots": [
      {
        "label": "ioBroker Files",
        "path": "/opt/iobroker/iobroker-data/files"
      }
    ],
    "fsAllowWrite": false,
    "timerTickSeconds": 30,
    "perfTracking": true,
    "perfWidgetTracking": false
  },
  "objects": [],
  "instanceObjects": [
    {
      "_id": "info",
      "type": "channel",
      "common": {
        "name": "Information"
      },
      "native": {}
    },
    {
      "_id": "info.connection",
      "type": "state",
      "common": {
        "name": "If adapter connected to ioBroker",
        "type": "boolean",
        "role": "indicator.connected",
        "read": true,
        "write": false,
        "def": false
      },
      "native": {}
    },
    {
      "_id": "info.activeLayout",
      "type": "state",
      "common": {
        "name": "Currently displayed layout",
        "type": "string",
        "role": "text",
        "read": true,
        "write": false,
        "def": ""
      },
      "native": {}
    },
    {
      "_id": "info.activeSection",
      "type": "state",
      "common": {
        "name": "Currently displayed section (Bereich)",
        "type": "string",
        "role": "text",
        "read": true,
        "write": false,
        "def": ""
      },
      "native": {}
    },
    {
      "_id": "info.activeTab",
      "type": "state",
      "common": {
        "name": "Currently displayed tab",
        "type": "string",
        "role": "text",
        "read": true,
        "write": false,
        "def": ""
      },
      "native": {}
    },
    {
      "_id": "config",
      "type": "channel",
      "common": {
        "name": "Configuration"
      },
      "native": {}
    },
    {
      "_id": "config.dashboard",
      "type": "state",
      "common": {
        "name": "Dashboard configuration",
        "type": "string",
        "role": "json",
        "read": true,
        "write": true,
        "def": "{\"widgets\":[]}"
      },
      "native": {}
    },
    {
      "_id": "config.themeMode",
      "type": "channel",
      "common": {
        "name": "Theme mode overrides (frontend & admin independently)"
      },
      "native": {}
    },
    {
      "_id": "config.themeMode.frontend",
      "type": "state",
      "common": {
        "name": "Frontend theme mode ('dark'|'light'|''); empty = no override",
        "type": "string",
        "role": "text",
        "read": true,
        "write": true,
        "def": "",
        "states": {
          "dark": "dark",
          "light": "light"
        }
      },
      "native": {}
    },
    {
      "_id": "config.themeMode.adminUi",
      "type": "state",
      "common": {
        "name": "Admin theme mode ('dark'|'light'|''); empty = no override",
        "type": "string",
        "role": "text",
        "read": true,
        "write": true,
        "def": "",
        "states": {
          "dark": "dark",
          "light": "light"
        }
      },
      "native": {}
    },
    {
      "_id": "navigate",
      "type": "channel",
      "common": {
        "name": "Navigation"
      },
      "native": {}
    },
    {
      "_id": "navigate.url",
      "type": "state",
      "common": {
        "name": "Navigate to URL or tab slug",
        "type": "string",
        "role": "url",
        "read": true,
        "write": true,
        "def": ""
      },
      "native": {}
    },
    {
      "_id": "admin",
      "type": "channel",
      "common": {
        "name": "Admin access"
      },
      "native": {}
    },
    {
      "_id": "timers",
      "type": "channel",
      "common": {
        "name": "Zeitschaltuhren (timer widgets)"
      },
      "native": {}
    },
    {
      "_id": "admin.pinHash",
      "type": "state",
      "common": {
        "name": "Admin PIN hash (FNV-1a, managed by frontend)",
        "type": "string",
        "role": "text",
        "read": true,
        "write": true,
        "def": ""
      },
      "native": {}
    },
    {
      "_id": "calendar",
      "type": "channel",
      "common": {
        "name": "Calendar fetch relay"
      },
      "native": {}
    },
    {
      "_id": "calendar.request",
      "type": "state",
      "common": {
        "name": "Calendar fetch request (JSON: {id, url})",
        "type": "string",
        "role": "json",
        "read": true,
        "write": true,
        "def": ""
      },
      "native": {}
    },
    {
      "_id": "calendar.response",
      "type": "state",
      "common": {
        "name": "Calendar fetch response (JSON: {id, content|error})",
        "type": "string",
        "role": "json",
        "read": true,
        "write": true,
        "def": ""
      },
      "native": {}
    },
    {
      "_id": "logs",
      "type": "channel",
      "common": {
        "name": "Adapter log stream (for AdapterLogsWidget)"
      },
      "native": {}
    },
    {
      "_id": "logs.latest",
      "type": "state",
      "common": {
        "name": "Latest log entry (JSON, updated on every system log)",
        "type": "string",
        "role": "json",
        "read": true,
        "write": false,
        "def": ""
      },
      "native": {}
    }
  ]
}
