Merge pull request #6250 from home-assistant/dev

This commit is contained in:
Paulus Schoutsen 2020-06-26 13:03:23 -07:00 committed by GitHub
commit ff7731d063
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 298 additions and 170 deletions

View File

@ -87,7 +87,7 @@
"fuse.js": "^6.0.0",
"google-timezones-json": "^1.0.2",
"hls.js": "^0.12.4",
"home-assistant-js-websocket": "^5.4.0",
"home-assistant-js-websocket": "^5.4.1",
"idb-keyval": "^3.2.0",
"intl-messageformat": "^8.3.9",
"js-yaml": "^3.13.1",

View File

@ -16,14 +16,31 @@ function today() {
)}${String(now.getDate()).padStart(2, "0")}.0`;
}
function auto(version) {
const todayVersion = today();
if (todayVersion !== version) {
return todayVersion;
}
return patch(version);
}
const methods = {
patch,
today,
auto,
};
async function main(args) {
const method = args.length > 0 && methods[args[0]];
const commit = args.length > 1 && args[1] == "--commit";
let method;
let commit;
if (args.length === 0) {
method = methods.auto;
commit = true;
} else {
method = args.length > 0 && methods[args[0]];
commit = args.length > 1 && args[1] == "--commit";
}
if (!method) {
console.error(

View File

@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup(
name="home-assistant-frontend",
version="20200626.0",
version="20200626.1",
description="The Home Assistant frontend",
url="https://github.com/home-assistant/home-assistant-polymer",
author="The Home Assistant Authors",

View File

@ -13,6 +13,7 @@ import {
STATE_NOT_RUNNING,
STATE_RUNNING,
} from "home-assistant-js-websocket";
import { CustomPanelInfo } from "../data/panel_custom";
const CACHE_URL_PATHS = ["lovelace", "developer-tools"];
const COMPONENTS = {
@ -159,7 +160,17 @@ class PartialPanelResolver extends HassRouterPage {
if (document.hidden) {
this._hiddenTimeout = window.setTimeout(() => {
this._hiddenTimeout = undefined;
if (this.lastChild) {
const curPanel = this.hass.panels[this._currentPage];
if (
this.lastChild &&
// iFrames will lose their state when disconnected
// Do not disconnect any iframe panel
curPanel.component_name !== "iframe" &&
// Do not disconnect any custom panel that embeds into iframe (ie hassio)
(curPanel.component_name !== "custom" ||
!(curPanel.config as CustomPanelInfo).config._panel_custom
.embed_iframe)
) {
this._disconnectedPanel = this.lastChild;
this.removeChild(this.lastChild);
}

View File

@ -143,15 +143,17 @@ class CloudGoogleAssistant extends LitElement {
</ha-formfield>
${entity.might_2fa
? html`
<ha-formfield
.label=${this.hass!.localize(
"ui.panel.config.cloud.google.disable_2FA"
)}
>
<ha-switch
.entityId=${entity.entity_id}
.checked=${Boolean(config.disable_2fa)}
@change=${this._disable2FAChanged}
>
${this.hass!.localize(
"ui.panel.config.cloud.google.disable_2FA"
)}
</ha-switch>
></ha-switch>
</ha-formfield>
`
: ""}
</div>
@ -375,6 +377,9 @@ class CloudGoogleAssistant extends LitElement {
state-info {
cursor: pointer;
}
ha-formfield {
display: block;
}
ha-switch {
padding: 8px 0;
}

View File

@ -26,7 +26,8 @@ import { mdiCloudLock } from "@mdi/js";
class HaConfigDashboard extends LitElement {
@property() public hass!: HomeAssistant;
@property() public narrow!: boolean;
@property({ type: Boolean, reflect: true })
public narrow!: boolean;
@property() public isWide!: boolean;
@ -35,18 +36,10 @@ class HaConfigDashboard extends LitElement {
@property() public showAdvanced!: boolean;
protected render(): TemplateResult {
return html`
<app-header-layout has-scrolling-region>
<app-header fixed slot="header">
<app-toolbar>
<ha-menu-button
.hass=${this.hass}
const content = html` <ha-config-section
.narrow=${this.narrow}
></ha-menu-button>
</app-toolbar>
</app-header>
<ha-config-section .narrow=${this.narrow} .isWide=${this.isWide}>
.isWide=${this.isWide}
>
<div slot="header">
${this.hass.localize("ui.panel.config.header")}
</div>
@ -118,9 +111,7 @@ class HaConfigDashboard extends LitElement {
${!this.showAdvanced
? html`
<div class="promo-advanced">
${this.hass.localize(
"ui.panel.config.advanced_mode.hint_enable"
)}
${this.hass.localize("ui.panel.config.advanced_mode.hint_enable")}
<a href="/profile"
>${this.hass.localize(
"ui.panel.config.advanced_mode.link_profile_page"
@ -129,7 +120,24 @@ class HaConfigDashboard extends LitElement {
</div>
`
: ""}
</ha-config-section>
</ha-config-section>`;
if (!this.narrow) {
return content;
}
return html`
<app-header-layout has-scrolling-region>
<app-header fixed slot="header">
<app-toolbar>
<ha-menu-button
.hass=${this.hass}
.narrow=${this.narrow}
></ha-menu-button>
</app-toolbar>
</app-header>
${content}
</app-header-layout>
`;
}
@ -145,6 +153,9 @@ class HaConfigDashboard extends LitElement {
margin-bottom: 24px;
}
ha-config-section {
margin-top: -12px;
}
:host([narrow]) ha-config-section {
margin-top: -20px;
}
ha-card {

View File

@ -232,6 +232,9 @@ class DialogMQTTDeviceDebugInfo extends LitElement {
.triggerlistitem {
margin-bottom: 12px;
}
ha-formfield {
display: block;
}
`,
];
}

View File

@ -318,6 +318,9 @@ export class DialogLovelaceDashboardDetail extends LitElement {
ha-switch {
padding: 16px 0;
}
ha-formfield {
display: block;
}
`,
];
}

View File

@ -59,12 +59,14 @@ export class HaPanelLogbook extends LitElement {
start.setHours(start.getHours() - 2);
start.setMinutes(0);
start.setSeconds(0);
start.setMilliseconds(0);
this._startDate = start;
const end = new Date();
end.setHours(end.getHours() + 1);
end.setMinutes(0);
end.setSeconds(0);
end.setMilliseconds(0);
this._endDate = end;
}

View File

@ -136,19 +136,12 @@ export class HuiCardOptions extends LitElement {
color: var(--disabled-text-color);
}
paper-item.header {
color: var(--primary-text-color);
text-transform: uppercase;
font-weight: 500;
font-size: 14px;
}
paper-item {
mwc-list-item {
cursor: pointer;
white-space: nowrap;
}
paper-item.delete-item {
mwc-list-item.delete-item {
color: var(--error-color);
}
`;

View File

@ -209,6 +209,7 @@ export class HuiDialogEditCard extends LitElement {
<ha-circular-progress
active
alt="Saving"
size="small"
></ha-circular-progress>
`
: this.hass!.localize("ui.common.save")}
@ -291,8 +292,6 @@ export class HuiDialogEditCard extends LitElement {
}
mwc-button ha-circular-progress {
width: 14px;
height: 14px;
margin-right: 20px;
}
.hidden {

View File

@ -136,33 +136,35 @@ export class HuiButtonCardEditor extends LitElement
"ui.panel.lovelace.editor.card.config.optional"
)})"
.value=${this._icon}
.placeholder=${
this._icon || stateIcon(this.hass.states[this._entity])
}
.placeholder=${this._icon ||
stateIcon(this.hass.states[this._entity])}
.configValue=${"icon"}
@value-changed=${this._valueChanged}
></ha-icon-input>
</div>
<div class="side-by-side">
<ha-formfield .label=${this.hass.localize(
<ha-formfield
.label=${this.hass.localize(
"ui.panel.lovelace.editor.card.generic.show_name"
)}>
)}
>
<ha-switch
.checked="${this._config!.show_name !== false}"
.configValue="${"show_name"}"
@change="${this._valueChanged}"
></ha-switch
>
></ha-switch>
</ha-formfield>
<ha-formfield .label=${this.hass.localize(
<ha-formfield
.label=${this.hass.localize(
"ui.panel.lovelace.editor.card.generic.show_icon"
)}>
)}
>
<ha-switch
.checked="${this._config!.show_icon !== false}"
.configValue="${"show_icon"}"
@change="${this._valueChanged}"
></ha-switch
></ha-formfield>
></ha-switch>
</ha-formfield>
</div>
<div class="side-by-side">
<paper-input
@ -183,8 +185,6 @@ export class HuiButtonCardEditor extends LitElement
.configValue="${"theme"}"
@value-changed="${this._valueChanged}"
></hui-theme-select-editor>
</paper-input>
</div>
<div class="side-by-side">
<hui-action-editor

View File

@ -133,11 +133,11 @@ export class HuiViewEditor extends LitElement {
@change=${this._valueChanged}
></ha-switch
></ha-formfield>
<span class="panel"
>${this.hass.localize(
<span class="panel">
${this.hass.localize(
"ui.panel.lovelace.editor.view.panel_mode.description"
)}</span
>
)}
</span>
</div>
`;
}
@ -181,6 +181,9 @@ export class HuiViewEditor extends LitElement {
.panel {
color: var(--secondary-text-color);
}
ha-formfield {
display: block;
}
`;
}
}

