mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-14 21:06:34 +00:00
Display docker version (#5989)
This commit is contained in:
parent
5cbffb23fd
commit
16c604937e
@ -14,7 +14,9 @@ import {
|
|||||||
createHassioSession,
|
createHassioSession,
|
||||||
fetchHassioHomeAssistantInfo,
|
fetchHassioHomeAssistantInfo,
|
||||||
fetchHassioSupervisorInfo,
|
fetchHassioSupervisorInfo,
|
||||||
|
fetchHassioInfo,
|
||||||
HassioHomeAssistantInfo,
|
HassioHomeAssistantInfo,
|
||||||
|
HassioInfo,
|
||||||
HassioPanelInfo,
|
HassioPanelInfo,
|
||||||
HassioSupervisorInfo,
|
HassioSupervisorInfo,
|
||||||
} from "../../src/data/hassio/supervisor";
|
} from "../../src/data/hassio/supervisor";
|
||||||
@ -75,6 +77,8 @@ class HassioMain extends ProvideHassLitMixin(HassRouterPage) {
|
|||||||
|
|
||||||
@property() private _hostInfo: HassioHostInfo;
|
@property() private _hostInfo: HassioHostInfo;
|
||||||
|
|
||||||
|
@property() private _hassioInfo?: HassioInfo;
|
||||||
|
|
||||||
@property() private _hassOsInfo?: HassioHassOSInfo;
|
@property() private _hassOsInfo?: HassioHassOSInfo;
|
||||||
|
|
||||||
@property() private _hassInfo: HassioHomeAssistantInfo;
|
@property() private _hassInfo: HassioHomeAssistantInfo;
|
||||||
@ -147,6 +151,7 @@ class HassioMain extends ProvideHassLitMixin(HassRouterPage) {
|
|||||||
hass: this.hass,
|
hass: this.hass,
|
||||||
narrow: this.narrow,
|
narrow: this.narrow,
|
||||||
supervisorInfo: this._supervisorInfo,
|
supervisorInfo: this._supervisorInfo,
|
||||||
|
hassioInfo: this._hassioInfo,
|
||||||
hostInfo: this._hostInfo,
|
hostInfo: this._hostInfo,
|
||||||
hassInfo: this._hassInfo,
|
hassInfo: this._hassInfo,
|
||||||
hassOsInfo: this._hassOsInfo,
|
hassOsInfo: this._hassOsInfo,
|
||||||
@ -156,6 +161,7 @@ class HassioMain extends ProvideHassLitMixin(HassRouterPage) {
|
|||||||
el.hass = this.hass;
|
el.hass = this.hass;
|
||||||
el.narrow = this.narrow;
|
el.narrow = this.narrow;
|
||||||
el.supervisorInfo = this._supervisorInfo;
|
el.supervisorInfo = this._supervisorInfo;
|
||||||
|
el.hassioInfo = this._hassioInfo;
|
||||||
el.hostInfo = this._hostInfo;
|
el.hostInfo = this._hostInfo;
|
||||||
el.hassInfo = this._hassInfo;
|
el.hassInfo = this._hassInfo;
|
||||||
el.hassOsInfo = this._hassOsInfo;
|
el.hassOsInfo = this._hassOsInfo;
|
||||||
@ -169,12 +175,14 @@ class HassioMain extends ProvideHassLitMixin(HassRouterPage) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const [supervisorInfo, hostInfo, hassInfo] = await Promise.all([
|
const [supervisorInfo, hostInfo, hassInfo, hassioInfo] = await Promise.all([
|
||||||
fetchHassioSupervisorInfo(this.hass),
|
fetchHassioSupervisorInfo(this.hass),
|
||||||
fetchHassioHostInfo(this.hass),
|
fetchHassioHostInfo(this.hass),
|
||||||
fetchHassioHomeAssistantInfo(this.hass),
|
fetchHassioHomeAssistantInfo(this.hass),
|
||||||
|
fetchHassioInfo(this.hass),
|
||||||
]);
|
]);
|
||||||
this._supervisorInfo = supervisorInfo;
|
this._supervisorInfo = supervisorInfo;
|
||||||
|
this._hassioInfo = hassioInfo;
|
||||||
this._hostInfo = hostInfo;
|
this._hostInfo = hostInfo;
|
||||||
this._hassInfo = hassInfo;
|
this._hassInfo = hassInfo;
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ import { HassioHassOSInfo, HassioHostInfo } from "../../src/data/hassio/host";
|
|||||||
import {
|
import {
|
||||||
HassioHomeAssistantInfo,
|
HassioHomeAssistantInfo,
|
||||||
HassioSupervisorInfo,
|
HassioSupervisorInfo,
|
||||||
|
HassioInfo,
|
||||||
} from "../../src/data/hassio/supervisor";
|
} from "../../src/data/hassio/supervisor";
|
||||||
import {
|
import {
|
||||||
HassRouterPage,
|
HassRouterPage,
|
||||||
@ -26,6 +27,8 @@ class HassioPanelRouter extends HassRouterPage {
|
|||||||
|
|
||||||
@property({ attribute: false }) public supervisorInfo: HassioSupervisorInfo;
|
@property({ attribute: false }) public supervisorInfo: HassioSupervisorInfo;
|
||||||
|
|
||||||
|
@property({ attribute: false }) public hassioInfo!: HassioInfo;
|
||||||
|
|
||||||
@property({ attribute: false }) public hostInfo: HassioHostInfo;
|
@property({ attribute: false }) public hostInfo: HassioHostInfo;
|
||||||
|
|
||||||
@property({ attribute: false }) public hassInfo: HassioHomeAssistantInfo;
|
@property({ attribute: false }) public hassInfo: HassioHomeAssistantInfo;
|
||||||
@ -54,6 +57,7 @@ class HassioPanelRouter extends HassRouterPage {
|
|||||||
el.route = this.route;
|
el.route = this.route;
|
||||||
el.narrow = this.narrow;
|
el.narrow = this.narrow;
|
||||||
el.supervisorInfo = this.supervisorInfo;
|
el.supervisorInfo = this.supervisorInfo;
|
||||||
|
el.hassioInfo = this.hassioInfo;
|
||||||
el.hostInfo = this.hostInfo;
|
el.hostInfo = this.hostInfo;
|
||||||
el.hassInfo = this.hassInfo;
|
el.hassInfo = this.hassInfo;
|
||||||
el.hassOsInfo = this.hassOsInfo;
|
el.hassOsInfo = this.hassOsInfo;
|
||||||
|
@ -10,6 +10,7 @@ import { HassioHassOSInfo, HassioHostInfo } from "../../src/data/hassio/host";
|
|||||||
import {
|
import {
|
||||||
HassioHomeAssistantInfo,
|
HassioHomeAssistantInfo,
|
||||||
HassioSupervisorInfo,
|
HassioSupervisorInfo,
|
||||||
|
HassioInfo,
|
||||||
} from "../../src/data/hassio/supervisor";
|
} from "../../src/data/hassio/supervisor";
|
||||||
import type { PageNavigation } from "../../src/layouts/hass-tabs-subpage";
|
import type { PageNavigation } from "../../src/layouts/hass-tabs-subpage";
|
||||||
import { HomeAssistant, Route } from "../../src/types";
|
import { HomeAssistant, Route } from "../../src/types";
|
||||||
@ -48,6 +49,8 @@ class HassioPanel extends LitElement {
|
|||||||
|
|
||||||
@property({ attribute: false }) public supervisorInfo!: HassioSupervisorInfo;
|
@property({ attribute: false }) public supervisorInfo!: HassioSupervisorInfo;
|
||||||
|
|
||||||
|
@property({ attribute: false }) public hassioInfo!: HassioInfo;
|
||||||
|
|
||||||
@property({ attribute: false }) public hostInfo!: HassioHostInfo;
|
@property({ attribute: false }) public hostInfo!: HassioHostInfo;
|
||||||
|
|
||||||
@property({ attribute: false }) public hassInfo!: HassioHomeAssistantInfo;
|
@property({ attribute: false }) public hassInfo!: HassioHomeAssistantInfo;
|
||||||
@ -61,6 +64,7 @@ class HassioPanel extends LitElement {
|
|||||||
.hass=${this.hass}
|
.hass=${this.hass}
|
||||||
.narrow=${this.narrow}
|
.narrow=${this.narrow}
|
||||||
.supervisorInfo=${this.supervisorInfo}
|
.supervisorInfo=${this.supervisorInfo}
|
||||||
|
.hassioInfo=${this.hassioInfo}
|
||||||
.hostInfo=${this.hostInfo}
|
.hostInfo=${this.hostInfo}
|
||||||
.hassInfo=${this.hassInfo}
|
.hassInfo=${this.hassInfo}
|
||||||
.hassOsInfo=${this.hassOsInfo}
|
.hassOsInfo=${this.hassOsInfo}
|
||||||
|
@ -19,6 +19,7 @@ import {
|
|||||||
shutdownHost,
|
shutdownHost,
|
||||||
updateOS,
|
updateOS,
|
||||||
} from "../../../src/data/hassio/host";
|
} from "../../../src/data/hassio/host";
|
||||||
|
import { HassioInfo } from "../../../src/data/hassio/supervisor";
|
||||||
import {
|
import {
|
||||||
showAlertDialog,
|
showAlertDialog,
|
||||||
showConfirmationDialog,
|
showConfirmationDialog,
|
||||||
@ -35,6 +36,8 @@ class HassioHostInfo extends LitElement {
|
|||||||
|
|
||||||
@property() public hostInfo!: HassioHostInfoType;
|
@property() public hostInfo!: HassioHostInfoType;
|
||||||
|
|
||||||
|
@property({ attribute: false }) public hassioInfo!: HassioInfo;
|
||||||
|
|
||||||
@property() public hassOsInfo!: HassioHassOSInfo;
|
@property() public hassOsInfo!: HassioHassOSInfo;
|
||||||
|
|
||||||
@property() private _errors?: string;
|
@property() private _errors?: string;
|
||||||
@ -54,6 +57,12 @@ class HassioHostInfo extends LitElement {
|
|||||||
<td>System</td>
|
<td>System</td>
|
||||||
<td>${this.hostInfo.operating_system}</td>
|
<td>${this.hostInfo.operating_system}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
${!this.hostInfo.features.includes("hassos")
|
||||||
|
? html`<tr>
|
||||||
|
<td>Docker version</td>
|
||||||
|
<td>${this.hassioInfo.docker}</td>
|
||||||
|
</tr>`
|
||||||
|
: ""}
|
||||||
${this.hostInfo.deployment
|
${this.hostInfo.deployment
|
||||||
? html`
|
? html`
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
HassioHassOSInfo,
|
HassioHassOSInfo,
|
||||||
HassioHostInfo,
|
HassioHostInfo,
|
||||||
} from "../../../src/data/hassio/host";
|
} from "../../../src/data/hassio/host";
|
||||||
import { HassioSupervisorInfo } from "../../../src/data/hassio/supervisor";
|
import {
|
||||||
|
HassioSupervisorInfo,
|
||||||
|
HassioInfo,
|
||||||
|
} from "../../../src/data/hassio/supervisor";
|
||||||
import "../../../src/layouts/hass-tabs-subpage";
|
import "../../../src/layouts/hass-tabs-subpage";
|
||||||
import { haStyle } from "../../../src/resources/styles";
|
import { haStyle } from "../../../src/resources/styles";
|
||||||
import { HomeAssistant, Route } from "../../../src/types";
|
import { HomeAssistant, Route } from "../../../src/types";
|
||||||
@ -31,9 +34,11 @@ class HassioSystem extends LitElement {
|
|||||||
|
|
||||||
@property() public supervisorInfo!: HassioSupervisorInfo;
|
@property() public supervisorInfo!: HassioSupervisorInfo;
|
||||||
|
|
||||||
|
@property({ attribute: false }) public hassioInfo!: HassioInfo;
|
||||||
|
|
||||||
@property() public hostInfo!: HassioHostInfo;
|
@property() public hostInfo!: HassioHostInfo;
|
||||||
|
|
||||||
@property() public hassOsInfo!: HassioHassOSInfo;
|
@property({ attribute: false }) public hassOsInfo!: HassioHassOSInfo;
|
||||||
|
|
||||||
public render(): TemplateResult | void {
|
public render(): TemplateResult | void {
|
||||||
return html`
|
return html`
|
||||||
@ -55,6 +60,7 @@ class HassioSystem extends LitElement {
|
|||||||
></hassio-supervisor-info>
|
></hassio-supervisor-info>
|
||||||
<hassio-host-info
|
<hassio-host-info
|
||||||
.hass=${this.hass}
|
.hass=${this.hass}
|
||||||
|
.hassioInfo=${this.hassioInfo}
|
||||||
.hostInfo=${this.hostInfo}
|
.hostInfo=${this.hostInfo}
|
||||||
.hassOsInfo=${this.hassOsInfo}
|
.hassOsInfo=${this.hassOsInfo}
|
||||||
></hassio-host-info>
|
></hassio-host-info>
|
||||||
|
@ -4,6 +4,20 @@ import { hassioApiResultExtractor, HassioResponse } from "./common";
|
|||||||
export type HassioHomeAssistantInfo = any;
|
export type HassioHomeAssistantInfo = any;
|
||||||
export type HassioSupervisorInfo = any;
|
export type HassioSupervisorInfo = any;
|
||||||
|
|
||||||
|
export type HassioInfo = {
|
||||||
|
arch: string;
|
||||||
|
channel: string;
|
||||||
|
docker: string;
|
||||||
|
hassos?: string;
|
||||||
|
homeassistant: string;
|
||||||
|
hostname: string;
|
||||||
|
logging: string;
|
||||||
|
maching: string;
|
||||||
|
supervisor: string;
|
||||||
|
supported_arch: string[];
|
||||||
|
timezone: string;
|
||||||
|
};
|
||||||
|
|
||||||
export type HassioPanelInfo = PanelInfo<
|
export type HassioPanelInfo = PanelInfo<
|
||||||
| undefined
|
| undefined
|
||||||
| {
|
| {
|
||||||
@ -38,6 +52,12 @@ export const fetchHassioSupervisorInfo = async (hass: HomeAssistant) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const fetchHassioInfo = async (hass: HomeAssistant) => {
|
||||||
|
return hassioApiResultExtractor(
|
||||||
|
await hass.callApi<HassioResponse<HassioInfo>>("GET", "hassio/info")
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
export const fetchHassioLogs = async (
|
export const fetchHassioLogs = async (
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
provider: string
|
provider: string
|
||||||
|
Loading…
x
Reference in New Issue
Block a user