mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-29 12:16:39 +00:00
commit
0e1ae3926b
@ -1,6 +1,17 @@
|
||||
const del = require("del");
|
||||
const gulp = require("gulp");
|
||||
const config = require("../paths");
|
||||
require("./translations");
|
||||
|
||||
gulp.task("clean", () => del([config.root, config.build_dir]));
|
||||
gulp.task("clean-demo", () => del([config.demo_root, config.build_dir]));
|
||||
gulp.task(
|
||||
"clean",
|
||||
gulp.parallel("clean-translations", function cleanOutputAndBuildDir() {
|
||||
return del([config.root, config.build_dir]);
|
||||
})
|
||||
);
|
||||
gulp.task(
|
||||
"clean-demo",
|
||||
gulp.parallel("clean-translations", function cleanOutputAndBuildDir() {
|
||||
return del([config.demo_root, config.build_dir]);
|
||||
})
|
||||
);
|
||||
|
@ -69,10 +69,6 @@ function copyMapPanel(staticDir) {
|
||||
|
||||
function compressStatic(staticDir) {
|
||||
const staticPath = genStaticPath(staticDir);
|
||||
const fonts = gulp
|
||||
.src(staticPath("fonts/**/*.ttf"))
|
||||
.pipe(zopfli())
|
||||
.pipe(gulp.dest(staticPath("fonts")));
|
||||
const polyfills = gulp
|
||||
.src(staticPath("polyfills/*.js"))
|
||||
.pipe(zopfli())
|
||||
@ -82,7 +78,7 @@ function compressStatic(staticDir) {
|
||||
.pipe(zopfli())
|
||||
.pipe(gulp.dest(staticPath("translations")));
|
||||
|
||||
return merge(fonts, polyfills, translations);
|
||||
return merge(polyfills, translations);
|
||||
}
|
||||
|
||||
gulp.task("copy-static", (done) => {
|
||||
|
@ -124,8 +124,17 @@ gulp.task(taskName, function() {
|
||||
});
|
||||
tasks.push(taskName);
|
||||
|
||||
gulp.task("ensure-translations-build-dir", (done) => {
|
||||
if (!fs.existsSync(workDir)) {
|
||||
fs.mkdirSync(workDir);
|
||||
}
|
||||
done();
|
||||
});
|
||||
|
||||
taskName = "create-test-metadata";
|
||||
gulp.task(taskName, function(cb) {
|
||||
gulp.task(
|
||||
taskName,
|
||||
gulp.series("ensure-translations-build-dir", function writeTestMetaData(cb) {
|
||||
fs.writeFile(
|
||||
workDir + "/testMetadata.json",
|
||||
JSON.stringify({
|
||||
@ -135,7 +144,8 @@ gulp.task(taskName, function(cb) {
|
||||
}),
|
||||
cb
|
||||
);
|
||||
});
|
||||
})
|
||||
);
|
||||
tasks.push(taskName);
|
||||
|
||||
taskName = "create-test-translation";
|
||||
|
2
setup.py
2
setup.py
@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
||||
|
||||
setup(
|
||||
name="home-assistant-frontend",
|
||||
version="20190705.0",
|
||||
version="20190710.0",
|
||||
description="The Home Assistant frontend",
|
||||
url="https://github.com/home-assistant/home-assistant-polymer",
|
||||
author="The Home Assistant Authors",
|
||||
|
@ -21,6 +21,7 @@ class HaMenuButton extends LitElement {
|
||||
@property() public narrow!: boolean;
|
||||
@property() public hass!: HomeAssistant;
|
||||
@property() private _hasNotifications = false;
|
||||
private _alwaysVisible = false;
|
||||
private _attachNotifOnConnect = false;
|
||||
private _unsubNotifications?: UnsubscribeFunc;
|
||||
|
||||
@ -62,6 +63,18 @@ class HaMenuButton extends LitElement {
|
||||
`;
|
||||
}
|
||||
|
||||
protected firstUpdated(changedProps) {
|
||||
super.firstUpdated(changedProps);
|
||||
if (!this.hassio) {
|
||||
return;
|
||||
}
|
||||
// This component is used on Hass.io too, but Hass.io might run the UI
|
||||
// on older frontends too, that don't have an always visible menu button
|
||||
// in the sidebar.
|
||||
this._alwaysVisible =
|
||||
(Number((window.parent as any).frontendVersion) || 0) >= 20190710;
|
||||
}
|
||||
|
||||
protected updated(changedProps) {
|
||||
super.updated(changedProps);
|
||||
|
||||
@ -69,7 +82,8 @@ class HaMenuButton extends LitElement {
|
||||
return;
|
||||
}
|
||||
|
||||
this.style.visibility = this.narrow ? "initial" : "hidden";
|
||||
this.style.visibility =
|
||||
this.narrow || this._alwaysVisible ? "initial" : "hidden";
|
||||
|
||||
if (!this.narrow) {
|
||||
this._hasNotifications = false;
|
||||
|
@ -16,3 +16,5 @@ import "../layouts/home-assistant";
|
||||
setPassiveTouchGestures(true);
|
||||
/* LastPass createElement workaround. See #428 */
|
||||
document.createElement = Document.prototype.createElement;
|
||||
|
||||
(window as any).frontendVersion = __VERSION__;
|
||||
|
@ -19,9 +19,11 @@ function initRouting() {
|
||||
new workbox.strategies.NetworkOnly()
|
||||
);
|
||||
|
||||
// Get manifest and service worker from network.
|
||||
// Get manifest, service worker, onboarding from network.
|
||||
workbox.routing.registerRoute(
|
||||
new RegExp(`${location.host}/(service_worker.js|manifest.json)`),
|
||||
new RegExp(
|
||||
`${location.host}/(service_worker.js|manifest.json|onboarding.html)`
|
||||
),
|
||||
new workbox.strategies.NetworkOnly()
|
||||
);
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
document.createElement("script"),
|
||||
doc.lastChild
|
||||
);
|
||||
script.type = "text/javascript";
|
||||
script.defer = true;
|
||||
script.src = src;
|
||||
}
|
||||
window.Polymer = {
|
||||
@ -15,11 +15,9 @@
|
||||
suppressTemplateNotifications: true,
|
||||
suppressBindingNotifications: true,
|
||||
};
|
||||
var webComponentsSupported =
|
||||
"customElements" in window &&
|
||||
"content" in document.createElement("template");
|
||||
if (!webComponentsSupported) {
|
||||
_ls("/static/polyfills/webcomponents-bundle.js");
|
||||
if (!("customElements" in window &&
|
||||
"content" in document.createElement("template"))) {
|
||||
document.write("<script src='/static/polyfills/webcomponents-bundle.js'>");
|
||||
}
|
||||
var isS101 = /\s+Version\/10\.1(?:\.\d+)?\s+Safari\//.test(navigator.userAgent);
|
||||
</script>
|
||||
|
@ -5,13 +5,13 @@
|
||||
<link rel="preload" href="<%= latestPageJS %>" as="script" crossorigin="use-credentials" />
|
||||
<link
|
||||
rel="preload"
|
||||
href="/static/fonts/roboto/Roboto-Light.ttf"
|
||||
href="/static/fonts/roboto/Roboto-Light.woff2"
|
||||
as="font"
|
||||
crossorigin
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/static/fonts/roboto/Roboto-Regular.ttf"
|
||||
href="/static/fonts/roboto/Roboto-Regular.woff2"
|
||||
as="font"
|
||||
crossorigin
|
||||
/>
|
||||
|
@ -5,13 +5,13 @@
|
||||
<link rel="preload" href="<%= latestPageJS %>" as="script" crossorigin="use-credentials" />
|
||||
<link
|
||||
rel="preload"
|
||||
href="/static/fonts/roboto/Roboto-Light.ttf"
|
||||
href="/static/fonts/roboto/Roboto-Light.woff2"
|
||||
as="font"
|
||||
crossorigin
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="/static/fonts/roboto/Roboto-Regular.ttf"
|
||||
href="/static/fonts/roboto/Roboto-Regular.woff2"
|
||||
as="font"
|
||||
crossorigin
|
||||
/>
|
||||
|
@ -1,6 +1,17 @@
|
||||
import "@polymer/paper-icon-button/paper-icon-button";
|
||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
|
||||
import {
|
||||
css,
|
||||
CSSResult,
|
||||
customElement,
|
||||
html,
|
||||
LitElement,
|
||||
property,
|
||||
TemplateResult,
|
||||
} from "lit-element";
|
||||
|
||||
import { haStyle } from "../../../resources/styles";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
|
||||
import "../../../components/buttons/ha-call-api-button";
|
||||
import "../../../components/buttons/ha-call-service-button";
|
||||
@ -8,10 +19,184 @@ import "../../../components/ha-service-description";
|
||||
import "../../../components/ha-card";
|
||||
import "../ha-config-section";
|
||||
|
||||
class ZwaveNetwork extends PolymerElement {
|
||||
static get template() {
|
||||
@customElement("zwave-network")
|
||||
export class ZwaveNetwork extends LitElement {
|
||||
@property() public hass!: HomeAssistant;
|
||||
@property() public isWide!: boolean;
|
||||
@property() private _showHelp = false;
|
||||
|
||||
protected render(): TemplateResult | void {
|
||||
return html`
|
||||
<style include="iron-flex ha-style">
|
||||
<ha-config-section .isWide="${this.isWide}">
|
||||
<div style="position: relative" slot="header">
|
||||
<span>Z-Wave Network Management</span>
|
||||
<paper-icon-button
|
||||
class="toggle-help-icon"
|
||||
@click="${this._onHelpTap}"
|
||||
icon="hass:help-circle"
|
||||
></paper-icon-button>
|
||||
</div>
|
||||
<span slot="introduction">
|
||||
Run commands that affect the Z-Wave network. You won't get feedback on
|
||||
whether the command succeeded, but you can look in the OZW Log to try
|
||||
to figure out.
|
||||
</span>
|
||||
|
||||
<ha-card class="content">
|
||||
<div class="card-actions">
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="add_node_secure"
|
||||
>
|
||||
Add Node Secure
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="add_node_secure"
|
||||
?hidden=${!this._showHelp}
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="add_node"
|
||||
>
|
||||
Add Node
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="add_node"
|
||||
?hidden=${!this._showHelp}
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="remove_node"
|
||||
>
|
||||
Remove Node
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="remove_node"
|
||||
?hidden=${!this._showHelp}
|
||||
>
|
||||
</ha-service-description>
|
||||
</div>
|
||||
<div class="card-actions warning">
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="cancel_command"
|
||||
>
|
||||
Cancel Command
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="cancel_command"
|
||||
?hidden=${!this._showHelp}
|
||||
>
|
||||
</ha-service-description>
|
||||
</div>
|
||||
<div class="card-actions">
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="heal_network"
|
||||
>
|
||||
Heal Network
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="heal_network"
|
||||
?hidden=${!this._showHelp}
|
||||
></ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="start_network"
|
||||
>
|
||||
Start Network
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="start_network"
|
||||
?hidden=${!this._showHelp}
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="stop_network"
|
||||
>
|
||||
Stop Network
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="stop_network"
|
||||
?hidden=${!this._showHelp}
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="soft_reset"
|
||||
>
|
||||
Soft Reset
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="soft_reset"
|
||||
?hidden=${!this._showHelp}
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="test_network"
|
||||
>
|
||||
Test Network
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
.hass=${this.hass}
|
||||
domain="zwave"
|
||||
service="test_network"
|
||||
?hidden=${!this._showHelp}
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-api-button .hass=${this.hass} path="zwave/saveconfig">
|
||||
Save Config
|
||||
</ha-call-api-button>
|
||||
</div>
|
||||
</ha-card>
|
||||
</ha-config-section>
|
||||
`;
|
||||
}
|
||||
|
||||
private _onHelpTap(): void {
|
||||
this._showHelp = !this._showHelp;
|
||||
}
|
||||
|
||||
static get styles(): CSSResult[] {
|
||||
return [
|
||||
haStyle,
|
||||
css`
|
||||
.content {
|
||||
margin-top: 24px;
|
||||
}
|
||||
@ -35,187 +220,19 @@ class ZwaveNetwork extends PolymerElement {
|
||||
ha-service-description {
|
||||
display: block;
|
||||
color: grey;
|
||||
padding: 0 8px 12px;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<ha-config-section is-wide="[[isWide]]">
|
||||
<div style="position: relative" slot="header">
|
||||
<span>Z-Wave Network Management</span>
|
||||
<paper-icon-button
|
||||
class="toggle-help-icon"
|
||||
on-click="helpTap"
|
||||
icon="hass:help-circle"
|
||||
></paper-icon-button>
|
||||
</div>
|
||||
<span slot="introduction">
|
||||
Run commands that affect the Z-Wave network. You won't get feedback on
|
||||
whether the command succeeded, but you can look in the OZW Log to try
|
||||
to figure out.
|
||||
</span>
|
||||
|
||||
<ha-card class="content">
|
||||
<div class="card-actions">
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="add_node_secure"
|
||||
>
|
||||
Add Node Secure
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="add_node_secure"
|
||||
hidden$="[[!showDescription]]"
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="add_node"
|
||||
>
|
||||
Add Node
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="add_node"
|
||||
hidden$="[[!showDescription]]"
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="remove_node"
|
||||
>
|
||||
Remove Node
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="remove_node"
|
||||
hidden$="[[!showDescription]]"
|
||||
>
|
||||
</ha-service-description>
|
||||
</div>
|
||||
<div class="card-actions warning">
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="cancel_command"
|
||||
>
|
||||
Cancel Command
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="cancel_command"
|
||||
hidden$="[[!showDescription]]"
|
||||
>
|
||||
</ha-service-description>
|
||||
</div>
|
||||
<div class="card-actions">
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="heal_network"
|
||||
>
|
||||
Heal Network
|
||||
</ha-call-service-button>
|
||||
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="start_network"
|
||||
>
|
||||
Start Network
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="start_network"
|
||||
hidden$="[[!showDescription]]"
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="stop_network"
|
||||
>
|
||||
Stop Network
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="stop_network"
|
||||
hidden$="[[!showDescription]]"
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="soft_reset"
|
||||
>
|
||||
Soft Reset
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="soft_reset"
|
||||
hidden$="[[!showDescription]]"
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-service-button
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="test_network"
|
||||
>
|
||||
Test Network
|
||||
</ha-call-service-button>
|
||||
<ha-service-description
|
||||
hass="[[hass]]"
|
||||
domain="zwave"
|
||||
service="test_network"
|
||||
hidden$="[[!showDescription]]"
|
||||
>
|
||||
</ha-service-description>
|
||||
|
||||
<ha-call-api-button hass="[[hass]]" path="zwave/saveconfig">
|
||||
Save Config
|
||||
</ha-call-api-button>
|
||||
</div>
|
||||
</ha-card>
|
||||
</ha-config-section>
|
||||
`;
|
||||
}
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
hass: Object,
|
||||
|
||||
isWide: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
|
||||
showDescription: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
helpTap() {
|
||||
this.showDescription = !this.showDescription;
|
||||
`,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define("zwave-network", ZwaveNetwork);
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
"zwave-network": ZwaveNetwork;
|
||||
}
|
||||
}
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Alta potència",
|
||||
"heat_pump": "Bomba de calor",
|
||||
"gas": "Gas",
|
||||
"manual": "Manual"
|
||||
"manual": "Manual",
|
||||
"heat_cool": "Automàtic"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Configurar",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "Mode ventilació",
|
||||
"swing_mode": "Mode oscil·lació",
|
||||
"away_mode": "Mode absent",
|
||||
"aux_heat": "Calefactor auxiliar"
|
||||
"aux_heat": "Calefactor auxiliar",
|
||||
"preset_mode": "Programat"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Codi",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "Desactivat",
|
||||
"on": "Activat",
|
||||
"auto": "Automàtic"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "Cap",
|
||||
"eco": "Econòmic",
|
||||
"away": "Absent",
|
||||
"boost": "Incrementat",
|
||||
"comfort": "Confort",
|
||||
"home": "A casa",
|
||||
"sleep": "Dormint",
|
||||
"activity": "Activitat"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Hoher Verbrauch",
|
||||
"heat_pump": "Wärmepumpe",
|
||||
"gas": "Gas",
|
||||
"manual": "Manuell"
|
||||
"manual": "Manuell",
|
||||
"heat_cool": "Automatisch"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Konfigurieren",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "Ventilator-Modus",
|
||||
"swing_mode": "Schwenk-Modus",
|
||||
"away_mode": "Abwesenheitsmodus",
|
||||
"aux_heat": "Hilfswärme"
|
||||
"aux_heat": "Hilfswärme",
|
||||
"preset_mode": "Voreinstellung"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Code",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "Aus",
|
||||
"on": "An",
|
||||
"auto": "Auto"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "Keine",
|
||||
"eco": "Sparmodus",
|
||||
"away": "Abwesend",
|
||||
"boost": "Maximal",
|
||||
"comfort": "Komfort",
|
||||
"home": "Zuhause",
|
||||
"sleep": "Schlafen",
|
||||
"activity": "Aktivität"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "High demand",
|
||||
"heat_pump": "Heat pump",
|
||||
"gas": "Gas",
|
||||
"manual": "Manual"
|
||||
"manual": "Manual",
|
||||
"heat_cool": "Auto"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Configure",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "Fan mode",
|
||||
"swing_mode": "Swing mode",
|
||||
"away_mode": "Away mode",
|
||||
"aux_heat": "Aux heat"
|
||||
"aux_heat": "Aux heat",
|
||||
"preset_mode": "Preset"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Code",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "Off",
|
||||
"on": "On",
|
||||
"auto": "Auto"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "None",
|
||||
"eco": "Eco",
|
||||
"away": "Away",
|
||||
"boost": "Boost",
|
||||
"comfort": "Comfort",
|
||||
"home": "Home",
|
||||
"sleep": "Sleep",
|
||||
"activity": "Activity"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Magas igénybevétel",
|
||||
"heat_pump": "Hőszivattyú",
|
||||
"gas": "Gáz",
|
||||
"manual": "Manuális"
|
||||
"manual": "Manuális",
|
||||
"heat_cool": "Automatikus"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Beállítás",
|
||||
@ -1267,6 +1268,15 @@
|
||||
"off": "Ki",
|
||||
"on": "Be",
|
||||
"auto": "Automatikus"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "Nincs",
|
||||
"eco": "Takarékos",
|
||||
"away": "Távol",
|
||||
"comfort": "Komfort",
|
||||
"home": "Otthon",
|
||||
"sleep": "Alvás",
|
||||
"activity": "Tevékenység"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Forte richiesta",
|
||||
"heat_pump": "Pompa di calore",
|
||||
"gas": "Gas",
|
||||
"manual": "Manuale"
|
||||
"manual": "Manuale",
|
||||
"heat_cool": "Auto"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Configura",
|
||||
@ -1267,6 +1268,14 @@
|
||||
"off": "Off",
|
||||
"on": "On",
|
||||
"auto": "Auto"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "Nessuna",
|
||||
"eco": "Eco",
|
||||
"comfort": "Comfort",
|
||||
"home": "Casa",
|
||||
"sleep": "Sleep",
|
||||
"activity": "Attività"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -139,13 +139,14 @@
|
||||
"auto": "자동",
|
||||
"dry": "제습",
|
||||
"fan_only": "송풍",
|
||||
"eco": "절약",
|
||||
"eco": "절전",
|
||||
"electric": "전기",
|
||||
"performance": "고효율",
|
||||
"high_demand": "고성능",
|
||||
"heat_pump": "순환펌프",
|
||||
"gas": "가스",
|
||||
"manual": "수동"
|
||||
"manual": "수동",
|
||||
"heat_cool": "자동"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "설정",
|
||||
@ -986,7 +987,7 @@
|
||||
"names": {
|
||||
"upstairs": "위층",
|
||||
"family_room": "가족실",
|
||||
"kitchen": "부엌",
|
||||
"kitchen": "주방",
|
||||
"patio": "마당",
|
||||
"hallway": "현관",
|
||||
"master_bedroom": "안방",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "송풍 모드",
|
||||
"swing_mode": "회전 모드",
|
||||
"away_mode": "외출 모드",
|
||||
"aux_heat": "보조 히터"
|
||||
"aux_heat": "보조 히터",
|
||||
"preset_mode": "프리셋"
|
||||
},
|
||||
"lock": {
|
||||
"code": "비밀번호",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "꺼짐",
|
||||
"on": "켜짐",
|
||||
"auto": "자동"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "없음",
|
||||
"eco": "절전",
|
||||
"away": "외출",
|
||||
"boost": "부스트",
|
||||
"comfort": "안락",
|
||||
"home": "재실",
|
||||
"sleep": "수면",
|
||||
"activity": "활동"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Høy etterspørsel",
|
||||
"heat_pump": "Varmepumpe",
|
||||
"gas": "Gass",
|
||||
"manual": "Manuell"
|
||||
"manual": "Manuell",
|
||||
"heat_cool": "Auto"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Konfigurer",
|
||||
@ -483,7 +484,7 @@
|
||||
},
|
||||
"conditions": {
|
||||
"header": "Betingelser",
|
||||
"introduction": "Betingelser er en valgfri del av en automatiseringsregel og kan brukes til å forhindre at en handling skjer når den blir aktivert. \nBetingelsene ser veldig ut som utløsere, men er veldig forskjellige. \nEn utløser vil se på hendelser som skjer i systemet, mens en betingelse bare ser på hvordan systemet ser ut akkurat nå. En utløser kan observere at en bryter er slått på. En betingelse kan bare se om en bryter for øyeblikket er på eller av. \n\n[Lær mer om betingelser.](https:\/\/home-assistant.io\/docs\/scripts\/conditions\/)",
|
||||
"introduction": "Betingelser er en valgfri del av en automatiseringsregel og kan brukes til å forhindre at en handling skjer når den blir aktivert. \nBetingelsene ser veldig ut som utløsere, men er veldig forskjellige. \nEn utløser vil se på hendelser som skjer i systemet, mens en betingelse bare ser på hvordan systemet ser ut akkurat nå. En utløser kan observere at en bryter er slått på. En betingelse kan bare se om en bryter for øyeblikket er på eller av.",
|
||||
"add": "Legg til betingelse",
|
||||
"duplicate": "Dupliser",
|
||||
"delete": "Slett",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "Viftemodus",
|
||||
"swing_mode": "Svingmodus",
|
||||
"away_mode": "Bortemodus",
|
||||
"aux_heat": "Aux varme"
|
||||
"aux_heat": "Aux varme",
|
||||
"preset_mode": "Preset"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Kode",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "Av",
|
||||
"on": "På",
|
||||
"auto": "Auto"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "Ingen",
|
||||
"eco": "Øko",
|
||||
"away": "Borte",
|
||||
"boost": "Turbo",
|
||||
"comfort": "Komfort",
|
||||
"home": "Hjem",
|
||||
"sleep": "Sove",
|
||||
"activity": "Aktivitet"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Hoge vraag",
|
||||
"heat_pump": "Warmtepomp",
|
||||
"gas": "Gas",
|
||||
"manual": "Handmatig"
|
||||
"manual": "Handmatig",
|
||||
"heat_cool": "Auto"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Configureer",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "Ventilatormodus",
|
||||
"swing_mode": "Swingmodus",
|
||||
"away_mode": "Afwezigheidsmodus",
|
||||
"aux_heat": "Extra warmte"
|
||||
"aux_heat": "Extra warmte",
|
||||
"preset_mode": "Vooraf ingesteld"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Code",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "Uit",
|
||||
"on": "Aan",
|
||||
"auto": "Auto"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "Geen",
|
||||
"eco": "Eco",
|
||||
"away": "Afwezig",
|
||||
"boost": "Boost",
|
||||
"comfort": "Comfort",
|
||||
"home": "Thuis",
|
||||
"sleep": "Slapen",
|
||||
"activity": "Activiteit"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "duży rozbiór",
|
||||
"heat_pump": "pompa ciepła",
|
||||
"gas": "gaz",
|
||||
"manual": "manualnie"
|
||||
"manual": "manualnie",
|
||||
"heat_cool": "automatycznie"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Skonfiguruj",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "Tryb pracy wentylatora",
|
||||
"swing_mode": "Tryb ruchu łopatek",
|
||||
"away_mode": "Tryb poza domem",
|
||||
"aux_heat": "Dodatkowe źródło ciepła"
|
||||
"aux_heat": "Dodatkowe źródło ciepła",
|
||||
"preset_mode": "Ustawienia"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Kod",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "wyłączony",
|
||||
"on": "włączony",
|
||||
"auto": "automatyczny"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "brak",
|
||||
"eco": "ekonomicznie",
|
||||
"away": "poza domem",
|
||||
"boost": "wzmocnienie",
|
||||
"comfort": "komfort",
|
||||
"home": "w domu",
|
||||
"sleep": "sen",
|
||||
"activity": "aktywność"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Большая нагрузка",
|
||||
"heat_pump": "Тепловой насос",
|
||||
"gas": "Газовый",
|
||||
"manual": "Ручной режим"
|
||||
"manual": "Ручной режим",
|
||||
"heat_cool": "Авто"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Настроить",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "Режим вентилятора",
|
||||
"swing_mode": "Режим качания",
|
||||
"away_mode": "Режим ожидания",
|
||||
"aux_heat": "Дополнительный нагрев"
|
||||
"aux_heat": "Дополнительный нагрев",
|
||||
"preset_mode": "Режим"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Код",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "Выкл",
|
||||
"on": "Вкл",
|
||||
"auto": "Авто"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "Не выбран",
|
||||
"eco": "Экономия",
|
||||
"away": "Не дома",
|
||||
"boost": "Турбо",
|
||||
"comfort": "Комфорт",
|
||||
"home": "Дома",
|
||||
"sleep": "Сон",
|
||||
"activity": "Активность"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Vysoký výkon",
|
||||
"heat_pump": "Tepelné čerpadlo",
|
||||
"gas": "Plyn",
|
||||
"manual": "Ručne"
|
||||
"manual": "Ručne",
|
||||
"heat_cool": "Auto"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Konfigurovať",
|
||||
@ -359,8 +360,8 @@
|
||||
"core_config": {
|
||||
"edit_requires_storage": "Editor je zablokovaný, pretože konfigurácia je uložená v configuration.yaml",
|
||||
"location_name": "Názov vašej Home Assistant inštalácie",
|
||||
"latitude": "zemepisná šírka",
|
||||
"longitude": "zemepisná dĺžka",
|
||||
"latitude": "Zemepisná šírka",
|
||||
"longitude": "Zemepisná dĺžka",
|
||||
"elevation": "Nadmorská výška",
|
||||
"elevation_meters": "metrov",
|
||||
"time_zone": "Časové pásmo",
|
||||
@ -909,9 +910,9 @@
|
||||
"picture-elements": {
|
||||
"hold": "Držať:",
|
||||
"tap": "Ťuknite:",
|
||||
"navigate_to": "Navigovať do {Location}",
|
||||
"navigate_to": "Navigovať do {location}",
|
||||
"toggle": "Prepnúť {name}",
|
||||
"call_service": "Zavolať službu",
|
||||
"call_service": "Zavolať službu {name}",
|
||||
"more_info": "Zobraziť viac informácií: {name}"
|
||||
}
|
||||
},
|
||||
@ -971,6 +972,49 @@
|
||||
"refresh": "Obnoviť"
|
||||
},
|
||||
"reload_lovelace": "Znovu načítať Lovelace"
|
||||
},
|
||||
"page-demo": {
|
||||
"cards": {
|
||||
"demo": {
|
||||
"demo_by": "podľa {name}",
|
||||
"next_demo": "Ďalšie demo",
|
||||
"introduction": "Vitaj ! Dostali ste sa na demo Home Assistanta, kde prezentujeme najlepšie používateľské rozhrania vytvorené našou komunitou.",
|
||||
"learn_more": "Získajte viac informácií o Home asistentovi"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"arsaboo": {
|
||||
"names": {
|
||||
"upstairs": "Poschodie",
|
||||
"family_room": "Obývacia izba",
|
||||
"kitchen": "Kuchyňa",
|
||||
"patio": "Terasa",
|
||||
"hallway": "Chodba",
|
||||
"master_bedroom": "Spálňa",
|
||||
"left": "Vľavo",
|
||||
"right": "Vpravo",
|
||||
"mirror": "Zrkadlenie"
|
||||
},
|
||||
"labels": {
|
||||
"lights": "Svetlá",
|
||||
"information": "Informácie",
|
||||
"morning_commute": "Ranné dochádzanie",
|
||||
"commute_home": "Dochádzanie domov",
|
||||
"entertainment": "Zábava",
|
||||
"activity": "Aktivita",
|
||||
"hdmi_input": "Vstup HDMI",
|
||||
"hdmi_switcher": "HDMI prepínač",
|
||||
"volume": "Hlasitosť",
|
||||
"total_tv_time": "Celkový čas sledovanie TV",
|
||||
"turn_tv_off": "Vypnúť TV",
|
||||
"air": "Vzduch"
|
||||
},
|
||||
"unit": {
|
||||
"watching": "Sledovanie",
|
||||
"minutes_abbr": "Min"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sidebar": {
|
||||
@ -1079,7 +1123,8 @@
|
||||
"fan_mode": "Režim ventilátora",
|
||||
"swing_mode": "Vejárový režim",
|
||||
"away_mode": "Režim neprítomnosti",
|
||||
"aux_heat": "Prídavné kúrenie"
|
||||
"aux_heat": "Prídavné kúrenie",
|
||||
"preset_mode": "Predvoľba"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Kód",
|
||||
@ -1224,6 +1269,16 @@
|
||||
"off": "Vypnutý",
|
||||
"on": "Zapnutý",
|
||||
"auto": "Auto"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "None",
|
||||
"eco": "Eko",
|
||||
"away": "Preč",
|
||||
"boost": "Turbo",
|
||||
"comfort": "Komfort",
|
||||
"home": "Doma",
|
||||
"sleep": "Pohotovostný režim",
|
||||
"activity": "Aktívny"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -145,7 +145,8 @@
|
||||
"high_demand": "Visoka poraba",
|
||||
"heat_pump": "Toplotna črpalka",
|
||||
"gas": "Plin",
|
||||
"manual": "Ročno"
|
||||
"manual": "Ročno",
|
||||
"heat_cool": "Samodejno"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "Konfiguriraj",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "Način ventilatorja",
|
||||
"swing_mode": "Način Swing",
|
||||
"away_mode": "Način odsotnosti",
|
||||
"aux_heat": "Dodatna toplota"
|
||||
"aux_heat": "Dodatna toplota",
|
||||
"preset_mode": "Prednastavitev"
|
||||
},
|
||||
"lock": {
|
||||
"code": "Koda",
|
||||
@ -1267,6 +1269,16 @@
|
||||
"off": "Izključen",
|
||||
"on": "Vklopljen",
|
||||
"auto": "Samodejno"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "Noben",
|
||||
"eco": "Eko",
|
||||
"away": "Odsoten",
|
||||
"boost": "Povečanje",
|
||||
"comfort": "Udobje",
|
||||
"home": "Doma",
|
||||
"sleep": "Spanje",
|
||||
"activity": "Dejavnost"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -132,7 +132,7 @@
|
||||
},
|
||||
"climate": {
|
||||
"off": "关",
|
||||
"on": "开启",
|
||||
"on": "开",
|
||||
"heat": "制热",
|
||||
"cool": "制冷",
|
||||
"idle": "待机",
|
||||
@ -145,7 +145,8 @@
|
||||
"high_demand": "高需求",
|
||||
"heat_pump": "热泵",
|
||||
"gas": "燃气",
|
||||
"manual": "手动"
|
||||
"manual": "手动",
|
||||
"heat_cool": "自动"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "设置",
|
||||
@ -163,8 +164,8 @@
|
||||
"not_home": "离开"
|
||||
},
|
||||
"fan": {
|
||||
"off": "关闭",
|
||||
"on": "开启"
|
||||
"off": "关",
|
||||
"on": "开"
|
||||
},
|
||||
"group": {
|
||||
"off": "关闭",
|
||||
@ -182,8 +183,8 @@
|
||||
"problem": "异常"
|
||||
},
|
||||
"input_boolean": {
|
||||
"off": "关闭",
|
||||
"on": "开启"
|
||||
"off": "关",
|
||||
"on": "开"
|
||||
},
|
||||
"light": {
|
||||
"off": "关",
|
||||
@ -194,8 +195,8 @@
|
||||
"unlocked": "解锁"
|
||||
},
|
||||
"media_player": {
|
||||
"off": "关闭",
|
||||
"on": "开启",
|
||||
"off": "关",
|
||||
"on": "开",
|
||||
"playing": "正在播放",
|
||||
"paused": "已暂停",
|
||||
"idle": "空闲",
|
||||
@ -206,19 +207,19 @@
|
||||
"problem": "异常"
|
||||
},
|
||||
"remote": {
|
||||
"off": "关闭",
|
||||
"on": "开启"
|
||||
"off": "关",
|
||||
"on": "开"
|
||||
},
|
||||
"scene": {
|
||||
"scening": "场景启用中"
|
||||
},
|
||||
"script": {
|
||||
"off": "关闭",
|
||||
"on": "开启"
|
||||
"off": "关",
|
||||
"on": "开"
|
||||
},
|
||||
"sensor": {
|
||||
"off": "关闭",
|
||||
"on": "开启"
|
||||
"off": "关",
|
||||
"on": "开"
|
||||
},
|
||||
"sun": {
|
||||
"above_horizon": "日出",
|
||||
@ -984,6 +985,7 @@
|
||||
"config": {
|
||||
"arsaboo": {
|
||||
"names": {
|
||||
"upstairs": "二楼",
|
||||
"family_room": "客厅",
|
||||
"kitchen": "厨房",
|
||||
"patio": "露台",
|
||||
@ -998,7 +1000,18 @@
|
||||
"information": "信息",
|
||||
"morning_commute": "上班",
|
||||
"commute_home": "下班",
|
||||
"entertainment": "娱乐"
|
||||
"entertainment": "娱乐",
|
||||
"activity": "活动",
|
||||
"hdmi_input": "HDMI输入",
|
||||
"hdmi_switcher": "HDMI切换",
|
||||
"volume": "音量",
|
||||
"total_tv_time": "观看总时长",
|
||||
"turn_tv_off": "关闭电视",
|
||||
"air": "换气"
|
||||
},
|
||||
"unit": {
|
||||
"watching": "观看",
|
||||
"minutes_abbr": "分"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1110,7 +1123,8 @@
|
||||
"fan_mode": "风速",
|
||||
"swing_mode": "扫风模式",
|
||||
"away_mode": "离开模式",
|
||||
"aux_heat": "辅热"
|
||||
"aux_heat": "辅热",
|
||||
"preset_mode": "预设"
|
||||
},
|
||||
"lock": {
|
||||
"code": "密码",
|
||||
@ -1255,6 +1269,16 @@
|
||||
"off": "关",
|
||||
"on": "开",
|
||||
"auto": "自动"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "无",
|
||||
"eco": "节能",
|
||||
"away": "离家",
|
||||
"boost": "强力",
|
||||
"comfort": "舒适",
|
||||
"home": "在家",
|
||||
"sleep": "睡眠",
|
||||
"activity": "活动"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -136,7 +136,7 @@
|
||||
"heat": "暖氣",
|
||||
"cool": "冷氣",
|
||||
"idle": "待命",
|
||||
"auto": "自動模式",
|
||||
"auto": "自動",
|
||||
"dry": "除濕模式",
|
||||
"fan_only": "僅送風",
|
||||
"eco": "節能模式",
|
||||
@ -145,7 +145,8 @@
|
||||
"high_demand": "高用量",
|
||||
"heat_pump": "暖氣",
|
||||
"gas": "瓦斯模式",
|
||||
"manual": "手動"
|
||||
"manual": "手動",
|
||||
"heat_cool": "自動"
|
||||
},
|
||||
"configurator": {
|
||||
"configure": "設定",
|
||||
@ -1000,7 +1001,7 @@
|
||||
"morning_commute": "晨間通勤",
|
||||
"commute_home": "返家通勤",
|
||||
"entertainment": "視聽室",
|
||||
"activity": "活動",
|
||||
"activity": "模式",
|
||||
"hdmi_input": "HDMI 輸入",
|
||||
"hdmi_switcher": "HDMI 切換器",
|
||||
"volume": "音量",
|
||||
@ -1122,7 +1123,8 @@
|
||||
"fan_mode": "風速模式",
|
||||
"swing_mode": "擺動模式",
|
||||
"away_mode": "外出模式",
|
||||
"aux_heat": "輔助暖氣"
|
||||
"aux_heat": "輔助暖氣",
|
||||
"preset_mode": "預置"
|
||||
},
|
||||
"lock": {
|
||||
"code": "密碼",
|
||||
@ -1266,7 +1268,17 @@
|
||||
"fan_mode": {
|
||||
"off": "關閉",
|
||||
"on": "開啟",
|
||||
"auto": "自動模式"
|
||||
"auto": "自動"
|
||||
},
|
||||
"preset_mode": {
|
||||
"none": "無",
|
||||
"eco": "節能",
|
||||
"away": "離家",
|
||||
"boost": "全速",
|
||||
"comfort": "舒適",
|
||||
"home": "在家",
|
||||
"sleep": "睡眠",
|
||||
"activity": "活動"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user