Merge pull request #2869 from home-assistant/dev

20190228.0
This commit is contained in:
Paulus Schoutsen 2019-02-28 17:42:16 -08:00 committed by GitHub
commit 787abc4611
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 533 additions and 239 deletions

View File

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

View File

@ -110,11 +110,21 @@ class HaEntityToggle extends LitElement {
entity_id: this.stateObj.entity_id, entity_id: this.stateObj.entity_id,
}); });
setTimeout(() => { setTimeout(async () => {
// If after 2 seconds we have not received a state update // If after 2 seconds we have not received a state update
// reset the switch to it's original state. // reset the switch to it's original state.
if (this.stateObj === currentState) { if (this.stateObj !== currentState) {
this.requestUpdate(); return;
}
// Force a re-render. It's not good enough to just call this.requestUpdate()
// because the value has changed outside of Lit's render function, and so Lit
// won't update the property again, because it's the same as last update.
// So we just temporarily unset the stateObj and set it again.
this.stateObj = undefined;
await this.updateComplete;
// Make sure that a stateObj was not set in between.
if (this.stateObj === undefined) {
this.stateObj = currentState;
} }
}, 2000); }, 2000);
} }

View File

@ -1 +1,41 @@
export const UNAVAILABLE = "unavailable"; export const UNAVAILABLE = "unavailable";
export const ENTITY_COMPONENT_DOMAINS = [
"air_quality",
"alarm_control_panel",
"automation",
"binary_sensor",
"calendar",
"counter",
"cover",
"dominos",
"fan",
"geo_location",
"group",
"history_graph",
"image_processing",
"input_boolean",
"input_datetime",
"input_number",
"input_select",
"input_text",
"light",
"lock",
"mailbox",
"media_player",
"person",
"plant",
"remember_the_milk",
"remote",
"scene",
"script",
"sensor",
"switch",
"timer",
"utility_meter",
"vacuum",
"weather",
"wink",
"zha",
"zwave",
];

View File

@ -98,7 +98,7 @@ class SystemHealthCard extends LitElement {
private async _fetchInfo() { private async _fetchInfo() {
try { try {
if (!("system_health" in this.hass!.config.components)) { if (!this.hass!.config.components.includes("system_health")) {
throw new Error(); throw new Error();
} }
this._info = await fetchSystemHealthInfo(this.hass!); this._info = await fetchSystemHealthInfo(this.hass!);

View File

@ -6,6 +6,7 @@ import "@polymer/paper-input/paper-textarea";
import { html } from "@polymer/polymer/lib/utils/html-tag"; import { html } from "@polymer/polymer/lib/utils/html-tag";
import { PolymerElement } from "@polymer/polymer/polymer-element"; import { PolymerElement } from "@polymer/polymer/polymer-element";
import { ENTITY_COMPONENT_DOMAINS } from "../../data/entity";
import "../../components/entity/ha-entity-picker"; import "../../components/entity/ha-entity-picker";
import "../../components/ha-menu-button"; import "../../components/ha-menu-button";
import "../../components/ha-service-picker"; import "../../components/ha-service-picker";
@ -293,7 +294,7 @@ class HaPanelDevService extends PolymerElement {
} }
_computeEntityDomainFilter(domain) { _computeEntityDomainFilter(domain) {
return domain === "homeassistant" ? null : domain; return ENTITY_COMPONENT_DOMAINS.includes(domain) ? domain : null;
} }
_callService() { _callService() {

View File

@ -84,12 +84,14 @@ class HuiPictureElementsCard extends LitElement implements LovelaceCard {
<style> <style>
#root { #root {
position: relative; position: relative;
overflow: hidden;
} }
.element { .element {
position: absolute; position: absolute;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }
ha-card {
overflow: hidden;
}
</style> </style>
`; `;
} }

View File

@ -5,6 +5,7 @@ import {
property, property,
css, css,
CSSResult, CSSResult,
customElement,
} from "lit-element"; } from "lit-element";
import "../../../components/ha-climate-state"; import "../../../components/ha-climate-state";
@ -14,8 +15,10 @@ import "../components/hui-warning";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
@customElement("hui-climate-entity-row")
class HuiClimateEntityRow extends LitElement implements EntityRow { class HuiClimateEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -69,5 +72,3 @@ declare global {
"hui-climate-entity-row": HuiClimateEntityRow; "hui-climate-entity-row": HuiClimateEntityRow;
} }
} }
customElements.define("hui-climate-entity-row", HuiClimateEntityRow);

View File

@ -5,6 +5,7 @@ import {
property, property,
css, css,
CSSResult, CSSResult,
customElement,
} from "lit-element"; } from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -16,8 +17,10 @@ import { isTiltOnly } from "../../../util/cover-model";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
@customElement("hui-cover-entity-row")
class HuiCoverEntityRow extends LitElement implements EntityRow { class HuiCoverEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -80,5 +83,3 @@ declare global {
"hui-cover-entity-row": HuiCoverEntityRow; "hui-cover-entity-row": HuiCoverEntityRow;
} }
} }
customElements.define("hui-cover-entity-row", HuiCoverEntityRow);

View File

@ -1,4 +1,10 @@
import { html, LitElement, TemplateResult, property } from "lit-element"; import {
html,
LitElement,
TemplateResult,
property,
customElement,
} from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
import "../../../components/entity/ha-entity-toggle"; import "../../../components/entity/ha-entity-toggle";
@ -9,8 +15,10 @@ import { DOMAINS_TOGGLE } from "../../../common/const";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
@customElement("hui-group-entity-row")
class HuiGroupEntityRow extends LitElement implements EntityRow { class HuiGroupEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -73,5 +81,3 @@ declare global {
"hui-group-entity-row": HuiGroupEntityRow; "hui-group-entity-row": HuiGroupEntityRow;
} }
} }
customElements.define("hui-group-entity-row", HuiGroupEntityRow);

View File

@ -20,8 +20,11 @@ import { setValue } from "../../../data/input_text";
@customElement("hui-input-number-entity-row") @customElement("hui-input-number-entity-row")
class HuiInputNumberEntityRow extends LitElement implements EntityRow { class HuiInputNumberEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
private _loaded?: boolean; private _loaded?: boolean;
private _updated?: boolean; private _updated?: boolean;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {

View File

@ -5,6 +5,7 @@ import {
property, property,
css, css,
CSSResult, CSSResult,
customElement,
} from "lit-element"; } from "lit-element";
import { repeat } from "lit-html/directives/repeat"; import { repeat } from "lit-html/directives/repeat";
import "@polymer/paper-dropdown-menu/paper-dropdown-menu"; import "@polymer/paper-dropdown-menu/paper-dropdown-menu";
@ -19,8 +20,10 @@ import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
import { setOption } from "../../../data/input-select"; import { setOption } from "../../../data/input-select";
@customElement("hui-input-select-entity-row")
class HuiInputSelectEntityRow extends LitElement implements EntityRow { class HuiInputSelectEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -106,5 +109,3 @@ declare global {
"hui-input-select-entity-row": HuiInputSelectEntityRow; "hui-input-select-entity-row": HuiInputSelectEntityRow;
} }
} }
customElements.define("hui-input-select-entity-row", HuiInputSelectEntityRow);

View File

@ -1,4 +1,10 @@
import { html, LitElement, TemplateResult, property } from "lit-element"; import {
html,
LitElement,
TemplateResult,
property,
customElement,
} from "lit-element";
import { PaperInputElement } from "@polymer/paper-input/paper-input"; import { PaperInputElement } from "@polymer/paper-input/paper-input";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -8,8 +14,10 @@ import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
import { setValue } from "../../../data/input_text"; import { setValue } from "../../../data/input_text";
@customElement("hui-input-text-entity-row")
class HuiInputTextEntityRow extends LitElement implements EntityRow { class HuiInputTextEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -76,5 +84,3 @@ declare global {
"hui-input-text-entity-row": HuiInputTextEntityRow; "hui-input-text-entity-row": HuiInputTextEntityRow;
} }
} }
customElements.define("hui-input-text-entity-row", HuiInputTextEntityRow);

View File

@ -5,6 +5,7 @@ import {
property, property,
css, css,
CSSResult, CSSResult,
customElement,
} from "lit-element"; } from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -13,8 +14,10 @@ import "../components/hui-warning";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
@customElement("hui-lock-entity-row")
class HuiLockEntityRow extends LitElement implements EntityRow { class HuiLockEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -78,5 +81,3 @@ declare global {
"hui-lock-entity-row": HuiLockEntityRow; "hui-lock-entity-row": HuiLockEntityRow;
} }
} }
customElements.define("hui-lock-entity-row", HuiLockEntityRow);

View File

@ -5,6 +5,7 @@ import {
css, css,
CSSResult, CSSResult,
property, property,
customElement,
} from "lit-element"; } from "lit-element";
import "@polymer/paper-icon-button/paper-icon-button"; import "@polymer/paper-icon-button/paper-icon-button";
@ -22,8 +23,10 @@ import {
SUPPORT_PAUSE, SUPPORT_PAUSE,
} from "../../../data/media-player"; } from "../../../data/media-player";
@customElement("hui-media-player-entity-row")
class HuiMediaPlayerEntityRow extends LitElement implements EntityRow { class HuiMediaPlayerEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -156,5 +159,3 @@ declare global {
"hui-media-player-entity-row": HuiMediaPlayerEntityRow; "hui-media-player-entity-row": HuiMediaPlayerEntityRow;
} }
} }
customElements.define("hui-media-player-entity-row", HuiMediaPlayerEntityRow);

View File

@ -5,6 +5,7 @@ import {
CSSResult, CSSResult,
css, css,
property, property,
customElement,
} from "lit-element"; } from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -14,8 +15,10 @@ import "../components/hui-warning";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
@customElement("hui-scene-entity-row")
class HuiSceneEntityRow extends LitElement implements EntityRow { class HuiSceneEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -83,5 +86,3 @@ declare global {
"hui-scene-entity-row": HuiSceneEntityRow; "hui-scene-entity-row": HuiSceneEntityRow;
} }
} }
customElements.define("hui-scene-entity-row", HuiSceneEntityRow);

View File

@ -5,6 +5,7 @@ import {
property, property,
CSSResult, CSSResult,
css, css,
customElement,
} from "lit-element"; } from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -14,8 +15,10 @@ import "../components/hui-warning";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
@customElement("hui-script-entity-row")
class HuiScriptEntityRow extends LitElement implements EntityRow { class HuiScriptEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -83,5 +86,3 @@ declare global {
"hui-script-entity-row": HuiScriptEntityRow; "hui-script-entity-row": HuiScriptEntityRow;
} }
} }
customElements.define("hui-script-entity-row", HuiScriptEntityRow);

