diff --git a/src/panels/config/info/ha-config-info.ts b/src/panels/config/info/ha-config-info.ts
index aad0d589be..6ca1a73e04 100644
--- a/src/panels/config/info/ha-config-info.ts
+++ b/src/panels/config/info/ha-config-info.ts
@@ -1,6 +1,14 @@
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
-import { property } from "lit/decorators";
+import { property, state } from "lit/decorators";
+import { isComponentLoaded } from "../../../common/config/is_component_loaded";
import "../../../components/ha-logo-svg";
+import {
+ fetchHassioHostInfo,
+ fetchHassioHassOsInfo,
+ HassioHassOSInfo,
+ HassioHostInfo,
+} from "../../../data/hassio/host";
+import { HassioInfo, fetchHassioInfo } from "../../../data/hassio/supervisor";
import "../../../layouts/hass-subpage";
import { haStyle } from "../../../resources/styles";
import { HomeAssistant, Route } from "../../../types";
@@ -21,6 +29,12 @@ class HaConfigInfo extends LitElement {
@property() public route!: Route;
+ @state() private _hostInfo?: HassioHostInfo;
+
+ @state() private _osInfo?: HassioHassOSInfo;
+
+ @state() private _hassioInfo?: HassioInfo;
+
protected render(): TemplateResult {
const hass = this.hass;
const customUiList: Array<{ name: string; url: string; version: string }> =
@@ -47,7 +61,19 @@ class HaConfigInfo extends LitElement {
-
Home Assistant ${hass.connection.haVersion}
+ Home Assistant Core ${hass.connection.haVersion}
+ ${this._hassioInfo
+ ? html`
+ Home Assistant Supervisor ${this._hassioInfo.supervisor}
+
`
+ : ""}
+ ${this._osInfo
+ ? html`Home Assistant OS ${this._osInfo.version}
`
+ : ""}
+ ${this._hostInfo
+ ? html`Kernel version ${this._hostInfo.kernel}
+ Agent version ${this._hostInfo.agent_version}
`
+ : ""}
${this.hass.localize(
"ui.panel.config.info.path_configuration",
@@ -110,23 +136,21 @@ class HaConfigInfo extends LitElement {
"type",
JS_TYPE
)}
- ${
- customUiList.length > 0
- ? html`
-
- ${this.hass.localize("ui.panel.config.info.custom_uis")}
- ${customUiList.map(
- (item) => html`
-
- `
- )}
-
- `
- : ""
- }
+ ${customUiList.length > 0
+ ? html`
+
+ ${this.hass.localize("ui.panel.config.info.custom_uis")}
+ ${customUiList.map(
+ (item) => html`
+
+ `
+ )}
+
+ `
+ : ""}
@@ -135,7 +159,7 @@ class HaConfigInfo extends LitElement {
.narrow=${this.narrow}
>
-
+
`;
}
@@ -149,6 +173,22 @@ class HaConfigInfo extends LitElement {
this.requestUpdate();
}
}, 1000);
+
+ if (isComponentLoaded(this.hass, "hassio")) {
+ this._loadSupervisorInfo();
+ }
+ }
+
+ private async _loadSupervisorInfo(): Promise {
+ const [hostInfo, osInfo, hassioInfo] = await Promise.all([
+ fetchHassioHostInfo(this.hass),
+ fetchHassioHassOsInfo(this.hass),
+ fetchHassioInfo(this.hass),
+ ]);
+
+ this._hassioInfo = hassioInfo;
+ this._osInfo = osInfo;
+ this._hostInfo = hostInfo;
}
static get styles(): CSSResultGroup {
diff --git a/src/translations/en.json b/src/translations/en.json
index 2b4b05c119..6179127c20 100755
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -1111,7 +1111,7 @@
},
"about": {
"main": "About",
- "secondary": "Version, system health and links to documentation"
+ "secondary": "Version, loaded integrations and links to documentation"
}
},
"common": {
@@ -1486,11 +1486,11 @@
"board": "Board"
},
"info": {
- "caption": "Info",
+ "caption": "About",
"copy_menu": "Copy menu",
"copy_raw": "Raw Text",
"copy_github": "For GitHub",
- "description": "Version, system health and links to documentation",
+ "description": "Version, loaded integration and links to documentation",
"home_assistant_logo": "Home Assistant logo",
"path_configuration": "Path to configuration.yaml: {path}",
"developed_by": "Developed by a bunch of awesome people.",