View File

@ -527,7 +527,7 @@
},
"date-range-picker": {
"end_date": "Fecha de finalización",
"select": "Seleccione",
"select": "Seleccionar",
"start_date": "Fecha de inicio"
},
"device-picker": {

View File

@ -2198,6 +2198,10 @@
"description": "La scheda Pila Orizzontale consente di raggruppare insieme più schede, in modo che siano sempre l'una accanto all'altra nello spazio di una colonna.",
"name": "Pila orizzontale"
},
"humidifier": {
"description": "La scheda Umidificatore fornisce il controllo della tua entità umidificatore, consentendo di modificare l'umidità e la modalità dell'entità.",
"name": "Umidificatore"
},
"iframe": {
"description": "La scheda Pagina Web consente di incorporare la pagina Web preferita direttamente in Home Assistant.",
"name": "Pagina web"

View File

@ -48,6 +48,19 @@
"none": "Geen",
"sleep": "Slapen"
}
},
"humidifier": {
"mode": {
"auto": "Auto",
"away": "Afwezig",
"baby": "Baby",
"boost": "Boost",
"comfort": "Comfort",
"eco": "Eco",
"home": "Thuis",
"normal": "Normaal",
"sleep": "Slapen"
}
}
},
"state_badge": {
@ -388,6 +401,12 @@
"reverse": "Omkeren",
"speed": "Snelheid"
},
"humidifier": {
"humidity": "Doel luchtvochtigheid",
"mode": "Modus",
"on_entity": "{name} aan",
"target_humidity_entity": "{name} doel luchtvochtigheid"
},
"light": {
"brightness": "Helderheid",
"color_temperature": "Kleurtemperatuur",
@ -506,6 +525,11 @@
"clear": "Wis",
"show_areas": "Toon gebieden"
},
"date-range-picker": {
"end_date": "Einddatum",
"select": "Selecteer",
"start_date": "Startdatum"
},
"device-picker": {
"clear": "Wis",
"device": "Apparaat",
@ -695,6 +719,7 @@
"zha_device_info": {
"buttons": {
"add": "Apparaten toevoegen via dit apparaat",
"clusters": "Clusters beheren",
"reconfigure": "Apparaat opnieuw configureren",
"remove": "Verwijder apparaat",
"zigbee_information": "Zigbee-apparaathandtekening"
@ -744,7 +769,7 @@
"connection_lost": "Verbinding verbroken. Opnieuw verbinden...",
"service_call_failed": "Kan service {service} niet aanroepen",
"started": "Home Assistant is gestart!",
"starting": "Home Assistant is aan het opstarten, nog niet alles is beschikbaar tot dit is voltooid.",
"starting": "Home Assistant is aan het opstarten. Gedurende het opstarten zal niet alles beschikbaar zijn.",
"triggered": "Geactiveerd {name}"
},
"panel": {
@ -1391,6 +1416,11 @@
"system_health_error": "De systeemstatus component is niet geladen. Voeg ' system_health: ' toe aan het configuratiebestand.",
"title": "Info"
},
"integration_panel_move": {
"link_integration_page": "integraties pagina",
"missing_zha": "Mis je de ZHA configuratie? Dit is verplaatst naar de ZHA integratie op de {integrations_page}.",
"missing_zwave": "Mis je de Z-Wave configuratie? Dit is verplaatst naar de Z-Wave integratie op de {integrations_page}."
},
"integrations": {
"add_integration": "Integratie toevoegen",
"caption": "Integraties",
@ -1553,6 +1583,7 @@
}
},
"mqtt": {
"button": "Configureer",
"description_listen": "Luisteren naar onderwerp",
"description_publish": "Publiceer een pakket",
"listening_to": "Luisteren naar",
@ -1673,6 +1704,11 @@
"core": "Herlaad locatie en aanpassingen",
"group": "Herlaad groepen",
"heading": "Configuratie herladen",
"input_boolean": "Herlaad input booleans",
"input_datetime": "Herlaad input date times",
"input_number": "Herlaad input numbers",
"input_select": "Herlaad input selects",
"input_text": "Herlaad input texts",
"introduction": "Sommige delen van Home Assistant kunnen opnieuw worden geladen zonder dat een herstart vereist is. Als je herladen gebruikt, wordt de huidige configuratie leeggemaakt en wordt de nieuwe geladen.",
"person": "Herlaad personen",
"scene": "Herlaad scenes",
@ -1732,13 +1768,15 @@
"system": "Systeem"
}
},
"users_privileges_note": "Gebruikersgroepen zijn nog werk in uitvoering. De gebruiker kan de instantie niet beheren via de interface. We zijn bezig met het uitvoeren van een audit om verzekerd te zijn dat de management API-eindpunten toegang voor beheerders correct beperken."
"users_privileges_note": "Gebruikersgroepen zijn nog in ontwikkeling. De gebruiker kan de instantie niet beheren via de interface. We zijn bezig met het controleren van de API-eindpunten toegang voor beheerders."
},
"zha": {
"add_device_page": {
"discovered_text": "Apparaten zullen hier verschijnen zodra ze zijn ontdekt.",
"discovery_text": "Gevonden apparaten worden hier weergegeven. Volg de instructies voor je apparaat of apparaten en plaats het apparaat of de apparaten in de koppelingsmodus.",
"header": "Zigbee Home Automation - Apparaten toevoegen",
"no_devices_found": "Geen apparaten gevonden, zorg ervoor dat ze in de koppelingsmodus staan en dat gedurende het ontdekken ze actief zijn.",
"pairing_mode": "Zorg ervoor dat de apparaten in de koppelingsmodus staan. Kijk in de instructies van het apparaat hoe dit moet.",
"search_again": "Opnieuw zoeken",
"spinner": "Zoeken naar ZHA Zigbee-apparaten ..."
},
@ -2001,11 +2039,23 @@
},
"history": {
"period": "Periode",
"ranges": {
"last_week": "Vorige week",
"this_week": "Deze week",
"today": "Vandaag",
"yesterday": "Gisteren"
},
"showing_entries": "Toon items voor"
},
"logbook": {
"entries_not_found": "Geen logboekvermeldingen gevonden.",
"period": "Periode",
"ranges": {
"last_week": "Vorige week",
"this_week": "Deze week",
"today": "Vandaag",
"yesterday": "Gisteren"
},
"showing_entries": "Toont gegevens van"
},
"lovelace": {
@ -2145,6 +2195,10 @@
"description": "Met de Horizontal Stack-kaart kun je meerdere kaarten op elkaar stapelen, zodat ze altijd naast elkaar in de ruimte van één kolom zitten.",
"name": "Horizontale stapel"
},
"humidifier": {
"description": "De luchtbevochtiger-kaart geeft controle over de entiteit van de luchtbevochtiger. Hiermee kun je de vochtigheid en de modus van de entiteit wijzigen.",
"name": "Bevochtiger"
},
"iframe": {
"description": "Met de Webpage-kaart kunt u uw favoriete webpagina rechtstreeks in de Home Assistant insluiten.",
"name": "Webpagina"

View File

@ -48,6 +48,19 @@
"none": "無",
"sleep": "睡眠"
}
},
"humidifier": {
"mode": {
"auto": "自動模式",
"away": "離家模式",
"baby": "孩童模式",
"boost": "全速模式",
"comfort": "舒適模式",
"eco": "節能模式",
"home": "居家模式",
"normal": "一般模式",
"sleep": "睡眠模式"
}
}
},
"state_badge": {
@ -388,6 +401,12 @@
"reverse": "反向",
"speed": "風速"
},
"humidifier": {
"humidity": "設定濕度",
"mode": "模式",
"on_entity": "{name} 已開啟",
"target_humidity_entity": "{name} 設定濕度"
},
"light": {
"brightness": "亮度",
"color_temperature": "色溫",
@ -2198,6 +2217,10 @@
"description": "水平排列面板可供將多個面板排列、同時顯示。",
"name": "水平排列面板"
},
"humidifier": {
"description": "加濕器面板可供控制加濕物件、可允許變更濕度與模式。",
"name": "加濕器"
},
"iframe": {
"description": "網頁面板可供於 Home Assistant 嵌入喜愛的網頁。",
"name": "網頁面板"

View File

@ -6683,10 +6683,10 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
home-assistant-js-websocket@^5.4.0:
version "5.4.0"
resolved "https://registry.yarnpkg.com/home-assistant-js-websocket/-/home-assistant-js-websocket-5.4.0.tgz#637321ba47138562716290404adfa921d8d525dc"
integrity sha512-/sMJZwKTkoDvCljBTwGRiZy67ODZua/xYNH61n4zmX3Lcgb1D/zRDiJtwvW+g//BO/RAsNR5GulbUOdDrqmQlA==
home-assistant-js-websocket@^5.4.1:
version "5.4.1"
resolved "https://registry.yarnpkg.com/home-assistant-js-websocket/-/home-assistant-js-websocket-5.4.1.tgz#3f677391b38e4feb24f1670e3a9b695767332a51"
integrity sha512-FTVoO5yMSa2dy1ffZDvJy/r79VTjwFOzyP/bPld5lDHKbNyXC8wgqpn8Kdf5ZQISYJf1T1dfH+v2NYEngn5NgQ==
homedir-polyfill@^1.0.1:
version "1.0.3"