View File

@ -5,6 +5,7 @@ import {
property, property,
CSSResult, CSSResult,
css, css,
customElement,
} from "lit-element"; } from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -20,8 +21,10 @@ interface SensorEntityConfig extends EntityConfig {
format?: "relative" | "date" | "time" | "datetime"; format?: "relative" | "date" | "time" | "datetime";
} }
@customElement("hui-sensor-entity-row")
class HuiSensorEntityRow extends LitElement implements EntityRow { class HuiSensorEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: SensorEntityConfig; @property() private _config?: SensorEntityConfig;
public setConfig(config: SensorEntityConfig): void { public setConfig(config: SensorEntityConfig): void {
@ -85,5 +88,3 @@ declare global {
"hui-sensor-entity-row": HuiSensorEntityRow; "hui-sensor-entity-row": HuiSensorEntityRow;
} }
} }
customElements.define("hui-sensor-entity-row", HuiSensorEntityRow);

View File

@ -5,6 +5,7 @@ import {
property, property,
CSSResult, CSSResult,
css, css,
customElement,
} from "lit-element"; } from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -14,8 +15,10 @@ import computeStateDisplay from "../../../common/entity/compute_state_display";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
@customElement("hui-text-entity-row")
class HuiTextEntityRow extends LitElement implements EntityRow { class HuiTextEntityRow extends LitElement implements EntityRow {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -71,5 +74,3 @@ declare global {
"hui-text-entity-row": HuiTextEntityRow; "hui-text-entity-row": HuiTextEntityRow;
} }
} }
customElements.define("hui-text-entity-row", HuiTextEntityRow);

View File

@ -4,6 +4,7 @@ import {
TemplateResult, TemplateResult,
property, property,
PropertyValues, PropertyValues,
customElement,
} from "lit-element"; } from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -15,10 +16,14 @@ import { HomeAssistant } from "../../../types";
import { EntityConfig } from "./types"; import { EntityConfig } from "./types";
import { HassEntity } from "home-assistant-js-websocket"; import { HassEntity } from "home-assistant-js-websocket";
@customElement("hui-timer-entity-row")
class HuiTimerEntityRow extends LitElement { class HuiTimerEntityRow extends LitElement {
@property() public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
@property() private _config?: EntityConfig; @property() private _config?: EntityConfig;
@property() private _timeRemaining?: number; @property() private _timeRemaining?: number;
private _interval?: number; private _interval?: number;
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
@ -124,5 +129,3 @@ declare global {
"hui-timer-entity-row": HuiTimerEntityRow; "hui-timer-entity-row": HuiTimerEntityRow;
} }
} }
customElements.define("hui-timer-entity-row", HuiTimerEntityRow);

View File

@ -1,8 +1,9 @@
import { import {
html, html,
LitElement, LitElement,
PropertyDeclarations,
TemplateResult, TemplateResult,
customElement,
property,
} from "lit-element"; } from "lit-element";
import "../components/hui-generic-entity-row"; import "../components/hui-generic-entity-row";
@ -10,19 +11,15 @@ import "../../../components/entity/ha-entity-toggle";
import "../components/hui-warning"; import "../components/hui-warning";
import computeStateDisplay from "../../../common/entity/compute_state_display"; import computeStateDisplay from "../../../common/entity/compute_state_display";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityRow, EntityConfig } from "./types"; import { EntityRow, EntityConfig } from "./types";
@customElement("hui-toggle-entity-row")
class HuiToggleEntityRow extends LitElement implements EntityRow { class HuiToggleEntityRow extends LitElement implements EntityRow {
public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
private _config?: EntityConfig;
static get properties(): PropertyDeclarations { @property() private _config?: EntityConfig;
return {
hass: {},
_config: {},
};
}
public setConfig(config: EntityConfig): void { public setConfig(config: EntityConfig): void {
if (!config) { if (!config) {
@ -78,5 +75,3 @@ declare global {
"hui-toggle-entity-row": HuiToggleEntityRow; "hui-toggle-entity-row": HuiToggleEntityRow;
} }
} }
customElements.define("hui-toggle-entity-row", HuiToggleEntityRow);

View File

@ -1,4 +1,12 @@
import { html, LitElement, TemplateResult } from "lit-element"; import {
html,
LitElement,
TemplateResult,
customElement,
property,
css,
CSSResult,
} from "lit-element";
import "@material/mwc-button"; import "@material/mwc-button";
import "../../../components/ha-icon"; import "../../../components/ha-icon";
@ -7,16 +15,11 @@ import { callService } from "../common/call-service";
import { EntityRow, CallServiceConfig } from "../entity-rows/types"; import { EntityRow, CallServiceConfig } from "../entity-rows/types";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
@customElement("hui-call-service-row")
class HuiCallServiceRow extends LitElement implements EntityRow { class HuiCallServiceRow extends LitElement implements EntityRow {
public hass?: HomeAssistant; @property() public hass?: HomeAssistant;
private _config?: CallServiceConfig;
static get properties() { @property() private _config?: CallServiceConfig;
return {
hass: {},
_config: {},
};
}
public setConfig(config: CallServiceConfig): void { public setConfig(config: CallServiceConfig): void {
if (!config || !config.name || !config.service) { if (!config || !config.name || !config.service) {
@ -32,7 +35,6 @@ class HuiCallServiceRow extends LitElement implements EntityRow {
} }
return html` return html`
${this.renderStyle()}
<ha-icon .icon="${this._config.icon}"></ha-icon> <ha-icon .icon="${this._config.icon}"></ha-icon>
<div class="flex"> <div class="flex">
<div>${this._config.name}</div> <div>${this._config.name}</div>
@ -43,34 +45,32 @@ class HuiCallServiceRow extends LitElement implements EntityRow {
`; `;
} }
private renderStyle(): TemplateResult { static get styles(): CSSResult {
return html` return css`
<style> :host {
:host { display: flex;
display: flex; align-items: center;
align-items: center; }
} ha-icon {
ha-icon { padding: 8px;
padding: 8px; color: var(--paper-item-icon-color);
color: var(--paper-item-icon-color); }
} .flex {
.flex { flex: 1;
flex: 1; overflow: hidden;
overflow: hidden; margin-left: 16px;
margin-left: 16px; display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; align-items: center;
align-items: center; }
} .flex div {
.flex div { white-space: nowrap;
white-space: nowrap; overflow: hidden;
overflow: hidden; text-overflow: ellipsis;
text-overflow: ellipsis; }
} mwc-button {
mwc-button { margin-right: -0.57em;
margin-right: -0.57em; }
}
</style>
`; `;
} }
@ -84,5 +84,3 @@ declare global {
"hui-call-service-row": HuiCallServiceRow; "hui-call-service-row": HuiCallServiceRow;
} }
} }
customElements.define("hui-call-service-row", HuiCallServiceRow);

View File

@ -1,16 +1,19 @@
import { html, LitElement, TemplateResult } from "lit-element"; import {
html,
LitElement,
TemplateResult,
customElement,
property,
} from "lit-element";
import { EntityRow, DividerConfig } from "../entity-rows/types"; import { EntityRow, DividerConfig } from "../entity-rows/types";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
@customElement("hui-divider-row")
class HuiDividerRow extends LitElement implements EntityRow { class HuiDividerRow extends LitElement implements EntityRow {
public hass?: HomeAssistant; public hass?: HomeAssistant;
private _config?: DividerConfig;
static get properties() { @property() private _config?: DividerConfig;
return {
_config: {},
};
}
public setConfig(config): void { public setConfig(config): void {
if (!config) { if (!config) {
@ -48,5 +51,3 @@ declare global {
"hui-divider-row": HuiDividerRow; "hui-divider-row": HuiDividerRow;
} }
} }
customElements.define("hui-divider-row", HuiDividerRow);

View File

@ -1,18 +1,23 @@
import { html, LitElement, TemplateResult } from "lit-element"; import {
html,
LitElement,
TemplateResult,
customElement,
property,
css,
CSSResult,
} from "lit-element";
import { EntityRow, SectionConfig } from "../entity-rows/types"; import { EntityRow, SectionConfig } from "../entity-rows/types";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import "../../../components/ha-icon"; import "../../../components/ha-icon";
@customElement("hui-section-row")
class HuiSectionRow extends LitElement implements EntityRow { class HuiSectionRow extends LitElement implements EntityRow {
public hass?: HomeAssistant; public hass?: HomeAssistant;
private _config?: SectionConfig;
static get properties() { @property() private _config?: SectionConfig;
return {
_config: {},
};
}
public setConfig(config: SectionConfig): void { public setConfig(config: SectionConfig): void {
if (!config) { if (!config) {
@ -28,7 +33,6 @@ class HuiSectionRow extends LitElement implements EntityRow {
} }
return html` return html`
${this.renderStyle()}
<div class="divider"></div> <div class="divider"></div>
${this._config.label ${this._config.label
? html` ? html`
@ -38,24 +42,22 @@ class HuiSectionRow extends LitElement implements EntityRow {
`; `;
} }
private renderStyle(): TemplateResult { static get styles(): CSSResult {
return html` return css`
<style> .label {
.label { color: var(--primary-color);
color: var(--primary-color); margin-left: 8px;
margin-left: 8px; margin-bottom: 16px;
margin-bottom: 16px; margin-top: 16px;
margin-top: 16px; }
} .divider {
.divider { height: 1px;
height: 1px; background-color: var(--secondary-text-color);
background-color: var(--secondary-text-color); opacity: 0.25;
opacity: 0.25; margin-left: -16px;
margin-left: -16px; margin-right: -16px;
margin-right: -16px; margin-top: 8px;
margin-top: 8px; }
}
</style>
`; `;
} }
} }
@ -65,5 +67,3 @@ declare global {
"hui-section-row": HuiSectionRow; "hui-section-row": HuiSectionRow;
} }
} }
customElements.define("hui-section-row", HuiSectionRow);

View File

@ -1,18 +1,23 @@
import { html, LitElement, TemplateResult } from "lit-element"; import {
html,
LitElement,
TemplateResult,
customElement,
property,
css,
CSSResult,
} from "lit-element";
import { EntityRow, WeblinkConfig } from "../entity-rows/types"; import { EntityRow, WeblinkConfig } from "../entity-rows/types";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import "../../../components/ha-icon"; import "../../../components/ha-icon";
@customElement("hui-weblink-row")
class HuiWeblinkRow extends LitElement implements EntityRow { class HuiWeblinkRow extends LitElement implements EntityRow {
public hass?: HomeAssistant; public hass?: HomeAssistant;
private _config?: WeblinkConfig;
static get properties() { @property() private _config?: WeblinkConfig;
return {
_config: {},
};
}
public setConfig(config: WeblinkConfig): void { public setConfig(config: WeblinkConfig): void {
if (!config || !config.url) { if (!config || !config.url) {
@ -32,7 +37,6 @@ class HuiWeblinkRow extends LitElement implements EntityRow {
} }
return html` return html`
${this.renderStyle()}
<a href="${this._config.url}" target="_blank"> <a href="${this._config.url}" target="_blank">
<ha-icon .icon="${this._config.icon}"></ha-icon> <ha-icon .icon="${this._config.icon}"></ha-icon>
<div>${this._config.name}</div> <div>${this._config.name}</div>
@ -40,26 +44,24 @@ class HuiWeblinkRow extends LitElement implements EntityRow {
`; `;
} }
private renderStyle(): TemplateResult { static get styles(): CSSResult {
return html` return css`
<style> a {
a { display: flex;
display: flex; align-items: center;
align-items: center; color: var(--primary-color);
color: var(--primary-color); }
} ha-icon {
ha-icon { padding: 8px;
padding: 8px; color: var(--paper-item-icon-color);
color: var(--paper-item-icon-color); }
} div {
div { flex: 1;
flex: 1; white-space: nowrap;
white-space: nowrap; overflow: hidden;
overflow: hidden; text-overflow: ellipsis;
text-overflow: ellipsis; margin-left: 16px;
margin-left: 16px; }
}
</style>
`; `;
} }
} }
@ -69,5 +71,3 @@ declare global {
"hui-weblink-row": HuiWeblinkRow; "hui-weblink-row": HuiWeblinkRow;
} }
} }
customElements.define("hui-weblink-row", HuiWeblinkRow);

View File

@ -270,6 +270,10 @@
"active": "actiu", "active": "actiu",
"idle": "inactiu", "idle": "inactiu",
"paused": "en pausa" "paused": "en pausa"
},
"person": {
"home": "A casa",
"not_home": "Fora"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "A casa", "home": "A casa",
"not_home": "Fora" "not_home": "Fora"
},
"person": {
"home": "A casa",
"not_home": "Fora"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "L'editor d'automatismes permet crear i editar automatismes. Llegeix [les instruccions](https:\/\/home-assistant.io\/docs\/automation\/editor\/) per assegurar-te que has configurat el Home Assistant correctament.", "introduction": "L'editor d'automatismes permet crear i editar automatismes. Llegeix [les instruccions](https:\/\/home-assistant.io\/docs\/automation\/editor\/) per assegurar-te que has configurat el Home Assistant correctament.",
"pick_automation": "Selecciona l'automatisme a editar", "pick_automation": "Selecciona l'automatisme a editar",
"no_automations": "No s'ha pogut trobar cap automatisme editable", "no_automations": "No s'ha pogut trobar cap automatisme editable",
"add_automation": "Afegir automatisme" "add_automation": "Afegir automatisme",
"learn_more": "Més informació sobre els automatismes"
}, },
"editor": { "editor": {
"introduction": "Utilitza els automatismes per donar més vida a la teva casa", "introduction": "Utilitza els automatismes per donar més vida a la teva casa",
@ -452,7 +461,8 @@
"enter": "Entrar", "enter": "Entrar",
"leave": "Sortir" "leave": "Sortir"
} }
} },
"learn_more": "Més informació sobre els activadors"
}, },
"conditions": { "conditions": {
"header": "Condicions", "header": "Condicions",
@ -497,7 +507,8 @@
"entity": "Entitat amb ubicació", "entity": "Entitat amb ubicació",
"zone": "Zona" "zone": "Zona"
} }
} },
"learn_more": "Més informació sobre les condicions"
}, },
"actions": { "actions": {
"header": "Accions", "header": "Accions",
@ -530,7 +541,8 @@
"event": "Esdeveniment:", "event": "Esdeveniment:",
"service_data": "Dades de servei" "service_data": "Dades de servei"
} }
} },
"learn_more": "Més informació sobre les accions"
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "Registre d'àrees", "header": "Registre d'àrees",
"introduction": "Les àrees s'utilitzen per organitzar la situació dels dispositius. Aquesta informació serà utilitzada per Home Assistant per ajudar-te a organitzar millor la teva interfície, els permisos i les integracions amb d'altres sistemes.", "introduction": "Les àrees s'utilitzen per organitzar la situació dels dispositius. Aquesta informació serà utilitzada per Home Assistant per ajudar-te a organitzar millor la teva interfície, els permisos i les integracions amb d'altres sistemes.",
"introduction2": "Per col·locar dispositius en una àrea, utilitza l'enllaç de sota per anar a la pàgina d'integracions i, a continuació, fes clic a una integració configurada per accedir a les targetes del dispositiu." "introduction2": "Per col·locar dispositius en una àrea, utilitza l'enllaç de sota per anar a la pàgina d'integracions i, a continuació, fes clic a una integració configurada per accedir a les targetes del dispositiu.",
"integrations_page": "Pàgina d'integracions"
}, },
"no_areas": "Sembla que encara no tens cap àrea, encara.", "no_areas": "Sembla que encara no tens cap àrea, encara.",
"create_area": "CREA ÀREA", "create_area": "CREA ÀREA",
@ -621,7 +634,8 @@
"header": "Registre d'entitats", "header": "Registre d'entitats",
"unavailable": "(no disponible)", "unavailable": "(no disponible)",
"introduction": "Home Assistant manté un registre de totes les entitats que ha detectat alguna vegada les quals tenen una identificació única. Cadascuna d'aquestes entitats té un identificador (ID) assignat que està reservat només per a ella.", "introduction": "Home Assistant manté un registre de totes les entitats que ha detectat alguna vegada les quals tenen una identificació única. Cadascuna d'aquestes entitats té un identificador (ID) assignat que està reservat només per a ella.",
"introduction2": "Utilitza el registre d'entitats per canviar el nom, canviar l'ID o eliminar l'entrada de Home Assistant de les entitats. Tingues en compte que eliminar-les del registre d'entitats no eliminarà l'entitat. Per fer-ho, segueix l'enllaç següent i elimineu-la dins la pàgina d'integracions." "introduction2": "Utilitza el registre d'entitats per canviar el nom, canviar l'ID o eliminar l'entrada de Home Assistant de les entitats. Tingues en compte que eliminar-les del registre d'entitats no eliminarà l'entitat. Per fer-ho, segueix l'enllaç següent i elimineu-la dins la pàgina d'integracions.",
"integrations_page": "Pàgina d'integracions"
}, },
"editor": { "editor": {
"unavailable": "Aquesta entitat no està disponible actualment.", "unavailable": "Aquesta entitat no està disponible actualment.",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "Editor de codi" "raw_editor": "Editor de codi"
},
"raw_editor": {
"header": "Edita la configuració",
"save": "Desar",
"unsaved_changes": "Canvis sense desar",
"saved": "Desat"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "Estat del sistema" "system_health": "Estat del sistema",
"person": "Persona"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "aktiv", "active": "aktiv",
"idle": "Leerlauf", "idle": "Leerlauf",
"paused": "pausiert" "paused": "pausiert"
},
"person": {
"home": "Zuhause",
"not_home": "Abwesend"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "Z. Hause", "home": "Z. Hause",
"not_home": "Abwes." "not_home": "Abwes."
},
"person": {
"home": "Zuhause",
"not_home": "Abwesend"
} }
}, },
"ui": { "ui": {
@ -362,10 +370,11 @@
"description": "Automatisierungen erstellen und bearbeiten", "description": "Automatisierungen erstellen und bearbeiten",
"picker": { "picker": {
"header": "Automatisierungseditor", "header": "Automatisierungseditor",
"introduction": "Mit dem Automationseditor können Automatisierungen erstellt und bearbeitet werden. Bitte lies [die Anleitungen](https:\/\/home-assistant.io\/docs\/automation\/editor\/), um sicherzustellen, dass du Home Assistant richtig konfiguriert hast.", "introduction": "Mit dem Automationseditor können Automatisierungen erstellt und bearbeitet werden. Bitte folge dem nachfolgenden Link, um die Anleitung zu lesen, um sicherzustellen, dass du Home Assistant richtig konfiguriert hast.",
"pick_automation": "Wähle eine Automatisierung zum Bearbeiten", "pick_automation": "Wähle eine Automatisierung zum Bearbeiten",
"no_automations": "Wir konnten keine editierbaren Automatisierungen finden", "no_automations": "Wir konnten keine editierbaren Automatisierungen finden",
"add_automation": "Automatisierung hinzufügen" "add_automation": "Automatisierung hinzufügen",
"learn_more": "Erfahre mehr über Automatisierungen"
}, },
"editor": { "editor": {
"introduction": "Benutze Automatisierungen, um deinem Zuhause Leben einzuhauchen", "introduction": "Benutze Automatisierungen, um deinem Zuhause Leben einzuhauchen",
@ -375,7 +384,7 @@
"alias": "Name", "alias": "Name",
"triggers": { "triggers": {
"header": "Auslöser", "header": "Auslöser",
"introduction": "Auslöser starten automatisierte Abläufe. Es ist möglich, mehrere Auslöser für dieselbe Abfolge zu definieren. Wenn ein Auslöser aktiviert wird, prüft Home Assistant die Bedingungen, sofern vorhanden, und führt die Aktion aus.\n\n[Erfahre mehr über Auslöser.](https:\/\/home-assistant.io\/docs\/automation\/trigger\/)", "introduction": "Auslöser starten automatisierte Abläufe. Es ist möglich, mehrere Auslöser für dieselbe Abfolge zu definieren. Wenn ein Auslöser aktiviert wird, prüft Home Assistant die Bedingungen, sofern vorhanden, und führt die Aktion aus.",
"add": "Auslöser hinzufügen", "add": "Auslöser hinzufügen",
"duplicate": "Duplizieren", "duplicate": "Duplizieren",
"delete": "Löschen", "delete": "Löschen",
@ -452,11 +461,12 @@
"enter": "Betreten", "enter": "Betreten",
"leave": "Verlassen" "leave": "Verlassen"
} }
} },
"learn_more": "Erfahre mehr über Auslöser"
}, },
"conditions": { "conditions": {
"header": "Bedingungen", "header": "Bedingungen",
"introduction": "Bedingungen sind ein optionaler Bestandteil bei automatisierten Abläufen und können das Ausführen einer Aktion verhindern. Bedingungen sind Auslösern ähnlich, aber dennoch verschieden. Ein Auslöser beobachtet im System ablaufende Ereignisse, wohingegen Bedingungen nur den aktuellen Systemzustand betrachten. Ein Auslöser kann beobachten, ob ein Schalter aktiviert wird. Eine Bedingung kann lediglich sehen, ob ein Schalter aktuell an oder aus ist.\n\n[Erfahre mehr über Bedingungen.](https:\/\/home-assistant.io\/docs\/scripts\/conditions\/)", "introduction": "Bedingungen sind ein optionaler Bestandteil bei automatisierten Abläufen und können das Ausführen einer Aktion verhindern. Bedingungen sind Auslösern ähnlich, aber dennoch verschieden. Ein Auslöser beobachtet im System ablaufende Ereignisse, wohingegen Bedingungen nur den aktuellen Systemzustand betrachten. Ein Auslöser kann beobachten, ob ein Schalter aktiviert wird. Eine Bedingung kann lediglich sehen, ob ein Schalter aktuell an oder aus ist.",
"add": "Bedingung hinzufügen", "add": "Bedingung hinzufügen",
"duplicate": "Duplizieren", "duplicate": "Duplizieren",
"delete": "Löschen", "delete": "Löschen",
@ -497,11 +507,12 @@
"entity": "Entität mit Standort", "entity": "Entität mit Standort",
"zone": "Zone" "zone": "Zone"
} }
} },
"learn_more": "Erfahre mehr über Bedingungen"
}, },
"actions": { "actions": {
"header": "Aktionen", "header": "Aktionen",
"introduction": "Aktionen werden von Home Assistant ausgeführt, wenn Automatisierungen ausgelöst werden.\n\n[Erfahre mehr über Aktionen.](https:\/\/home-assistant.io\/docs\/automation\/action\/)", "introduction": "Aktionen werden von Home Assistant ausgeführt, wenn Automatisierungen ausgelöst werden.",
"add": "Aktion hinzufügen", "add": "Aktion hinzufügen",
"duplicate": "Duplizieren", "duplicate": "Duplizieren",
"delete": "Löschen", "delete": "Löschen",
@ -530,7 +541,8 @@
"event": "Ereignis:", "event": "Ereignis:",
"service_data": "Dienstdaten" "service_data": "Dienstdaten"
} }
} },
"learn_more": "Erfahre mehr über Aktionen"
} }
} }
}, },
@ -870,6 +882,12 @@
}, },
"menu": { "menu": {
"raw_editor": "Raw-Konfigurationseditor" "raw_editor": "Raw-Konfigurationseditor"
},
"raw_editor": {
"header": "Konfiguration bearbeiten",
"save": "Speichern",
"unsaved_changes": "Nicht gespeicherte Änderungen",
"saved": "Gespeichert"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1136,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "Systemzustand" "system_health": "Systemzustand",
"person": "Person"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "active", "active": "active",
"idle": "idle", "idle": "idle",
"paused": "paused" "paused": "paused"
},
"person": {
"home": "Home",
"not_home": "Away"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "Home", "home": "Home",
"not_home": "Away" "not_home": "Away"
},
"person": {
"home": "Home",
"not_home": "Away"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "The automation editor allows you to create and edit automations. Please follow the link below to read the instructions to make sure that you have configured Home Assistant correctly.", "introduction": "The automation editor allows you to create and edit automations. Please follow the link below to read the instructions to make sure that you have configured Home Assistant correctly.",
"pick_automation": "Pick automation to edit", "pick_automation": "Pick automation to edit",
"no_automations": "We couldnt find any editable automations", "no_automations": "We couldnt find any editable automations",
"add_automation": "Add automation" "add_automation": "Add automation",
"learn_more": "Learn more about automations"
}, },
"editor": { "editor": {
"introduction": "Use automations to bring your home alive", "introduction": "Use automations to bring your home alive",
@ -375,7 +384,7 @@
"alias": "Name", "alias": "Name",
"triggers": { "triggers": {
"header": "Triggers", "header": "Triggers",
"introduction": "Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action. Click the link below to learn more about triggers.", "introduction": "Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action.",
"add": "Add trigger", "add": "Add trigger",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"delete": "Delete", "delete": "Delete",
@ -452,11 +461,12 @@
"enter": "Enter", "enter": "Enter",
"leave": "Leave" "leave": "Leave"
} }
} },
"learn_more": "Learn more about triggers"
}, },
"conditions": { "conditions": {
"header": "Conditions", "header": "Conditions",
"introduction": "Conditions are an optional part of an automation rule and can be used to prevent an action from happening when triggered. Conditions look very similar to triggers but are very different. A trigger will look at events happening in the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is currently on or off. Click the link below to learn more about conditions.", "introduction": "Conditions are an optional part of an automation rule and can be used to prevent an action from happening when triggered. Conditions look very similar to triggers but are very different. A trigger will look at events happening in the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is currently on or off.",
"add": "Add condition", "add": "Add condition",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"delete": "Delete", "delete": "Delete",
@ -497,11 +507,12 @@
"entity": "Entity with location", "entity": "Entity with location",
"zone": "Zone" "zone": "Zone"
} }
} },
"learn_more": "Learn more about conditions"
}, },
"actions": { "actions": {
"header": "Actions", "header": "Actions",
"introduction": "The actions are what Home Assistant will do when the automation is triggered. Click the link below to learn more about actions.", "introduction": "The actions are what Home Assistant will do when the automation is triggered.",
"add": "Add action", "add": "Add action",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"delete": "Delete", "delete": "Delete",
@ -530,7 +541,8 @@
"event": "Event:", "event": "Event:",
"service_data": "Service data" "service_data": "Service data"
} }
} },
"learn_more": "Learn more about actions"
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "Area Registry", "header": "Area Registry",
"introduction": "Areas are used to organize where devices are. This information will be used throughout Home Assistant to help you in organizing your interface, permissions and integrations with other systems.", "introduction": "Areas are used to organize where devices are. This information will be used throughout Home Assistant to help you in organizing your interface, permissions and integrations with other systems.",
"introduction2": "To place devices in an area, use the link below to navigate to the integrations page and then click on a configured integration to get to the device cards." "introduction2": "To place devices in an area, use the link below to navigate to the integrations page and then click on a configured integration to get to the device cards.",
"integrations_page": "Integrations page"
}, },
"no_areas": "Looks like you have no areas yet!", "no_areas": "Looks like you have no areas yet!",
"create_area": "CREATE AREA", "create_area": "CREATE AREA",
@ -621,7 +634,8 @@
"header": "Entity Registry", "header": "Entity Registry",
"unavailable": "(unavailable)", "unavailable": "(unavailable)",
"introduction": "Home Assistant keeps a registry of every entity it has ever seen that can be uniquely identified. Each of these entities will have an entity ID assigned which will be reserved for just this entity.", "introduction": "Home Assistant keeps a registry of every entity it has ever seen that can be uniquely identified. Each of these entities will have an entity ID assigned which will be reserved for just this entity.",
"introduction2": "Use the entity registry to override the name, change the entity ID or remove the entry from Home Assistant. Note, removing the entity registry entry won't remove the entity. To do that, follow the link below and remove it from the integrations page." "introduction2": "Use the entity registry to override the name, change the entity ID or remove the entry from Home Assistant. Note, removing the entity registry entry won't remove the entity. To do that, follow the link below and remove it from the integrations page.",
"integrations_page": "Integrations page"
}, },
"editor": { "editor": {
"unavailable": "This entity is not currently available.", "unavailable": "This entity is not currently available.",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "Raw config editor" "raw_editor": "Raw config editor"
},
"raw_editor": {
"header": "Edit Config",
"save": "Save",
"unsaved_changes": "Unsaved changes",
"saved": "Saved"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "System Health" "system_health": "System Health",
"person": "Person"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "activo", "active": "activo",
"idle": "inactivo", "idle": "inactivo",
"paused": "pausado" "paused": "pausado"
},
"person": {
"home": "Casa",
"not_home": "Fuera de casa"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "Casa", "home": "Casa",
"not_home": "Fuera" "not_home": "Fuera"
},
"person": {
"home": "Casa",
"not_home": "Fuera de casa"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "El editor de automatización le permite crear y editar automatizaciones. Lea [las instrucciones] (https:\/\/home-assistant.io\/docs\/automation\/editor\/) para asegurarse de haber configurado correctamente Home Assistant.", "introduction": "El editor de automatización le permite crear y editar automatizaciones. Lea [las instrucciones] (https:\/\/home-assistant.io\/docs\/automation\/editor\/) para asegurarse de haber configurado correctamente Home Assistant.",
"pick_automation": "Elija la automatización para editar", "pick_automation": "Elija la automatización para editar",
"no_automations": "No pudimos encontrar ninguna automatización editable", "no_automations": "No pudimos encontrar ninguna automatización editable",
"add_automation": "Añadir automatización" "add_automation": "Añadir automatización",
"learn_more": "Aprende más sobre automatizaciones."
}, },
"editor": { "editor": {
"introduction": "Use automatizaciones para dar vida a su hogar.", "introduction": "Use automatizaciones para dar vida a su hogar.",
@ -452,7 +461,8 @@
"enter": "Entrar", "enter": "Entrar",
"leave": "Salir" "leave": "Salir"
} }
} },
"learn_more": "Aprenda más sobre los desencadenantes"
}, },
"conditions": { "conditions": {
"header": "Condiciones", "header": "Condiciones",
@ -497,7 +507,8 @@
"entity": "Entidad con la ubicación", "entity": "Entidad con la ubicación",
"zone": "Zona" "zone": "Zona"
} }
} },
"learn_more": "Aprende más sobre las condiciones."
}, },
"actions": { "actions": {
"header": "Acciones", "header": "Acciones",
@ -530,7 +541,8 @@
"event": "Evento:", "event": "Evento:",
"service_data": "Datos del servicio" "service_data": "Datos del servicio"
} }
} },
"learn_more": "Aprende más sobre las acciones."
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "Registro de Área", "header": "Registro de Área",
"introduction": "Las áreas se utilizan para organizar dónde están los dispositivos. Esta información se utilizará en Home Assistant para ayudarle a organizar su interfaz, permisos e integraciones con otros sistemas.", "introduction": "Las áreas se utilizan para organizar dónde están los dispositivos. Esta información se utilizará en Home Assistant para ayudarle a organizar su interfaz, permisos e integraciones con otros sistemas.",
"introduction2": "Para colocar dispositivos en un área, utilice el siguiente enlace para navegar a la página de integraciones y luego haga clic en una integración configurada para llegar a las tarjetas de dispositivos." "introduction2": "Para colocar dispositivos en un área, utilice el siguiente enlace para navegar a la página de integraciones y luego haga clic en una integración configurada para llegar a las tarjetas de dispositivos.",
"integrations_page": "Integraciones"
}, },
"no_areas": "¡Parece que no tienes áreas!", "no_areas": "¡Parece que no tienes áreas!",
"create_area": "CREAR ÁREA", "create_area": "CREAR ÁREA",
@ -621,7 +634,8 @@
"header": "Registro de Entidades", "header": "Registro de Entidades",
"unavailable": "(no disponible)", "unavailable": "(no disponible)",
"introduction": "Home Assistant mantiene un registro de cada entidad que ha visto. Cada una de estas entidades tendrá una identificación asignada que se reservará sólo para esta entidad.", "introduction": "Home Assistant mantiene un registro de cada entidad que ha visto. Cada una de estas entidades tendrá una identificación asignada que se reservará sólo para esta entidad.",
"introduction2": "Utilice el registro de entidades para anular el nombre, cambiar el ID de la entidad o eliminar la entrada de Home Assistant. Nota: la eliminación de la entrada del registro de entidades no eliminará la entidad. Para ello, siga el siguiente enlace y elimínelo de la página de integraciones." "introduction2": "Utilice el registro de entidades para anular el nombre, cambiar el ID de la entidad o eliminar la entrada de Home Assistant. Nota: la eliminación de la entrada del registro de entidades no eliminará la entidad. Para ello, siga el siguiente enlace y elimínelo de la página de integraciones.",
"integrations_page": "Integraciones"
}, },
"editor": { "editor": {
"unavailable": "Esta entidad no está disponible actualmente.", "unavailable": "Esta entidad no está disponible actualmente.",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "Editor de configuración en bruto" "raw_editor": "Editor de configuración en bruto"
},
"raw_editor": {
"header": "Editar configuración",
"save": "Guardar",
"unsaved_changes": "Cambios no guardados",
"saved": "Guardado"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "Salud del sistema" "system_health": "Salud del sistema",
"person": "Persona"
}, },
"attribute": { "attribute": {
"weather": { "weather": {
@ -1131,7 +1152,7 @@
"climate": { "climate": {
"fan_mode": { "fan_mode": {
"off": "Apagado", "off": "Apagado",
"on": "Prendido", "on": "Encendido",
"auto": "Automatico" "auto": "Automatico"
} }
} }

View File

@ -270,6 +270,10 @@
"active": "actif", "active": "actif",
"idle": "En veille", "idle": "En veille",
"paused": "en pause" "paused": "en pause"
},
"person": {
"home": "Présent",
"not_home": "Absent"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "Maison", "home": "Maison",
"not_home": "Absent.e" "not_home": "Absent.e"
},
"person": {
"home": "Présent",
"not_home": "Absent"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "L'éditeur d'automatisation vous permet de créer et éditer des automatisations. Veuillez lire [les instructions](https:\/\/home-assistant.io\/docs\/automation\/editor\/) pour être sûr d'avoir configuré Home-Assistant correctement.", "introduction": "L'éditeur d'automatisation vous permet de créer et éditer des automatisations. Veuillez lire [les instructions](https:\/\/home-assistant.io\/docs\/automation\/editor\/) pour être sûr d'avoir configuré Home-Assistant correctement.",
"pick_automation": "Choisissez l'automatisation à éditer", "pick_automation": "Choisissez l'automatisation à éditer",
"no_automations": "Il n'y a aucune automatisation modifiable.", "no_automations": "Il n'y a aucune automatisation modifiable.",
"add_automation": "Ajouter une automatisation" "add_automation": "Ajouter une automatisation",
"learn_more": "En savoir plus sur les automatisations"
}, },
"editor": { "editor": {
"introduction": "Utilisez les automatisations pour donner vie à votre maison", "introduction": "Utilisez les automatisations pour donner vie à votre maison",
@ -452,7 +461,8 @@
"enter": "Entre", "enter": "Entre",
"leave": "Quitte" "leave": "Quitte"
} }
} },
"learn_more": "En savoir plus sur les déclencheurs"
}, },
"conditions": { "conditions": {
"header": "Conditions", "header": "Conditions",
@ -497,7 +507,8 @@
"entity": "Entité avec localisation", "entity": "Entité avec localisation",
"zone": "Zone" "zone": "Zone"
} }
} },
"learn_more": "En savoir plus sur les conditions"
}, },
"actions": { "actions": {
"header": "Actions", "header": "Actions",
@ -530,7 +541,8 @@
"event": "Évènement :", "event": "Évènement :",
"service_data": "Données du service" "service_data": "Données du service"
} }
} },
"learn_more": "En savoir plus sur les actions"
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "Registre des pièces", "header": "Registre des pièces",
"introduction": "Les zones sont utilisées pour organiser l'emplacement des périphériques. Ces informations seront utilisées partout dans Home Assistant pour vous aider à organiser votre interface, vos autorisations et vos intégrations avec d'autres systèmes.", "introduction": "Les zones sont utilisées pour organiser l'emplacement des périphériques. Ces informations seront utilisées partout dans Home Assistant pour vous aider à organiser votre interface, vos autorisations et vos intégrations avec d'autres systèmes.",
"introduction2": "Pour placer des périphériques dans une zone, utilisez le lien ci-dessous pour accéder à la page des intégrations, puis cliquez sur une intégration configurée pour accéder aux cartes de périphérique." "introduction2": "Pour placer des périphériques dans une zone, utilisez le lien ci-dessous pour accéder à la page des intégrations, puis cliquez sur une intégration configurée pour accéder aux cartes de périphérique.",
"integrations_page": "Page des intégrations"
}, },
"no_areas": "Vous n'avez pas encore configuré de pièce !", "no_areas": "Vous n'avez pas encore configuré de pièce !",
"create_area": "CRÉER UNE PIÈCE", "create_area": "CRÉER UNE PIÈCE",
@ -621,7 +634,8 @@
"header": "Registre des entités", "header": "Registre des entités",
"unavailable": "(indisponible)", "unavailable": "(indisponible)",
"introduction": "Home Assistant tient un registre de chaque entité qu'il na jamais vue et qui peut être identifié de manière unique. Chacune de ces entités se verra attribuer un identifiant qui sera réservé à cette seule entité.", "introduction": "Home Assistant tient un registre de chaque entité qu'il na jamais vue et qui peut être identifié de manière unique. Chacune de ces entités se verra attribuer un identifiant qui sera réservé à cette seule entité.",
"introduction2": "Utilisez le registre d'entités pour remplacer le nom, modifier l'ID d'entité ou supprimer l'entrée d'Home Assistant. Remarque: la suppression de l'entrée de registre d'entité ne supprime pas l'entité. Pour ce faire, suivez le lien ci-dessous et supprimez-le de la page des intégrations." "introduction2": "Utilisez le registre d'entités pour remplacer le nom, modifier l'ID d'entité ou supprimer l'entrée d'Home Assistant. Remarque: la suppression de l'entrée de registre d'entité ne supprime pas l'entité. Pour ce faire, suivez le lien ci-dessous et supprimez-le de la page des intégrations.",
"integrations_page": "Page des intégrations"
}, },
"editor": { "editor": {
"unavailable": "Cette entité n'est pas disponible actuellement.", "unavailable": "Cette entité n'est pas disponible actuellement.",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "Éditeur de configuration" "raw_editor": "Éditeur de configuration"
},
"raw_editor": {
"header": "Modifier la configuration",
"save": "Enregistrer",
"unsaved_changes": "Modifications non enregistrées",
"saved": "Enregistré"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "Santé du système" "system_health": "Santé du système",
"person": "Personne"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "פעיל", "active": "פעיל",
"idle": "לא פעיל", "idle": "לא פעיל",
"paused": "מושהה" "paused": "מושהה"
},
"person": {
"home": "בבית",
"not_home": "לא נמצא"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "בבית", "home": "בבית",
"not_home": "לא בבית" "not_home": "לא בבית"
},
"person": {
"home": "בבית",
"not_home": "לא נמצא"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "עורך אוטומציה מאפשר לך ליצור ולערוך אוטומציות. אנא קרא את [ההוראות](https:\/\/home-assistant.io\/docs\/automation\/editor\/) כדי לוודא שהגדרת את ה - Home Assistant כהלכה.", "introduction": "עורך אוטומציה מאפשר לך ליצור ולערוך אוטומציות. אנא קרא את [ההוראות](https:\/\/home-assistant.io\/docs\/automation\/editor\/) כדי לוודא שהגדרת את ה - Home Assistant כהלכה.",
"pick_automation": "בחר אוטומציה לעריכה", "pick_automation": "בחר אוטומציה לעריכה",
"no_automations": "לא הצלחנו למצוא שום אוטומציה הניתנת לעריכה", "no_automations": "לא הצלחנו למצוא שום אוטומציה הניתנת לעריכה",
"add_automation": "הוסף אוטומציה" "add_automation": "הוסף אוטומציה",
"learn_more": "למד עוד על אוטומציות"
}, },
"editor": { "editor": {
"introduction": "השתמש באוטומציות להביא את הבית שלך לחיים", "introduction": "השתמש באוטומציות להביא את הבית שלך לחיים",
@ -452,7 +461,8 @@
"enter": "כניסה", "enter": "כניסה",
"leave": "יציאה" "leave": "יציאה"
} }
} },
"learn_more": "למד עוד על טריגרים"
}, },
"conditions": { "conditions": {
"header": "תנאים", "header": "תנאים",
@ -497,7 +507,8 @@
"entity": "ישות עם מיקום", "entity": "ישות עם מיקום",
"zone": "אזור" "zone": "אזור"
} }
} },
"learn_more": "למד עוד על תנאים"
}, },
"actions": { "actions": {
"header": "פעולות", "header": "פעולות",
@ -530,7 +541,8 @@
"event": "ארוע", "event": "ארוע",
"service_data": "נתוני שירות" "service_data": "נתוני שירות"
} }
} },
"learn_more": "למד עוד על פעולות"
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "מאגר האזורים", "header": "מאגר האזורים",
"introduction": "אזורים משמשים לארגון המיקום של ההתקנים. Home Assistant יעשה שימוש במידע זה בכדי לסייע לך בארגון הממשק, ההרשאות והאינטגרציות שלך עם מערכות אחרות.", "introduction": "אזורים משמשים לארגון המיקום של ההתקנים. Home Assistant יעשה שימוש במידע זה בכדי לסייע לך בארגון הממשק, ההרשאות והאינטגרציות שלך עם מערכות אחרות.",
"introduction2": "כדי למקם התקנים באזור זה, השתמש בקישור הבא כדי לנווט אל דף האינטגרציות ולאחר מכן לחץ על אינטגרציה מוגדרת כדי להגיע לכרטיסי המכשיר." "introduction2": "כדי למקם התקנים באזור זה, השתמש בקישור הבא כדי לנווט אל דף האינטגרציות ולאחר מכן לחץ על אינטגרציה מוגדרת כדי להגיע לכרטיסי המכשיר.",
"integrations_page": "דף אינטגרציות"
}, },
"no_areas": "נראה שעדיין אין אזורים!", "no_areas": "נראה שעדיין אין אזורים!",
"create_area": "צור איזור", "create_area": "צור איזור",
@ -621,7 +634,8 @@
"header": "מאגר הישויות", "header": "מאגר הישויות",
"unavailable": "(לא זמין)", "unavailable": "(לא זמין)",
"introduction": "Home Assistant מנהל רישום של כל ישות שנראתה אי פעם ואשר ניתנת לזיהוי ייחודי. לכל אחד מישויות אלו יהיה מזהה ישות שהוקצה ואשר יהה שמור רק עבור ישות זו.", "introduction": "Home Assistant מנהל רישום של כל ישות שנראתה אי פעם ואשר ניתנת לזיהוי ייחודי. לכל אחד מישויות אלו יהיה מזהה ישות שהוקצה ואשר יהה שמור רק עבור ישות זו.",
"introduction2": "השתמש במאגר הישויות בכדי לשנות את השם, מזהה הישות או להסיר את הערך מ- Home Assistant. שים לב, הסרת הישות ממאגר זה לא תסיר את הישות. לשם כך, פעל לפי הקישור שלהלן והסר אותו מדף האינטגרציות." "introduction2": "השתמש במאגר הישויות בכדי לשנות את השם, מזהה הישות או להסיר את הערך מ- Home Assistant. שים לב, הסרת הישות ממאגר זה לא תסיר את הישות. לשם כך, פעל לפי הקישור שלהלן והסר אותו מדף האינטגרציות.",
"integrations_page": "דף אינטגרציות"
}, },
"editor": { "editor": {
"unavailable": "ישות זו אינה זמינה כעת.", "unavailable": "ישות זו אינה זמינה כעת.",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "עורך הקונפיגורציה" "raw_editor": "עורך הקונפיגורציה"
},
"raw_editor": {
"header": "עריכת קונפיגורציה",
"save": "שמור",
"unsaved_changes": "שינויים שלא נשמרו",
"saved": "נשמר"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "בריאות מערכת" "system_health": "בריאות מערכת",
"person": "אדם"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "활성화", "active": "활성화",
"idle": "대기중", "idle": "대기중",
"paused": "일시중지됨" "paused": "일시중지됨"
},
"person": {
"home": "재실",
"not_home": "외출"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "재실", "home": "재실",
"not_home": "외출" "not_home": "외출"
},
"person": {
"home": "재실",
"not_home": "외출"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "자동화 편집기를 사용하여 자동화를 작성하고 편집 할 수 있습니다. 아래 링크를 따라 안내사항을 읽고 Home Assistant 를 올바르게 구성했는지 확인해보세요.", "introduction": "자동화 편집기를 사용하여 자동화를 작성하고 편집 할 수 있습니다. 아래 링크를 따라 안내사항을 읽고 Home Assistant 를 올바르게 구성했는지 확인해보세요.",
"pick_automation": "편집할 자동화 선택", "pick_automation": "편집할 자동화 선택",
"no_automations": "편집 가능한 자동화를 찾을 수 없습니다", "no_automations": "편집 가능한 자동화를 찾을 수 없습니다",
"add_automation": "자동화 추가하기" "add_automation": "자동화 추가하기",
"learn_more": "자동화에 대해 더 알아보기"
}, },
"editor": { "editor": {
"introduction": "자동화를 사용하여 집에 생기를 불어넣으세요", "introduction": "자동화를 사용하여 집에 생기를 불어넣으세요",
@ -375,7 +384,7 @@
"alias": "이름", "alias": "이름",
"triggers": { "triggers": {
"header": "트리거", "header": "트리거",
"introduction": "트리거는 자동화 규칙을 처리하는 시작점 입니다. 같은 자동화 규칙에 여러 개의 트리거를 지정할 수 있습니다. 트리거가 발동되면 Home Assistant 는 조건을 확인하고 동작을 호출합니다. 자세히 알아 보려면 아래 링크를 클릭해주세요.", "introduction": "트리거는 자동화 규칙을 처리하는 시작점 입니다. 같은 자동화 규칙에 여러 개의 트리거를 지정할 수 있습니다. 트리거가 발동되면 Home Assistant 는 조건을 확인하고 동작을 호출합니다.",
"add": "트리거 추가", "add": "트리거 추가",
"duplicate": "복제", "duplicate": "복제",
"delete": "삭제", "delete": "삭제",
@ -452,11 +461,12 @@
"enter": "입장", "enter": "입장",
"leave": "퇴장" "leave": "퇴장"
} }
} },
"learn_more": "트리거에 대해 더 알아보기"
}, },
"conditions": { "conditions": {
"header": "조건", "header": "조건",
"introduction": "조건은 자동화 규칙의 선택사항이며 트리거 될 때 발생하는 동작을 방지하는 데 사용할 수 있습니다. 조건은 트리거와 비슷해 보이지만 매우 다릅니다. 트리거는 시스템에서 발생하는 이벤트를 검사하고 조건은 시스템의 현재 상태를 검사합니다. 스위치를 예로 들면, 트리거는 스위치가 켜지는 것(이벤트)을, 조건은 스위치가 현재 켜져 있는지 혹은 꺼져 있는지(상태)를 검사합니다. 자세히 알아 보려면 아래 링크를 클릭해주세요.", "introduction": "조건은 자동화 규칙의 선택사항이며 트리거 될 때 발생하는 동작을 방지하는 데 사용할 수 있습니다. 조건은 트리거와 비슷해 보이지만 매우 다릅니다. 트리거는 시스템에서 발생하는 이벤트를 검사하고 조건은 시스템의 현재 상태를 검사합니다. 스위치를 예로 들면, 트리거는 스위치가 켜지는 것(이벤트)을, 조건은 스위치가 현재 켜져 있는지 혹은 꺼져 있는지(상태)를 검사합니다.",
"add": "조건 추가", "add": "조건 추가",
"duplicate": "복제", "duplicate": "복제",
"delete": "삭제", "delete": "삭제",
@ -497,11 +507,12 @@
"entity": "위치기반 구성요소", "entity": "위치기반 구성요소",
"zone": "구역" "zone": "구역"
} }
} },
"learn_more": "조건에 대해 더 알아보기"
}, },
"actions": { "actions": {
"header": "동작", "header": "동작",
"introduction": "동작은 자동화가 트리거 될 때 Home Assistant 가 수행할 작업입니다. 자세히 알아 보려면 아래 링크를 클릭해주세요.", "introduction": "동작은 자동화가 트리거 될 때 Home Assistant 가 수행할 작업입니다.",
"add": "동작 추가", "add": "동작 추가",
"duplicate": "복제", "duplicate": "복제",
"delete": "삭제", "delete": "삭제",
@ -530,7 +541,8 @@
"event": "이벤트:", "event": "이벤트:",
"service_data": "서비스 데이터" "service_data": "서비스 데이터"
} }
} },
"learn_more": "동작에 대해 더 알아보기"
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "영역 등록", "header": "영역 등록",
"introduction": "영역은 장치가있는 위치를 구성하는데 사용합니다. 이 정보는 Home Assistant 의 인터페이스 정리, 권한 및 다른 시스템과의 통합 구성에 도움을 줍니다.", "introduction": "영역은 장치가있는 위치를 구성하는데 사용합니다. 이 정보는 Home Assistant 의 인터페이스 정리, 권한 및 다른 시스템과의 통합 구성에 도움을 줍니다.",
"introduction2": "특정 영역에 장치를 배치하려면 아래 링크를 따라 통합 구성요소 페이지로 이동 한 다음, 설정된 구성요소의 장치를 클릭하여 영역을 설정 할 수 있습니다." "introduction2": "특정 영역에 장치를 배치하려면 아래 링크를 따라 통합 구성요소 페이지로 이동 한 다음, 설정된 구성요소의 장치를 클릭하여 영역을 설정 할 수 있습니다.",
"integrations_page": "통합 구성요소 페이지"
}, },
"no_areas": "등록된 영역이 없습니다. 거실, 침실과 같이 영역을 등록해보세요!", "no_areas": "등록된 영역이 없습니다. 거실, 침실과 같이 영역을 등록해보세요!",
"create_area": "영역 만들기", "create_area": "영역 만들기",
@ -621,7 +634,8 @@
"header": "구성요소", "header": "구성요소",
"unavailable": "(사용불가)", "unavailable": "(사용불가)",
"introduction": "Home Assistant 는 구성요소의 식별을 위해 모든 구성요소에 대해 고유한 레지스트리를 유지합니다. 각각의 구성요소들은 자신만의 고유한 구성요소 ID 를 가집니다.", "introduction": "Home Assistant 는 구성요소의 식별을 위해 모든 구성요소에 대해 고유한 레지스트리를 유지합니다. 각각의 구성요소들은 자신만의 고유한 구성요소 ID 를 가집니다.",
"introduction2": "구성요소 편집을 사용하여 이름을 대체하거나 구성요소 ID를 변경하거나 Home Assistant 에서 항목을 제거할 수 있습니다. 단, 구성요소 편집창에서 구성요소를 삭제해도 구성요소가 완전히 제거되는것은 아닙니다. 완전히 제거하려면, 아래 링크를 따라 통합 구성요소 페이지에서 제거해주세요." "introduction2": "구성요소 편집을 사용하여 이름을 대체하거나 구성요소 ID를 변경하거나 Home Assistant 에서 항목을 제거할 수 있습니다. 단, 구성요소 편집창에서 구성요소를 삭제해도 구성요소가 완전히 제거되는것은 아닙니다. 완전히 제거하려면, 아래 링크를 따라 통합 구성요소 페이지에서 제거해주세요.",
"integrations_page": "통합 구성요소 페이지"
}, },
"editor": { "editor": {
"unavailable": "이 구성요소는 현재 사용할 수 없습니다.", "unavailable": "이 구성요소는 현재 사용할 수 없습니다.",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "구성 코드 편집기" "raw_editor": "구성 코드 편집기"
},
"raw_editor": {
"header": "구성 코드 편집",
"save": "저장하기",
"unsaved_changes": "저장되지 않은 변경사항",
"saved": "저장되었습니다"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "시스템 상태" "system_health": "시스템 상태",
"person": "구성원"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "Aktiv", "active": "Aktiv",
"idle": "Waart", "idle": "Waart",
"paused": "Pauseiert" "paused": "Pauseiert"
},
"person": {
"home": "Doheem",
"not_home": "Ënnerwee"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "Doheem", "home": "Doheem",
"not_home": "Ënnerwee" "not_home": "Ënnerwee"
},
"person": {
"home": "Doheem",
"not_home": "Ënnerwee"
} }
}, },
"ui": { "ui": {
@ -870,6 +878,9 @@
}, },
"menu": { "menu": {
"raw_editor": "Editeur fir déi reng Konfiguratioun" "raw_editor": "Editeur fir déi reng Konfiguratioun"
},
"raw_editor": {
"save": "Späicheren"
} }
}, },
"menu": { "menu": {
@ -879,8 +890,8 @@
"refresh": "Erneieren" "refresh": "Erneieren"
}, },
"warning": { "warning": {
"entity_not_found": "Entitéit net erreechbar: {entitiy}", "entity_not_found": "Entitéit net erreechbar: {entity}",
"entity_non_numeric": "Entitéit ass net numerescher Natur: {entitiy}" "entity_non_numeric": "Entitéit ass net numerescher Natur: {entity}"
} }
} }
}, },
@ -1118,7 +1129,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "System Zoustand" "system_health": "System Zoustand",
"person": "Persoun"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "Отсчёт", "active": "Отсчёт",
"idle": "Ожидание", "idle": "Ожидание",
"paused": "Пауза" "paused": "Пауза"
},
"person": {
"home": "Дома",
"not_home": "Не дома"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "Дома", "home": "Дома",
"not_home": "Не дома" "not_home": "Не дома"
},
"person": {
"home": "Дома",
"not_home": "Не дома"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "Редактор автоматизаций позволяет создавать и редактировать автоматизации.\nПожалуйста, ознакомьтесь с инструкциями по указанной ниже ссылке и убедитесь, что правильно настроили Home Assistant.", "introduction": "Редактор автоматизаций позволяет создавать и редактировать автоматизации.\nПожалуйста, ознакомьтесь с инструкциями по указанной ниже ссылке и убедитесь, что правильно настроили Home Assistant.",
"pick_automation": "Выберите автоматизацию для редактирования", "pick_automation": "Выберите автоматизацию для редактирования",
"no_automations": "Мы не нашли редактируемые автоматизации", "no_automations": "Мы не нашли редактируемые автоматизации",
"add_automation": "Добавить автоматизацию" "add_automation": "Добавить автоматизацию",
"learn_more": "Узнайте больше об автоматизациях"
}, },
"editor": { "editor": {
"introduction": "Используйте автоматизацию, чтобы оживить ваш дом", "introduction": "Используйте автоматизацию, чтобы оживить ваш дом",
@ -375,7 +384,7 @@
"alias": "Название", "alias": "Название",
"triggers": { "triggers": {
"header": "Триггеры", "header": "Триггеры",
"introduction": "Триггеры - это то, что запускает процесс автоматизации. Можно указать несколько триггеров на одно и то же правило. Когда триггер сработает, Home Assistant будет проверять условия (если таковые имеются), и выполнять действия.\nБолее подробную информацию о триггерах Вы можете получить по указанной ниже ссылке.", "introduction": "Триггеры - это то, что запускает процесс автоматизации. Можно указать несколько триггеров на одно и то же правило. Когда триггер сработает, Home Assistant будет проверять условия (если таковые имеются), и выполнять действия.",
"add": "Добавить триггер", "add": "Добавить триггер",
"duplicate": "Дублировать", "duplicate": "Дублировать",
"delete": "Удалить", "delete": "Удалить",
@ -452,11 +461,12 @@
"enter": "Войти", "enter": "Войти",
"leave": "Покинуть" "leave": "Покинуть"
} }
} },
"learn_more": "Узнайте больше о триггерах"
}, },
"conditions": { "conditions": {
"header": "Условия", "header": "Условия",
"introduction": "Условия являются необязательной частью правила автоматизации и могут использоваться для предотвращения действия при срабатывании. С первого взгляда может показаться, что условия и триггеры это одно и то же, однако это не так. Триггер срабатывает непосредственно в момент, когда произошло событие, а условие лишь проверяет состояние системы в данный момент. Триггер может заметить, как был включен выключатель, условие же может видеть только текущее его состояние. \nБолее подробную информацию об условиях Вы можете получить по указанной ниже ссылке.", "introduction": "Условия являются необязательной частью правила автоматизации и могут использоваться для предотвращения действия при срабатывании. С первого взгляда может показаться, что условия и триггеры это одно и то же, однако это не так. Триггер срабатывает непосредственно в момент, когда произошло событие, а условие лишь проверяет состояние системы в данный момент. Триггер может заметить, как был включен выключатель, условие же может видеть только текущее его состояние.",
"add": "Добавить условие", "add": "Добавить условие",
"duplicate": "Дублировать", "duplicate": "Дублировать",
"delete": "Удалить", "delete": "Удалить",
@ -497,11 +507,12 @@
"entity": "Объект с местоположением", "entity": "Объект с местоположением",
"zone": "Зона" "zone": "Зона"
} }
} },
"learn_more": "Узнайте больше об условиях"
}, },
"actions": { "actions": {
"header": "Действия", "header": "Действия",
"introduction": "Действия - это то, что сделает Home Assistant, когда правило автоматизации сработает.\nБолее подробную информацию о действиях Вы можете получить по указанной ниже ссылке.", "introduction": "Действия - это то, что сделает Home Assistant, когда правило автоматизации сработает.",
"add": "Добавить действие", "add": "Добавить действие",
"duplicate": "Дублировать", "duplicate": "Дублировать",
"delete": "Удалить", "delete": "Удалить",
@ -530,7 +541,8 @@
"event": "Событие:", "event": "Событие:",
"service_data": "Данные службы" "service_data": "Данные службы"
} }
} },
"learn_more": "Узнайте больше о действиях"
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "Управление помещениями", "header": "Управление помещениями",
"introduction": "Этот раздел используется для определения местоположения устройств. Данная информация будет использоваться в Home Assistant, чтобы помочь вам в организации вашего интерфейса, определении прав доступа и интеграции с другими системами.", "introduction": "Этот раздел используется для определения местоположения устройств. Данная информация будет использоваться в Home Assistant, чтобы помочь вам в организации вашего интерфейса, определении прав доступа и интеграции с другими системами.",
"introduction2": "Чтобы назначить устройству местоположение, используйте указанную ниже ссылку для перехода на страницу интеграций, а затем откройте уже настроенную интеграцию." "introduction2": "Чтобы назначить устройству местоположение, используйте указанную ниже ссылку для перехода на страницу интеграций, а затем откройте уже настроенную интеграцию.",
"integrations_page": "Страница интеграций"
}, },
"no_areas": "Похоже, что у Вас пока ещё нет добавленных помещений!", "no_areas": "Похоже, что у Вас пока ещё нет добавленных помещений!",
"create_area": "ДОБАВИТЬ", "create_area": "ДОБАВИТЬ",
@ -621,7 +634,8 @@
"header": "Управление объектами", "header": "Управление объектами",
"unavailable": "(недоступен)", "unavailable": "(недоступен)",
"introduction": "Home Assistant ведет реестр каждого объекта, который когда-либо был настроен в системе. Каждому из этих объектов присвоен ID, который зарезервирован только для этого объекта.", "introduction": "Home Assistant ведет реестр каждого объекта, который когда-либо был настроен в системе. Каждому из этих объектов присвоен ID, который зарезервирован только для этого объекта.",
"introduction2": "Используйте данный реестр, чтобы изменить ID или название объекта либо удалить запись из Home Assistant. Обратите внимание, что удаление записи из реестра объектов не удалит сам объект. Для этого перейдите по указанной ниже ссылке и удалите его со страницы интеграций." "introduction2": "Используйте данный реестр, чтобы изменить ID или название объекта либо удалить запись из Home Assistant. Обратите внимание, что удаление записи из реестра объектов не удалит сам объект. Для этого перейдите по указанной ниже ссылке и удалите его со страницы интеграций.",
"integrations_page": "Страница интеграций"
}, },
"editor": { "editor": {
"unavailable": "Этот объект в настоящее время недоступен.", "unavailable": "Этот объект в настоящее время недоступен.",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "Текстовый редактор" "raw_editor": "Текстовый редактор"
},
"raw_editor": {
"header": "Редактирование конфигурации",
"save": "Сохранить",
"unsaved_changes": "Несохраненные изменения",
"saved": "Сохранено"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "Статус системы" "system_health": "Статус системы",
"person": "Люди"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "aktiv", "active": "aktiv",
"idle": "inaktiv", "idle": "inaktiv",
"paused": "pausad" "paused": "pausad"
},
"person": {
"home": "Hemma",
"not_home": "Borta"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "Hemma", "home": "Hemma",
"not_home": "Borta" "not_home": "Borta"
},
"person": {
"home": "Hemma",
"not_home": "Borta"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "Automatiseringseditorn låter dig skapa och redigera automationer. Läs [instruktionerna](https:\/\/home-assistant.io\/docs\/automation\/editor\/) för att se till att du har konfigurerat Home Assistant korrekt.", "introduction": "Automatiseringseditorn låter dig skapa och redigera automationer. Läs [instruktionerna](https:\/\/home-assistant.io\/docs\/automation\/editor\/) för att se till att du har konfigurerat Home Assistant korrekt.",
"pick_automation": "Välj automation att redigera", "pick_automation": "Välj automation att redigera",
"no_automations": "Vi kunde inte hitta några redigerbara automationer", "no_automations": "Vi kunde inte hitta några redigerbara automationer",
"add_automation": "Lägg till automatisering" "add_automation": "Lägg till automatisering",
"learn_more": "Lär dig mer om automatiseringar"
}, },
"editor": { "editor": {
"introduction": "Använd automatiseringar för väcka liv i ditt hem", "introduction": "Använd automatiseringar för väcka liv i ditt hem",
@ -452,7 +461,8 @@
"enter": "Ankomma", "enter": "Ankomma",
"leave": "Lämna" "leave": "Lämna"
} }
} },
"learn_more": "Lär dig mer om utlösare"
}, },
"conditions": { "conditions": {
"header": "Villkor", "header": "Villkor",
@ -497,7 +507,8 @@
"entity": "Entitet med position", "entity": "Entitet med position",
"zone": "Zon" "zone": "Zon"
} }
} },
"learn_more": "Lär dig mer om villkor"
}, },
"actions": { "actions": {
"header": "Åtgärder", "header": "Åtgärder",
@ -530,7 +541,8 @@
"event": "Händelse", "event": "Händelse",
"service_data": "Tjänstedata" "service_data": "Tjänstedata"
} }
} },
"learn_more": "Lär dig mer om händelser"
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "Områdesregister", "header": "Områdesregister",
"introduction": "Områden används för att organisera var enheter befinner sig. Denna information kommer att användas i hela Home Assistant för att hjälpa dig att organisera ditt gränssnitt, behörigheter och integreringar med andra system.", "introduction": "Områden används för att organisera var enheter befinner sig. Denna information kommer att användas i hela Home Assistant för att hjälpa dig att organisera ditt gränssnitt, behörigheter och integreringar med andra system.",
"introduction2": "Om du vill placera enheter i ett område använder du länken nedan för att navigera till integrationssidan och klickar sedan på en konfigurerad integration för att komma till enhetskort." "introduction2": "Om du vill placera enheter i ett område använder du länken nedan för att navigera till integrationssidan och klickar sedan på en konfigurerad integration för att komma till enhetskort.",
"integrations_page": "Integrationssidan"
}, },
"no_areas": "Det verkar som om du inte har några områden än!", "no_areas": "Det verkar som om du inte har några områden än!",
"create_area": "SKAPA OMRÅDE", "create_area": "SKAPA OMRÅDE",
@ -621,7 +634,8 @@
"header": "Enhetsregister", "header": "Enhetsregister",
"unavailable": "(ej tillgänglig)", "unavailable": "(ej tillgänglig)",
"introduction": "Home Assistanthar ett enhetsregister som innehåller varje enhet som någonsin har setts vars identifieras kan vara unikt. Var och en av dessa enheter kommer att ha ett ID-nummer som är reserverat för bara den enheten.", "introduction": "Home Assistanthar ett enhetsregister som innehåller varje enhet som någonsin har setts vars identifieras kan vara unikt. Var och en av dessa enheter kommer att ha ett ID-nummer som är reserverat för bara den enheten.",
"introduction2": "Använd enhetsregistret för att skriva över namnet, ändra ID eller ta bort posten ifrån Home Assistant. Obs! Att ta bort posten ifrån entity registry (enhetsregister) kommer inte att ta bort enheten. För att göra det, följ länken nedan och ta bort det från integreringssidan." "introduction2": "Använd enhetsregistret för att skriva över namnet, ändra ID eller ta bort posten ifrån Home Assistant. Obs! Att ta bort posten ifrån entity registry (enhetsregister) kommer inte att ta bort enheten. För att göra det, följ länken nedan och ta bort det från integreringssidan.",
"integrations_page": "Integrationssida"
}, },
"editor": { "editor": {
"unavailable": "Denna enhet är inte tillgänglig för tillfället.", "unavailable": "Denna enhet är inte tillgänglig för tillfället.",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "Rå konfigurationseditor" "raw_editor": "Rå konfigurationseditor"
},
"raw_editor": {
"header": "Ändra konfigurationen",
"save": "Spara",
"unsaved_changes": "Osparade ändringar",
"saved": "Sparat"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "Systemhälsa" "system_health": "Systemhälsa",
"person": "Person"
}, },
"attribute": { "attribute": {
"weather": { "weather": {

View File

@ -270,6 +270,10 @@
"active": "啟用", "active": "啟用",
"idle": "閒置", "idle": "閒置",
"paused": "暫停" "paused": "暫停"
},
"person": {
"home": "在家",
"not_home": "離家"
} }
}, },
"state_badge": { "state_badge": {
@ -292,6 +296,10 @@
"device_tracker": { "device_tracker": {
"home": "在家", "home": "在家",
"not_home": "離家" "not_home": "離家"
},
"person": {
"home": "在家",
"not_home": "離家"
} }
}, },
"ui": { "ui": {
@ -365,7 +373,8 @@
"introduction": "自動化編輯器允許新增或編輯自動化。請參考下方教學連結,以確保正確的設定 Home Assistant。", "introduction": "自動化編輯器允許新增或編輯自動化。請參考下方教學連結,以確保正確的設定 Home Assistant。",
"pick_automation": "選擇欲編輯的自動化", "pick_automation": "選擇欲編輯的自動化",
"no_automations": "沒有任何可編輯的自動化", "no_automations": "沒有任何可編輯的自動化",
"add_automation": "新增一個自動化" "add_automation": "新增一個自動化",
"learn_more": "詳細了解自動化"
}, },
"editor": { "editor": {
"introduction": "使用自動化來讓你的智能家居更有魅力吧!", "introduction": "使用自動化來讓你的智能家居更有魅力吧!",
@ -375,7 +384,7 @@
"alias": "名稱", "alias": "名稱",
"triggers": { "triggers": {
"header": "觸發", "header": "觸發",
"introduction": "「觸發條件」為可使設定好的自動化開始運作。可以針對一個自動化設定多個觸發條件。一旦觸發後Home Assistant 會檢查觸發判斷式,並開始執行動作。請參考下方連結以了解更多關於「事件觸發」的資料。", "introduction": "「觸發條件」為可使設定好的自動化開始運作。可以針對一個自動化設定多個觸發條件。一旦觸發後Home Assistant 會檢查觸發判斷式,並開始執行動作。",
"add": "新增一個觸發", "add": "新增一個觸發",
"duplicate": "複製", "duplicate": "複製",
"delete": "刪除", "delete": "刪除",
@ -452,11 +461,12 @@
"enter": "進入區域", "enter": "進入區域",
"leave": "離開區域" "leave": "離開區域"
} }
} },
"learn_more": "詳細了解觸發條件"
}, },
"conditions": { "conditions": {
"header": "觸發判斷", "header": "觸發判斷",
"introduction": "「觸發判斷」為自動化規則中,選項使用的部分。可以用以避免誤觸發某些動作。「觸發判斷」看起來跟觸發很類似,但實際上不盡相同。觸發主要監看系統中、事件的變化產生,而觸發判斷僅監看系統目前的狀況。例如:觸發可以觀察到開關被開啟,而觸發判斷僅關注目前開關是開啟或關閉的狀態。請參考下方連結以了解更多關於「觸發判斷」的資料。", "introduction": "「觸發判斷」為自動化規則中,選項使用的部分。可以用以避免誤觸發某些動作。「觸發判斷」看起來跟觸發很類似,但實際上不盡相同。觸發主要監看系統中、事件的變化產生,而觸發判斷僅監看系統目前的狀況。例如:觸發可以觀察到開關被開啟,而觸發判斷僅關注目前開關是開啟或關閉的狀態。",
"add": "新增一個判斷式", "add": "新增一個判斷式",
"duplicate": "複製", "duplicate": "複製",
"delete": "刪除", "delete": "刪除",
@ -497,11 +507,12 @@
"entity": "區域物件", "entity": "區域物件",
"zone": "區域" "zone": "區域"
} }
} },
"learn_more": "詳細了解觸發判斷"
}, },
"actions": { "actions": {
"header": "觸發後動作", "header": "觸發後動作",
"introduction": "「動作」為自動化觸發後Home Assistant 所執行的自動化。點選下方連結以了解更多關於「動作」的資料。", "introduction": "「動作」為自動化觸發後Home Assistant 所執行的自動化。",
"add": "新增一個動作", "add": "新增一個動作",
"duplicate": "複製", "duplicate": "複製",
"delete": "刪除", "delete": "刪除",
@ -530,7 +541,8 @@
"event": "事件:", "event": "事件:",
"service_data": "資料" "service_data": "資料"
} }
} },
"learn_more": "詳細了解動作"
} }
} }
}, },
@ -603,7 +615,8 @@
"picker": { "picker": {
"header": "分區 ID", "header": "分區 ID",
"introduction": "分區主要用以管理裝置所在位置。此資訊將會於 Home Assistant 中使用以協助您管理介面、權限,並與其他系統進行整合。", "introduction": "分區主要用以管理裝置所在位置。此資訊將會於 Home Assistant 中使用以協助您管理介面、權限,並與其他系統進行整合。",
"introduction2": "欲於分區中放置裝置,請使用下方連結至整合頁面,並點選設定整合以設定裝置卡片。" "introduction2": "欲於分區中放置裝置,請使用下方連結至整合頁面,並點選設定整合以設定裝置卡片。",
"integrations_page": "整合頁面"
}, },
"no_areas": "看起來你還沒有建立分區!", "no_areas": "看起來你還沒有建立分區!",
"create_area": "建立分區", "create_area": "建立分區",
@ -621,7 +634,8 @@
"header": "物件 ID", "header": "物件 ID",
"unavailable": "(不可用)", "unavailable": "(不可用)",
"introduction": "Home Assistant 保持每個物件 ID 的獨特辨識性,此些物件將會指定一組專用的 物件 ID。", "introduction": "Home Assistant 保持每個物件 ID 的獨特辨識性,此些物件將會指定一組專用的 物件 ID。",
"introduction2": "使用物件 ID 以覆寫名稱、變更物件 ID 或由 Home Assistant 移除物件。請注意:移除物件 ID 項目並不會移除物件。欲移除,請跟隨下方連結,並於整合頁面中進行移除。" "introduction2": "使用物件 ID 以覆寫名稱、變更物件 ID 或由 Home Assistant 移除物件。請注意:移除物件 ID 項目並不會移除物件。欲移除,請跟隨下方連結,並於整合頁面中進行移除。",
"integrations_page": "整合頁面"
}, },
"editor": { "editor": {
"unavailable": "該物件目前不可用。", "unavailable": "該物件目前不可用。",
@ -870,6 +884,12 @@
}, },
"menu": { "menu": {
"raw_editor": "文字設定編輯器" "raw_editor": "文字設定編輯器"
},
"raw_editor": {
"header": "編輯設定",
"save": "儲存",
"unsaved_changes": "未儲存的變更",
"saved": "已儲存"
} }
}, },
"menu": { "menu": {
@ -1118,7 +1138,8 @@
"hassio": "Hass.io", "hassio": "Hass.io",
"homeassistant": "Home Assistant", "homeassistant": "Home Assistant",
"lovelace": "Lovelace", "lovelace": "Lovelace",
"system_health": "系統健康" "system_health": "系統健康",
"person": "個人"
}, },
"attribute": { "attribute": {
"weather": { "weather": {