Compare commits

..

897 Commits

Author SHA1 Message Date
Bram Kragten
ae6243b7bf Merge pull request #5757 from home-assistant/dev 2020-05-05 17:38:14 +02:00
Bram Kragten
df002d7a67 Merge branch 'master' into dev 2020-05-05 16:50:07 +02:00
Bram Kragten
e8a0632108 Bumped version to 20200505.0 2020-05-05 16:45:21 +02:00
Bram Kragten
0a92c28bac Split up mdi icons (#4379) 2020-05-05 16:40:11 +02:00
Bas Nijholt
d419547463 make color of update-heading in primary-text-color (#5754) 2020-05-05 16:33:06 +02:00
Mat Strange
da392912b3 Grayscale Integration logos when ignored (#5748) 2020-05-05 00:19:33 +02:00
Paulus Schoutsen
9ebee02727 Update device registry type (#5735) 2020-05-04 14:36:28 +02:00
Joakim Sørensen
0bdcfcc42f Supervisor dialogs (#5740) 2020-05-04 14:35:15 +02:00
Bram Kragten
43623a30bc Add English GB, Frysk and Galego (#5730) 2020-05-02 21:56:13 +02:00
Bram Kragten
99e73054a9 Await ignoring before refreshing config flows in progress (#5722) 2020-05-02 20:34:54 +02:00
Joakim Sørensen
108233f3b8 Adds mainPage to hass-tabs-subpage (#5724) 2020-05-02 20:19:17 +02:00
Bram Kragten
8f2a7c95b3 Fix more info header color and page background color (#5716) 2020-05-02 19:51:10 +02:00
Bram Kragten
7fdd525dac Don't show error on open of dialog (#5721)
Fixes #4713
2020-05-02 19:35:11 +02:00
Joakim Sørensen
7ed24137eb Adds padding to ha-label-badge (#5725) 2020-05-02 19:20:47 +02:00
Joakim Sørensen
07cd30eaca Place addon documentation in a card (#5726) 2020-05-02 19:20:20 +02:00
Joakim Sørensen
df8cf66e02 Adds dialog to ask user to restart add-on on configuration changes (#5707)
* Adds dialog to ask user to restart addon on configuration changes

* Apply review suggestions

* Show error in dialog

* Remove unused import

* Update hassio/src/dialogs/suggestRestart.ts

* Rename

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-05-02 19:19:45 +02:00
Bram Kragten
f067bcd877 Bumped version to 20200427.2 2020-05-02 17:28:45 +02:00
Bram Kragten
e11ef55dd8 Update nb.json 2020-05-02 17:25:52 +02:00
Bram Kragten
fa8bd30e83 Don't disable controls when state is unknown (#5687) 2020-05-02 17:23:54 +02:00
Bram Kragten
04a2ff7506 Don't disable thermostat when state is unknown (#5720) 2020-05-02 17:23:20 +02:00
Bram Kragten
bc68e20041 Don't disable thermostat when state is unknown (#5720) 2020-05-02 17:23:00 +02:00
Franck Nijhof
786da25b9f Fix typo and remove Hass.io references (#5717) 2020-05-02 17:02:10 +02:00
Franck Nijhof
c3832d56c3 Don't break Markdown from external sources (#5713) 2020-05-02 15:19:26 +02:00
Joakim Sørensen
79d1a2f458 Add reload buttons to store and snapshot (#5714) 2020-05-02 15:18:57 +02:00
Joakim Sørensen
f16a674a39 Supervisor style changes (#5706) 2020-05-02 14:42:12 +02:00
matstrange
6e38a80efc Optimized some common images with zopflipng (#5697) 2020-05-02 13:57:39 +02:00
Zack Arnett
6a3a1297ad Update Weather images array to hold variants (#5692) 2020-05-01 22:50:49 +02:00
Joakim Sørensen
5ca63a8052 Convert the rest of the panel (#5689) 2020-05-01 16:52:03 +02:00
On Freund
8b04df093c Handle unchanged suggested values (#5688) 2020-05-01 14:10:12 +02:00
Joakim Sørensen
d2a5494335 Adds stage badge (#5685) 2020-05-01 13:24:10 +02:00
Joakim Sørensen
de545e90e2 Adds documentation tab (#5684) 2020-05-01 13:19:24 +02:00
Bram Kragten
57ab7e829b Don't disable controls when state is unknown (#5687) 2020-05-01 13:18:58 +02:00
Joakim Sørensen
6847830575 Use hass-tabs-subpage in add-on view (#5483) 2020-05-01 11:34:52 +02:00
Franck Nijhof
2084ecc4c6 Add NOT condition helper (#5616) 2020-05-01 11:06:35 +02:00
Aidan Timson
b0c27e587e Align discovered integrations to avavliable space (#5672) 2020-05-01 11:04:18 +02:00
On Freund
1687d90d02 Allow passing the current value to config flow input fields (#5603)
* Allow passing the current value to config flow input fields

* Fix lint errors

* Apply suggestions from code review

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Rename current_value to suggested_value to open up more use cases

* Update ha-form-integer.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-05-01 10:36:51 +02:00
Paulus Schoutsen
dfd9bf3c64 Create advanced flow if user in advanced mode (#5612) 2020-05-01 10:23:02 +02:00
Bram Kragten
5a25b9c2f1 Update BUG_REPORT.md 2020-04-30 23:22:09 +02:00
Bram Kragten
bf68101754 Add request for state to issue template 2020-04-30 23:21:43 +02:00
Bram Kragten
487bd8d3fc remove console 2020-04-30 21:41:48 +02:00
Bram Kragten
3ba9c931b9 Optimize scenes config (#5652) 2020-04-30 20:40:43 +02:00
Bram Kragten
8484f7595a Optimize script editor (#5650) 2020-04-30 20:40:23 +02:00
Bram Kragten
ee889d59d4 Don't add disabled entities to lovelace from device page (#5648) 2020-04-30 20:40:10 +02:00
Bram Kragten
ae10330844 Hide scenes from device info page when no entities (#5647) 2020-04-30 20:39:58 +02:00
Bram Kragten
f3e88f6f2e Exclude esprima and drop js-yaml from lovelace chunk (#5649) 2020-04-30 20:39:36 +02:00
Bram Kragten
2abfd0392d Group config entries by integration (#5646) 2020-04-30 20:38:02 +02:00
Bram Kragten
462c1f94d6 Update intl-messageformat (and remove @polymer/app-localize-behavior) (#5671) 2020-04-30 11:20:54 -07:00
Pedro Lamas
f4710891d0 Improved spacing balance for weather forecast (#5673)
* Improved spacing balance for weather forecast

* Removes obsolete styling
2020-04-30 19:43:54 +02:00
Bram Kragten
1fdb6b8034 Prevent recreation of entities row on every update of hass (#5657) 2020-04-29 13:29:53 -07:00
Joakim Sørensen
8029c3d672 Adds more log types to the system tab (#5496)
* Add more log types to the system tab

* Fix lint issues

* Fix more lint issues

* Add loading screen while waiting for logs.

* Only show log selector if advenced user.

* Update hassio/src/system/hassio-supervisor-log.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Log adjustments

* Remove the need for exported ANSI_HTML_STYLE

* Add core as a log provider

* Removed unneeded hints

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-29 21:57:31 +02:00
Bram Kragten
61fdee14c6 Fix demo themes (#5643) 2020-04-28 23:13:37 +02:00
Zack Arnett
117e4e468f Weather Card: Switch Importance of Name and State (#5624)
* Improvements to the name and state importance

* Bram Suggestions
2020-04-28 23:12:15 +02:00
Sean Mooney
869ec113f4 Updated repo links on Dev Tools Info panel (#5644)
These were still using the old names of the repos.

home-assistant is now "core" and home-assistant-polymer is now "frontend".
2020-04-28 23:11:53 +02:00
Erik Montnemery
00e7b93011 Improve styling of MQTT debug info (#5626) 2020-04-28 23:11:34 +02:00
Bram Kragten
03e581870a Bumped version to 20200427.1 2020-04-28 23:11:01 +02:00
Erik Montnemery
b04fe141ac Improve styling of MQTT debug info (#5626) 2020-04-28 23:09:20 +02:00
Sean Mooney
b0168fbb85 Updated repo links on Dev Tools Info panel (#5644)
These were still using the old names of the repos.

home-assistant is now "core" and home-assistant-polymer is now "frontend".
2020-04-28 10:03:54 +02:00
Zack Arnett
75ba343b5e Weather Card: Switch Importance of Name and State (#5624)
* Improvements to the name and state importance

* Bram Suggestions
2020-04-27 14:43:23 -04:00
Aidan Timson
88217473f7 Add search to integrations 🔍 (#5593)
Co-Authored-By: Bram Kragten <mail@bramkragten.nl>
2020-04-27 20:42:37 +02:00
Bram Kragten
01e5dfc9b3 Fix demo themes (#5643) 2020-04-27 20:40:30 +02:00
Bram Kragten
58869677bd Merge pull request #5641 from home-assistant/dev 2020-04-27 12:31:02 +02:00
Bram Kragten
032b01aec1 Bumped version to 20200427.0 2020-04-27 11:47:33 +02:00
Bram Kragten
a47c3fa854 Fix entity card state display (#5631) 2020-04-26 23:48:02 -07:00
Paulus Schoutsen
7c6ba1a782 Translation fixes (#5634) 2020-04-26 21:09:05 +02:00
HomeAssistant Azure
0d08f5413b [ci skip] Translation update 2020-04-26 00:32:54 +00:00
Bram Kragten
949cc17a9e Fix alarm panel translations (#5629) 2020-04-25 15:25:33 -07:00
HomeAssistant Azure
607c1a1ef0 [ci skip] Translation update 2020-04-25 00:32:51 +00:00
Zack Arnett
db2dab8227 Slugify title for url (#5621) 2020-04-24 10:59:38 -04:00
Bram Kragten
eb4ba4fc78 Merge pull request #5620 from home-assistant/dev 2020-04-24 16:14:09 +02:00
Bram Kragten
bf888b1547 Bumped version to 20200424.0 2020-04-24 15:57:10 +02:00
Bram Kragten
c468aab9b2 Fix some imports (#5619) 2020-04-24 15:49:25 +02:00
Bram Kragten
a0dae802f2 Optimize automation editor (#5591) 2020-04-24 13:36:51 +02:00
Bram Kragten
14330fbd93 Fix include domains on entity picker (#5615) 2020-04-24 13:36:10 +02:00
Bram Kragten
bf55be7f7f Fix lit/no-invalid-html (#5617) 2020-04-24 13:29:38 +02:00
Paulus Schoutsen
e10987a705 Improve Lovelace take control warning. (#5608) 2020-04-24 10:37:41 +02:00
Bram Kragten
355f40d740 Don't update entity picker items while open (#5588)
* Don't update entity picker items while open

* Update items in updated, when we open the dropdown
2020-04-24 10:36:38 +02:00
Bram Kragten
2503fabe1d Add min width to toolbar icon to prevent tabs jumping (#5590) 2020-04-24 10:36:14 +02:00
Bram Kragten
32c7c0b4f0 Hide config entry title when same as integration name (#5589) 2020-04-24 10:35:56 +02:00
Bram Kragten
301a964a65 Allow to remove config entry name (#5607)
* Allow to remove config entry name

* Add enter handling to prompt
2020-04-24 10:35:43 +02:00
Aidan Timson
49f2fd2af7 Fix integrations fab spacing (#5594)
* Fix integrations fab spacing

* Use is-wide
2020-04-24 10:35:21 +02:00
HomeAssistant Azure
4f518cac2c [ci skip] Translation update 2020-04-24 00:32:51 +00:00
Paulus Schoutsen
8420f73919 Fix translations for Z-Wave & Zigbee (#5606) 2020-04-23 15:51:56 -07:00
Bram Kragten
1ef2d3c7f2 Add max width to integration cards (#5600) 2020-04-23 09:53:27 -04:00
Paulus Schoutsen
fc20fd32f1 Fix a bunch of translation strings (#5597)
* Fix a bunch of translation strings

* Fallback on default if no device class translations
2020-04-23 13:07:40 +02:00
HomeAssistant Azure
13a8bf6993 [ci skip] Translation update 2020-04-23 00:32:48 +00:00
Bram Kragten
b2f424a6f8 Merge pull request #5586 from home-assistant/dev
20200422.0
2020-04-22 12:40:07 +02:00
Bram Kragten
a9d927551c Bumped version to 20200422.0 2020-04-22 12:16:03 +02:00
Zack Arnett
fdf7b516a0 Weather Card: Beautify (#5387)
* Weather card

* Updates

* Remove Precipitation from forecast

* Weather Card :)

* Fix no breaking changes

* Size styles

* Space

* Fix some overlap

* Unavailable

* New unavailable

* Changed to check if less than day

* Updates

* oops

* Little clean up

* styling

* Reviews

* Fix merge

* Lint

* eslint

* New images

* Update src/panels/lovelace/editor/config-elements/hui-weather-forecast-card-editor.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Reviews

* Reviews

* Comments

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-22 12:13:32 +02:00
Erik Montnemery
9a00078169 Display MQTT debug info (#5375)
* Add MQTT debug info

* Refactor

* Fix mistake

* Rewrite, improve display.

* Tweak translations

* Add mqtt-payload.ts

* Apply suggestions from code review

Co-Authored-By: Zack Arnett <arnett.zackary@gmail.com>

* Tweak after adding review comments.

* Rewrite to only render the messages when details is opened

* Adapt to core PR #33752

* Address review comments

* Lint

* Lint

* Address review comments

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-04-22 12:01:43 +02:00
Bram Kragten
1dfb632fc4 New layout for integration config (#5580)
* WIP

* Add filter message to device and entities page

* Lokalize

* Missed 2

* Fixed in #5581

* Change to hash
2020-04-22 11:51:50 +02:00
Zack Arnett
1c1f9a6a89 Graph Footer: Cache State History (#5499)
* Cache State History for entity

* State history reset on config change

* Fetching

* reviews

* Merge fixes

* Remove file again ?
2020-04-22 11:33:49 +02:00
Bram Kragten
2b76b3887e Add device automation translations to add automation device dia… (#5573)
* Add device automation translations to add automation device dialog

* Update translations-mixin.ts
2020-04-22 11:12:27 +02:00
Paulus Schoutsen
a49c84032b Mark titles in config flows optional (#5584) 2020-04-22 10:51:53 +02:00
cdce8p
c72bb5b22b Add secondary option for cover entities (#5556)
* Add secondary option for cover entities

* Replace string concatenation

* Check for undefined
2020-04-22 10:50:52 +02:00
Paulus Schoutsen
24a844dddc update translations 2020-04-21 23:51:57 -07:00
HomeAssistant Azure
ae903973a7 [ci skip] Translation update 2020-04-22 00:32:35 +00:00
Paulus Schoutsen
82442bb5ec Fix cast translations (#5582) 2020-04-21 15:02:00 -07:00
nagyrobi
8786302190 Add up/down movement icons to shutter (#5579)
Since window shutters are also moving up and down, add these icons for during movement.
2020-04-21 17:23:37 +02:00
Paulus Schoutsen
d27a17cf8e Get state translations from backend (#5581)
* Get state translations from backend

* Fix tests
2020-04-21 17:15:13 +02:00
HomeAssistant Azure
b4b90ca59d [ci skip] Translation update 2020-04-21 00:33:02 +00:00
HomeAssistant Azure
ecd967a68d [ci skip] Translation update 2020-04-20 00:32:47 +00:00
Paulus Schoutsen
8812340768 Remove iba language 2020-04-18 23:03:13 -07:00
Paulus Schoutsen
659da7bf80 Update translations 2020-04-18 23:01:40 -07:00
HomeAssistant Azure
91eabf3c38 [ci skip] Translation update 2020-04-19 00:32:41 +00:00
Paulus Schoutsen
e355c81e41 Bumped version to 20200418.0 2020-04-18 17:15:29 -07:00
Paulus Schoutsen
d45a674652 Ask specific translations (#5560) 2020-04-18 17:14:25 -07:00
HomeAssistant Azure
f91b46e88c [ci skip] Translation update 2020-04-18 00:32:56 +00:00
Aidan Timson
f57754212c Add Search to Card Picker (#5497)
* Add Search to Card Picker

* Force focus

* Remove autofocus

* Fix from rebase

* Commit suggestion

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Flip autofocus

* Cache cards

* Make cards a property

* Add missing custom cards

* Set cards to render elements

* Commit suggestion

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/lovelace/editor/card-editor/hui-card-picker.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Make card preview max width match columns

* Typo

* Add autofocus where wanted

* Update src/common/search/search-input.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/dialogs/config-flow/step-flow-pick-handler.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-17 23:29:49 +02:00
Paulus Schoutsen
97c454aa0d Update domain translation string (#5558) 2020-04-17 09:01:45 -07:00
dependabot[bot]
b516f10a35 Bump https-proxy-agent from 2.2.1 to 2.2.4 (#5559)
Bumps [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent) from 2.2.1 to 2.2.4.
- [Release notes](https://github.com/TooTallNate/node-https-proxy-agent/releases)
- [Commits](https://github.com/TooTallNate/node-https-proxy-agent/compare/2.2.1...2.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-04-17 11:45:30 +02:00
HomeAssistant Azure
0ccc788148 [ci skip] Translation update 2020-04-17 00:32:42 +00:00
Bram Kragten
5c941e0afb Remove initial value explanation 2020-04-16 12:55:21 +02:00
HomeAssistant Azure
492e4d2df4 [ci skip] Translation update 2020-04-16 00:32:44 +00:00
Paulus Schoutsen
66f33ad497 Use manfiests to render doc urls (#5549)
* Use manfiests to render doc urls

* Update UI
2020-04-15 13:36:25 -07:00
Aidan Timson
ff81536463 Add loading for initial state on graph (#5448)
* Fix type

* Add loading spinner for initial state

* Move to better position

* Make var not a property

* Make spinner same height as graph

* Fix size

* Make spinner centered

* Adjust spinner position

* Remove boolean and make no state history match height

* Merge

* eslint

* Fix value

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Commit suggestion

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Suggested change

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-15 20:54:01 +02:00
Paulus Schoutsen
ba0cba1a2b Update where we load integration titles from (#5546) 2020-04-15 20:47:29 +02:00
Joakim Sørensen
fc7771ec13 Remove npm (#5548) 2020-04-15 20:25:07 +02:00
Joakim Sørensen
4c3069e5b7 Add missing imports (#5547) 2020-04-15 20:15:34 +02:00
Paulus Schoutsen
ed54a185e4 Remove srcset from brands (#5517) 2020-04-15 16:00:16 +02:00
Paulus Schoutsen
4f81085d0f Add entity row that displays static text (#5516)
* Add entity row that displays text

* Remove hass type
2020-04-15 15:59:33 +02:00
David F. Mulcahey
8383caf6a6 Add ability to see Zigbee information for a device (#5445)
* add ability to see zigbee information for a device

* cleanup

* handle resize correctly

* cleanup

* convert to ha-dialog

* Simplify

* Add close button

* Add readonly to code editor

* add class

* eslint fixes

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-15 15:36:48 +02:00
HomeAssistant Azure
1b9f224569 [ci skip] Translation update 2020-04-15 00:32:58 +00:00
Bram Kragten
05495af74f Merge pull request #5539 from home-assistant/dev
20200414.0
2020-04-15 00:10:54 +02:00
Bram Kragten
d62da5e924 Merge branch 'master' into dev 2020-04-15 00:00:16 +02:00
Bram Kragten
57d72bd80f Bumped version to 20200414.0 2020-04-14 23:53:01 +02:00
Bram Kragten
681c05c323 Add Lit analyzer (#5538)
* Add lit analyzer

* Update rules
2020-04-14 11:43:56 -07:00
Bram Kragten
3d20d8b208 remove @types/chromecast-caf-sender (#5537)
To prevent a collusion with `@types/chromecast-caf-receiver` that would make `lit-analyzer` fail.
2020-04-14 20:25:03 +02:00
Bram Kragten
4f9d77b906 Remove tslint -> move ts to eslint 2020-04-14 18:09:31 +02:00
Bram Kragten
82f80db558 Update typescript, prettier, tslint -> eslint (#5536)
* Update typescript, prettier, tslint -> eslint

* Organize imports

* Use glob for eslint fix react import
2020-04-14 09:05:45 -07:00
HomeAssistant Azure
b17490f0de [ci skip] Translation update 2020-04-14 00:32:37 +00:00
HomeAssistant Azure
d33c0b4bd1 [ci skip] Translation update 2020-04-13 00:32:47 +00:00
HomeAssistant Azure
7f528c90c3 [ci skip] Translation update 2020-04-12 00:32:55 +00:00
Paulus Schoutsen
c4c4782429 Fix hui-entities-card margin (#5518) 2020-04-11 11:07:27 +02:00
HomeAssistant Azure
5414092309 [ci skip] Translation update 2020-04-11 00:32:38 +00:00
Paulus Schoutsen
b632ea6f86 Add icons to info panel (#5501)
* Add icons to info panel

* Update src/panels/developer-tools/info/integrations-card.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-10 13:13:58 +02:00
David F. Mulcahey
bd98ce8c25 Make add devices button available on ZHA coordinator (#5431)
* Make add devices available on ZHA coordinator

* Update src/panels/config/zha/zha-device-card.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-device-card.ts

Co-Authored-By: Zack Arnett <arnett.zackary@gmail.com>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-04-10 11:57:23 +02:00
Paulus Schoutsen
0c1714ef78 Reload frontend if backend changes (#5489)
* Reload frontend if backend changes

* Better implementation

* Store ha version
2020-04-10 11:55:53 +02:00
Bram Kragten
ee278f111f Convert script config panel to router (#5512)
* Convert script config panel to router

* Update script.ts

* Update ha-config-script.ts
2020-04-10 11:50:06 +02:00
HomeAssistant Azure
47e9eb5a0d [ci skip] Translation update 2020-04-10 00:32:45 +00:00
Bram Kragten
baf5dcbd03 Migrate automations config panel to router (#5509)
* MIgrate automations config panel to router

* Correct link to create new
2020-04-09 10:34:45 -07:00
Bram Kragten
2e2915ec09 Fix first logbook item not being shown (#5491) 2020-04-09 16:06:27 +02:00
Bram Kragten
5f3a6740c1 Fix cast panel view (#5488) 2020-04-09 16:06:06 +02:00
Bram Kragten
b17074d68b Fix sidebar derived style (#5493) 2020-04-09 16:05:39 +02:00
Joakim Sørensen
ac4b2ea70f Import ha-fab (#5494) 2020-04-09 16:05:18 +02:00
Bram Kragten
4e2a9e3d7b fix imports (#5506) 2020-04-09 16:04:23 +02:00
Bram Kragten
75525b9866 Remove sort now that data-table does it (#5508) 2020-04-09 16:04:01 +02:00
Bram Kragten
1e39f22009 Fix map init on connected (#5505) 2020-04-09 16:03:38 +02:00
Bram Kragten
7ba55ab666 Bumped version to 20200407.2 2020-04-09 16:02:53 +02:00
Bram Kragten
0c06517dcc Remove sort now that data-table does it (#5508) 2020-04-09 15:45:18 +02:00
Bram Kragten
cd1bfe1b20 Fix map init on connected (#5505) 2020-04-09 15:44:39 +02:00
Bram Kragten
35c2d8966b fix imports (#5506) 2020-04-09 15:44:20 +02:00
Paulus Schoutsen
cb255ef137 Add icons when adding integration (#5500)
* Add icons when adding integration

* Remove margin from search input and put in parent
2020-04-09 14:44:08 +02:00
HomeAssistant Azure
f9d78a95ad [ci skip] Translation update 2020-04-09 00:32:34 +00:00
Joakim Sørensen
14eb496b1d Import ha-fab (#5494) 2020-04-08 21:24:43 +02:00
Bram Kragten
b390e7bed1 Fix sidebar derived style (#5493) 2020-04-08 20:22:01 +02:00
Bram Kragten
903f92f94a Update developer-tools-state.js 2020-04-08 15:23:22 +02:00
Bram Kragten
ebb20abee0 Make unavailable elements disabled (#5386)
* Make unavailable elements disabled

* Unused

* Add checks for unknown

* Update hui-weather-entity-row.ts
2020-04-08 13:58:36 +02:00
Joakim Sørensen
2253275640 Filter add-ons in the store based on advanced mode (#5486) 2020-04-08 13:49:37 +02:00
Bram Kragten
7ddfe3c80b Fix cast panel view (#5488) 2020-04-08 12:36:52 +02:00
Bram Kragten
4388d82076 Fix gallery translation and add more demos (#5473)
* Fix gallery translation and add more demos

* Update provide_hass.ts

* Update demo-hui-alarm-panel-card.ts
2020-04-08 12:36:29 +02:00
Bram Kragten
4f70ec7dc2 Set correct lang attribute (#5479)
* Set correct lang attribute

* Update lit-localize-lite-mixin.ts

* Update translations-mixin.ts

* Remove lang=""

* Move logic out of mixin
2020-04-08 12:36:06 +02:00
Bram Kragten
a71f42366a Fix first logbook item not being shown (#5491) 2020-04-08 12:23:44 +02:00
HomeAssistant Azure
e9bb9fdafe [ci skip] Translation update 2020-04-08 00:32:43 +00:00
Bram Kragten
dd49ea6f20 Merge pull request #5487 from home-assistant/dev
20200407.1
2020-04-07 21:18:38 +02:00
Bram Kragten
92de202e0b Bumped version to 20200407.1 2020-04-07 20:35:18 +02:00
Bram Kragten
1d02b69f52 Fix execute button on automation list (#5484) 2020-04-07 17:33:44 +02:00
Bram Kragten
1dcd913c04 Merge pull request #5481 from home-assistant/dev
20200407.0
2020-04-07 15:58:47 +02:00
Bram Kragten
471a5f8407 Bumped version to 20200407.0 2020-04-07 15:42:02 +02:00
Bram Kragten
7b97ac2f6f Add padding to no logbook message (#5477) 2020-04-07 15:18:40 +02:00
Bram Kragten
e673d90b3f Allow header of mfa dialog to wrap (#5478) 2020-04-07 15:18:23 +02:00
Zack Arnett
764234f744 Icon pickers (#5453) 2020-04-07 09:03:36 -04:00
Zack Arnett
6ca944b7ef Shopping Cart: CSS HTML updates (#5463)
* Fix css

* click
2020-04-07 09:03:19 -04:00
Bram Kragten
c574556deb Missing imports (#5476) 2020-04-07 13:52:45 +02:00
Bram Kragten
c04e1adea2 Add import for ha-state-icon (#5474)
* Add import for ha-state-icon

* Update ha-config-device-page.ts
2020-04-07 12:18:00 +02:00
HomeAssistant Azure
5eb11349fc [ci skip] Translation update 2020-04-07 00:32:43 +00:00
Paulus Schoutsen
b3beb7ef85 Fix dynamic import in gallery (#5472) 2020-04-06 22:29:52 +02:00
Bram Kragten
ec95000fbc Merge pull request #5471 from home-assistant/dev
20200406.0
2020-04-06 19:51:20 +02:00
Bram Kragten
53f0c01073 Bumped version to 20200406.0 2020-04-06 17:00:16 +02:00
Bram Kragten
42d5349db7 Fix user config UI for mobile (#5469) 2020-04-06 16:42:06 +02:00
Zack Arnett
f36a1bbf4a desc (#5443) 2020-04-06 10:33:57 -04:00
Xiaonan Shen
e9945abf2f Add modal to hui-dialog-delete-card (#5465) 2020-04-06 16:24:30 +02:00
Bram Kragten
71ba192c38 Add error logs to safe mode card (#5452)
* Add error logs to safe mode card

* Remove actions
2020-04-06 16:08:35 +02:00
HomeAssistant Azure
e8a7671c25 [ci skip] Translation update 2020-04-06 00:43:01 +00:00
HomeAssistant Azure
17138f78b8 [ci skip] Translation update 2020-04-05 00:33:00 +00:00
Paulus Schoutsen
46c6f86d6a Always load error log in safe mode (#5442) 2020-04-04 17:46:52 +02:00
Zack Arnett
ae1c519d3a Entity Row: Input Number Slider (#5440) 2020-04-04 17:42:06 +02:00
David F. Mulcahey
fd9299cb3d Fix another ZHA import (#5446) 2020-04-04 17:39:40 +02:00
Pascal Vizeli
a9be870fd3 Update azure-pipelines-release.yml for Azure Pipelines 2020-04-04 13:03:31 +02:00
Pascal Vizeli
34f61fd6dc Update azure-pipelines-release.yml for Azure Pipelines 2020-04-04 13:03:14 +02:00
HomeAssistant Azure
e568e2ae21 [ci skip] Translation update 2020-04-04 00:32:42 +00:00
Pascal Vizeli
0656343a91 Update azure-pipelines-netlify.yml for Azure Pipelines 2020-04-03 18:52:44 +02:00
Paulus Schoutsen
fa2773af9b Nightly build gallery. 2020-04-03 09:48:33 -07:00
Bram Kragten
a438439ce0 Merge pull request #5436 from home-assistant/dev
20200403.0
2020-04-03 18:04:07 +02:00
Bram Kragten
da73c9d83d Bumped version to 20200403.0 2020-04-03 17:47:16 +02:00
Bram Kragten
a8f9f7ac7a Datatable fab padding (#5432)
* Add padding for fab

* Add hasFab property

* Simplify

* Remove query

* Change to empty row
2020-04-03 17:46:19 +02:00
Zack Arnett
006d989943 Edit Options: Overflow Menu Fix (#5433)
* Adds no wrap and removes top and bottom padding

* Small updates for clean up
2020-04-03 17:22:40 +02:00
Bram Kragten
82d6909957 Add rebuild to conditional and always show in edit mode (#5429) 2020-04-03 15:26:18 +02:00
Thomas Lovén
12a7fc9337 Fix outline on mouseover in firefox (#5430) 2020-04-03 15:25:53 +02:00
Bram Kragten
0241334656 Fixes for horizontal stack optimization (#5427) 2020-04-03 13:42:37 +02:00
Bram Kragten
b217291b04 Don't cache all config pages (#5428) 2020-04-03 13:42:23 +02:00
HomeAssistant Azure
aa211df0ad [ci skip] Translation update 2020-04-03 00:32:55 +00:00
Zack Arnett
8eebf51447 Card Picker: Fix Clicking cards (#5425)
* fix

* reviews
2020-04-02 17:52:43 -04:00
Zack Arnett
f5d834d130 fix (#5424) 2020-04-02 17:51:38 -04:00
Zack Arnett
0f2eae4091 Delete Card Action: Undo in Toast (#5405)
* Adding insert card and delete undo

* Fix Toast style

* Localize

* Optional

* Comments
2020-04-02 23:36:08 +02:00
David F. Mulcahey
81d2334f48 Fix element imports in ZHA config panel (#5419) 2020-04-02 20:37:33 +02:00
Bram Kragten
45384205eb Also fix for wide (#5417) 2020-04-02 17:47:20 +02:00
Bram Kragten
4150ac045d Gui editor fixes (#5416)
* Gui editor fixes

* Fix

* Add change mode button to conditional card editor
2020-04-02 17:47:01 +02:00
Bram Kragten
793a704871 Update hui-media-player-entity-row.ts 2020-04-02 17:46:07 +02:00
Bram Kragten
9e2606f1c8 Data table display fixes (#5415) 2020-04-02 16:39:59 +02:00
Bram Kragten
4c4549eb37 Merge pull request #5402 from zsarnett/shopping-card-fix
Shopping List Card: Padding Bottom
2020-04-02 11:37:07 +02:00
HomeAssistant Azure
96f7a4231b [ci skip] Translation update 2020-04-02 00:32:54 +00:00
Zack Arnett
c4cf248a1e Has header padding 2020-04-01 20:24:52 -04:00
Zack Arnett
50717b4d19 PAdding 2020-04-01 19:21:53 -04:00
Bram Kragten
da80a3896d Merge pull request #5399 from home-assistant/dev
20200401.0
2020-04-01 19:40:40 +02:00
Bram Kragten
cc374e0478 Bumped version to 20200401.0 2020-04-01 19:24:44 +02:00
Ian Richardson
26d27f8be9 ♻️ change call-service row to button row (#4744)
* ♻️ change call-service row to button row

* address comments

* cleanup

* address comments

* remove unused function

* address comments

* super

* Add CallServiceConfig back in

* Update types.ts

* Update types.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-01 19:18:38 +02:00
Zack Arnett
4767fcbdfc Card Editor: Add Toggle to Dialog (#5245)
* Add Toggle to dialog

* Fix for Stack Cards

* reviews

* Reviews
2020-04-01 19:17:16 +02:00
Bram Kragten
e1b48dd2a2 Always render conditional elements (#5398) 2020-04-01 19:15:48 +02:00
Zack Arnett
087492fc0b Sensor Card: Use Entity card with graph footer (#5322)
* Sensor card changes

* import move

* reviews

* Use spread Operator
2020-04-01 12:12:19 -04:00
Bram Kragten
525703d376 Add link to area on device page (#5396) 2020-04-01 17:39:07 +02:00
Bram Kragten
236bc6aefa Change user dialog (#5397)
* Change user dialog

* Update
2020-04-01 17:38:22 +02:00
Ian Richardson
ec4c29c52c add attribute row (#4723)
*  add attribute row

* accidental import

* Capitalize

* cleanup after rebase

* Update create-row-element.ts

* address comments

* address comments

* Update en.json

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-04-01 11:35:47 -04:00
Bram Kragten
d5ed1c4c41 Clean up theme settings (#5395) 2020-04-01 17:26:38 +02:00
Bram Kragten
dfe808cfb4 Show volume slider on smaller screens (#5385)
* Show volume slider on smaller screens

* Update hui-media-player-entity-row.ts

* Beter deal with unavailable and off states
2020-04-01 17:24:22 +02:00
Zack Arnett
da229d9b65 User in Markdown (#5393) 2020-04-01 11:17:52 -04:00
Zack Arnett
e54d904e4c Weather Row: Generic (#5389)
* Bye lots of hours

* Merge image states into states we have

* add space
2020-04-01 16:58:05 +02:00
Bram Kragten
2e17c96866 Add icons to integration page (#5388) 2020-04-01 11:22:40 +02:00
Ian Richardson
ddeb16463d allow a notification to have no title (#5392) 2020-04-01 11:07:15 +02:00
Ian Richardson
465efa460e handle brightness reporting while light off (#5391) 2020-04-01 11:06:58 +02:00
HomeAssistant Azure
c351402556 [ci skip] Translation update 2020-04-01 00:32:55 +00:00
Hoytron
5f765e8b96 Add feature map history (#5331)
* add feature: show a geocode history on hui-map-card

* refactor feature to use hass cache via rest api and omit osm request

* prepare for PR

* squash duplicates of allEntities to omit duplicated layers on the map

* refactor to use device_tracker entity

* add asdf's .tool-versions file to gitignore

* add lokalize and cleanup

* ajust  logic to match backend api

* add changes to fit new backend behaviour

* fix error in history ts

* cleanup history for map card
2020-03-31 14:25:44 -07:00
Zack Arnett
6f556f69d6 Weather Entity Row: Row Addition (#4959)
* Create file

* Weather Row

* Comments

* Find high and low for hourly

* Add images

* testing

* Weather images in row

* lint

* Updated design

* css changes - dont show high unless it is the high

* Clean

* Sean Suggestion

* Update hui-weather-entity-row.ts

* Reviews

* move tab index

* reviews

* Update src/panels/lovelace/entity-rows/hui-weather-entity-row.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* pretty

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-31 16:07:05 -04:00
Bram Kragten
2439827eff Revert "Use correct suffix for elevation" (#5382)
This reverts commit b15270dfe2.
2020-03-31 21:25:48 +02:00
Ian Richardson
5f467f82e0 media-row: fix when to show power toggle (#5379) 2020-03-31 19:49:59 +02:00
Ian Richardson
6692fa439a hold/double actions for light-card (#5361)
* hold/double actions for light-card

* lint
2020-03-31 17:52:20 +02:00
imgbot[bot]
0535247bb3 [ImgBot] Optimize images (#5378)
*Total -- 1,745.75kb -> 1,539.81kb (11.8%)

/demo/public/assets/teachingbirds/meteogram.png -- 66.71kb -> 24.48kb (63.31%)
/demo/public/assets/teachingbirds/background_square.png -- 0.76kb -> 0.37kb (51.98%)
/demo/public/assets/arsaboo/icons/security_armed_red.png -- 6.38kb -> 3.67kb (42.5%)
/demo/public/assets/jimpower/background-15.jpg -- 231.78kb -> 159.68kb (31.11%)
/public/static/images/image-broken.svg -- 0.56kb -> 0.42kb (23.99%)
/demo/public/assets/arsaboo/icons/security_disarmed.png -- 4.21kb -> 3.25kb (22.7%)
/demo/public/assets/arsaboo/icons/automation_enabled.png -- 3.96kb -> 3.08kb (22.32%)
/demo/public/assets/jimpower/cardbackK.png -- 10.56kb -> 8.21kb (22.22%)
/demo/public/assets/arsaboo/icons/abode_enabled.png -- 3.98kb -> 3.16kb (20.62%)
/demo/public/assets/arsaboo/icons/ecobee_blank.png -- 2.18kb -> 1.78kb (18.22%)
/demo/public/assets/arsaboo/floorplans/ecobee_blank.png -- 2.17kb -> 1.78kb (17.87%)
/demo/public/assets/arsaboo/icons/automation_disabled.png -- 6.89kb -> 5.73kb (16.82%)
/demo/public/assets/jimpower/home/james_10.jpg -- 73.21kb -> 61.89kb (15.46%)
/demo/public/assets/arsaboo/icons/camera_patio_streaming.png -- 11.63kb -> 9.88kb (14.98%)
/demo/public/assets/arsaboo/icons/Harmony.png -- 3.83kb -> 3.25kb (14.95%)
/demo/public/assets/arsaboo/icons/light_off.png -- 9.53kb -> 8.51kb (10.77%)
/demo/public/assets/arsaboo/icons/tv_enabled.png -- 5.48kb -> 4.90kb (10.69%)
/demo/public/assets/jimpower/home/bus_10.jpg -- 36.36kb -> 32.58kb (10.4%)
/demo/public/assets/kernehed/bella.jpg -- 33.09kb -> 30.29kb (8.44%)
/demo/public/assets/arsaboo/images/camera.backyard.jpg -- 81.15kb -> 74.80kb (7.82%)
/demo/public/assets/kernehed/oscar.jpg -- 25.32kb -> 23.34kb (7.81%)
/demo/public/assets/arsaboo/images/camera.patio.jpg -- 63.13kb -> 58.52kb (7.29%)
/demo/public/assets/arsaboo/images/camera.porch.jpg -- 76.49kb -> 70.95kb (7.25%)
/demo/public/assets/arsaboo/icons/light_on.png -- 12.03kb -> 11.19kb (6.97%)
/demo/public/assets/jimpower/home/tina_4.jpg -- 59.69kb -> 55.92kb (6.31%)
/gallery/public/images/album_cover.jpg -- 26.11kb -> 24.46kb (6.31%)
/demo/public/assets/teachingbirds/clothes_drying_square.jpg -- 31.93kb -> 29.98kb (6.11%)
/demo/public/assets/arsaboo/images/camera.driveway.jpg -- 59.47kb -> 55.84kb (6.1%)
/demo/public/assets/teachingbirds/laundry_running_square.jpg -- 58.68kb -> 55.61kb (5.22%)
/demo/public/assets/kernehed/camera.entre.jpg -- 65.84kb -> 62.49kb (5.09%)
/demo/public/assets/teachingbirds/Stefan_square.jpg -- 11.25kb -> 10.68kb (5.06%)
/demo/public/assets/teachingbirds/isa_square.jpg -- 18.90kb -> 17.98kb (4.88%)
/demo/public/assets/jimpower/security/motion_3.jpg -- 87.09kb -> 82.99kb (4.71%)
/demo/public/assets/teachingbirds/roomba_square.jpg -- 32.23kb -> 30.82kb (4.39%)
/demo/public/assets/teachingbirds/laundry_clean_2_square.jpg -- 31.87kb -> 30.48kb (4.34%)
/demo/public/assets/teachingbirds/folded_clothes_square.jpg -- 28.60kb -> 27.41kb (4.16%)
/demo/public/assets/arsaboo/icons/abode_disabled.png -- 8.74kb -> 8.38kb (4.06%)
/gallery/public/images/netflix.jpg -- 20.19kb -> 19.39kb (4%)
/demo/public/assets/teachingbirds/roomba_bw_square.jpg -- 15.97kb -> 15.34kb (3.97%)
/demo/public/assets/teachingbirds/trash_square.jpg -- 29.50kb -> 28.39kb (3.76%)
/demo/public/assets/teachingbirds/cleaning_square.jpg -- 38.57kb -> 37.19kb (3.59%)
/demo/public/assets/teachingbirds/dryer_square.jpg -- 18.78kb -> 18.16kb (3.32%)
/gallery/public/images/album_cover_2.jpg -- 129.79kb -> 125.62kb (3.21%)
/demo/public/assets/teachingbirds/House_square.jpg -- 40.59kb -> 39.31kb (3.15%)
/demo/public/assets/arsaboo/icons/tv_disabled.png -- 10.24kb -> 9.93kb (3.08%)
/demo/public/assets/teachingbirds/washer_square.jpg -- 20.52kb -> 20.00kb (2.52%)
/demo/public/assets/teachingbirds/mailbox_square.jpg -- 42.97kb -> 41.98kb (2.3%)
/demo/public/assets/teachingbirds/trash_bear_bw_square.jpg -- 17.60kb -> 17.35kb (1.46%)
/demo/public/assets/teachingbirds/guests_square.jpg -- 49.05kb -> 48.38kb (1.38%)
/demo/public/assets/teachingbirds/mailbox_bw_square.jpg -- 19.44kb -> 19.25kb (0.98%)
/demo/public/assets/arsaboo/icons/tv_on2.png -- 0.79kb -> 0.78kb (0.25%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2020-03-31 16:50:20 +02:00
Thomas Lovén
a0a4fcaf5f Allow custom cards in card picker (#5122)
* Allow custom cards in card picker

* Lint. "Custom:" prefix to card names

* Address review comments

* Simplifications. Translation fixes.

* Less magic

* Move CUSTOM_TYPE_PREFIX

* Update hui-card-picker.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-31 16:20:09 +02:00
Zack Arnett
454d81facc View Editor: Badge Preview (#5335)
* Badge Preview

* Move Badge preview

* Clean

* Error card + clean

* remove try catch
2020-03-31 13:30:52 +02:00
Bram Kragten
0bfa8260fa Merge pull request #5372 from dmulcahey/dm/zha-tables-clear-selections
Clear selections in ZHA data tables
2020-03-31 13:25:50 +02:00
Bram Kragten
f2124f1c95 Merge pull request #5373 from zsarnett/entity-card-fix
Entity Card: Fix Value clipping in editor
2020-03-31 13:24:34 +02:00
HomeAssistant Azure
451bc2370a [ci skip] Translation update 2020-03-31 00:32:48 +00:00
Zack Arnett
0b17642c31 Fix editor value clipping 2020-03-30 20:19:18 -04:00
David Mulcahey
214dc25576 clear selections 2020-03-30 20:01:04 -04:00
Zack Arnett
158eddfd44 Entity Card: Card Addition (#4971)
* Review to changed Src translations

* Reviews

* side by side theme

* Allow user to specify unit

* Add unit back update for headerfooter and editor

* Clean

* Unavailable for attribute that doesn't exist

* fix merge

* Fix from rebasing

* reviews

* Localize State

* fix for localize

* css

* reviews

* Break the rules
2020-03-30 19:49:02 -04:00
Pascal Vizeli
5daa6dbd25 [skip ci] Simplify release pipeline 2020-03-30 22:52:27 +02:00
Pascal Vizeli
645ef3e61f [skip ci] Simplify release pipeline 2020-03-30 22:51:42 +02:00
Bram Kragten
3be4b9d79b Merge pull request #5369 from home-assistant/dev
20200330.0
2020-03-30 21:34:24 +02:00
Bram Kragten
5dcea51712 Fix default path for demo 2020-03-30 21:20:06 +02:00
Bram Kragten
6995968d50 Update ha-sidebar.ts 2020-03-30 20:59:12 +02:00
Bram Kragten
c4cb42f3c2 Merge branch 'master' into dev 2020-03-30 20:57:24 +02:00
Bram Kragten
0d4a7a2b3e Bumped version to 20200330.0 2020-03-30 20:53:19 +02:00
Bram Kragten
20cc9c9b42 Update user config pages (#5354)
* Update user config pages

* remove user-editor

* Update

* Update dialog-add-user.ts
2020-03-30 20:52:53 +02:00
Bram Kragten
8a6bd04543 Add default dashboard selection to profile page (#5360)
* Add default dashboard selection to profile page

* Comments

* Console.bye
2020-03-30 16:08:36 +02:00
Bram Kragten
263138a388 MIgrate scripts to data table (#5352)
* MIgrate scripts to data table

* Update imports

* Update

* Lint
2020-03-30 15:38:15 +02:00
Bram Kragten
e645342131 Allow to start with empty view on take control (#5357)
* Allow to start with empty view on take control

* Localize
2020-03-30 15:37:59 +02:00
Bram Kragten
6e4c707f9e Migrate scene config to data table (#5351)
* Migrate scene config to data table

* Remove unused styles

* Update ha-scene-dashboard.ts

* Lint + help

* Update ha-scene-dashboard.ts
2020-03-30 15:06:29 +02:00
Bram Kragten
fca286d6c0 Change automation picker to data table (#5344)
* Change automation picker to data-table

* Update ha-automation-picker.ts

* Update ha-automation-picker.ts

* Update ha-automation-picker.ts

* Add edit button + disabled tooltip

* Fix translation key

* Remove unused

* Comments and fixes

* Update ha-automation-picker.ts
2020-03-30 14:21:55 +02:00
Bram Kragten
5a2e08647f Add area config page (#5343)
* Add area config page

* Comments

* Update ha-config-area-page.ts

* Update ha-config-area-page.ts
2020-03-30 14:21:36 +02:00
Bram Kragten
f6dac98abd Update layout of device info page (#5342)
* Update layout of device info page

* Comments

* <a> and simplify layout

* Update ha-config-device-page.ts
2020-03-30 14:21:21 +02:00
Pascal Vizeli
ddb525f6cd Fix hass.io panel for older version (#5365)
* Fix hass.io panel for older version

* Fix lint
2020-03-30 11:38:54 +02:00
HomeAssistant Azure
f7ee712456 [ci skip] Translation update 2020-03-30 00:40:34 +00:00
Ian Richardson
ff873e2f71 add name option to buttons row (#5083)
* add name option to buttons row

* explicit show_name

* Update src/panels/lovelace/components/hui-buttons-base.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/lovelace/components/hui-buttons-base.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* lint

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-29 13:49:27 +02:00
Ian Richardson
54b57e6222 add volume slider to media_player row (#4743)
*  add volume slider to media_player row

* add more controls

* flex slider

* override width

* volume buttons when narrow

* address comments

* Updates for rebase

* attempt to use debounce. not working

* remove log

* fix observer

* address some review comments

* unobserve

* address comments
2020-03-29 13:30:52 +02:00
HomeAssistant Azure
375abfb95e [ci skip] Translation update 2020-03-29 00:32:56 +00:00
HomeAssistant Azure
30a38fa6d1 [ci skip] Translation update 2020-03-28 00:34:07 +00:00
Pascal Vizeli
554c0b692d Fix supervisor panel (#5348)
* Fix supervisor panel

* Lint

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-03-27 11:55:55 -07:00
HomeAssistant Azure
61ac831882 [ci skip] Translation update 2020-03-27 00:33:27 +00:00
Bram Kragten
59e89a0daf Sandbox iframe 2020-03-26 11:39:01 +01:00
Zack Arnett
1e3950cd1d Add shopping list (#5339) 2020-03-26 11:32:40 +01:00
Zack Arnett
f514ea453c Delete Card: Add Card Preview to Dialog (#5325)
* Delete Card Dialog

* Update with to be the max for a column

* Comments

* remove open and wait for render to resize I think

* Review

* fire event from dialog
2020-03-26 11:13:13 +01:00
Paulus Schoutsen
cc046478e5 Catch LL config not found exception in preload (#5340) 2020-03-26 10:47:12 +01:00
HomeAssistant Azure
a17c1052cd [ci skip] Translation update 2020-03-26 00:32:45 +00:00
HomeAssistant Azure
2408f9b8fa [ci skip] Translation update 2020-03-25 00:32:35 +00:00
Aidan Timson
6aae1b3378 Fix Default Lovelace Panel Title (#5301)
* Fix lovelace panel title

* Fix types error

* Revert and workaround null type

* Update src/data/panel.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update panel.ts

* Update panel.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-24 15:08:51 +01:00
Pascal Vizeli
ed51223226 Update azure-pipelines-release.yml for Azure Pipelines 2020-03-24 14:16:21 +01:00
sdotter
013808b7f5 Fixed iframe panel unnecessary scrollbar (on 100vh -64px) (#5326)
* Fixed iframe panel unnecessary scrollbar (on 100vh -64px)

* Fixed iframe panel unnecessary scrollbar (removed margin-top)

No need for margin-top
2020-03-24 13:18:45 +01:00
HomeAssistant Azure
af584e1d12 [ci skip] Translation update 2020-03-24 00:57:08 +00:00
J. Nick Koston
3763d7a1d0 Use horizontal control icons for devices that commonly move horizontally (#5309)
* Use horizontal control icons for devices that
commonly move horizontally including:

awning
curtain
gate

* no need to check

* remove debug

* reduce - js is so permissive

* remove curtain
2020-03-23 20:33:45 +01:00
Zack Arnett
ce92add096 Footer/Header: Graph (#5273)
* Add Graph as a footerheader option

* Move get Coordinates to a new file

* await

* Comments
2020-03-23 09:46:56 -04:00
HomeAssistant Azure
40c94b6596 [ci skip] Translation update 2020-03-23 00:32:58 +00:00
Aidan Timson
c894bc2e40 Fix icon button padding (#5312) 2020-03-23 00:18:13 +01:00
HomeAssistant Azure
415a4fa1af [ci skip] Translation update 2020-03-22 00:32:46 +00:00
Bram Kragten
b9367a33a8 Invalidate theme cache when switching demo's (#5305)
* Invalidate theme cache when switching demo's

* Move to mock hass
2020-03-21 20:19:13 +01:00
Bram Kragten
7170f06c08 Add checks for arrays in compute unused entities (#5307) 2020-03-21 20:18:40 +01:00
J. Nick Koston
f2578a58b4 Add "gate" device class for DEVICE_CLASS_GATE (#5299)
* Add "gate" device class for DEVICE_CLASS_GATE

Gates are found outside of a structure and are typically part of a fence.

When opening or closing a garage door, it was impossible to tell
if you had hit the button or not even though the underlying state
was reported as "opening". This lead to confusion and multiple
clicks to open a garage door which can cause the door to stop
opening and result in frustration.

Add icons for gate and garage opening and closing states.

* Add "gate" device class for DEVICE_CLASS_GATE

Gates are found outside of a structure and are typically part of a fence.

When opening or closing a garage door, it was impossible to tell
if you had hit the button or not even though the underlying state
was reported as "opening". This lead to confusion and multiple
clicks to open a garage door which can cause the door to stop
opening and result in frustration.

Add icons for gate and garage opening and closing states.

* de-bold
2020-03-21 11:20:06 -07:00
Bram Kragten
1950656bd5 Add ability to edit panel view cards (#5257)
* Add ability to edit panel view cards

* Localize and fix some styling
2020-03-21 16:51:44 +01:00
Bram Kragten
eed3263c70 Optimize cards for horizontal stack (#5254) 2020-03-21 15:59:30 +01:00
Robert Resch
02e01626f5 fix #5300: always show attribute step (#5302) 2020-03-21 15:15:20 +01:00
HomeAssistant Azure
41a2d9604e [ci skip] Translation update 2020-03-21 00:32:47 +00:00
Bram Kragten
7d6f188bfc Change themes logic (#5232)
* Fix themes

* Update hui-view.ts

* Comments and bail out

* Update apply_themes_on_element.ts

* refactor, move meta to theme mixin, adapt lovelace theme picker

* console.bye

* Comments

* Optimizations

* Bail out early is no hex value

* Cache processed themes

* Remove hex-rgb cache
2020-03-20 21:30:20 +01:00
Bram Kragten
15a144f17a Add iframe panel mode and align aspect ratio option with map card (#5289)
* Add iframe panel mode and align aspect ratio option with map card

* lint
2020-03-20 17:53:30 +01:00
Erik Montnemery
c54f2b66da Add delete button to MQTT devices' config page (#5117)
* Add delete button to MQTT devices' config page

* Move delete button to its own card

* Fix review comments

* Fix review comments

* Fix review comments

* Use haStyle instead of haStyleDialog
2020-03-20 15:53:36 +01:00
Bram Kragten
685a0807d8 Fix alarm panel (#5291)
Fixes https://github.com/home-assistant/frontend/issues/5073
2020-03-20 15:21:25 +01:00
Zack Arnett
0d404e0e37 Stub Configs: Add Type (#5206)
* Add Type

* Add return type

* Lint

* Fix map

* map fix

* Comments
2020-03-20 12:41:28 +01:00
Zack Arnett
39bb859f57 Fix tooltip overflow (#5282) 2020-03-20 12:01:18 +01:00
Zack Arnett
90e32b7e45 Hui Unavailable: Fix Opacity (#5283)
* Fix unavailable

* opacity
2020-03-20 11:49:46 +01:00
Zack Arnett
63a2d9dd18 alphabet english (#5284) 2020-03-20 11:48:02 +01:00
HomeAssistant Azure
4982693883 [ci skip] Translation update 2020-03-20 00:32:48 +00:00
Zack Arnett
f4211e3fa3 Find Entites: Filter Unavailable - Used and unused entities required (#5208)
* Update Find Entities

* lint

* Filter until max - entitiesFill-> entitiesFallback

* Comment - Move unav - unk filter to picker

* lint

* Var name update

* remove unnessary check

* add it back and fix logic

* use typescript ? in condition

* comments

* lint

* Compute used once

* pass in hass

* Return set

* fix merge

* Optimize unused entities in find
2020-03-19 14:39:14 -04:00
Paulus Schoutsen
eacf58b5a5 Update color count in color extraction (#5270)
* Update color count in color extraction

* add the images
2020-03-18 23:12:27 -04:00
HomeAssistant Azure
f9349bc731 [ci skip] Translation update 2020-03-19 00:32:53 +00:00
Bram Kragten
3840671764 Remove app-route from hui-root (#5267)
* Remove app-route from hui-root

* Update hui-root.ts
2020-03-18 15:37:44 -07:00
Bram Kragten
fd62cf02d6 Fix button card not showing visual editor on add (#5256) 2020-03-18 23:32:03 +01:00
Bram Kragten
254744cd7d Bumped version to 20200318.1 2020-03-18 23:29:00 +01:00
Zack Arnett
595d04c922 Fix theme update (#5246) 2020-03-18 23:28:50 +01:00
Bram Kragten
a3969fe2c8 Fix stack editor in stack editor (#5255) 2020-03-18 23:28:42 +01:00
Paulus Schoutsen
220e4134b7 Fix calculating title if panels not loaded yet (#5262) 2020-03-18 23:28:35 +01:00
Bram Kragten
56e176a6f1 Fix stack editor in conditional card (#5265) 2020-03-18 23:28:30 +01:00
Bram Kragten
780c15d6b3 Fix stack editor in conditional card (#5265) 2020-03-18 21:29:09 +01:00
Bram Kragten
55ff848b78 Fix stack editor in stack editor (#5255) 2020-03-18 20:51:00 +01:00
Zack Arnett
dbe829bc7d Card Editor: Copy Card (#5249)
* Copy Card Feature

* dUplicate
2020-03-18 20:33:59 +01:00
Zack Arnett
8d0508f320 Unused Entities: Only Show Fab when selection is made (#5248)
* Only Show Fab when selection is made

* reviews
2020-03-18 20:33:36 +01:00
Paulus Schoutsen
2741bb8b38 Fix calculating title if panels not loaded yet (#5262) 2020-03-18 20:32:35 +01:00
Paulus Schoutsen
16cadd53cf Set data as property. (#5263) 2020-03-18 20:27:44 +01:00
Olivér Falvai
a8d21c6112 Add loading text for long-running integration install step (#4378)
* Added optional label for dialog-data-entry-flow

* Use correct loading element

* Update src/translations/en.json

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Minor template adjustment

* Revert accidental change of PR templates

* Revert accidental change of PR templates

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-18 17:00:08 +01:00
Bram Kragten
6b2e707653 Update en.json 2020-03-18 12:49:32 +01:00
Bram Kragten
205b7451fa Update hui-gauge-card.ts (#5241) 2020-03-18 12:48:16 +01:00
Zack Arnett
1d3aeec0de more info (#5247) 2020-03-18 12:47:59 +01:00
Zack Arnett
ac911dcd31 Fix theme update (#5246) 2020-03-18 12:47:20 +01:00
Bram Kragten
89a94b3efc Merge pull request #5252 from home-assistant/dev
20200318.0
2020-03-18 12:33:12 +01:00
Bram Kragten
71793dcfa5 Cast fix for urlPath === "lovelace" (#5242) 2020-03-18 12:19:01 +01:00
Bram Kragten
1e527a8350 Bumped version to 20200318.0 2020-03-18 12:18:24 +01:00
Bram Kragten
262b12eb93 Fix dialog conent color (#5251)
* Fix ha-dialog content color

* Fix
2020-03-18 12:17:01 +01:00
HomeAssistant Azure
7fb1e699ae [ci skip] Translation update 2020-03-18 00:32:39 +00:00
Aidan Timson
9ee647329b Fix Wrong Index for Filtered Tabs (#5221)
* Fix wrong index for filtered tabs

* Set active tab to actual tab and use path

* Update src/layouts/hass-tabs-subpage.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update src/layouts/hass-tabs-subpage.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-17 20:44:07 +01:00
HomeAssistant Azure
cd6dcec644 [ci skip] Translation update 2020-03-17 00:32:43 +00:00
Bram Kragten
d8f248c60e Merge pull request #5234 from home-assistant/dev
20200316.1
2020-03-16 21:18:04 +01:00
Aidan Timson
2925b930ad Set Title to Current Panel (#5220)
* Set title to current panel

* Move to mixin

* Naming

* guard clause
2020-03-16 20:54:55 +01:00
Bram Kragten
127aaba47b Add UI for reload resources service (#5229)
* Add UI for reload resources service

* Update hui-root.ts

* Check for config of main panel
2020-03-16 20:52:21 +01:00
Bram Kragten
8bc8761af6 Bumped version to 20200316.1 2020-03-16 20:32:59 +01:00
Bram Kragten
a88321d243 Only show url path field in advanced mode (#5233) 2020-03-16 20:32:13 +01:00
Bram Kragten
4e19232960 Merge pull request #5230 from Tediore/patch-3
Minor corrections and cosmetic improvements
2020-03-16 14:51:14 +01:00
Jay
5b95bdb6b7 Minor corrections and cosmetic improvements
Updated the correct file this time...
2020-03-16 08:15:18 -05:00
Bram Kragten
0fc59ccb16 Merge pull request #5228 from home-assistant/dev
20200316.0
2020-03-16 12:38:28 +01:00
Bram Kragten
a9daf9835a Bumped version to 20200316.0 2020-03-16 12:24:39 +01:00
Zack Arnett
2110d9c3b9 Map Card: Fix Dark Mode Toggle (#5209)
* Fix Editor

* comment
2020-03-16 12:23:13 +01:00
Zack Arnett
b77e0b8125 Card Picker: Remove Scale (#5205)
* remove scalling

* add zoom back
2020-03-16 12:22:56 +01:00
Zack Arnett
5197f102ea Webpage Card: Fix Aspect Ratio in Editor (#5210)
* fix Ifram editor

* suffix
2020-03-16 12:22:41 +01:00
Bram Kragten
447d4604c6 Require hyphen in lovelace dashboard url path (#5214)
* Require hyphen in url path

* Update dialog-lovelace-dashboard-detail.ts
2020-03-16 12:22:21 +01:00
Jason Lachowsky
5a84e34f93 Corrected minor misspellings (#5225) 2020-03-16 11:56:04 +01:00
Jay
fb6d3cccdc Cosmetic improvements, minor corrections (#5199)
Made some minor corrections:
"it's" > "its" ("its" is the possessive form of "it")
"setup" > "set up" ("setup" is a noun, "set up" is a verb)

Cosmetic improvement:
"can not" > "cannot" (both are correct, but "cannot" is usually more common, at least in the US. Strictly a matter of opinion here so no worries if you want this reversed.)
2020-03-16 11:51:43 +01:00
HomeAssistant Azure
fad3cb185b [ci skip] Translation update 2020-03-16 00:32:44 +00:00
HomeAssistant Azure
f61ce395f5 [ci skip] Translation update 2020-03-15 00:32:49 +00:00
Franck Nijhof
17f3299152 Fix brightness_pct in light device turn_on action (#5201) 2020-03-13 21:58:34 -07:00
HomeAssistant Azure
17e04589d0 [ci skip] Translation update 2020-03-14 00:32:33 +00:00
Bram Kragten
4b2edde81b Merge pull request #5198 from home-assistant/dev
20200313.0
2020-03-13 20:39:21 +01:00
Bram Kragten
5d3d766f56 Bumped version to 20200313.0 2020-03-13 20:25:21 +01:00
Zack Arnett
94e2a0dea0 Media Card: Reset Marquee on Text change (#5184)
* Stop marquee on next and prev

* force stop

* clean

* This is much better

* Clean

* comments

* comment

* No more repaints
2020-03-13 20:22:49 +01:00
Paulus Schoutsen
21fe68add0 Stub config tweaks (#5197)
* Stub config tweaks

* Lint
2020-03-13 20:22:34 +01:00
Bram Kragten
af6ebea4a3 Fix translations in production builds (#5192)
* Fix translations in production builds

* Make env functions
2020-03-13 10:19:32 -07:00
Paulus Schoutsen
3c17ee03b6 Improve color extraction for media control card (#5189)
* Improve color extraction

* Lazy load media control

* Update src/panels/lovelace/cards/hui-media-control-card.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Extract constant

* Fix media control demo

* Remove quality(1)

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-13 10:01:36 -07:00
Bram Kragten
0c3c007faf Check if entities is an array (#5193) 2020-03-13 17:48:49 +01:00
Zack Arnett
330eb0957b Update Gauge CSS (#5182) 2020-03-13 14:52:12 +01:00
HomeAssistant Azure
02923475e6 [ci skip] Translation update 2020-03-13 01:16:04 +00:00
Zack Arnett
01ff97b366 Fix Marquee Ellipsis (#5183) 2020-03-12 19:08:51 -04:00
Bram Kragten
f0a4a99654 Merge pull request #5181 from home-assistant/dev
20200312.0
2020-03-12 21:43:28 +01:00
Bram Kragten
02d2368654 Bumped version to 20200312.0 2020-03-12 21:05:35 +01:00
Bram Kragten
e19d07e434 Typos (#5180)
Fixes #5179
Fixes #5178
2020-03-12 21:04:46 +01:00
Bram Kragten
669ed5cb28 Dont create new array on every render (#5177) 2020-03-12 21:02:05 +01:00
Bram Kragten
785ae4a83d Fix for views with url starting with a number (#5176) 2020-03-12 20:49:26 +01:00
Bram Kragten
d327045802 Update dialog-helper-detail.ts 2020-03-12 20:48:41 +01:00
Bram Kragten
785ef19cce Only update map if one of entities changed (#5175) 2020-03-12 20:37:54 +01:00
Bram Kragten
f5653d0da5 Show if helper can be edited (#5174)
Fixes #5173
Fixes #5171
2020-03-12 20:37:33 +01:00
Bram Kragten
e0a6d2efe5 Add on state to media control card (#5168) 2020-03-12 20:11:33 +01:00
Bram Kragten
9971e2e934 Fix scroll entity settings dialog (#5165)
Fixes #5144
2020-03-12 20:11:19 +01:00
Bram Kragten
558802c7dd Simplify action handler directive (#5157) 2020-03-12 20:11:05 +01:00
Bram Kragten
91edcf9b52 Fix stack size (#5155) 2020-03-12 20:10:45 +01:00
Sergey Avdeev
f401aa2897 Update icon_color_css.ts (#5163) 2020-03-12 20:10:30 +01:00
Bram Kragten
1d0389327f Fix helper UI (#5161)
Fixes #5146
Fixes #5145
Fixes #5142
2020-03-12 20:10:06 +01:00
Bram Kragten
06cd7556f3 Dashboard UI fixes (#5160)
Fixes #5152
Fixes #5150
Fixes #5148
2020-03-12 20:09:55 +01:00
Bram Kragten
3b1f9a5dab Fix secondary info (#5159) 2020-03-12 20:09:41 +01:00
Bram Kragten
f54cd18da4 Fix resize observer on error card (#5158)
* Fix resize observer on error card

* Update hui-media-control-card.ts
2020-03-12 20:09:27 +01:00
Zack Arnett
73e0fd614e updates transparent to be hex plus alpha of 0 (#5167) 2020-03-12 19:47:48 +01:00
Paulus Schoutsen
9b220cc6ce Extract media controls into method (#5141)
* Extract media controls into method

* address comments

* lint

* Moooorre fixes

* Fix margin

* Update demos

* Very narrow idle players show play button

* Lint

* More stuff

* Marquee on steroids
2020-03-12 10:40:03 +01:00
Zack Arnett
c7a5f63e33 Fix for safari (#5143) 2020-03-12 10:06:08 +01:00
HomeAssistant Azure
11192e6065 [ci skip] Translation update 2020-03-12 00:32:46 +00:00
Bram Kragten
d83b308100 Fix area dialog too wide (#5136)
* Fix area dialog to wide

* Update styles
2020-03-11 17:10:26 -07:00
Quentame
f67bf6908f Refactor Freebox : add config flow + temperature sensor + signal dispatch (#4448)
* Add config flow to Freebox

* Compress image with https://tinypng.com/
2020-03-11 22:12:40 +01:00
Bram Kragten
2784edc689 Merge pull request #5135 from home-assistant/dev
20200311.1
2020-03-11 19:07:22 +01:00
Bram Kragten
8f41e99464 Bumped version to 20200311.1 2020-03-11 18:52:20 +01:00
Paulus Schoutsen
7c2b37e8ca Demo paths (#5134)
* Update paths to images in demo

* Remove some unused attributes

* Fix camera paths
2020-03-11 10:37:23 -07:00
Bram Kragten
dbdbad2deb Fix closing hui-editor (#5132) 2020-03-11 15:23:31 +01:00
Bram Kragten
e5db86363c Only save non system generated users and tweak text (#5131)
* Only save non system generated users and tweak text

* Clean up
2020-03-11 15:23:19 +01:00
Bram Kragten
b2026c1cd7 Fix automation event trigger UI (#5130) 2020-03-11 13:47:23 +01:00
Bram Kragten
b12f29afad Merge pull request #5128 from home-assistant/dev
20200311.0
2020-03-11 10:09:46 +01:00
Bram Kragten
04b23388b5 Bumped version to 20200311.0 2020-03-11 09:49:43 +01:00
Bram Kragten
7309a937e8 Bump home-assistant-js-websocket (#5127) 2020-03-11 09:38:21 +01:00
Ian Richardson
5dbcd1f726 ability to show attribute instead of state in picture-glance (#4958) 2020-03-11 09:01:00 +01:00
guillempages
3338459139 Allow state-label-element to show attributes (#4953)
* Allow state-label-element to show attributes

Add an additional (optional) parameter to the state-label element,
so that instead of showing the state, an attribute can be shown instead.

Can be used to e.g. add a climate entity to the floorplan,
but show the current temperature instead of the desired one.

* Improve style

Put the most frequent case as default in the ternary

* Remove unneeded variables

Use the _config.attribute directly instead of having a local temporary
Also remove superfluous checks for "!stateObj" (was already checked before)
2020-03-11 09:00:43 +01:00
Bram Kragten
35f17fc1d4 Add no data row when data table empty (#5113) 2020-03-11 08:42:52 +01:00
Zack Arnett
e062940639 Media Card: Fix Style Maps (#5120)
* Fix style map

* Comments
2020-03-11 08:42:34 +01:00
HomeAssistant Azure
ff4d5265c5 [ci skip] Translation update 2020-03-11 00:32:44 +00:00
Paulus Schoutsen
906f417436 Lazy load our elements once again (#5124) 2020-03-10 15:18:13 -07:00
Bram Kragten
1c75fe3bb8 Change marquee to css animations (#5119)
* Update hui-marquee.ts

* Change to css animation

* Comments

* tweaks

* Prevent page repaint on animation start/end
2020-03-10 17:39:16 -04:00
Bram Kragten
283e858576 Helpers: remove init values, change date/time mode picker, dont… (#5118) 2020-03-10 09:37:44 -07:00
HomeAssistant Azure
2b4ab6320b [ci skip] Translation update 2020-03-10 00:32:45 +00:00
Bram Kragten
2085260ce7 Fixes media card (#5115)
* Fixes media card

* Update hui-media-control-card.ts

* Change update of progress bar
2020-03-09 21:22:17 +01:00
Erik Montnemery
1f143176ad Use fallback for device name on device page (#5116)
* Use fallback for device name on device page

* Update ha-config-device-page.ts

* Lint
2020-03-09 21:09:27 +01:00
Bram Kragten
dd2163a837 Update media_player.family_room_2 2020-03-09 19:27:58 +01:00
Zack Arnett
0e1eca8a3e Media Card: Add Marquee to Title (#5095)
* Marquee Addition

* Review Comments

* instance var name change

* fix merge

* Comments plus merge fix
2020-03-09 09:43:53 -07:00
Bram Kragten
9da32880ec Fix update of cached datatables on connect (#5114) 2020-03-09 08:19:23 -07:00
Bram Kragten
15aee6a66a Fix alignment of generic entity row (#5112) 2020-03-09 13:55:30 +01:00
Zack Arnett
aba74f074a Fix input number from overflowing (#5099) 2020-03-09 13:55:14 +01:00
Bram Kragten
75860508de Recalc content height on lovelace change (#5110)
Fixes https://github.com/home-assistant/frontend/issues/5108
2020-03-09 13:20:26 +01:00
Aidan Timson
52160a367a 🔧 Standardize Generic Dialogs (#4726)
* 🔧 Use confirmation dialog in area deletion

* Swap automation confirmation dialogs

* Add to disable webhook

* Add to person deletion

* Add to zone deletion

* Add dialogs in raw editor

* Add/fix try catch

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-09 13:16:02 +01:00
Zack Arnett
5651a61604 Media Card: Adds Cursor: Pointer to Progress Bar (#5091) 2020-03-08 20:59:40 -07:00
Zack Arnett
959d8c3181 Media Card: Colors more integrated with Art (#5105) 2020-03-08 20:55:03 -07:00
Paulus Schoutsen
64ee7456dc Style unavailable/unknown cards (#5104)
* Style unavailable/unknown cards

* Hide default image if unavailable

* Style map

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-03-08 14:19:58 -07:00
Paulus Schoutsen
814fcf63a8 Fix cardHeight (#5102)
* Fix cardHeight

* Opacity instead of changing DOM

* Better fix

* Remove guard we don't need
2020-03-08 09:42:59 -07:00
Zack Arnett
b72d8cf7d7 Media Card: Fix Progress update (#5096) 2020-03-07 22:00:52 -08:00
Zack Arnett
8e7ef58715 Card Picker: Firefox Fix (#5098) 2020-03-07 21:59:25 -08:00
Paulus Schoutsen
56bfa01c56 Fix demo name 2020-03-07 21:53:40 -08:00
Paulus Schoutsen
4a0fc3e087 Rename demo 2020-03-07 21:51:48 -08:00
Paulus Schoutsen
f3c371996f Add media player card gallery (#5101) 2020-03-07 21:47:53 -08:00
Paulus Schoutsen
e5467181cb Fix vibrant type (#5100) 2020-03-08 00:46:51 -05:00
HomeAssistant Azure
0b3d2ea4ad [ci skip] Translation update 2020-03-08 00:32:36 +00:00
HomeAssistant Azure
9648aa3588 [ci skip] Translation update 2020-03-07 00:32:40 +00:00
HomeAssistant Azure
1b92cbbf74 [ci skip] Translation update 2020-03-06 13:41:27 +00:00
Bram Kragten
9979c046b3 Update azure-pipelines-translation.yml for Azure Pipelines 2020-03-06 14:38:19 +01:00
Bram Kragten
9ad121f9e6 Merge pull request #5089 from home-assistant/dev
20200306.0
2020-03-06 14:19:28 +01:00
Bram Kragten
a0900afba3 Bumped version to 20200306.0 2020-03-06 14:00:36 +01:00
Bram Kragten
1cb614c8a8 Forgot border height (#5088) 2020-03-06 13:46:11 +01:00
David F. Mulcahey
e63723f39e fix click handlers on data tables (#5087) 2020-03-06 13:45:12 +01:00
Bram Kragten
720bd03173 Add image to demo media player (#5086) 2020-03-06 13:44:59 +01:00
Bram Kragten
9e07cf67a5 Fix navigation after deleting a view and allow deleting view with cards (#5085)
* Fix navigation after deleting a view

* Allow deleting views with cards
2020-03-06 13:14:43 +01:00
Thomas Lovén
503dec7345 GUI editor for conditional card (#5051)
* GUI editor for conditional card

* Typing

* Fix typos. Remove quotes

* Add lovelace to card picker

* Address review comments
2020-03-06 12:58:41 +01:00
Bram Kragten
5a2649a65b Virtualize data tabel (#5066)
* WIP

* Fixes and implement further

* Give more space to table on mobile

* Remove unused deps

* Update ha-config-lovelace-dashboards.ts

* Add auto-height

* Console.bye

hihi

* lint
2020-03-06 12:58:13 +01:00
Tomasz
1599dc9e16 Set view visibility form UI (#4978)
* wip

* move logic to hui-view-visibility-editor.ts

* users will be always set

* extra filter to remove deleted users

* added better UI.
I had to add &nbsp; to ha-switch to avoid scrollbar

* fix for comments

* setting default visibility in a better way

* simplified logic, addressed comments
2020-03-06 12:36:34 +01:00
Zack Arnett
84dc8188c4 New Media Player - Cloned from Android Spotify Notification (#5044)
* Media Player Spotify Clone

* Ellipsis fix

* Style for theme update

* Height now determined by player height

* comments - Also includes Testing with images

* Pushing to resolve balloobs comments ;)

* Add Node Vibrant type

* Update Styles

* Comments

* Reviews

* Lint

* undo readme

* Reviews && Clean up

* Clear Interval

* Animation updates + comments

* small style tweak and comment

* Last little fix

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-03-05 21:33:38 -05:00
Paulus Schoutsen
74657ae815 Make cast backwards compatible (#5081)
* Make cast backwards compatible

* Update hc-main.ts

* Update home-assistant-js-websocket
2020-03-05 13:36:13 -08:00
Paulus Schoutsen
1a3b747d17 Style fixes to lovelace config dashboard (#5055)
* Style fixes to lovelace config dashboard

* Add standard panel and show which is default

* Update dialog-lovelace-dashboard-detail.ts

* Updated lovelace icon

* Comments and adapt to backend changes
2020-03-05 11:52:16 -08:00
Bram Kragten
802db71400 Fix secondary info in generic entity row (#5072) 2020-03-05 20:42:15 +01:00
Paulus Schoutsen
4f98524258 Optimise config entities panel + clarify not being able to dele… (#5079) 2020-03-05 09:09:29 -08:00
Bram Kragten
b17ea09b8b Improve chips (#5070)
Follow mdc specs
2020-03-05 12:59:32 +01:00
Bram Kragten
8abbc71e91 Only rebuild when current panel changed (#5071)
* Only rebuild when current panel changed

* Oops

* Update yarn.lock

* copy dep to repo

* Update deep-equal.ts

* Comments
2020-03-05 12:59:18 +01:00
Paulus Schoutsen
1db31fb0f7 Show entity reg editor for helpers when not editable (#5056) 2020-03-04 17:20:16 -08:00
Bram Kragten
e9b5725d7b Update default icon Lovelace sidebar. (#5069) 2020-03-05 00:19:41 +01:00
Bram Kragten
d3105b6846 Add rel=noopener (#5046) 2020-03-04 22:34:48 +01:00
Bram Kragten
196540afc7 Allow card editors to use card picker again (#5067) 2020-03-04 22:04:04 +01:00
Paulus Schoutsen
2b8b9f8311 Remove unused camera command (#5068) 2020-03-04 12:39:56 -08:00
redbar0n
b4f0fce600 Changed login text to be less misleading (#5054)
* Changed login text to be less misleading

See https://github.com/home-assistant/frontend/issues/5053

* Update according to suggestion for improvement

The new text should be more user-friendly.
2020-03-04 15:31:40 +01:00
Zack Arnett
c6f101a487 Add Descriptions for cards - Card Picker (#5058)
* Add Descriptions for cards - this is for card pick

* oops

* Comments from Frenck

* few card capitalizations found

* Comments

* Comments on glance
2020-03-03 17:05:24 -05:00
Paulus Schoutsen
54739c7ccd Support grouped system log messages (#5030)
* Support grouped system log messages

* Format source
2020-03-03 13:55:26 -08:00
Zack Arnett
aa2e632df3 Card Picker with Previews of cards (#4975)
* Card Picker with Previews of cards

* Getting Preview Async - Using dialogs entities

* Create generic getElement - filter entities before

* lint

* Add entities back to Picker. Set Qualifier

* Style Updates

* Move setup of filtered cards to connected

* style updates

* Dont pull entities if noEntity config

* Move all config logic to getConfig

* Style Update - Remove Manual process

* lint

* Accounting for ll-rebuild for async cards

* Style Updates - Use GetStubConfig for most

* Lint

* Filter entities with function - style - no preview

* Iframe rename and description

* Move getstubconfig to helper - update spinner

* Style for themes

* Move entities to be calc once

* Should update

* oops

* TSC

* Comments
2020-03-03 14:53:55 -05:00
Paulus Schoutsen
f3445d99cf Sort ungrouped entities (#5047)
* Sort ungrouped entities

* Console.bye
2020-03-03 17:36:39 +01:00
Bram Kragten
7e48b21767 Remove states-ui and allow setting (local) default lovelace panel (#5043)
* Remove states-ui and allow setting (local) default lovelace panel

* Remove from demo

* Delete ha-cards.js

* Add default for yaml defined dashboards

* Update ha-config-lovelace-dashboards.ts
2020-03-03 16:27:35 +01:00
Bram Kragten
1d1688093a Update config.yml 2020-03-03 11:10:57 +01:00
Bram Kragten
d392695ab7 Recreate translations when changed on dev (#5042) 2020-03-02 07:55:16 -08:00
HomeAssistant Azure
5066560411 [ci skip] Translation update 2020-03-02 12:54:26 +00:00
Bram Kragten
7fa6686e8c Update README.md 2020-03-02 13:40:45 +01:00
Paulus Schoutsen
d74fe6ed52 Update translation hashing (#5025)
* Update translation hashing

* Move gulp-rename
2020-03-02 11:36:00 +01:00
HomeAssistant Azure
319a3b4943 [ci skip] Translation update 2020-03-02 00:36:43 +00:00
HomeAssistant Azure
226e6e9f59 [ci skip] Translation update 2020-03-01 00:32:29 +00:00
Erik Montnemery
42f311a457 Update whitelist (#5026) 2020-02-29 14:09:14 +01:00
HomeAssistant Azure
e50ec2e2e2 [ci skip] Translation update 2020-02-29 00:32:31 +00:00
Bram Kragten
b72a3361c0 Fixes for brightness automation action (#5003)
* Fixes for brightness

* Add checbox before optional range integer

* Console

* Comments
2020-02-28 23:01:45 +01:00
Bram Kragten
7b057eaa77 Merge pull request #5024 from home-assistant/dev
20200228.0
2020-02-28 22:59:33 +01:00
Paulus Schoutsen
d7aaed05b7 Clean up generic row (#5022) 2020-02-28 13:35:42 -08:00
Bram Kragten
c5fe5565bb Merge branch 'master' into dev 2020-02-28 22:21:45 +01:00
Bram Kragten
a1a1763897 Bumped version to 20200228.0 2020-02-28 22:20:44 +01:00
Bram Kragten
724357683c Add take control for yaml mode (#4992) 2020-02-28 22:00:01 +01:00
Bram Kragten
0d6de9fe73 Fix for unavailable input-select (#4991)
* Fix for unavailable select

* Update hui-thermostat-card.ts
2020-02-28 21:59:14 +01:00
Bram Kragten
5646045e9e Add UI to create and manage Lovelace dashboards and resources (#5012)
* Add UI to create and manage Lovelace dashboards and resources

* update, comments, fixes

* Align icons with seach icon and checkboxes

* Fix

* Remove js and html resource types

* Allow it for existing ones
2020-02-28 21:58:50 +01:00
Bram Kragten
17c7a3bbac Bumped version to 20200220.5 2020-02-28 15:35:08 +01:00
Ian Richardson
8d65eb1fdf Fix state_color for button (#4995) 2020-02-28 15:35:04 +01:00
Ian Richardson
2298a55b16 Fix action handling for buttons row (#5007) 2020-02-28 15:34:45 +01:00
HomeAssistant Azure
33d65bcefc [ci skip] Translation update 2020-02-28 00:32:34 +00:00
Thomas Lovén
3cc7deda04 GUI editors for stacks (#4999)
* GUI editors for stacks

* fix type checking

* lint

* Address review comments

* Cleanup. Removing inline functions, combining others

* Give the class a more fitting name

* Final tweak

* Update stack cards

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-27 14:07:55 +01:00
Bram Kragten
e2de660bec Only cache default lovelace and handle config updates (#5000)
* Only cache default lovelace and handle config updates

* Update partial-panel-resolver.ts
2020-02-27 14:01:37 +01:00
Bram Kragten
6b1e5a525f Fix update if no lastversion and change audio pickers to default (#5010) 2020-02-27 11:44:09 +01:00
Ian Richardson
93565f0ed9 Fix action handling for buttons row (#5007) 2020-02-27 09:20:20 +01:00
HomeAssistant Azure
143d1162b6 [ci skip] Translation update 2020-02-27 00:32:30 +00:00
Ian Richardson
788d616fa2 Fix state_color for button (#4995) 2020-02-26 23:03:47 +01:00
Bram Kragten
0de9471a5d Revert "Static import all the LL cards etc" (#4989)
This reverts commit 52ded635ff.
2020-02-26 08:03:05 -08:00
Bram Kragten
b229071248 Add helper UI (#4940)
* Add helper UI

* Oops

* Update

* Update

* Update

* Lint

* Add all input forms

* Return extended entity registry entry from update

* Comments

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-26 12:53:03 +01:00
Bram Kragten
6d145730a5 Bumped version to 20200220.4 2020-02-26 09:42:10 +01:00
Paulus Schoutsen
f02bb67485 Static import all the LL cards etc (#4987) 2020-02-26 09:42:03 +01:00
Paulus Schoutsen
52ded635ff Static import all the LL cards etc (#4987) 2020-02-26 09:40:54 +01:00
HomeAssistant Azure
a6d73828b8 [ci skip] Translation update 2020-02-26 00:32:31 +00:00
Paulus Schoutsen
1d052fa5bb Add support for multiple Lovelace dashboards (#4967)
* Add support for multiple Lovelace dashboards

* Fix navigation, add to cast, revert resource loading

* Change resource logic

* Lint + cast fix

* Comments

* Fixes

* Console.bye

* Lint"

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-25 13:06:25 -08:00
Bram Kragten
38d758b52f Bumped version to 20200220.3 2020-02-25 21:56:52 +01:00
Bram Kragten
9162e9c318 Bumped version to 20200220.2 2020-02-25 21:55:36 +01:00
Bram Kragten
189ea00768 Fix for when the preview element was an error element (#4969)
* Fix for when the preview element was an error element

* Comments

* Update hui-dialog-edit-card.ts
2020-02-25 21:51:52 +01:00
Bram Kragten
25d6427aed Fix for when the preview element was an error element (#4969)
* Fix for when the preview element was an error element

* Comments

* Update hui-dialog-edit-card.ts
2020-02-25 21:51:07 +01:00
Franck Nijhof
8a61442cf2 Add dev demo builds GitHub Actions workflow (#4980) 2020-02-25 10:15:48 -08:00
Franck Nijhof
106d405699 Only trigger on PRs or pushes against the master and dev branch… (#4982) 2020-02-25 10:06:14 -08:00
Chris Talkington
1f23e9062f Fix typo in supervisor popup (#4966) 2020-02-24 20:45:08 -08:00
Franck Nijhof
231b498ea5 Remove Travis-CI (#4972) 2020-02-24 20:43:47 -08:00
HomeAssistant Azure
a256e5abfa [ci skip] Translation update 2020-02-25 00:33:05 +00:00
Ruslan Sayfutdinov
028b370ead [logbook] fix scrolling on iOS (#4950)
* [logbook] fix scrolling on iOS

* Update styling

* Update ha-logbook.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-24 13:50:22 +01:00
Sergey Avdeev
18abc6adf7 Update icon_color_css.ts (#4962) 2020-02-24 11:43:58 +01:00
Ruslan Sayfutdinov
95aa29d6ca Fix layout of history and logbook filters (#4963) 2020-02-24 11:38:05 +01:00
Paulus Schoutsen
5d2242dd16 Add a smarter default value for entity card show header toggle (#4964) 2020-02-24 11:29:40 +01:00
HomeAssistant Azure
de8bca6967 [ci skip] Translation update 2020-02-24 00:32:30 +00:00
HomeAssistant Azure
12234de20e [ci skip] Translation update 2020-02-23 00:32:34 +00:00
Tomasz
b41369a2ad Localize tabs names in view editor (#4954)
* Localize tabs

* remove Polish localization
2020-02-22 15:00:01 +01:00
HomeAssistant Azure
6e35c79c14 [ci skip] Translation update 2020-02-22 00:32:31 +00:00
Franck Nijhof
22e4c0512e Add GitHub Actions (#4952) 2020-02-21 13:59:09 +01:00
HomeAssistant Azure
3606b8077f [ci skip] Translation update 2020-02-21 00:34:40 +00:00
Paulus Schoutsen
3a90a65ba8 Merge pull request #4948 from home-assistant/dev
20200220.1
2020-02-20 14:49:22 -08:00
Paulus Schoutsen
e59987a8ed Bumped version to 20200220.1 2020-02-20 14:47:40 -08:00
Paulus Schoutsen
22d8ce0fd9 Fix creating card (#4947) 2020-02-20 14:47:28 -08:00
Zep Fietje
01eae3876b Make config list items appearance consistent for automations, scenes and scripts (#4945) 2020-02-20 21:10:40 +01:00
Paulus Schoutsen
2e43f390a4 Merge pull request #4942 from home-assistant/dev
20200220.0
2020-02-20 10:29:20 -08:00
Paulus Schoutsen
65421fa551 Bumped version to 20200220.0 2020-02-20 10:14:57 -08:00
Zack Arnett
fc88922ce3 Fix CPU and Browser Usuage (#4935) 2020-02-20 09:57:14 +01:00
Paulus Schoutsen
52609dded9 Add rebuild support to editor preview (#4932)
* Add rebuild support to editor preview

* getLovelaceCardClass function added

* Use error class

* Tiny cleanup

* Misplaced comment
2020-02-20 09:55:42 +01:00
HomeAssistant Azure
6d54496187 [ci skip] Translation update 2020-02-20 00:32:31 +00:00
Bram Kragten
2a6c38066d Merge pull request #4920 from home-assistant/dev
20200219.0
2020-02-19 10:49:19 +01:00
Bram Kragten
924c7804c9 Update hui-media-control-card.ts (#4919) 2020-02-19 10:44:42 +01:00
Bram Kragten
23f34fa7ae Bumped version to 20200219.0 2020-02-19 10:30:14 +01:00
Ian Richardson
7046cba1f7 Add buttons row (#4714)
*  Add buttons row

* refactor to composition

* Add action handler

* address review
2020-02-19 10:25:42 +01:00
Zack Arnett
4be1040a14 Convert History Graph Card to Typescript (#4882)
* Converting History Graph to Typescript

* Conversion to TS

* Reviews

* Review Updates
2020-02-19 10:20:37 +01:00
Zack Arnett
68baeb83cb Media Card Seek Functionality (#4907)
* Seek function

* Remove a testing section

* reviews
2020-02-19 10:19:57 +01:00
Zack Arnett
aa94e45582 Sensor Card - Top Margin 16px -> 8px (#4917) 2020-02-18 22:36:49 -08:00
Zack Arnett
2c58a9f802 Sensor Stroke Width Fix (#4916)
* Sensor width fix

* Const
2020-02-18 20:20:32 -08:00
HomeAssistant Azure
0a41a4f066 [ci skip] Translation update 2020-02-19 00:32:35 +00:00
Bram Kragten
e265d9581c Fix multiselect without data (#4906) 2020-02-18 22:17:52 +01:00
Paulus Schoutsen
4675579f79 Add safe mode support (#4908)
* Add safe mode support

* Lint

* Fix type in demo
2020-02-18 08:33:25 -08:00
Bram Kragten
52ae01ea74 Fix description and title of options flow (#4910) 2020-02-18 11:27:27 +01:00
HomeAssistant Azure
099430238c [ci skip] Translation update 2020-02-18 00:32:41 +00:00
Bram Kragten
af3626b215 Merge pull request #4850 from zsarnett/media-card-updates
Update Media Card to check for Supported Features
2020-02-17 21:16:06 +01:00
Bram Kragten
52ea3a5ce8 Merge pull request #4895 from scop/sort-available-events
Sort list of available events
2020-02-17 21:15:08 +01:00
Ville Skyttä
2ab2ade642 Import compare 2020-02-17 21:15:58 +02:00
Zack Arnett
1cc3936ec3 Typing functions 2020-02-17 13:36:21 -05:00
Paulus Schoutsen
322eef1c0f Add more info to system log (#4899)
* Add more info to system log

* Add util, oops

* Tweak UI
2020-02-17 10:20:24 -08:00
Zack Arnett
0964130782 rookie mistake 2020-02-17 12:09:17 -05:00
Zack Arnett
be9ec50e3a When no image occurs mark the image as undefined 2020-02-17 11:51:05 -05:00
Zack Arnett
da1dd45169 Update for playlist information if music isnt present 2020-02-17 11:31:27 -05:00
Zack Arnett
9a7f7f119d Review updates again because I am a fool 2020-02-17 10:28:13 -05:00
Bram Kragten
b1a414c840 Merge pull request #4903 from home-assistant/dev
20200217.0
2020-02-17 16:24:27 +01:00
Zack Arnett
2718ada9f9 Review updates 2020-02-17 10:01:01 -05:00
Bram Kragten
46a596ce34 Bumped version to 20200217.0 2020-02-17 15:58:06 +01:00
Bram Kragten
7036cefa72 Allow to change the location of home zone in zone editor (#4849)
* Allow to change the location of home zone in zone editor

* Update src/translations/en.json

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

* Comment + mobile to general config

* Remove dupe import

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-17 15:27:31 +01:00
Ian Richardson
fb7fbf2dac add state_color option to glance, button and state-icon (#4854)
* add state_color option to glance, button and state-icon

* address comments

* address comments
2020-02-17 15:26:45 +01:00
Bram Kragten
49b0c8d549 include entities not in entity registry in config entities (#4867)
* include entities not in entity registry in config entities

* Update ha-data-table.ts

* Comments

* Update ha-device-entities-card.ts

* Comments
2020-02-17 15:02:23 +01:00
Bram Kragten
8f9a6bd544 Add multi select component to ha-form (#4247)
* Add multi select component

* Apply suggestions from code review

Co-Authored-By: Ian Richardson <iantrich@gmail.com>

* Comments

* update

* Fix

* Refactor to dropdown menu

Co-authored-by: Ian Richardson <iantrich@gmail.com>
2020-02-17 14:13:09 +01:00
Ruslan Sayfutdinov
24e4b0b772 [sidebar] set max-width for item-text (#4893) 2020-02-16 20:23:25 -08:00
HomeAssistant Azure
1c86bd2f8b [ci skip] Translation update 2020-02-17 00:32:55 +00:00
Zack Arnett
363f548f13 fix error (#4885) 2020-02-16 15:19:28 -08:00
Ville Skyttä
51ce481e77 Sort list of available events 2020-02-16 23:32:47 +02:00
Zack Arnett
30e5611812 Stupid mistake 2020-02-16 12:15:56 -05:00
Zack Arnett
67706a312d Support for requesting the image from the server 2020-02-16 12:11:18 -05:00
Paulus Schoutsen
f4eb3380b4 Less whitespace around icon (#4888) 2020-02-15 22:39:03 -08:00
Paulus Schoutsen
73934afc7d Sensor card hugging (#4887) 2020-02-16 00:57:56 -05:00
Paulus Schoutsen
9d2a0c0502 Reduce size of floorplan pic Arsaboo (#4886) 2020-02-15 21:40:28 -08:00
HomeAssistant Azure
9ec75531a8 [ci skip] Translation update 2020-02-16 00:32:37 +00:00
HomeAssistant Azure
91bdb8f742 [ci skip] Translation update 2020-02-15 00:32:38 +00:00
Thomas Lovén
d8ae3439de Make sure config is always frozen. Not just on error (#4871) 2020-02-14 16:11:25 -08:00
Bram Kragten
2d018fff6c Update babel en disable ES5 builds on dev (#4876) 2020-02-14 16:09:21 -08:00
Bram Kragten
7d37dc6cde Bump vaadin elements (#4878) 2020-02-14 16:08:44 -08:00
Bram Kragten
c60033027d Update material elements (#4877)
* Update material elements

* Update ha-checkbox.ts
2020-02-14 16:08:30 -08:00
Ian Richardson
3f7c29a6f6 ♻️ change entity-button to button card (#4581)
* ♻️ change entity-button to button card

* maintain separate entity-button class
2020-02-14 10:56:08 +01:00
Paulus Schoutsen
b2243f480c Add option to lazy load cards (#4857)
* Add option to lazy load cards

* Lazy load header/footer elements

* Lazy load rows

* Clean up params

* Rename last var
2020-02-13 21:13:48 -08:00
Ian Richardson
f5384e8bc8 add create helper functions for custom cards (#4853)
* add create helper functions for custom cards

* address comments
2020-02-13 21:13:29 -08:00
Robbie Trencheny
ecc6fcf862 Hide HTML5 push notification toggle if inside external app (#4860)
* Hide HTML5 push notification toggle if external bus is engaged

* Use isExternal instead

* Hide the whole row

* Black

* Fix import

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-13 17:47:08 -08:00
HomeAssistant Azure
46cc2aec94 [ci skip] Translation update 2020-02-14 00:32:50 +00:00
Thomas Lovén
c62a5a6dcd Freeze lovelace configuration on load (#4862)
* Freeze lovelace configuration on load

* Clone only when necessary

* Make cloning badges really work

* Freeze after checking

* Don't doublefreeze
2020-02-13 16:18:15 -08:00
Zack Arnett
f6b10232ec Disabled Style Updates 2020-02-13 16:35:16 -05:00
Zack Arnett
87559c0938 Review Updates 2020-02-13 16:30:34 -05:00
Bram Kragten
7903541689 Add toolbars and mobile headers + layout tweaks (#4803)
* Add toolbars and mobile headers + layout tweaks

* Comments
2020-02-13 19:53:48 +01:00
Bram Kragten
c93e1b0123 Add more info for Person (#4848)
* Add more info for Person

* Update src/dialogs/more-info/controls/more-info-vacuum.ts

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-13 09:06:52 -08:00
Bram Kragten
e261fafdb3 Allow enabling/disabling automation from edit screen (#4846)
* Allow enabling/disabling automation from edit screen

* Comments
2020-02-13 09:06:14 -08:00
Bram Kragten
485e2fde25 Update hui-thermostat-card.ts (#4863) 2020-02-13 08:41:51 -08:00
Bram Kragten
6feaf64c90 Fix display of arrays/objects in attributes (#4836)
* Fix display of arrays/objects in attributes

* async import js-yaml
2020-02-13 08:22:41 -08:00
Bram Kragten
6b115bf06a Merge pull request #4859 from home-assistant/frenck-2020-0188
Spelling: Config(uration)
2020-02-13 10:29:46 +01:00
Bram Kragten
f45785fafe Change defaults of automations to device (#4843)
* Change defaults of automations to device

* Script too

* Update device_automation.ts

* Update device_automation.ts
2020-02-12 20:43:44 -08:00
Ruslan Sayfutdinov
ec046bc925 [history] fix dropdown animation (#4858) 2020-02-12 20:36:29 -08:00
HomeAssistant Azure
ab5733718b [ci skip] Translation update 2020-02-13 00:33:01 +00:00
Franck Nijhof
1077fb2945 Spelling: Config(uration) 2020-02-13 00:30:41 +01:00
Bram Kragten
b7a84cdd60 Merge pull request #4856 from home-assistant/dev
20200212.0
2020-02-12 22:41:36 +01:00
Bram Kragten
78102f5882 Merge branch 'master' into dev 2020-02-12 22:21:32 +01:00
Bram Kragten
4ea11bd928 Bumped version to 20200212.0 2020-02-12 22:18:01 +01:00
Bram Kragten
785aefa028 Bumped version to 20200130.3 2020-02-12 21:58:59 +01:00
Bram Kragten
5c2004bcc1 Bumped version to 20200130.2 2020-02-12 21:56:03 +01:00
Bram Kragten
156d944ca1 Fix translations for update button config entry system options (#4837) 2020-02-12 21:55:53 +01:00
Bram Kragten
97a6354a72 Fix tap firing twice on iOS (#4841) 2020-02-12 21:55:28 +01:00
Bram Kragten
49422c3f63 Fix translations for update button config entry system options (#4837) 2020-02-12 13:49:20 +01:00
Bram Kragten
0b8700f725 Hide zone edit button for non admins (#4840) 2020-02-12 13:48:51 +01:00
Bram Kragten
c5aa000a97 Check for null target_temp (#4842)
Fixes #4359
2020-02-12 13:48:27 +01:00
Bram Kragten
4cdc4765f7 Fix tap firing twice on iOS (#4841) 2020-02-12 13:47:56 +01:00
Ruslan Sayfutdinov
a95290235d [logbook] fix margins for RTL languages (#4852) 2020-02-11 17:29:35 -08:00
HomeAssistant Azure
fb9d7ac2d8 [ci skip] Translation update 2020-02-12 00:32:46 +00:00
Ruslan Sayfutdinov
d48a4e0ac6 [logbook] implement shouldUpdate (#4832)
* [logbook] implement shouldUpdate

* Update src/panels/logbook/ha-logbook.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-11 15:26:28 -08:00
Zack Arnett
d33e035db7 Update Media Card to check for supported features 2020-02-11 13:11:25 -05:00
Bram Kragten
1437b4c4b6 Fix media control card styling (#4845) 2020-02-11 09:43:46 -05:00
Robert Resch
9fce60065b Add lozalization to more-info-vacuum (#4793)
* Convert more-info-vacuum to Lit

* Introduce VacuumCommand to reduce render complexity and duplicate code

* Add localization for more-info-vacuum

* Inline supportFeature instead of creating a const.

* - Use interface instead of class for VacuumCommand
- Add different translation for start_pause and pause as they are not the same

* fix typo

* Use VACUUM_COMMANDS.some instead of writing duplicate code

* add @bramkragten suggestions
2020-02-11 09:15:38 +01:00
Paulus Schoutsen
d052b9ede8 Update en.json (#4835) 2020-02-11 09:05:18 +01:00
Ruslan Sayfutdinov
8cee5c729e [logbook] fix period dropdown animation (#4834) 2020-02-10 20:50:12 -08:00
HomeAssistant Azure
88bdf7c7ec [ci skip] Translation update 2020-02-11 00:32:36 +00:00
Bram Kragten
2c006e99f2 Use original id to remove entity (#4829) 2020-02-10 15:17:29 -08:00
Erik Montnemery
e7e8dff0ec Graceful fallback if translations for device automations are missing (#4824)
* Graceful fallback if translations for device automations are missing

* Update src/data/device_automation.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/data/device_automation.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/data/device_automation.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* tweak

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-10 20:17:24 +01:00
Ian Richardson
981c798e22 💄 match alarm panel icon coloring to card's (#4825) 2020-02-10 08:43:38 -08:00
Ruslan Sayfutdinov
4613d8b1f6 [logbook] configure flex container to display entries correctly on mobile devices (#4810) 2020-02-10 10:11:28 +01:00
Paulus Schoutsen
ba4e1949c4 Theme update refetch themes (#4812) 2020-02-10 10:10:39 +01:00
Iulian Onofrei
cc6686a790 Fix typo (#4779) 2020-02-10 10:03:42 +01:00
Nicholas Amadori
f791412f73 Spelling (#4806)
"Gerenal" corrected to "General"
2020-02-10 10:03:19 +01:00
HomeAssistant Azure
0c8ac17dcb [ci skip] Translation update 2020-02-10 00:32:29 +00:00
HomeAssistant Azure
9e11fe868e [ci skip] Translation update 2020-02-09 00:32:35 +00:00
Bram Kragten
7d91515bf5 Style tweaks (#4766)
* Style tweaks

* Update ha-style.ts

* Move derived styles
2020-02-08 14:49:29 -08:00
HomeAssistant Azure
e0565c35ab [ci skip] Translation update 2020-02-08 00:32:33 +00:00
Paulus Schoutsen
e5387e5806 Fall back to use handler if translations broken (#4777) 2020-02-07 18:46:16 +01:00
Paulus Schoutsen
8a4c52aeb7 Filter battery sensors from generated UI (#4799)
* Filter battery sensors from generated UI

* Use fancy TypeScript feature
2020-02-07 18:32:37 +01:00
Paulus Schoutsen
15e7b8117c Add integrations to dev info page (#4800)
* Add integrations to dev info page

* Fix annoying looking html tags

* What happened here
2020-02-07 18:30:38 +01:00
HomeAssistant Azure
d1703ba3e8 [ci skip] Translation update 2020-02-07 00:32:35 +00:00
Ruslan Sayfutdinov
c977f22047 Show seconds in the UI (#4765) 2020-02-06 10:38:38 -08:00
Zack Arnett
2e47aa1905 Update Edit Footer for Cards (#4752)
* Update CSS

* Radius Updates

* Updating to be a ha-card element
2020-02-05 23:05:49 -08:00
HomeAssistant Azure
c72105dca3 [ci skip] Translation update 2020-02-06 00:32:31 +00:00
Bram Kragten
e01f1cfcac More info scroll fix (#4774)
* Fix more info dialog scrolling

* Update ha-more-info-dialog.js
2020-02-05 14:03:16 -08:00
Zack Arnett
2e4c73c087 Convert Media Control Card to Typescript (#4761)
* Delete old JS file. Add new TS file. Add Type

* Updates

* Reviews

* Review Updates :)

* Updating State Localize

* Clean up

* Fixing Travis
2020-02-05 09:28:29 -08:00
Bram Kragten
c7f7ef28bf Fixes removing audio device (#4763)
(only the supervisor doesn't support it)
2020-02-05 09:21:43 -08:00
Michael Irigoyen
aac7dbab58 Update Material Design Icons to v4.9.95 (#4764) 2020-02-05 17:34:10 +01:00
Bram Kragten
8518f774d4 Rename hass.io panel to supervisor 2020-02-05 10:00:19 +01:00
HomeAssistant Azure
cb0d91d124 [ci skip] Translation update 2020-02-05 00:32:34 +00:00
Zack Arnett
107f428dd3 Sensor Card Fill feature (#4745) 2020-02-04 16:11:13 -08:00
Bram Kragten
7758ddba56 Fix theming with derived styles (#4758)
* Fix theming with derived styles

* Move
2020-02-04 15:40:35 -08:00
Paulus Schoutsen
e0376c803f Fix hassio audio 2020-02-04 10:28:43 -08:00
Paulus Schoutsen
788c490bbc Update update headers in hassio (#4751)
* Update update headers in hassio

* Other tabs too
2020-02-04 18:36:10 +01:00
Ian Richardson
cdf6e9eb75 🐛 properly format timestamps in glance card (#4602)
* 🐛 properly format timestamps in glance card

* address review comments
2020-02-04 16:18:42 +01:00
Bram Kragten
4aa49f66bc Remove unused classmap 2020-02-04 15:55:29 +01:00
Bram Kragten
50d0671abe Bumped version to 20200130.1 2020-02-04 15:38:03 +01:00
Bram Kragten
e176357fbf Tweak badge focus padding (#4750) 2020-02-04 15:34:20 +01:00
David F. Mulcahey
de1b127ac2 fix loading groups (#4727) 2020-02-04 15:33:50 +01:00
Bram Kragten
1dad7c81da Fix passive color radius and fix switch label clicks (#4703) 2020-02-04 15:33:01 +01:00
Bram Kragten
e980e93969 Change map settings icon (#4701)
* Change map settings icon

Closes #4694

* hide for demo
2020-02-04 15:28:59 +01:00
Ian Richardson
57fc56f836 🐛 fix tabindex for default entity more-info actions (#4697)
* 🐛 fix tabindex for default entity more-info actions

* Update hui-state-label-badge.ts
2020-02-04 15:28:33 +01:00
Bram Kragten
05113e1809 Styling zone menu (#4684)
* Styling zone menu

* Update ha-device-entities-card.ts
2020-02-04 15:28:10 +01:00
Bram Kragten
1bf82f216a Tweak badge focus padding (#4750) 2020-02-04 15:15:15 +01:00
Bram Kragten
004ff58c21 Update hassio-style.ts 2020-02-04 13:34:14 +01:00
Joakim Sørensen
f1a1654371 Use icon image where available (#4721)
* Use iconimg where available

* Adjust margin for icon

* remove log

* Fix property casing

* Add blue topbar, and generalize properties

* Inline checks

* inline property functions

* Limit compute

* Linting

* lovercase const

* Review comments and move update dot to line

* Add roboto font to hassio

* Fix update and stopped styles colliding

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-04 12:36:09 +01:00
Bram Kragten
862044ca23 Hassio styling tweaks (#4749)
* Hassio styling tweaks

* Update hassio-style.ts

* Update hassio-pages-with-tabs.ts
2020-02-04 10:54:10 +01:00
Paulus Schoutsen
c54b474838 Hide automations from generated UI (#4748) 2020-02-04 09:27:26 +01:00
Bram Kragten
42cbe863bb Fix passive color radius and fix switch label clicks (#4703)
* Fix passive color radius and fix switch label clicks

* Colors vars
2020-02-03 22:32:22 -08:00
HomeAssistant Azure
ccc42dad79 [ci skip] Translation update 2020-02-04 00:33:02 +00:00
Paulus Schoutsen
82ff444cec Confirm when resetting hassio optoins (#4718) 2020-02-03 08:53:57 -08:00
Paulus Schoutsen
24c591fbf3 Convert Hass.io add-on options to YAML (#4717)
* Convert Hass.io options to YAML

* Fix yaml editors on other places

* Update ha-automation-action-service.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-03 11:06:47 +01:00
Joakim Sørensen
ad676d7fd3 Fix theme on sensor card (#4724) 2020-02-03 09:30:20 +01:00
David F. Mulcahey
cbe4782d78 fix loading groups (#4727) 2020-02-03 09:29:13 +01:00
HomeAssistant Azure
3fdcc1c0ea [ci skip] Translation update 2020-02-03 00:32:48 +00:00
HomeAssistant Azure
f9d64e51c4 [ci skip] Translation update 2020-02-02 00:32:38 +00:00
Paulus Schoutsen
b082828a75 Forward haptic events to parent window (#4719) 2020-02-01 08:11:57 -08:00
Paulus Schoutsen
25f5bf0042 Fix ingress add-on not started dialog showing twice (#4716)
* Fix ingress add-on not started dialog showing twice

* logging not allowed
2020-02-01 08:11:30 -08:00
Bram Kragten
f5dec3c6d5 Change map settings icon (#4701)
* Change map settings icon

Closes #4694

* hide for demo
2020-02-01 00:26:22 -08:00
Joakim Sørensen
3215437bb8 Fixes add-on audio selector (#4648)
* Fixes addon audio selector

* Set device as property

* Use getAttribute

* Keep device as attribute

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-31 23:03:30 -08:00
HomeAssistant Azure
33176d8f3d [ci skip] Translation update 2020-02-01 00:32:28 +00:00
Ian Richardson
f82b62f45c 🐛 fix tabindex for default entity more-info actions (#4697)
* 🐛 fix tabindex for default entity more-info actions

* Update hui-state-label-badge.ts
2020-01-31 17:19:08 +01:00
Bram Kragten
edfdd0da89 Styling zone menu (#4684)
* Styling zone menu

* Update ha-device-entities-card.ts
2020-01-31 12:14:21 +01:00
HomeAssistant Azure
33d9bf4660 [ci skip] Translation update 2020-01-31 00:32:34 +00:00
Bram Kragten
1479ce9d56 Merge pull request #4672 from home-assistant/dev
20200130.0
2020-01-30 17:37:25 +01:00
Bram Kragten
1912bda60d Fix flex issues on google and alexa settings page (#4674) 2020-01-30 17:18:27 +01:00
Bram Kragten
2e25db4d1b Merge pull request #4673 from home-assistant/fix-tooltip
Fix tooltip in sidemenu
2020-01-30 17:18:02 +01:00
Bram Kragten
ec08b2ef65 Update ha-sidebar.ts 2020-01-30 16:39:09 +01:00
Bram Kragten
2c740cedb8 Fix tooltip sidemenu 2020-01-30 16:38:42 +01:00
Bram Kragten
e3984d7bf9 Bumped version to 20200130.0 2020-01-30 15:51:24 +01:00
Bram Kragten
2f86b6ec3d Merge pull request #4671 from home-assistant/device-page-fixes
Device info page fixes
2020-01-30 14:51:40 +01:00
Bram Kragten
d10045eac1 Remove log 2020-01-30 14:34:53 +01:00
Bram Kragten
41da68290e Merge pull request #4668 from home-assistant/zone-fixes
Zone ui fixes
2020-01-30 14:04:36 +01:00
Bram Kragten
593a2de07b Device info page fixes
Fixes #4666
Fixes #4664
Fixes #4663
Fixes #4662
2020-01-30 14:03:45 +01:00
Bram Kragten
59540bdf63 Merge pull request #4667 from home-assistant/restore-back-buttons
Restore back buttons
2020-01-30 11:56:29 +01:00
Bram Kragten
616df070a4 Zone ui fixes
fixes #4659
fixes #4658
fixes #4661
fixes #4665
fixes #4660
fixes #4655
2020-01-30 11:54:49 +01:00
Bram Kragten
ef62f1956b Restore back buttons
fixes #4654
fixes #4653
fixes #4656
2020-01-30 11:22:50 +01:00
HomeAssistant Azure
b41f25ef12 [ci skip] Translation update 2020-01-30 00:32:32 +00:00
Bram Kragten
ce8caa34f5 Merge pull request #4649 from home-assistant/dev
20200129.0
2020-01-29 19:48:36 +01:00
Bram Kragten
3ed538276e Merge branch 'master' into dev 2020-01-29 19:33:36 +01:00
Bram Kragten
c1a29e8091 Bumped version to 20200129.0 2020-01-29 19:28:09 +01:00
Bram Kragten
4e8bf434f1 Add settings button to map panel (#4641) 2020-01-29 19:04:12 +01:00
Bram Kragten
dd8c568a2c Fix action directive double tab iOS issues (#4639) 2020-01-29 19:03:43 +01:00
Bram Kragten
7ab9257f5e Fix translation advanced mode (#4647) 2020-01-29 19:01:35 +01:00
Bram Kragten
7021fd5809 Make dialogs full width on mobile, and modal (#4642)
* Make dialogs full width on mobile, and modal

* Fix dialog to bottom screen mobile
2020-01-29 08:59:37 -08:00
Bram Kragten
adec2fc2df Only update disabled for entity reg if it is a user value. (#4646) 2020-01-29 08:51:29 -08:00
Bram Kragten
27ebcc1bda Remove balloob from cast page (#4645) 2020-01-29 17:09:56 +01:00
HomeAssistant Azure
2fb7a31c76 [ci skip] Translation update 2020-01-29 00:32:22 +00:00
Bram Kragten
65994e7280 Add related items to device info (#4637)
* Add related items to device info

* Update ha-config-device-page.ts

* remove log

* Lint

* Fix dialog logic showing triggers on script dialog

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-28 15:13:44 -08:00
Joakim Sørensen
036eedc69d Add styles to addon-header (#4632)
* Add styles to addon-header

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-28 14:37:53 -08:00
Joakim Sørensen
7937714ce6 Fixes add-on install button (#4635)
* Fixes add-on install button

* Set the default

* linting issue
2020-01-28 14:37:42 -08:00
Bram Kragten
cdbd51f6f7 Update hass-tabs-subpage.ts 2020-01-28 22:44:21 +01:00
Bram Kragten
d5a8105718 Update ha-config-areas.ts 2020-01-28 22:40:57 +01:00
Bram Kragten
1c9eab7ca0 Change config navigation to tabs (#4630)
* Change config navigation to tabs

* Update ha-menu-button.ts

* Icons

* update

* Review comments

* configSections -> object instead of array
2020-01-28 21:48:21 +01:00
Joakim Sørensen
6e624b394b Corrects add-on link (#4634)
* Fixes the addon url

* quote it

* Don't link the extra space

* puerly for testing

* Don't link the extra space
2020-01-28 11:39:42 -08:00
Joakim Sørensen
1cb10694e7 Fixes status switch spacing (#4633)
* fix switch spacing

* Fix alignment
2020-01-28 11:37:33 -08:00
HomeAssistant Azure
d496b9742f [ci skip] Translation update 2020-01-28 00:32:38 +00:00
Paulus Schoutsen
72e5375795 Fix hassio build 2020-01-27 11:57:28 -08:00
Bram Kragten
04f8f0f74f Render should always return a html template (#4612) 2020-01-27 08:34:22 -08:00
Paulus Schoutsen
82fb622904 Add buttons header-footer (#4601)
* Add buttons header-footer

* Simplify

* Update src/panels/lovelace/header-footer/hui-buttons-header-footer.ts

Co-Authored-By: Ian Richardson <iantrich@gmail.com>

* Address comments

Co-authored-by: Ian Richardson <iantrich@gmail.com>
2020-01-27 09:34:08 +01:00
HomeAssistant Azure
95ba1fd0cb [ci skip] Translation update 2020-01-27 00:32:22 +00:00
Bram Kragten
c7b3a517e8 Add area picker (#4608)
* Add area picker

* Make config flow dialog wider

* Comment
2020-01-26 21:41:11 +01:00
Joakim Sørensen
523dc881bb Convert Hass.io panel to TS/Lit (#4398)
* Convert system

* Convert dashboard

* Remove logging statement

* Convert addon view (base) and log

* Convert addon-view info

* Remove unintended file in commit

* Convert ansi-to-html

* Fix log update reloading

* Convert addon-view config

* Convert addon-view network

* Add inn missing haStyle

* Convert addon-view audio

* convert dialog-hassio-markdown

* Convert dialog-hassio-snapshot

* Convert entrypoint

* Convert hassio-style

* Lint hassio-addon-audio

* Lint hassio-addon-audio

* Lint hassio-addon-config

* Remove file that should not have been comitted

* Linting of the rest

* Cleanup

* Cleanup config

* Required changes after rebase

* Change property/method clasification

* use ? for _inputDevices and _outputDevices

* Use undefined instead of null for addon property

* Use ? for addons property

* Async addon audio

* Corrects typo in Error

* Wrap async calls in try/catch

* Remove npm task

* Fix async constant/functions

* Reintroduce noDevice

* We don't use the data of the POST no need to store and pass it

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update hassio/src/addon-view/hassio-addon-config.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update hassio/src/addon-view/hassio-addon-audio.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-audio.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Apply review comments

* Simplify selected item change

* Change back to attr

* Apply lessons learned to addon-config

* Send event on config change

* Extract error msg

* Apply lessons learned to addon-info

* Apply lessons learned to addon-logs

* Fix shorthand linting issue

* Prefix private with _

* reset error

* Apply lessons learned to addon-network

* Revert package.json change

* Apply lessons learned to addon-view

* Fixes Unnecessary 'await' issue

* rename content -> addoninfo

* Update hassio/src/addon-view/hassio-addon-config.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-config.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-config.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-network.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-logs.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Fix syntax issues

* Fix error handling issues

* Use forEach and not map

* Use private for _error

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update hassio/src/addon-view/hassio-addon-info.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Use classMap

* remove unneded limitations

* it can be null

* Update hassio/src/system/hassio-supervisor-log.ts

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* split hassio.ts

* Update datahandling

* Return result

* Use map instead of forEach

* Unnecessary 'await'.

* Move setSupervisorOption to data/hassio/supervisor

* Unnecessary 'await'

* Move fetchSupervisorLogs to data/hassio/supervisor

* Move fetchHassioHardwareInfo to data/hassio/hardware

* change error property

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-26 20:37:20 +01:00
HomeAssistant Azure
1123adc584 [ci skip] Translation update 2020-01-26 00:32:39 +00:00
Timmo
15be1688ad Merge Confirmation Dialogs into Alert, Confirmation or Prompt (#4114)
*  Add alert dialog

🔨 Add alert dialogs

🔨 add more

🔨 Add more

🔨 Enhance check

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

🔥 Combine confirmation into alert dialog

🔨 Replace confirmation calls with alert dialog

✏️ Remove 3

🔨 Add prompt logic

Rename to generic

Rename and add new params for alert, confirmation and prompt

Renames and prop changes

Rename and props

Cleanup

Setup prompt

Wording

Use text for prompt

Add prompts and confirmation on delete user

Rename

Rename

Rename imports

Fix parms change

Only use default for confirmation

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Update src/dialogs/generic/dialog-box.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Update

change text

Add autofocus

Merge show dialogs into one generic

Add automation delete confirmation

Modal

Remove deleted file

Add delete donfirm to script

Fix error with tslint

Fix from rebase

Fix from rebase

Fix from rebase

* 🔧 Split dialog functions

* 🔧 Fix from rebase

* 🔧 More fixes

* 🔧 Fix

* 🔧 Apply suggestions from code review

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* 🔧 Update from suggestion

* 🔧 Renames and cleanup

* 🔧 Camelcase

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* 🔧 camel case

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-25 17:48:29 +01:00
Bram Kragten
0c0e82a3ba Move get dialog logic entity registry (#4579) 2020-01-25 14:49:36 +01:00
Paulus Schoutsen
8abe8d7615 Automatically strip area name from entities (#4597) 2020-01-25 14:43:11 +01:00
Paulus Schoutsen
f95ba4c04c Allow options flow to define form title/description (#4598)
* Allow options flow to define their own title

* Allow description too
2020-01-25 14:38:58 +01:00
Ian Richardson
6874788cc0 🐛 fix severity toggle in gauge card editor (#4600) 2020-01-25 14:35:48 +01:00
David F. Mulcahey
f77bd79387 fix user given name display (#4606) 2020-01-25 14:34:15 +01:00
Ian Richardson
67a91b7c19 💄 color lights unless explicitly set not to (#4603) 2020-01-24 22:21:31 -08:00
HomeAssistant Azure
30211fe61d [ci skip] Translation update 2020-01-25 00:32:57 +00:00
Bram Kragten
9de80b2947 Fix menu button for touch (#4589)
* Fix menu button for touch

* Missed 2
2020-01-24 23:21:41 +01:00
Bram Kragten
b7a3fe6e91 Improve zones UI (#4576)
* Improve zones UI

* Make home blue

* Only fit after edit in dialog

* Filter states from UI edtor

* Comments

* bring editable circle to front

* Update ha-config-zone.ts

* Update ha-config-zone.ts

* Hide side navigation for zones

* Fix initial ignore fit, fix click on switch label, space dialog buttons
2020-01-24 23:21:26 +01:00
Ian Richardson
1f38d13b3b add action_name option for scene/script rows (#4571)
*  add action_name option for scene/script rows

* address review comments
2020-01-24 23:01:01 +01:00
Ian Richardson
ef6e468a7f 💄 align light card regardless of brightness support (#4582)
* 💄 align light card regardless of brightness support

* merge css properties
2020-01-24 22:12:54 +01:00
Ian Richardson
729a5e385f 🐛 don't remove key when value is empty (#4583)
* 🐛 don't remove key when value is empty

* only restrict delete to required field
2020-01-24 22:12:14 +01:00
Bram Kragten
32fd7a51f4 Fix entity registry dialog translations (#4575)
Fixes #4567
2020-01-24 10:09:40 -08:00
Ian Richardson
f3f32c800e 💄 move advanced mode toggle (#4587) 2020-01-24 09:50:20 -08:00
Bram Kragten
1f44b4b5a9 Fit map if an entity moved (#4590) 2020-01-24 15:12:21 +01:00
Bram Kragten
971538e9c2 Fix alarm card editor (#4592) 2020-01-24 15:11:57 +01:00
Bram Kragten
db9924bd87 Fix Mobile Entity Registry Delete Button (#4591) 2020-01-24 13:59:43 +01:00
Ian Richardson
74c6b9077a add conditional row (#4569)
*  add conditional row

* fix types

* address comments
2020-01-24 09:59:36 +01:00
Ian Richardson
23865c31e6 🐛 fix editor switches (#4584) 2020-01-24 09:32:56 +01:00
Ian Richardson
8641a701cb revert fix for card editor overflow menu selection (#4585) 2020-01-24 09:32:14 +01:00
HomeAssistant Azure
3ca99e5c90 [ci skip] Translation update 2020-01-24 00:32:23 +00:00
Ian Richardson
753804f463 💄 additional active icon states (#4510)
* 💄 additional active icon states

* ♻️ sort by domain

* 👌 address review comments

* state_color option for entities card

* fix typo

* 👌 address comments

extract common css
properly set boolean attributes
separate error states/color
fix unavailable color

* only make copy if necessary

* remove paused timer

* remove paused timer
2020-01-23 09:01:18 -08:00
Ian Richardson
9aedeab4fa close card editor on ESC (#4570) 2020-01-23 14:43:09 +01:00
HomeAssistant Azure
fc4e3e90b2 [ci skip] Translation update 2020-01-23 00:32:51 +00:00
Bram Kragten
ae8a9940ed Add state and related to entity reg dialog (#4473)
* Add state and related to entity reg dialog

* Replace more-info-settings, remove state tab add state button
2020-01-22 15:03:47 -08:00
Pascal Vizeli
a544295167 Add netlify pipeline (#4563)
* Add netlify pipeline

* Address comments
2020-01-22 14:42:32 -08:00
Ian Richardson
8a9e149d33 ♻️ convert more-info-script to LitElement/TypeScript (#4545)
* ♻️ convert more-info-script to Lit/TypeScript

* ♻️ convert more-info-script to LitElement/TypeScript

* 👌 use relative time
2020-01-22 22:01:02 +01:00
Bram Kragten
49611e285f Add zones config UI (#4556)
* Add zones config UI

* Update en.json

* Update dialog-zone-detail.ts

* Update hc-cast.ts

* Update more-info-content.ts

* Add drag radius and icon to dialog

* Review comments
2020-01-22 11:29:51 -08:00
Franck Nijhof
def0c51669 Update issue and PR templates (#4553)
* Update issue and PR templates

* Small Tweak
2020-01-22 09:33:18 -08:00
Ian Richardson
572215b359 🔥 remove more-info-updater (#4544)
* 🔥 remove more-info-updater

* remove reference
2020-01-22 09:30:12 -08:00
Bram Kragten
0f8cf574d3 Use state icon in logbook instead of domain icon (#4558)
Fixes https://github.com/home-assistant/home-assistant-polymer/issues/2313
2020-01-22 09:17:49 -08:00
Bram Kragten
312f1df368 Fix string type in ha-form-string (#4559) 2020-01-22 15:28:54 +01:00
Bram Kragten
5bfacb3bf0 Fix lovelace reload button on error page (#4557)
Fixes https://github.com/home-assistant/home-assistant-polymer/issues/3107
2020-01-22 15:03:51 +01:00
HomeAssistant Azure
2103866c48 [ci skip] Translation update 2020-01-22 00:32:29 +00:00
Franck Nijhof
61cf1bf1eb Add stalebot (#4551) 2020-01-21 16:51:10 +01:00
David F. Mulcahey
9c407caf2c Hide blank manufacturer names on Device details page (#4543)
* don't show "by" when there is no manufacturer

* Update src/panels/config/devices/device-detail/ha-device-card.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-21 16:26:32 +01:00
Bram Kragten
323cf72be3 Fix #4539 (#4550) 2020-01-21 16:25:58 +01:00
Marius
eeced628b3 add never_triggered (#4442)
* add never_triggered

Add never_triggered to the last-triggered secondary_info.
as it stands, the secondary_info line is empty when used on an automation or script that hasn't been triggered yet, while the user expects info on that line.

* add "never_triggered"

for automation and script, to use in secondary_info
add last_triggered on script, because it was missing

* delete spaces

* add 2 spaces

travis check

* travis check row 116

* add never_triggered

to entities, delete incorrect entries to automation and script

* Update src/translations/en.json

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/lovelace/components/hui-generic-entity-row.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/lovelace/components/hui-generic-entity-row.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update en.json

* Update hui-generic-entity-row.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Ian Richardson <iantrich@gmail.com>
2020-01-21 08:21:32 -06:00
David F. Mulcahey
38be488f86 Update ZHA config panel to handle the addition of ZHA devices for the Zigbee coordinator (#4541)
* only show when there are entities

* handle coordinator correctly
2020-01-21 10:35:31 +01:00
Ian Richardson
83756a338a ♻️ convert more-info-automation to LitElement/TypeScript (#4547) 2020-01-21 10:31:22 +01:00
Ian Richardson
b9415cb5f0 ♻️ convert more-info-default to LitElement/TypeScript (#4546) 2020-01-21 10:29:38 +01:00
HomeAssistant Azure
fd49e26120 [ci skip] Translation update 2020-01-21 00:32:30 +00:00
Bram Kragten
3474e92eb7 Fix alignment entities card header toggle (#4532) 2020-01-20 21:05:05 +01:00
Bram Kragten
913299998c Fix missing text device entities (#4531) 2020-01-20 21:04:47 +01:00
Paulus Schoutsen
d9e522e4d7 Add header/footer support to entities card (#4496)
* Add header/footer support to entities card

Oops debug radius

Revert change to hui-picture-card

Remove unused import

* Use new createElement helper
2020-01-20 18:13:19 +01:00
David F. Mulcahey
22c8e4a455 Add the "add all device entities to Lovelace" functionality to ZHA device card (#4521)
* fix race condition

* add all entities
2020-01-20 14:22:48 +01:00
Franck Nijhof
02fe5144d8 Remove obsolete homebridge_* attributes (#4533) 2020-01-20 14:17:57 +01:00
David F. Mulcahey
9d333fb557 use logical device type (#4524) 2020-01-20 12:14:47 +01:00
David F. Mulcahey
ef2ca4a07f Clean up display of ZHA device page (#4522)
* remove margins

* adjust help icon and max width
2020-01-20 12:13:47 +01:00
Ian Richardson
f74ee76ae2 📝 clarify what conditions in automations are (#4514)
* 📝 clarify what conditions in automations are

* 📝 reword to make short and sweet
2020-01-19 17:07:58 -08:00
HomeAssistant Azure
6fb9a7636d [ci skip] Translation update 2020-01-20 00:32:40 +00:00
Joakim Sørensen
56249110d6 Adds error to shopinglist card editor if integration is not loaded (#4523)
* Adds error to shopinglist card edito if integration is not loaded

* localization

* Update src/translations/en.json

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-19 14:39:07 -08:00
Ian Richardson
1a2ebabd22 🚸 prompt user to confirm logout (#4501)
* 🚸 prompt user to confirm logout

* 👌 update dialog title/text/confirm
2020-01-18 22:02:36 -08:00
Ian Richardson
28511d0cbf only set tabindex if tap_action defined (#4511) 2020-01-18 21:59:56 -08:00
Joakim Sørensen
b01bdec973 Bring back ha-icon-next (#4516) 2020-01-18 21:57:24 -08:00
Michael Irigoyen
ecee5980af Update Material Design Icons to v4.8.95 (#4520) 2020-01-18 21:54:30 -08:00
HomeAssistant Azure
3e1b85e6b5 [ci skip] Translation update 2020-01-19 00:32:50 +00:00
HomeAssistant Azure
ce94d1ea7c [ci skip] Translation update 2020-01-18 00:32:47 +00:00
Paulus Schoutsen
62654ec598 Refactor create element (#4509)
* Refactor create element

* Move things around

* Fix reference in gallery
2020-01-17 16:19:01 -08:00
Ian Richardson
fbe4550c78 🐛 fix display of current/set temperature when 0 (#4498)
* 🐛 fix display of current/set temperature when 0

* 👌 nullish coalescing
2020-01-17 23:08:18 +01:00
Bram Kragten
a082667c24 Bumped version to 20200108.2 2020-01-17 22:42:48 +01:00
Bram Kragten
fc29b519ae Don't use light card in generated Lovelace mode (#4505)
* Don't make seperate card for grouped lights

* Update generate-lovelace-config.ts

* Don't use light group at all in generated UI
2020-01-17 22:42:24 +01:00
Bram Kragten
c391b19c0e fixes #4468 (#4508) 2020-01-17 22:41:57 +01:00
Bram Kragten
8c49e3c4ef fixes #4468 (#4508) 2020-01-17 22:41:09 +01:00
Ian Richardson
67022b9ffc 🐛 make picture card tabbable only if action set (#4494)
* 🐛 make picture card tabbable only if action set

* 👌use ifDefined and hasAction

* ✏️ fix syntax mistake
2020-01-17 22:39:24 +01:00
Bram Kragten
eb9023595d Don't use light card in generated Lovelace mode (#4505)
* Don't make seperate card for grouped lights

* Update generate-lovelace-config.ts

* Don't use light group at all in generated UI
2020-01-17 22:38:08 +01:00
Bram Kragten
8262d1617f Bumped version to 20200108.1 2020-01-17 17:13:00 +01:00
Alexei Chetroi
581a803cc4 Fix ZHA add device path. (#4486) 2020-01-17 17:12:13 +01:00
Paulus Schoutsen
5ff8fe68ba Alert user when add-on not started (#4485) 2020-01-17 17:02:56 +01:00
David F. Mulcahey
a2a039ebc5 Add group binding to the ZHA config panel and misc. cleanup (#4466)
* clean up zha device card and usage

* group binding tile

* add cluster selection to group binding tile

* fix css class name

* fix filtering

* multiselect for clusters in group binding

* pass narrow to cluster table

* fix tables

* fix device page

* address remaing comments from previous PR

* fix bad cherry-pick

* css cleanup

* consistency

* use properties

* translations

* add confirmation dialog to remove button

* fix css

* review comments

* remove noise
2020-01-17 16:39:57 +01:00
Ian Richardson
1064aed1b0 📝 make some Lovelace UI text more clear (#4500) 2020-01-17 09:54:16 +01:00
Ian Richardson
7025592e8e 🐛 fix picture glance card's camera_view option in editor (#4495) 2020-01-17 09:44:57 +01:00
HomeAssistant Azure
4966354b62 [ci skip] Translation update 2020-01-17 00:32:37 +00:00
David F. Mulcahey
68d6faf4af fix selection check (#4488) 2020-01-16 18:19:01 +01:00
Paulus Schoutsen
e3346483b9 Hide device trackers from generated lovelace (#4487) 2020-01-16 08:57:41 +01:00
HomeAssistant Azure
e8fb79e5ce [ci skip] Translation update 2020-01-16 00:32:40 +00:00
Alexei Chetroi
d612162ab1 Fix ZHA add device path. (#4486) 2020-01-15 20:05:05 +01:00
Bram Kragten
86f8ef3a70 Styling focus menus (#4483)
* Styling menus

* Update ha-config-navigation.ts
2020-01-15 19:41:56 +01:00
Bram Kragten
0e43435362 Don't ask to choose view when only 1 view (#4480) 2020-01-15 09:05:01 -08:00
Bram Kragten
aaefe0b09f Handle unknown state (#4481) 2020-01-15 09:01:59 -08:00
Bram Kragten
bc731a9dc3 Add edit btn to more info for scene, script and automation (#4476) 2020-01-15 09:50:16 +01:00
Bram Kragten
da25701dca Disable adoptedStyleSheets in dev (#4474) 2020-01-15 09:25:17 +01:00
Bram Kragten
21ae483dc9 Styling fixes (#4475) 2020-01-15 09:25:04 +01:00
HomeAssistant Azure
38b6e9ca10 [ci skip] Translation update 2020-01-15 00:32:57 +00:00
Bram Kragten
d31245866c Add DEPRECATED to states ui (#4463)
* Add DEPRECATED to states ui

* unelevated red

* target

* Add msg in info
2020-01-14 06:35:01 -08:00
Bram Kragten
4e08d8f3b3 Fix zha back btn (#4470) 2020-01-14 07:57:00 -05:00
Bram Kragten
1e717ab33e Catch undefined cloudstatus (#4465) 2020-01-14 13:52:23 +01:00
Bram Kragten
995fb4974e Fix translations (#4469) 2020-01-14 13:20:06 +01:00
HomeAssistant Azure
ffb76132f8 [ci skip] Translation update 2020-01-14 00:32:29 +00:00
Bram Kragten
acba3af54b Fix back btn for Polymer (#4467) 2020-01-13 18:21:43 +01:00
Paulus Schoutsen
40ac456937 Force refresh tokens if external app (#4461) 2020-01-13 05:47:08 -08:00
Bram Kragten
5c32413bf7 Onboarding core: Display error message when saving fails (#4462) 2020-01-13 05:31:53 -08:00
Bram Kragten
22792c70c5 Change config panel navigation (#4377)
* Change config panel navigation

* Show active + don't show toolbar?

* Update ha-panel-config.ts

* Change color of menu toolbar

* Update ha-config-router.ts

* Review comments
2020-01-12 17:57:38 +01:00
Krisjanis Lejejs
a8ed87298a Improved map panel and map card to ignore zones when fitting map. (#4447)
* Improved map panel and map card to ignore zones when fitting map. [#1598](https://github.com/home-assistant/home-assistant-polymer/issues/1598)

* Improved map panel and map card to ignore zones when fitting map. [#1598](https://github.com/home-assistant/home-assistant-polymer/issues/1598)

* Improved map panel and map card to ignore zones when fitting map. [#1598](https://github.com/home-assistant/home-assistant-polymer/issues/1598)

* Changed approach and created a different array for zones

* Removed zone key option for markers
2020-01-12 17:56:55 +01:00
Joakim Sørensen
b15270dfe2 Use correct suffix for elevation (#4454)
* Use correct suffix for elevation

* Use correct suffix for elevation
2020-01-12 07:31:59 -08:00
Bram Kragten
58ad949bc8 Virtualize logbook (#4450)
* Virtualize logbook

* Clean

* Update ha-logbook.ts
2020-01-12 13:00:26 +01:00
HomeAssistant Azure
adce40de56 [ci skip] Translation update 2020-01-12 00:33:31 +00:00
Ian Richardson
0f487ae4bf Add tabindex to lovelace elements (#4160)
* tabindex

* use action handler

* circular focus test

* address comment

* add focus styling to other elements

* add focus styling to cards

* style glance card entities

* Add back light/thermo changes that were lost in rebase

* Remove unused import

* lint

* lint

* 💄 tweak focus style for glance entities

* 💄 apply styling to focused state-label-badges
2020-01-11 11:50:43 +01:00
Joakim Sørensen
2848e3a63b Adds CCS var usage to person dialog (#4449) 2020-01-11 11:49:57 +01:00
Bram Kragten
5a172a64c5 Make entry flow dialog modal (#4440)
* Make entry flow dialog modal

* Add close button

* Update dialog-data-entry-flow.ts

* Fix aria-label
2020-01-10 16:40:19 -08:00
HomeAssistant Azure
433aa16ea6 [ci skip] Translation update 2020-01-11 00:32:34 +00:00
HomeAssistant Azure
50cb8cf3cc [ci skip] Translation update 2020-01-10 00:32:38 +00:00
Sean Mooney
4e5406b27b Typo fix in issue template (#4445)
fixes small typo, necesarry = necessary
2020-01-09 09:29:42 -06:00
Franck Nijhof
80eb80619a Add configuration for Lock Threads on closed pull requests (#4443) 2020-01-09 11:40:25 +01:00
Ian Richardson
bf71b3a869 ♻️ convert ha-attributes to lit-element (#4350)
* ♻️ convert ha-attributes to lit-element

* Address comments

* inline items

* 🐛 Fix attribution display logic
2020-01-09 10:22:23 +01:00
HomeAssistant Azure
ff270c4b7d [ci skip] Translation update 2020-01-09 00:32:44 +00:00
Bram Kragten
8b659498b6 Merge pull request #4439 from home-assistant/dev
20200108.0
2020-01-08 18:54:05 +01:00
David F. Mulcahey
5415068917 Rework the ZHA config panel (#4415)
* convert zha config panel to tabs

* add spacer to prevent combobox from hitting bottom

* break clusters out into their own section

* cleanup buttons

* remove header

* make devices default tab

* convert from tabs to a list view

* convert to table on dashboard

* fix anchor on mobile safari

* cleanup CSS to fix display on mobile

* cleanup card css

* more css cleanup

* fix group page

* remove translations changes

* Update src/panels/config/zha/zha-clusters.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-config-dashboard.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-device-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-groups-dashboard.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* review comments

* fix dangling quote after commit suggestion

* css cleanup

* remove flex rules

* remove flex rules

* css  cleanup

* remove dialog per review comments

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-08 18:35:21 +01:00
Bram Kragten
357a67c00d Bumped version to 20200108.0 2020-01-08 18:26:20 +01:00
HomeAssistant Azure
cbe4269320 [ci skip] Translation update 2020-01-08 17:25:54 +00:00
Bram Kragten
fbd5185ce2 Add ability to remove Lovelace config (#4430)
* Add ability to remove Lovelace config

* Update hc-lovelace.ts
2020-01-08 18:19:10 +01:00
Bram Kragten
a33cf97e2c Fix moving actions with data (#4438) 2020-01-08 18:18:53 +01:00
Pascal Vizeli
7e7da26543 Update azure-pipelines-translation.yml for Azure Pipelines 2020-01-08 16:54:09 +01:00
Bram Kragten
79058e893b Add alert when Google sync failed (#4435) 2020-01-08 15:59:22 +01:00
Bram Kragten
e9231fc17e 20200107.0
20200107.0
2020-01-07 21:26:10 +01:00
Bram Kragten
2eb548bb74 Merge branch 'master' into dev 2020-01-07 20:53:23 +01:00
Bram Kragten
08baf8a757 Bumped version to 20200107.0 2020-01-07 20:50:51 +01:00
Bram Kragten
f02fa6a94b Add multi select to entity registry (#4424)
* Add multi select to entity registry

* Fix filter and sort on status

* Remove unused prop platform

* Review

* Update ha-config-entity-registry.ts
2020-01-07 12:29:42 +01:00
Bram Kragten
2ed6d0e73c Make modal of Lovelace editor dialogs (#4426)
Fixes #4425
2020-01-06 22:25:17 +01:00
David F. Mulcahey
35d9b2ac3c Add the ability to create new Zigbee groups to the ZHA config panel (#4384)
* add group page

* Update src/panels/config/zha/zha-add-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* fix group name handling

* Update src/panels/config/zha/zha-add-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-06 07:02:47 -05:00
Bram Kragten
18d09c6f04 Add UI for restored entities (#4414)
* Add UI for restored entities

* Add conformation for removal

* Apply suggestions

* Guard
2020-01-03 12:44:25 +01:00
Joakim Sørensen
70b81de49d Force rerender on update/save (#4396)
* Force rerender on update/save

* Fix linting issue

* Define properties by using @property() instead

* Add styles to disabled save button

* Change to use @customElement, and remove _generation as a property.
2020-01-02 21:15:26 +01:00
David Cramer
f0808c1f54 Add ha-subppage toolbar css styles (#4409) 2020-01-02 20:55:43 +01:00
Jay
e779f0747e Change TRIGGER to EXECUTE (#4413)
There's been some confusion among new users about what the `TRIGGER` button does in the automation info popup. `EXECUTE` better represents what pressing that button does since it bypasses conditions and simply runs the action like a script. The automation docs at <https://www.home-assistant.io/docs/automation/action/> also say "The action of an automation rule is what is being executed when a rule fires."
2020-01-02 20:16:39 +01:00
David F. Mulcahey
bdd18775c3 Add group editing to the ZHA config panel (#4382)
* add group editing

* Update src/panels/config/zha/zha-devices-data-table.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-devices-data-table.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Update src/panels/config/zha/zha-group-page.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* review comments

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-01-02 15:59:18 +01:00
David F. Mulcahey
711d51c022 Disable ZHA device binding buttons when a device to bind isn't selected (#4407)
* only enable buttons when a device is selected

* review comments
2020-01-02 07:24:40 -05:00
David F. Mulcahey
1b0d8bba29 fix area index on ZHA device card (#4406) 2020-01-02 10:50:19 +01:00
Colin Frei
2988cc512f Fix grammatical error (#4403) 2020-01-02 10:28:36 +01:00
Joakim Sørensen
a2f8e5f3e7 Hide protection mode toggle if not usable (#4392) 2020-01-02 10:20:21 +01:00
David F. Mulcahey
680bf06a4b Add group detail view to the ZHA config panel (#4380)
* add group details

* review comments
2019-12-24 10:29:22 -05:00
David F. Mulcahey
ff0b1881e2 Add Zigbee group removal to the ZHA config panel (#4376)
* add remove groups function

* add ability to remove groups

* translations

* review comments

* review comments

* review comments
2019-12-24 08:12:02 -05:00
David F. Mulcahey
de653e1f7b Add Zigbee group viewing to ZHA config panel (#4365)
* add ability to view zigbee groups

* review comments

* remove selectable until used
2019-12-23 10:46:34 -05:00
Bram Kragten
bb41170765 Add language Iban (#4375) 2019-12-23 16:27:41 +01:00
Bram Kragten
0ed2bc93aa Remove uploading translations from Travis (#4374) 2019-12-23 13:39:47 +01:00
Bram Kragten
04770f8ee2 Add language Esperanto (#4373) 2019-12-23 13:39:31 +01:00
Bram Kragten
15a2790b9f Add support to add all device entities to Lovelace (#4356)
* Add support to add all device entities to Lovelace

* Reload config when it was changed while Lovelace was not active

* Localize

* Update ha-panel-lovelace.ts

* Move to device entities card

* Move Lovelace logic to lovelace combine with unused entities

* Unused imports

* Added suggestions and support for YAML mode
2019-12-23 10:39:17 +01:00
Jc2k
83880791b1 Add 'unignore' to DISCOVERY_SOURCES that can be ignored. (#4370) 2019-12-21 17:10:20 +01:00
HomeAssistant Azure
4dca3289f6 [ci skip] Translation update 2019-12-19 16:07:21 +00:00
Pascal Vizeli
083a3ebfc4 Run translation on dev (#4368) 2019-12-19 17:03:05 +01:00
Pascal Vizeli
6117c4e989 Add Auto Translation handling (#4339)
* Add Auto Translation handling

* Cleanup
2019-12-18 16:38:36 +01:00
Bram Kragten
609763e658 Set focus to search when opening add integration dialog (#4357)
* Set focus to search when opening add integration dialog

* Also add to flow form
2019-12-18 16:35:20 +01:00
Bram Kragten
2c57ab60f1 Add ignore discovery button (#4354)
* Add ignore discovery button

* Add seperate list for ignored integrations

* Move translations

* Add zeroconf
2019-12-18 16:22:17 +01:00
Ian Richardson
dd17a153d2 Fire custom LL event (#4361) 2019-12-18 07:40:26 +01:00
Bram Kragten
c2d551bb7c Merge pull request #4341 from bonanitech/patch-2
Upgrade MDI icons to 4.7.95
2019-12-12 17:20:24 +01:00
Mauricio Bonani
e0b1921108 Fix version number 2019-12-09 12:40:11 -05:00
Mauricio Bonani
fcf39ceb96 Upgrade MDI icons to 4.7.95 2019-12-09 12:27:03 -05:00
Mauricio Bonani
3cc979a077 Upgrade MDI icons to 4.7.95 2019-12-09 12:24:36 -05:00
Bram Kragten
9972973774 Merge pull request #4338 from home-assistant/rc
20191204.1
2019-12-09 13:41:33 +01:00
Bram Kragten
20ae32bc26 Bumped version to 20191204.1 2019-12-09 13:03:17 +01:00
Bram Kragten
a29892023b Revert "Add copy entity ID/state/attributes menu button in dev tools/states" (#4337)
* Revert "Add copy entity ID/state/attributes menu button in dev tools/states (#4259)"

This reverts commit 4b56db5255.

* Update package.json
2019-12-09 13:02:41 +01:00
Bram Kragten
b283fec482 Update cloud-google-assistant.ts (#4329) 2019-12-09 13:02:17 +01:00
Bram Kragten
e0116a8236 Fix thingtalk automations creation (#4328) 2019-12-09 13:01:56 +01:00
Bram Kragten
d1990a4bac Revert "Add copy entity ID/state/attributes menu button in dev tools/states" (#4337)
* Revert "Add copy entity ID/state/attributes menu button in dev tools/states (#4259)"

This reverts commit 4b56db5255.

* Update package.json
2019-12-09 12:59:20 +01:00
Bram Kragten
cbba1849e2 Convert script and automation editor to lit (#4327)
* Convert script and automation editor to lit

* Update yarn.lock
2019-12-09 10:59:52 +01:00
Bram Kragten
43393d1647 Update cloud-google-assistant.ts (#4329) 2019-12-09 08:34:36 +01:00
Bram Kragten
b47ee1051c Fix thingtalk automations creation (#4328) 2019-12-07 20:46:04 +01:00
Bram Kragten
393adacc9e Convert automation actions/scripts to Lit (#4324)
* Convert automation actions/scripts to Lit

* Update ha-automation-action-row.ts

* Comments
2019-12-06 12:14:45 +01:00
Bram Kragten
073428849e Convert automation conditions to Lit (#4321)
* Convert automation conditions to Lit

* Split condition editor and row

* Comments

* Update automation.ts

* Update automation.ts
2019-12-05 19:48:06 +01:00
Bram Kragten
e6ac0258e3 Use dynamicElement directive in ha-form (#4317)
* Use dynamicContentDirective

* Turn around

* Remove attributes

* Rename to dynamicElement
2019-12-04 22:58:35 +01:00
Bram Kragten
d7e7798a55 Merge pull request #4318 from home-assistant/dev
20191204.0
2019-12-04 20:02:41 +01:00
Bram Kragten
2557414b11 Merge branch 'master' into dev 2019-12-04 19:30:47 +01:00
Bram Kragten
f7065fbce9 Bumped version to 20191204.0 2019-12-04 19:28:47 +01:00
Bram Kragten
016564eee9 Update translations 2019-12-04 19:22:23 +01:00
Bram Kragten
ff3087c39c Convert automation trigger to litelement (#4315)
* Convert automation trigger to Lit

* Update ha-automation-trigger-row.ts

* dynamicContentDirective

* update

* Lint

* Implement other types
2019-12-04 09:57:47 -08:00
Bram Kragten
239438ee5d Add entity picker to service call action (#4310)
* Add entity picker to service call action

* Use prop instead of attr
2019-12-03 12:30:51 +01:00
Florian Gareis
5458cda31f Add new confim dialog to automation editor (#4255) 2019-12-03 12:21:51 +01:00
Bram Kragten
36f49e66fd Remove empty defaults from time patern trigger automation (#4307) 2019-12-02 11:11:05 -08:00
Bram Kragten
2bafd38ea8 Allow automation actions/scripts to be moved up/down (#4308)
* Allow automation actions/scripts to be moved up/down

* Update index.tsx
2019-12-02 11:10:44 -08:00
Bram Kragten
73b3262491 Fix editing delay action (#4309) 2019-12-02 11:08:38 -08:00
Bram Kragten
808cde033f Update bug_report.md 2019-12-02 17:39:39 +01:00
Bram Kragten
fa8f6b7b91 Add yaml editor to automation actions and scripts (#4306)
* Add yaml editor to automation actions and scripts

* Add types

* Update event.tsx
2019-12-02 14:08:19 +01:00
Bram Kragten
94c120cdb1 Add yaml editor to automation conditions (#4305) 2019-12-02 12:02:35 +01:00
Bram Kragten
7b2be54f8f YAML support for automation triggers (#4289)
* WIP: Add yaml editors to automation

* Fix form overwriting yaml on switching back

* Finish triggers

* prettier
2019-12-02 11:20:09 +01:00
nicop4
4b56db5255 Add copy entity ID/state/attributes menu button in dev tools/states (#4259)
* Added button and js method to copy with copy-to-clipboard library

* Copy entity id working, tooltip added

* copy ok, use ha toast to notify ok

* cleanup code

* add translation

* removed old useless code

* Replaced copy button with menu

* Fix comparison operator & removed commented code

	modifié :         src/panels/developer-tools/state/developer-tools-state.js

* Fix spaces

	modifié :         src/panels/developer-tools/state/developer-tools-state.js

* Improve copy attributes

* only one menu & update translation

* copy attributes in yml format
use paper-icon-item instead of paper-icon-button and add yarn.lock

* removed paper-item
2019-12-02 10:35:49 +01:00
Bram Kragten
93165c9111 Area/multiple devices and name support for thingtalk automations (#4272)
* WIP: Area/multiple devices and name support

* Fix removing devices

* Don't recalc entities for all devices every time

* Use guards

* Update ha-thingtalk-placeholders.ts
2019-12-02 10:30:30 +01:00
Bram Kragten
caa604d5ca Add more aria labels (#4293)
* Add aria labels

* Fix polymer binding
2019-12-02 09:29:02 +01:00
Thomas Lovén
e7e9e2cf85 Allow setting temperature to 0 degrees (#4300) 2019-12-02 09:23:20 +01:00
Bram Kragten
daa04e9973 Fix jumping on iOS when toggle switch (#4275) 2019-11-29 12:41:37 +01:00
Bram Kragten
5355269f5d Check if external app by object (#4280)
* Check if external app by object

* Update core.ts

* Conditional chaining

* add babel optional chaining
2019-11-27 15:44:59 -08:00
Bram Kragten
2665a75250 Don't show hidden scenes (#4285)
* Don't show hidden scenes

* Comments

* computeStateDomain
2019-11-27 15:44:28 -08:00
Bram Kragten
8a39d18323 Bump TypeScript to 3.7 (#4282)
* Bump TypeScript to 3.7

* Update prettier to support ts 3.7

* Prettier

* More prettier

* Even more prettier
2019-11-27 13:51:03 -08:00
Bram Kragten
b8a026397b Don't filter attributes when saving scene (#4278)
* Add cover attributes to scene editor

* Add more

* Remove filtering of attributes

* Update ha-scene-editor.ts
2019-11-27 13:43:46 -08:00
Bram Kragten
bd5fe302eb Revert "Add specific maskable icons (#4283)" (#4284)
This reverts commit de0f1b2b65.
2019-11-27 20:23:58 +01:00
Bram Kragten
de0f1b2b65 Add specific maskable icons (#4283) 2019-11-27 16:43:23 +01:00
Thomas Lovén
defaa2b276 Fix missing semicolons in CSS (#4281)
Introduced in #4269
2019-11-27 13:06:02 +01:00
Bram Kragten
60efe00a1f Fix styling of vaadin elements (#4276) 2019-11-26 16:57:29 +01:00
Davide Varricchio
fe93b993db Change to thermostat card to reflect step_temp on set-temperature (#4221)
* Minor change to thermostat card to reflect step_temp on set-temperature

* Corrected indentation

* Resolved eslint error
2019-11-25 17:42:38 +01:00
Joakim Sørensen
f6afc92d3c Adds "air" at the bottom of the page (#4267)
* Adds "air" at the bottom of the page

* Update src/panels/config/dashboard/ha-config-dashboard.ts

Co-Authored-By: Bram Kragten <mail@bramkragten.nl>

* Add margin to promo
2019-11-25 17:38:08 +01:00
Carlos Gustavo Sarmiento
e4c635c855 Added new CSS property for styling of the app-header component (#4269) 2019-11-25 17:37:33 +01:00
Bram Kragten
a3e59e168f Bumped version to 20191119.6 2019-11-23 21:31:19 +01:00
Thomas Lovén
e56355b406 Bump round-slider version. Fix #4265 (#4266) 2019-11-23 21:30:54 +01:00
Mauricio Bonani
8ef15c50b4 Upgrade MDI icons to 4.6.95 (#4270)
* Upgrade MDI icons to 4.6.95

* Upgrade MDI icons to 4.6.95
2019-11-23 21:26:32 +01:00
Marius
81588469b8 Add secondary-info: last-triggered (#4222)
* Add secondary-info: last-triggered

add last-triggered to the currently available options 'entity-id' and 'last-changed' see:https://www.home-assistant.io/lovelace/entities/#secondary_info

* corrected omission 'attributes'

* added test for attributes.last_triggered

* Update hui-generic-entity-row.ts

* Update hui-generic-entity-row.ts
2019-11-23 21:19:26 +01:00
Joakim Sørensen
70a920af3c Add initial bg color to panels (#4268) 2019-11-23 21:18:54 +01:00
Thomas Lovén
1329e60c89 Bump round-slider version. Fix #4265 (#4266) 2019-11-23 21:12:48 +01:00
Bram Kragten
9b7c095080 Bumped version to 20191119.5 2019-11-21 17:25:50 +01:00
Bram Kragten
654ff99cd1 Bumped version to 20191119.4 2019-11-21 17:04:43 +01:00
Bram Kragten
0511bc360e iOS 9 doesn't support append (#4260) 2019-11-21 17:04:36 +01:00
Bram Kragten
ea9e8cc392 iOS 9 doesn't support append (#4260) 2019-11-21 17:03:35 +01:00
Bram Kragten
8433678371 Bumped version to 20191119.3 2019-11-21 15:22:07 +01:00
Bram Kragten
757bc00854 Fix thermostat card (#4258)
* Fix thermostat card

* Change styling

* Remove margin on mode buttons
2019-11-21 15:21:45 +01:00
Bram Kragten
2551393821 Fix light card (#4257)
* Fix light card

* Remove unused class

* Fix for when entity is not available

* Fix active state
2019-11-21 15:21:20 +01:00
Bram Kragten
0acd41b7f0 Fix thermostat card (#4258)
* Fix thermostat card

* Change styling

* Remove margin on mode buttons
2019-11-21 15:18:16 +01:00
Bram Kragten
85ca73db84 Fix light card (#4257)
* Fix light card

* Remove unused class

* Fix for when entity is not available

* Fix active state
2019-11-21 15:17:55 +01:00
Bram Kragten
444cbd00d9 Update README.md 2019-11-21 15:05:42 +01:00
Thomas Lovén
6edf23b91f Version bump round-slider. Fix bad rendering in IE/Edge (#4249) 2019-11-20 10:55:06 +01:00
Bram Kragten
1249c0eea9 Fix ha-form on edge (#4248) 2019-11-19 21:06:52 +01:00
Bram Kragten
3133118870 Update vaadin components (#3571)
* Update vaadin components

* Remove resolution

* Migrate person detail dialog to mwc-dialog

* Fix imports

* Update dialog-person-detail.ts
2019-11-19 11:35:37 -06:00
1259 changed files with 114460 additions and 44672 deletions

View File

@@ -1,80 +0,0 @@
{
"extends": ["airbnb-base", "prettier"],
"parserOptions": {
"ecmaVersion": "2020",
"ecmaFeatures": {
"jsx": true,
"modules": true
}
},
"settings": {
"react": {
"pragma": "h",
"version": "15.0"
},
"import/resolver": {
"webpack": {
"config": "webpack.config.js"
}
}
},
"globals": {
"__DEV__": false,
"__DEMO__": false,
"__BUILD__": false,
"__VERSION__": false,
"__STATIC_PATH__": false,
"Polymer": true,
"webkitSpeechRecognition": false,
"ResizeObserver": false
},
"env": {
"browser": true,
"mocha": true
},
"rules": {
"class-methods-use-this": 0,
"new-cap": 0,
"prefer-template": 0,
"object-shorthand": 0,
"func-names": 0,
"prefer-arrow-callback": 0,
"no-underscore-dangle": 0,
"no-var": 0,
"strict": 0,
"prefer-spread": 0,
"no-plusplus": 0,
"no-bitwise": 0,
"comma-dangle": 0,
"vars-on-top": 0,
"no-continue": 0,
"no-param-reassign": 0,
"no-multi-assign": 0,
"radix": 0,
"no-alert": 0,
"no-return-await": 0,
"prefer-destructuring": 0,
"no-restricted-globals": [2, "event"],
"prefer-promise-reject-errors": 0,
"import/prefer-default-export": 0,
"import/no-unresolved": 0,
"import/extensions": [2, "ignorePackages"],
"object-curly-newline": 0,
"default-case": 0,
"react/jsx-no-bind": [2, { "ignoreRefs": true }],
"react/jsx-no-duplicate-props": 2,
"react/self-closing-comp": 2,
"react/prefer-es6-class": 2,
"react/no-string-refs": 2,
"react/require-render-return": 2,
"react/no-find-dom-node": 2,
"react/no-is-mounted": 2,
"react/jsx-no-comment-textnodes": 2,
"react/jsx-no-undef": 2,
"react/jsx-uses-react": 2,
"react/jsx-uses-vars": 2,
"no-restricted-syntax": [0, "ForOfStatement"],
"prettier/prettier": "error"
},
"plugins": ["react", "prettier"]
}

View File

@@ -1,12 +1,100 @@
{
"extends": "./.eslintrc-hound.json",
"plugins": ["react"],
"extends": [
"plugin:@typescript-eslint/recommended",
"airbnb-typescript/base",
"plugin:wc/recommended",
"plugin:lit/recommended",
"prettier",
"prettier/@typescript-eslint"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2020,
"ecmaFeatures": {
"jsx": true,
"modules": true
},
"sourceType": "module",
"project": "./tsconfig.json"
},
"settings": {
"react": {
"pragma": "h",
"version": "15.0"
},
"import/resolver": {
"webpack": {
"config": "./webpack.config.js"
}
}
},
"globals": {
"__DEV__": false,
"__DEMO__": false,
"__BUILD__": false,
"__VERSION__": false,
"__STATIC_PATH__": false,
"Polymer": true,
"webkitSpeechRecognition": false,
"ResizeObserver": false
},
"env": {
"browser": true
"browser": true,
"es6": true
},
"rules": {
"import/no-unresolved": 2,
"linebreak-style": 0,
"implicit-arrow-linebreak": 0
}
"class-methods-use-this": 0,
"new-cap": 0,
"prefer-template": 0,
"object-shorthand": 0,
"func-names": 0,
"prefer-arrow-callback": 0,
"no-underscore-dangle": 0,
"no-var": 0,
"strict": 0,
"prefer-spread": 0,
"no-plusplus": 0,
"no-bitwise": 0,
"comma-dangle": 0,
"vars-on-top": 0,
"no-continue": 0,
"no-param-reassign": 0,
"no-multi-assign": 0,
"radix": 0,
"no-alert": 0,
"no-return-await": 0,
"no-nested-ternary": 0,
"prefer-destructuring": 0,
"no-restricted-globals": [2, "event"],
"prefer-promise-reject-errors": 0,
"import/order": 0,
"import/prefer-default-export": 0,
"import/no-unresolved": 0,
"import/no-cycle": 0,
"import/extensions": [
2,
"ignorePackages",
{ "ts": "never", "js": "never" }
],
"no-restricted-syntax": ["error", "LabeledStatement", "WithStatement"],
"object-curly-newline": 0,
"default-case": 0,
"wc/no-self-class": 0,
"@typescript-eslint/camelcase": 0,
"@typescript-eslint/ban-ts-ignore": 0,
"@typescript-eslint/no-use-before-define": 0,
"@typescript-eslint/no-non-null-assertion": 0,
"@typescript-eslint/no-explicit-any": 0,
"@typescript-eslint/no-unused-vars": 0,
"@typescript-eslint/explicit-function-return-type": 0
},
"plugins": [
"disable",
"import",
"react",
"lit",
"prettier",
"@typescript-eslint"
],
"processor": "disable/disable"
}

1
.gitattributes vendored
View File

@@ -11,3 +11,4 @@
*.mp3 binary
demo/public/api/camera_proxy_stream/* binary
demo/public/api/media_player_proxy/* binary

100
.github/ISSUE_TEMPLATE/BUG_REPORT.md vendored Normal file
View File

@@ -0,0 +1,100 @@
---
name: Report a bug with the UI, Frontend or Lovelace
about: Report an issue related to the Home Assistant frontend.
labels: bug
---
<!-- READ THIS FIRST:
- If you need additional help with this template please refer to https://www.home-assistant.io/help/reporting_issues/
- Make sure you are running the latest version of Home Assistant before reporting an issue: https://github.com/home-assistant/home-assistant/releases
- Do not report issues for custom Lovelace cards.
- Provide as many details as possible. Paste logs, configuration samples and code into the backticks.
DO NOT DELETE ANY TEXT from this template! Otherwise, your issue may be closed without comment.
-->
## Checklist
- [ ] I have updated to the latest available Home Assistant version.
- [ ] I have cleared the cache of my browser.
- [ ] I have tried a different browser to see if it is related to my browser.
## The problem
<!--
Describe the issue you are experiencing here to communicate to the
maintainers. Tell us about the current behavior.
If possible provide a screenshot with a description.
-->
## Expected behavior
<!--
Describe what you expected to happen or it should look/behave.
If possible provide a screenshot with a description.
-->
## Steps to reproduce
<!--
Provide steps for us, that helps reproducing your issue.
For example:
1. Add a climate integration
2. Navigate to Lovelace
3. Click more info of the climate entity
4. Set the HVAC action to heat
5. Set the temperature higher than the current temperature
6. Set the HVAC action to cool
-->
## Environment
<!--
Provide details about the versions you are using, which helps us reproducing
and finding the issue quicker. Version information is found in the
Home Assistant frontend: Developer tools -> Info.
Browser version and operating system is important! Please try to replicate
your issue in a different browser and be sure to include your findings.
-->
- Home Assistant release with the issue:
- Last working Home Assistant release (if known):
- Browser and browser version:
- Operating system:
## State of relevant entities
<!--
If your issue is about how an entity is shown in the UI, please add the state
and attributes for all situations with a screenshot of the UI.
You can find this information at `/developer-tools/state`
-->
```yaml
```
## Problem-relevant configuration
<!--
An example configuration that caused the problem for you. Fill this out even
if it seems unimportant to you. Please be sure to remove personal information
like passwords, private URLs and other credentials.
-->
```yaml
```
## Javascript errors shown in your browser console/inspector
<!--
If you come across any javascript or other error logs, e.g., in your browser
console/inspector please provide them.
-->
```txt
```
## Additional information

View File

@@ -0,0 +1,26 @@
---
name: Request a feature for the UI, Frontend or Lovelace
about: Request an new feature for the Home Assistant frontend.
labels: feature request
---
<!--
DO NOT DELETE ANY TEXT from this template!
Otherwise, your request may be closed without comment.
-->
## The request
<!--
Describe to our maintainers, the feature you would like to be added.
Please be clear and concise and, if possible, provide a screenshot or mockup.
-->
## The alternatives
<!--
Are you currently using, or have you considered alternatives?
If so, could you please describe those?
-->
## Additional information

View File

@@ -1,53 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: bug
assignees: ""
---
<!-- READ THIS FIRST:
- If you need additional help with this template please refer to https://www.home-assistant.io/help/reporting_issues/
- Make sure you are running the latest version of Home Assistant before reporting an issue: https://github.com/home-assistant/home-assistant/releases
- Provide as many details as possible. Do not delete any text from this template!
-->
**Checklist:**
- [ ] I updated to the latest version available
- [ ] I cleared the cache of my browser
**Home Assistant release with the issue:**
<!--
- Frontend -> Developer tools -> Info
- Or use this command: hass --version
-->
**Last working Home Assistant release (if known):**
**UI (States or Lovelace UI?):**
<!--
- Frontend -> Developer tools -> Info
-->
**Browser and Operating System:**
<!--
Provide details about what browser (and version) you are seeing the issue in. And also which operating system this is on. If possible try to replicate the issue in other browsers and include your findings here.
-->
**Description of problem:**
<!--
Explain what the issue is, and how things should look/behave. If possible provide a screenshot with a description.
-->
**Javascript errors shown in the web inspector (if applicable):**
```
```
**Additional information:**

14
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Report a bug that is NOT related to the UI, Frontend or Lovelace
url: https://github.com/home-assistant/core/issues
about: This is the issue tracker for our frontend. Please report other issues with the backend repository.
- name: Report incorrect or missing information on our website
url: https://github.com/home-assistant/home-assistant.io/issues
about: Our documentation has its own issue tracker. Please report issues with the website there.
- name: I have a question or need support
url: https://www.home-assistant.io/help
about: We use GitHub for tracking bugs, check our website for resources on getting help.
- name: I'm unsure where to go
url: https://www.home-assistant.io/join-chat
about: If you are unsure where to go, then joining our chat is recommended; Just ask!

View File

@@ -1,19 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: feature request
assignees: ""
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

83
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,83 @@
<!--
You are amazing! Thanks for contributing to our project!
Please, DO NOT DELETE ANY TEXT from this template! (unless instructed).
-->
## Breaking change
<!--
If your PR contains a breaking change for existing users, it is important
to tell them what breaks, how to make it work again and why we did this.
This piece of text is published with the release notes, so it helps if you
write it towards our users, not us.
Note: Remove this section if this PR is NOT a breaking change.
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
## Type of change
<!--
What type of change does your PR introduce to the Home Assistant frontend?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (thank you!)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example configuration
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR.
-->
```yaml
```
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request:
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [ ] The code change is tested and works locally.
- [ ] There is no commented out code in this PR.
- [ ] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
<!--
Thank you for contributing <3
-->
[docs-repository]: https://github.com/home-assistant/home-assistant.io

27
.github/lock.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
# Configuration for Lock Threads - https://github.com/dessant/lock-threads
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 1
# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: 2020-01-01
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels: []
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: false
# Comment to post before locking. Set to `false` to disable
lockComment: false
# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: false
# Limit to only `issues` or `pulls`
only: pulls
# Optionally, specify configuration settings just for `issues` or `pulls`
issues:
daysUntilLock: 30

56
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 90
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 7
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- feature request
- Help wanted
- to do
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: true
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: true
# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false
# Label to use when marking as stale
staleLabel: stale
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
There hasn't been any activity on this issue recently. Due to the high number
of incoming GitHub notifications, we have to clean some of the old issues,
as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check
if that solves the issue. Let us know if that works for you by adding a
comment 👍
This issue now has been marked as stale and will be closed if no further
activity occurs. Thank you for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.
# Comment to post when closing a stale Issue or Pull Request.
# closeComment: >
# Your comment here.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Limit to only `issues` or `pulls`
only: issues

125
.github/workflows/ci.yaml vendored Normal file
View File

@@ -0,0 +1,125 @@
name: CI
on:
push:
branches:
- dev
- master
pull_request:
branches:
- dev
- master
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build icons
run: ./node_modules/.bin/gulp gen-icons-json
- name: Build translations
run: ./node_modules/.bin/gulp build-translations
- name: Run eslint
run: ./node_modules/.bin/eslint '{**/src,src}/**/*.{js,ts,html}' --ignore-path .gitignore
- name: Run tsc
run: ./node_modules/.bin/tsc
test:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Run Mocha
run: npm run mocha
build:
runs-on: ubuntu-latest
needs: [lint, test]
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Application
run: ./node_modules/.bin/gulp build-app
env:
TRAVIS: "true"
supervisor:
runs-on: ubuntu-latest
needs: [lint, test]
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Application
run: ./node_modules/.bin/gulp build-hassio
env:
TRAVIS: "true"

39
.github/workflows/demo.yaml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Demo
on:
push:
branches:
- dev
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Setting up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get yarn cache path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Fetching Yarn cache
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Demo
run: ./node_modules/.bin/gulp build-demo
- name: Deploy to Netlify
uses: netlify/actions/cli@master
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEMO_DEV_SITE_ID }}
with:
args: deploy --dir=demo/dist --prod

3
.gitignore vendored
View File

@@ -31,3 +31,6 @@ src/cast/dev_const.ts
# Secrets
.lokalise_token
yarn-error.log
#asdf
.tool-versions

11
.prettierignore Normal file
View File

@@ -0,0 +1,11 @@
build
build-translations/*
translations/*
node_modules/*
hass_frontend/*
demo/hademo-icons.html
pip-selfcheck.json
# vscode
.vscode/*
!.vscode/extensions.json

View File

@@ -1,27 +0,0 @@
sudo: false
language: node_js
cache:
yarn: true
directories:
- bower_components
install: yarn install
script:
- npm run build
- hassio/script/build_hassio
# Because else eslint fails because hassio has cleaned that build
- ./node_modules/.bin/gulp gen-icons-app
- npm run test
# - xvfb-run wct --module-resolution=node --npm
# - 'if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then wct --module-resolution=node --npm --plugin sauce; fi'
services:
- docker
before_deploy:
- "docker pull lokalise/lokalise-cli@sha256:2198814ebddfda56ee041a4b427521757dd57f75415ea9693696a64c550cef21"
deploy:
provider: script
script: script/travis_deploy
"on":
branch: master
dist: trusty
addons:
sauce_connect: true

View File

@@ -1,7 +1,6 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"ms-vscode.vscode-typescript-tslint-plugin",
"esbenp.prettier-vscode",
"bierner.lit-html",
"runem.lit-plugin"

View File

@@ -1,10 +1,10 @@
# Home Assistant Polymer [![Build Status](https://travis-ci.org/home-assistant/home-assistant-polymer.svg?branch=master)](https://travis-ci.org/home-assistant/home-assistant-polymer)
# Home Assistant Frontend
This is the repository for the official [Home Assistant](https://home-assistant.io) frontend.
[![Screenshot of the frontend](https://raw.githubusercontent.com/home-assistant/home-assistant-polymer/master/docs/screenshot.png)](https://home-assistant.io/demo/)
[![Screenshot of the frontend](https://raw.githubusercontent.com/home-assistant/home-assistant-polymer/master/docs/screenshot.png)](https://demo.home-assistant.io/)
- [View demo of the Polymer frontend](https://home-assistant.io/demo/)
- [View demo of Home Assistant](https://demo.home-assistant.io/)
- [More information about Home Assistant](https://home-assistant.io)
- [Frontend development instructions](https://developers.home-assistant.io/docs/en/frontend_index.html)
@@ -19,15 +19,20 @@ This is the repository for the official [Home Assistant](https://home-assistant.
## Frontend development
### Classic environment
A complete guide can be found at the following [link](https://www.home-assistant.io/developers/frontend/). It describes a short guide for the build of project.
### Docker environment
It is possible to compile the project and/or run commands in the development environment having only the [Docker](https://www.docker.com) pre-installed in the system. On the root of project you can do:
* `sh ./script/docker_run.sh build` Build all the project with one command
* `sh ./script/docker_run.sh bash` Open an interactive shell (the same environment generated by the *classic environment*) where you can run commands. This bash work on your project directory and any change on your file is automatically present within your build bash.
- `sh ./script/docker_run.sh build` Build all the project with one command
- `sh ./script/docker_run.sh bash` Open an interactive shell (the same environment generated by the _classic environment_) where you can run commands. This bash work on your project directory and any change on your file is automatically present within your build bash.
**Note**: if you have installed `npm` in addition to the `docker`, you can use the commands `npm run docker_build` and `npm run bash` to get a full build or bash as explained above
## License
Home Assistant is open-source and Apache 2 licensed. Feel free to browse the repository, learn and reuse parts in your own projects.
We use [BrowserStack](https://www.browserstack.com) to test Home Assistant on a large variation of devices.

View File

@@ -0,0 +1,30 @@
# https://dev.azure.com/home-assistant
trigger: none
pr: none
schedules:
- cron: "0 0 * * *"
displayName: "build preview"
branches:
include:
- dev
always: true
variables:
- group: netlify
jobs:
- job: 'Netlify_preview'
pool:
vmImage: 'ubuntu-latest'
steps:
- script: |
# Cast
curl -X POST -d {} https://api.netlify.com/build_hooks/${NETLIFY_CAST}
# Demo
curl -X POST -d {} https://api.netlify.com/build_hooks/${NETLIFY_DEMO}
# Gallery
curl -X POST -d {} https://api.netlify.com/build_hooks/${NETLIFY_GALLERY}
displayName: 'Trigger netlify build preview'

View File

@@ -8,7 +8,7 @@ trigger:
pr: none
variables:
- name: versionWheels
value: '1.3-3.7-alpine3.10'
value: '1.10.1-3.7-alpine3.11'
- name: versionNode
value: '12.1'
- group: twine
@@ -47,18 +47,13 @@ stages:
script/release
displayName: "Build and release package"
- stage: "Wheels"
jobs:
- template: templates/azp-job-wheels.yaml@azure
parameters:
builderVersion: '$(versionWheels)'
builderApk: 'build-base'
wheelsLocal: true
wheelsRequirement: 'requirement.txt'
preBuild:
- task: NodeTool@0
displayName: "Use Node $(versionNode)"
inputs:
versionSpec: "$(versionNode)"
- script: |
set -e
yarn install
script/build_frontend
sleep 240
echo "home-assistant-frontend==$(Build.SourceBranchName)" > requirement.txt

View File

@@ -0,0 +1,70 @@
# https://dev.azure.com/home-assistant
trigger:
batch: true
branches:
include:
- dev
paths:
include:
- translations/en.json
pr: none
schedules:
- cron: "30 0 * * *"
displayName: "frontend translation update"
branches:
include:
- dev
always: true
variables:
- group: translation
resources:
repositories:
- repository: azure
type: github
name: 'home-assistant/ci-azure'
endpoint: 'home-assistant'
jobs:
- job: 'Upload'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Use Node 12.x'
inputs:
versionSpec: '12.x'
- script: |
export LOKALISE_TOKEN="$(lokaliseToken)"
export AZURE_BRANCH="$(Build.SourceBranchName)"
./script/translations_upload_base
displayName: 'Upload Translation'
- job: 'Download'
dependsOn:
- 'Upload'
condition: or(eq(variables['Build.Reason'], 'Schedule'), eq(variables['Build.Reason'], 'Manual'))
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Use Node 12.x'
inputs:
versionSpec: '12.x'
- template: templates/azp-step-git-init.yaml@azure
- script: |
export LOKALISE_TOKEN="$(lokaliseToken)"
export AZURE_BRANCH="$(Build.SourceBranchName)"
npm install
./script/translations_download
displayName: 'Download Translation'
- script: |
git checkout dev
git add translation
git commit -am "[ci skip] Translation update"
git push
displayName: 'Update translation'

View File

@@ -33,6 +33,8 @@ module.exports.babelLoaderConfig = ({ latestBuild }) => {
pragma: "h",
},
],
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator",
[
require("@babel/plugin-proposal-decorators").default,
{ decoratorsBeforeExport: true },

View File

@@ -1,6 +1,14 @@
module.exports = {
isProdBuild: process.env.NODE_ENV === "production",
isStatsBuild: process.env.STATS === "1",
isTravis: process.env.TRAVIS === "true",
isNetlify: process.env.NETLIFY === "true",
isProdBuild() {
return process.env.NODE_ENV === "production";
},
isStatsBuild() {
return process.env.STATS === "1";
},
isTravis() {
return process.env.TRAVIS === "true";
},
isNetlify() {
return process.env.NETLIFY === "true";
},
};

View File

@@ -5,7 +5,7 @@ const envVars = require("../env");
require("./clean.js");
require("./translations.js");
require("./gen-icons.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./compress.js");
require("./webpack.js");
@@ -21,10 +21,10 @@ gulp.task(
"clean",
gulp.parallel(
"gen-service-worker-dev",
gulp.parallel("gen-icons-app", "gen-icons-mdi"),
"gen-icons-json",
"gen-pages-dev",
"gen-index-app-dev",
gulp.series("create-test-translation", "build-translations")
"build-translations"
),
"copy-static",
"webpack-watch-app"
@@ -38,11 +38,11 @@ gulp.task(
process.env.NODE_ENV = "production";
},
"clean",
gulp.parallel("gen-icons-app", "gen-icons-mdi", "build-translations"),
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static",
"webpack-prod-app",
...// Don't compress running tests
(envVars.isTravis ? [] : ["compress-app"]),
(envVars.isTravis() ? [] : ["compress-app"]),
gulp.parallel(
"gen-pages-prod",
"gen-index-app-prod",

View File

@@ -2,7 +2,6 @@ const gulp = require("gulp");
require("./clean.js");
require("./translations.js");
require("./gen-icons.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
@@ -13,14 +12,11 @@ gulp.task(
gulp.series(
async function setEnv() {
process.env.NODE_ENV = "development";
process.env.IS_CAST = "true";
},
"clean-cast",
gulp.parallel(
"gen-icons-app",
"gen-icons-mdi",
"gen-index-cast-dev",
"build-translations"
),
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-cast",
"webpack-dev-server-cast"
)
@@ -33,7 +29,8 @@ gulp.task(
process.env.NODE_ENV = "production";
},
"clean-cast",
gulp.parallel("gen-icons-app", "gen-icons-mdi", "build-translations"),
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-cast",
"webpack-prod-cast",
"gen-index-cast-prod"

View File

@@ -3,7 +3,7 @@ const gulp = require("gulp");
require("./clean.js");
require("./translations.js");
require("./gen-icons.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
@@ -16,13 +16,8 @@ gulp.task(
process.env.NODE_ENV = "development";
},
"clean-demo",
gulp.parallel(
"gen-icons-app",
"gen-icons-mdi",
"gen-icons-demo",
"gen-index-demo-dev",
"build-translations"
),
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "gen-index-demo-dev", "build-translations"),
"copy-static-demo",
"webpack-dev-server-demo"
)
@@ -35,12 +30,9 @@ gulp.task(
process.env.NODE_ENV = "production";
},
"clean-demo",
gulp.parallel(
"gen-icons-app",
"gen-icons-mdi",
"gen-icons-demo",
"build-translations"
),
// Cast needs to be backwards compatible and older HA has no translations
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-demo",
"webpack-prod-demo",
"gen-index-demo-prod"

View File

@@ -2,7 +2,7 @@ const del = require("del");
const gulp = require("gulp");
const mapStream = require("map-stream");
const inDir = "translations";
const inDir = "translations/frontend";
const downloadDir = inDir + "/downloads";
const tasks = [];
@@ -12,7 +12,7 @@ function hasHtml(data) {
}
function recursiveCheckHasHtml(file, data, errors, recKey) {
Object.keys(data).forEach(function(key) {
Object.keys(data).forEach(function (key) {
if (typeof data[key] === "object") {
const nextRecKey = recKey ? `${recKey}.${key}` : key;
recursiveCheckHasHtml(file, data[key], errors, nextRecKey);
@@ -25,7 +25,7 @@ function recursiveCheckHasHtml(file, data, errors, recKey) {
function checkHtml() {
const errors = [];
return mapStream(function(file, cb) {
return mapStream(function (file, cb) {
const content = file.contents;
let error;
if (content) {
@@ -42,19 +42,19 @@ function checkHtml() {
}
let taskName = "clean-downloaded-translations";
gulp.task(taskName, function() {
gulp.task(taskName, function () {
return del([`${downloadDir}/**`]);
});
tasks.push(taskName);
taskName = "check-translations-html";
gulp.task(taskName, function() {
gulp.task(taskName, function () {
return gulp.src(`${downloadDir}/*.json`).pipe(checkHtml());
});
tasks.push(taskName);
taskName = "move-downloaded-translations";
gulp.task(taskName, function() {
gulp.task(taskName, function () {
return gulp.src(`${downloadDir}/*.json`).pipe(gulp.dest(inDir));
});
tasks.push(taskName);

View File

@@ -47,11 +47,9 @@ gulp.task("gen-pages-dev", (done) => {
for (const page of PAGES) {
const content = renderTemplate(page, {
latestPageJS: `/frontend_latest/${page}.js`,
latestHassIconsJS: "/frontend_latest/hass-icons.js",
es5Compatibility: "/frontend_es5/compatibility.js",
es5PageJS: `/frontend_es5/${page}.js`,
es5HassIconsJS: "/frontend_es5/hass-icons.js",
});
fs.outputFileSync(path.resolve(config.root, `${page}.html`), content);
@@ -66,11 +64,9 @@ gulp.task("gen-pages-prod", (done) => {
for (const page of PAGES) {
const content = renderTemplate(page, {
latestPageJS: latestManifest[`${page}.js`],
latestHassIconsJS: latestManifest["hass-icons.js"],
es5Compatibility: es5Manifest["compatibility.js"],
es5PageJS: es5Manifest[`${page}.js`],
es5HassIconsJS: es5Manifest["hass-icons.js"],
});
fs.outputFileSync(
@@ -88,13 +84,11 @@ gulp.task("gen-index-app-dev", (done) => {
latestAppJS: "/frontend_latest/app.js",
latestCoreJS: "/frontend_latest/core.js",
latestCustomPanelJS: "/frontend_latest/custom-panel.js",
latestHassIconsJS: "/frontend_latest/hass-icons.js",
es5Compatibility: "/frontend_es5/compatibility.js",
es5AppJS: "/frontend_es5/app.js",
es5CoreJS: "/frontend_es5/core.js",
es5CustomPanelJS: "/frontend_es5/custom-panel.js",
es5HassIconsJS: "/frontend_es5/hass-icons.js",
}).replace(/#THEMEC/g, "{{ theme_color }}");
fs.outputFileSync(path.resolve(config.root, "index.html"), content);
@@ -108,13 +102,11 @@ gulp.task("gen-index-app-prod", (done) => {
latestAppJS: latestManifest["app.js"],
latestCoreJS: latestManifest["core.js"],
latestCustomPanelJS: latestManifest["custom-panel.js"],
latestHassIconsJS: latestManifest["hass-icons.js"],
es5Compatibility: es5Manifest["compatibility.js"],
es5AppJS: es5Manifest["app.js"],
es5CoreJS: es5Manifest["core.js"],
es5CustomPanelJS: es5Manifest["custom-panel.js"],
es5HassIconsJS: es5Manifest["hass-icons.js"],
});
const minified = minifyHtml(content).replace(/#THEMEC/g, "{{ theme_color }}");
@@ -222,7 +214,7 @@ gulp.task("gen-index-gallery-dev", (done) => {
// In dev mode we don't mangle names, so we hardcode urls. That way we can
// run webpack as last in watch mode, which blocks output.
const content = renderGalleryTemplate("index", {
latestGalleryJS: "./entrypoint.js",
latestGalleryJS: "./frontend_latest/entrypoint.js",
});
fs.outputFileSync(path.resolve(config.gallery_root, "index.html"), content);

View File

@@ -3,7 +3,7 @@ const gulp = require("gulp");
require("./clean.js");
require("./translations.js");
require("./gen-icons.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
@@ -16,7 +16,8 @@ gulp.task(
process.env.NODE_ENV = "development";
},
"clean-gallery",
gulp.parallel("gen-icons-app", "gen-icons-app", "build-translations"),
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-gallery",
"gen-index-gallery-dev",
"webpack-dev-server-gallery"
@@ -30,7 +31,8 @@ gulp.task(
process.env.NODE_ENV = "production";
},
"clean-gallery",
gulp.parallel("gen-icons-app", "gen-icons-mdi", "build-translations"),
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations"),
"copy-static-gallery",
"webpack-prod-gallery",
"gen-index-gallery-prod"

View File

@@ -26,6 +26,13 @@ function copyTranslations(staticDir) {
);
}
function copyMdiIcons(staticDir) {
const staticPath = genStaticPath(staticDir);
// MDI icons output
fs.copySync(polyPath("build/mdi"), staticPath("mdi"));
}
function copyPolyfills(staticDir) {
const staticPath = genStaticPath(staticDir);
@@ -65,6 +72,12 @@ function copyMapPanel(staticDir) {
);
}
gulp.task("copy-translations", (done) => {
const staticDir = paths.static;
copyTranslations(staticDir);
done();
});
gulp.task("copy-static", (done) => {
const staticDir = paths.static;
const staticPath = genStaticPath(paths.static);
@@ -74,6 +87,7 @@ gulp.task("copy-static", (done) => {
copyPolyfills(staticDir);
copyFonts(staticDir);
copyTranslations(staticDir);
copyMdiIcons(staticDir);
// Panel assets
copyFileDir(
@@ -97,6 +111,7 @@ gulp.task("copy-static-demo", (done) => {
copyMapPanel(paths.demo_static);
copyFonts(paths.demo_static);
copyTranslations(paths.demo_static);
copyMdiIcons(paths.demo_static);
done();
});
@@ -109,6 +124,7 @@ gulp.task("copy-static-cast", (done) => {
copyMapPanel(paths.cast_static);
copyFonts(paths.cast_static);
copyTranslations(paths.cast_static);
copyMdiIcons(paths.cast_static);
done();
});
@@ -121,5 +137,6 @@ gulp.task("copy-static-gallery", (done) => {
copyMapPanel(paths.gallery_static);
copyFonts(paths.gallery_static);
copyTranslations(paths.gallery_static);
copyMdiIcons(paths.gallery_static);
done();
});

View File

@@ -0,0 +1,109 @@
const gulp = require("gulp");
const path = require("path");
const fs = require("fs");
const hash = require("object-hash");
const ICON_PACKAGE_PATH = path.resolve(
__dirname,
"../../node_modules/@mdi/svg/"
);
const META_PATH = path.resolve(ICON_PACKAGE_PATH, "meta.json");
const ICON_PATH = path.resolve(ICON_PACKAGE_PATH, "svg");
const OUTPUT_DIR = path.resolve(__dirname, "../../build/mdi");
const encoding = "utf8";
const getMeta = () => {
const file = fs.readFileSync(META_PATH, { encoding });
const meta = JSON.parse(file);
return meta.map((icon) => {
const svg = fs.readFileSync(`${ICON_PATH}/${icon.name}.svg`, {
encoding,
});
return { path: svg.match(/ d="([^"]+)"/)[1], name: icon.name };
});
};
const splitBySize = (meta) => {
const chunks = [];
const CHUNK_SIZE = 100000;
let curSize = 0;
let startKey;
let icons = [];
Object.values(meta).forEach((icon) => {
if (startKey === undefined) {
startKey = icon.name;
}
curSize += icon.path.length;
icons.push(icon);
if (curSize > CHUNK_SIZE) {
chunks.push({
startKey,
endKey: icon.name,
icons,
});
curSize = 0;
startKey = undefined;
icons = [];
}
});
chunks.push({
startKey,
icons,
});
return chunks;
};
const findDifferentiator = (curString, prevString) => {
for (let i = 0; i < curString.length; i++) {
if (curString[i] !== prevString[i]) {
return curString.substring(0, i + 1);
}
}
console.error("Cannot find differentiator", curString, prevString);
return undefined;
};
gulp.task("gen-icons-json", (done) => {
const meta = getMeta();
const split = splitBySize(meta);
if (!fs.existsSync(OUTPUT_DIR)) {
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
}
const manifest = [];
let lastEnd;
split.forEach((chunk) => {
let startKey;
if (lastEnd === undefined) {
chunk.startKey = undefined;
startKey = undefined;
} else {
startKey = findDifferentiator(chunk.startKey, lastEnd);
}
lastEnd = chunk.endKey;
const output = {};
chunk.icons.forEach((icon) => {
output[icon.name] = icon.path;
});
const filename = hash(output);
manifest.push({ start: startKey, file: filename });
fs.writeFileSync(
path.resolve(OUTPUT_DIR, `${filename}.json`),
JSON.stringify(output)
);
});
fs.writeFileSync(
path.resolve(OUTPUT_DIR, "iconMetadata.json"),
JSON.stringify(manifest)
);
done();
});

View File

@@ -1,140 +0,0 @@
const gulp = require("gulp");
const path = require("path");
const fs = require("fs");
const paths = require("../paths");
const ICON_PACKAGE_PATH = path.resolve(
__dirname,
"../../node_modules/@mdi/svg/"
);
const META_PATH = path.resolve(ICON_PACKAGE_PATH, "meta.json");
const ICON_PATH = path.resolve(ICON_PACKAGE_PATH, "svg");
const OUTPUT_DIR = path.resolve(__dirname, "../../build");
const MDI_OUTPUT_PATH = path.resolve(OUTPUT_DIR, "mdi.html");
const HASS_OUTPUT_PATH = path.resolve(OUTPUT_DIR, "hass-icons.html");
const BUILT_IN_PANEL_ICONS = [
"calendar", // Calendar
"settings", // Config
"home-assistant", // Hass.io
"poll-box", // History panel
"format-list-bulleted-type", // Logbook
"mailbox", // Mailbox
"tooltip-account", // Map
"cart", // Shopping List
"hammer", // developer-tools
];
// Given an icon name, load the SVG file
function loadIcon(name) {
const iconPath = path.resolve(ICON_PATH, `${name}.svg`);
try {
return fs.readFileSync(iconPath, "utf-8");
} catch (err) {
return null;
}
}
// Given an SVG file, convert it to an iron-iconset-svg definition
function transformXMLtoPolymer(name, xml) {
const start = xml.indexOf("><path") + 1;
const end = xml.length - start - 6;
const pth = xml.substr(start, end);
return `<g id="${name}">${pth}</g>`;
}
// Given an iconset name and icon names, generate a polymer iconset
function generateIconset(iconsetName, iconNames) {
const iconDefs = Array.from(iconNames)
.map((name) => {
const iconDef = loadIcon(name);
if (!iconDef) {
throw new Error(`Unknown icon referenced: ${name}`);
}
return transformXMLtoPolymer(name, iconDef);
})
.join("");
return `<ha-iconset-svg name="${iconsetName}" size="24"><svg><defs>${iconDefs}</defs></svg></ha-iconset-svg>`;
}
// Helper function to map recursively over files in a folder and it's subfolders
function mapFiles(startPath, filter, mapFunc) {
const files = fs.readdirSync(startPath);
for (let i = 0; i < files.length; i++) {
const filename = path.join(startPath, files[i]);
const stat = fs.lstatSync(filename);
if (stat.isDirectory()) {
mapFiles(filename, filter, mapFunc);
} else if (filename.indexOf(filter) >= 0) {
mapFunc(filename);
}
}
}
// Find all icons used by the project.
function findIcons(searchPath, iconsetName) {
const iconRegex = new RegExp(`${iconsetName}:[\\w-]+`, "g");
const icons = new Set();
function processFile(filename) {
const content = fs.readFileSync(filename);
let match;
// eslint-disable-next-line
while ((match = iconRegex.exec(content))) {
// strip off "hass:" and add to set
icons.add(match[0].substr(iconsetName.length + 1));
}
}
mapFiles(searchPath, ".js", processFile);
mapFiles(searchPath, ".ts", processFile);
return icons;
}
gulp.task("gen-icons-mdi", (done) => {
const meta = JSON.parse(
fs.readFileSync(path.resolve(ICON_PACKAGE_PATH, META_PATH), "UTF-8")
);
const iconNames = meta.map((iconInfo) => iconInfo.name);
if (!fs.existsSync(OUTPUT_DIR)) {
fs.mkdirSync(OUTPUT_DIR);
}
fs.writeFileSync(MDI_OUTPUT_PATH, generateIconset("mdi", iconNames));
done();
});
gulp.task("gen-icons-app", (done) => {
const iconNames = findIcons("./src", "hass");
BUILT_IN_PANEL_ICONS.forEach((name) => iconNames.add(name));
if (!fs.existsSync(OUTPUT_DIR)) {
fs.mkdirSync(OUTPUT_DIR);
}
fs.writeFileSync(HASS_OUTPUT_PATH, generateIconset("hass", iconNames));
done();
});
gulp.task("gen-icons-demo", (done) => {
const iconNames = findIcons(path.resolve(paths.demo_dir, "./src"), "hademo");
fs.writeFileSync(
path.resolve(paths.demo_dir, "hademo-icons.html"),
generateIconset("hademo", iconNames)
);
done();
});
gulp.task("gen-icons-hassio", (done) => {
const iconNames = findIcons(
path.resolve(paths.hassio_dir, "./src"),
"hassio"
);
// Find hassio icons inside HA main repo.
for (const item of findIcons(
path.resolve(paths.polymer_dir, "./src"),
"hassio"
)) {
iconNames.add(item);
}
fs.writeFileSync(
path.resolve(paths.hassio_dir, "hassio-icons.html"),
generateIconset("hassio", iconNames)
);
done();
});

View File

@@ -3,7 +3,7 @@ const gulp = require("gulp");
const envVars = require("../env");
require("./clean.js");
require("./gen-icons.js");
require("./gen-icons-json.js");
require("./webpack.js");
require("./compress.js");
@@ -14,7 +14,6 @@ gulp.task(
process.env.NODE_ENV = "development";
},
"clean-hassio",
gulp.parallel("gen-icons-hassio", "gen-icons-mdi"),
"webpack-watch-hassio"
)
);
@@ -26,9 +25,8 @@ gulp.task(
process.env.NODE_ENV = "production";
},
"clean-hassio",
gulp.parallel("gen-icons-hassio", "gen-icons-mdi"),
"webpack-prod-hassio",
...// Don't compress running tests
(envVars.isTravis ? [] : ["compress-hassio"])
(envVars.isTravis() ? [] : ["compress-hassio"])
)
);

View File

@@ -1,22 +1,33 @@
const crypto = require("crypto");
const del = require("del");
const path = require("path");
const source = require("vinyl-source-stream");
const vinylBuffer = require("vinyl-buffer");
const gulp = require("gulp");
const fs = require("fs");
const foreach = require("gulp-foreach");
const hash = require("gulp-hash");
const hashFilename = require("gulp-hash-filename");
const merge = require("gulp-merge-json");
const minify = require("gulp-jsonminify");
const rename = require("gulp-rename");
const transform = require("gulp-json-transform");
const { mapFiles } = require("../util");
const env = require("../env");
const paths = require("../paths");
const inDir = "translations";
const inFrontendDir = "translations/frontend";
const inBackendDir = "translations/backend";
const workDir = "build-translations";
const fullDir = workDir + "/full";
const coreDir = workDir + "/core";
const outDir = workDir + "/output";
let mergeBackend = false;
String.prototype.rsplit = function(sep, maxsplit) {
gulp.task("translations-enable-merge-backend", (done) => {
mergeBackend = true;
done();
});
String.prototype.rsplit = function (sep, maxsplit) {
var split = this.split(sep);
return maxsplit
? [split.slice(0, -maxsplit).join(sep)].concat(split.slice(-maxsplit))
@@ -39,11 +50,9 @@ const TRANSLATION_FRAGMENTS = [
"developer-tools",
];
const tasks = [];
function recursiveFlatten(prefix, data) {
let output = {};
Object.keys(data).forEach(function(key) {
Object.keys(data).forEach(function (key) {
if (typeof data[key] === "object") {
output = {
...output,
@@ -105,7 +114,12 @@ function lokaliseTransform(data, original, file) {
output[key] = lokaliseTransform(value, original, file);
} else {
output[key] = value.replace(re_key_reference, (match, key) => {
const replace = key.split("::").reduce((tr, k) => tr[k], original);
const replace = key.split("::").reduce((tr, k) => {
if (!tr) {
throw Error(`Invalid key placeholder ${key} in ${file.path}`);
}
return tr[k];
}, original);
if (typeof replace !== "string") {
throw Error(`Invalid key placeholder ${key} in ${file.path}`);
}
@@ -116,11 +130,9 @@ function lokaliseTransform(data, original, file) {
return output;
}
let taskName = "clean-translations";
gulp.task(taskName, function() {
return del([`${outDir}/**/*.json`]);
gulp.task("clean-translations", function () {
return del([workDir]);
});
tasks.push(taskName);
gulp.task("ensure-translations-build-dir", (done) => {
if (!fs.existsSync(workDir)) {
@@ -129,31 +141,25 @@ gulp.task("ensure-translations-build-dir", (done) => {
done();
});
taskName = "create-test-metadata";
gulp.task(
taskName,
gulp.series("ensure-translations-build-dir", function writeTestMetaData(cb) {
fs.writeFile(
workDir + "/testMetadata.json",
JSON.stringify({
test: {
nativeName: "Test",
},
}),
cb
);
})
);
tasks.push(taskName);
gulp.task("create-test-metadata", function (cb) {
fs.writeFile(
workDir + "/testMetadata.json",
JSON.stringify({
test: {
nativeName: "Test",
},
}),
cb
);
});
taskName = "create-test-translation";
gulp.task(
taskName,
gulp.series("create-test-metadata", function() {
"create-test-translation",
gulp.series("create-test-metadata", function createTestTranslation() {
return gulp
.src("src/translations/en.json")
.src(path.join(paths.translations_src, "en.json"))
.pipe(
transform(function(data, file) {
transform(function (data, file) {
return recursiveEmpty(data);
})
)
@@ -161,7 +167,6 @@ gulp.task(
.pipe(gulp.dest(workDir));
})
);
tasks.push(taskName);
/**
* This task will build a master translation file, to be used as the base for
@@ -172,235 +177,250 @@ tasks.push(taskName);
* project is buildable immediately after merging new translation keys, since
* the Lokalise update to translations/en.json will not happen immediately.
*/
taskName = "build-master-translation";
gulp.task(
taskName,
gulp.series("clean-translations", function() {
return gulp
.src("src/translations/en.json")
.pipe(
transform(function(data, file) {
return lokaliseTransform(data, data, file);
})
)
.pipe(rename("translationMaster.json"))
.pipe(gulp.dest(workDir));
})
);
tasks.push(taskName);
gulp.task("build-master-translation", function () {
const src = [path.join(paths.translations_src, "en.json")];
taskName = "build-merged-translations";
gulp.task(
taskName,
gulp.series("build-master-translation", function() {
return gulp
.src([inDir + "/*.json", workDir + "/test.json"], { allowEmpty: true })
.pipe(
transform(function(data, file) {
return lokaliseTransform(data, data, file);
})
)
.pipe(
foreach(function(stream, file) {
// For each language generate a merged json file. It begins with the master
// translation as a failsafe for untranslated strings, and merges all parent
// tags into one file for each specific subtag
//
// TODO: This is a naive interpretation of BCP47 that should be improved.
// Will be OK for now as long as we don't have anything more complicated
// than a base translation + region.
const tr = path.basename(file.history[0], ".json");
const subtags = tr.split("-");
const src = [workDir + "/translationMaster.json"];
for (let i = 1; i <= subtags.length; i++) {
const lang = subtags.slice(0, i).join("-");
if (lang === "test") {
src.push(workDir + "/test.json");
} else if (lang !== "en") {
src.push(inDir + "/" + lang + ".json");
if (mergeBackend) {
src.push(path.join(inBackendDir, "en.json"));
}
return gulp
.src(src)
.pipe(
transform(function (data, file) {
return lokaliseTransform(data, data, file);
})
)
.pipe(
merge({
fileName: "translationMaster.json",
})
)
.pipe(gulp.dest(workDir));
});
gulp.task("build-merged-translations", function () {
return gulp
.src([inFrontendDir + "/*.json", workDir + "/test.json"], {
allowEmpty: true,
})
.pipe(
transform(function (data, file) {
return lokaliseTransform(data, data, file);
})
)
.pipe(
foreach(function (stream, file) {
// For each language generate a merged json file. It begins with the master
// translation as a failsafe for untranslated strings, and merges all parent
// tags into one file for each specific subtag
//
// TODO: This is a naive interpretation of BCP47 that should be improved.
// Will be OK for now as long as we don't have anything more complicated
// than a base translation + region.
const tr = path.basename(file.history[0], ".json");
const subtags = tr.split("-");
const src = [workDir + "/translationMaster.json"];
for (let i = 1; i <= subtags.length; i++) {
const lang = subtags.slice(0, i).join("-");
if (lang === "test") {
src.push(workDir + "/test.json");
} else if (lang !== "en") {
src.push(inFrontendDir + "/" + lang + ".json");
if (mergeBackend) {
src.push(inBackendDir + "/" + lang + ".json");
}
}
return gulp
.src(src, { allowEmpty: true })
.pipe(transform((data) => emptyFilter(data)))
.pipe(
merge({
fileName: tr + ".json",
})
)
.pipe(gulp.dest(fullDir));
})
);
})
);
tasks.push(taskName);
}
return gulp
.src(src, { allowEmpty: true })
.pipe(transform((data) => emptyFilter(data)))
.pipe(
merge({
fileName: tr + ".json",
})
)
.pipe(gulp.dest(fullDir));
})
);
});
var taskName;
const splitTasks = [];
TRANSLATION_FRAGMENTS.forEach((fragment) => {
taskName = "build-translation-fragment-" + fragment;
gulp.task(
taskName,
gulp.series("build-merged-translations", function() {
// Return only the translations for this fragment.
return gulp
.src(fullDir + "/*.json")
.pipe(
transform((data) => ({
ui: {
panel: {
[fragment]: data.ui.panel[fragment],
},
gulp.task(taskName, function () {
// Return only the translations for this fragment.
return gulp
.src(fullDir + "/*.json")
.pipe(
transform((data) => ({
ui: {
panel: {
[fragment]: data.ui.panel[fragment],
},
}))
)
.pipe(gulp.dest(workDir + "/" + fragment));
})
);
tasks.push(taskName);
},
}))
)
.pipe(gulp.dest(workDir + "/" + fragment));
});
splitTasks.push(taskName);
});
taskName = "build-translation-core";
gulp.task(
taskName,
gulp.series("build-merged-translations", function() {
// Remove the fragment translations from the core translation.
return gulp
.src(fullDir + "/*.json")
.pipe(
transform((data) => {
TRANSLATION_FRAGMENTS.forEach((fragment) => {
delete data.ui.panel[fragment];
});
return data;
})
)
.pipe(gulp.dest(coreDir));
})
);
tasks.push(taskName);
gulp.task(taskName, function () {
// Remove the fragment translations from the core translation.
return gulp
.src(fullDir + "/*.json")
.pipe(
transform((data, file) => {
// HACK to pull in old state translations for cast
if (process.env.IS_CAST) {
const legacyTranslationsPath = path.join(
"cast/src/translations",
file.relative
);
if (fs.existsSync(legacyTranslationsPath)) {
const legacyStrings = JSON.parse(
fs.readFileSync(legacyTranslationsPath, "utf-8")
);
// These 2 translations still exist today.
if (legacyStrings.state && "default" in legacyStrings.state) {
legacyStrings.default.unknown = data.state.default.unknown;
legacyStrings.default.unavailable =
data.state.default.unavailable;
}
data.state = legacyStrings.state;
}
}
TRANSLATION_FRAGMENTS.forEach((fragment) => {
delete data.ui.panel[fragment];
});
return data;
})
)
.pipe(gulp.dest(coreDir));
});
splitTasks.push(taskName);
taskName = "build-flattened-translations";
gulp.task(
taskName,
gulp.series(...splitTasks, function() {
// Flatten the split versions of our translations, and move them into outDir
return gulp
.src(
TRANSLATION_FRAGMENTS.map(
(fragment) => workDir + "/" + fragment + "/*.json"
).concat(coreDir + "/*.json"),
{ base: workDir }
)
.pipe(
transform(function(data) {
// Polymer.AppLocalizeBehavior requires flattened json
return flatten(data);
})
)
.pipe(minify())
.pipe(hashFilename())
.pipe(
rename((filePath) => {
if (filePath.dirname === "core") {
filePath.dirname = "";
}
})
)
.pipe(gulp.dest(outDir));
})
);
tasks.push(taskName);
gulp.task("build-flattened-translations", function () {
// Flatten the split versions of our translations, and move them into outDir
return gulp
.src(
TRANSLATION_FRAGMENTS.map(
(fragment) => workDir + "/" + fragment + "/*.json"
).concat(coreDir + "/*.json"),
{ base: workDir }
)
.pipe(
transform(function (data) {
// Polymer.AppLocalizeBehavior requires flattened json
return flatten(data);
})
)
.pipe(minify())
.pipe(
rename((filePath) => {
if (filePath.dirname === "core") {
filePath.dirname = "";
}
})
)
.pipe(gulp.dest(outDir));
});
taskName = "build-translation-fingerprints";
gulp.task(
taskName,
gulp.series("build-flattened-translations", function() {
return gulp
.src(outDir + "/**/*.json")
.pipe(
rename({
extname: "",
})
)
.pipe(
hash({
algorithm: "md5",
hashLength: 32,
template: "<%= name %>.json",
})
)
.pipe(hash.manifest("translationFingerprints.json"))
.pipe(
transform(function(data) {
// After generating fingerprints of our translation files, consolidate
// all translation fragment fingerprints under the translation name key
const newData = {};
Object.entries(data).forEach(([key, value]) => {
const [path, _md5] = key.rsplit("-", 1);
// let translation = key;
let translation = path;
const parts = translation.split("/");
if (parts.length === 2) {
translation = parts[1];
}
if (!(translation in newData)) {
newData[translation] = {
fingerprints: {},
};
}
newData[translation].fingerprints[path] = value;
});
return newData;
})
)
.pipe(gulp.dest(workDir));
})
);
tasks.push(taskName);
const fingerprints = {};
taskName = "build-translations";
gulp.task(
taskName,
gulp.series("build-translation-fingerprints", function() {
return gulp
.src(
[
"src/translations/translationMetadata.json",
workDir + "/testMetadata.json",
workDir + "/translationFingerprints.json",
],
{ allowEmpty: true }
)
.pipe(merge({}))
.pipe(
transform(function(data) {
const newData = {};
Object.entries(data).forEach(([key, value]) => {
// Filter out translations without native name.
if (data[key].nativeName) {
newData[key] = data[key];
} else {
console.warn(
`Skipping language ${key}. Native name was not translated.`
);
}
if (data[key]) newData[key] = value;
});
return newData;
})
)
.pipe(
transform((data) => ({
fragments: TRANSLATION_FRAGMENTS,
translations: data,
}))
)
.pipe(rename("translationMetadata.json"))
.pipe(gulp.dest(workDir));
})
);
tasks.push(taskName);
"build-translation-fingerprints",
function fingerprintTranslationFiles() {
// Fingerprint full file of each language
const files = fs.readdirSync(fullDir);
module.exports = tasks;
for (let i = 0; i < files.length; i++) {
fingerprints[files[i].split(".")[0]] = {
// In dev we create fake hashes
hash: env.isProdBuild()
? crypto
.createHash("md5")
.update(fs.readFileSync(path.join(fullDir, files[i]), "utf-8"))
.digest("hex")
: "dev",
};
}
mapFiles(outDir, ".json", (filename) => {
const parsed = path.parse(filename);
// nl.json -> nl-<hash>.json
if (!(parsed.name in fingerprints)) {
throw new Error(`Unable to find hash for ${filename}`);
}
fs.renameSync(
filename,
`${parsed.dir}/${parsed.name}-${fingerprints[parsed.name].hash}${
parsed.ext
}`
);
});
const stream = source("translationFingerprints.json");
stream.write(JSON.stringify(fingerprints));
process.nextTick(() => stream.end());
return stream.pipe(vinylBuffer()).pipe(gulp.dest(workDir));
}
);
gulp.task(
"build-translations",
gulp.series(
"clean-translations",
"ensure-translations-build-dir",
env.isProdBuild() ? (done) => done() : "create-test-translation",
"build-master-translation",
"build-merged-translations",
gulp.parallel(...splitTasks),
"build-flattened-translations",
"build-translation-fingerprints",
function writeMetadata() {
return gulp
.src(
[
path.join(paths.translations_src, "translationMetadata.json"),
workDir + "/testMetadata.json",
workDir + "/translationFingerprints.json",
],
{ allowEmpty: true }
)
.pipe(merge({}))
.pipe(
transform(function (data) {
const newData = {};
Object.entries(data).forEach(([key, value]) => {
// Filter out translations without native name.
if (data[key].nativeName) {
newData[key] = data[key];
} else {
console.warn(
`Skipping language ${key}. Native name was not translated.`
);
}
if (data[key]) newData[key] = value;
});
return newData;
})
)
.pipe(
transform((data) => ({
fragments: TRANSLATION_FRAGMENTS,
translations: data,
}))
)
.pipe(rename("translationMetadata.json"))
.pipe(gulp.dest(workDir));
}
)
);

View File

@@ -3,6 +3,7 @@ const gulp = require("gulp");
const webpack = require("webpack");
const WebpackDevServer = require("webpack-dev-server");
const log = require("fancy-log");
const path = require("path");
const paths = require("../paths");
const {
createAppConfig,
@@ -27,7 +28,7 @@ const runDevServer = ({
open: true,
watchContentBase: true,
contentBase,
}).listen(port, listenHost, function(err) {
}).listen(port, listenHost, function (err) {
if (err) {
throw err;
}
@@ -57,10 +58,14 @@ const handler = (done) => (err, stats) => {
gulp.task("webpack-watch-app", () => {
// we are not calling done, so this command will run forever
webpack(bothBuilds(createAppConfig, { isProdBuild: false })).watch(
{},
webpack(createAppConfig({ isProdBuild: false, latestBuild: true })).watch(
{ ignored: /build-translations/ },
handler()
);
gulp.watch(
path.join(paths.translations_src, "en.json"),
gulp.series("build-translations", "copy-translations")
);
});
gulp.task(
@@ -145,9 +150,8 @@ gulp.task(
gulp.task("webpack-dev-server-gallery", () => {
runDevServer({
compiler: webpack(
createGalleryConfig({ latestBuild: true, isProdBuild: false })
),
// We don't use the es5 build, but the dev server will fuck up the publicPath if we don't
compiler: webpack(bothBuilds(createGalleryConfig, { isProdBuild: false })),
contentBase: paths.gallery_root,
port: 8100,
});

View File

@@ -29,4 +29,6 @@ module.exports = {
hassio_dir: path.resolve(__dirname, "../hassio"),
hassio_root: path.resolve(__dirname, "../hassio/build"),
hassio_publicPath: "/api/hassio/app/",
translations_src: path.resolve(__dirname, "../src/translations"),
};

16
build-scripts/util.js Normal file
View File

@@ -0,0 +1,16 @@
const path = require("path");
const fs = require("fs");
// Helper function to map recursively over files in a folder and it's subfolders
module.exports.mapFiles = function mapFiles(startPath, filter, mapFunc) {
const files = fs.readdirSync(startPath);
for (let i = 0; i < files.length; i++) {
const filename = path.join(startPath, files[i]);
const stat = fs.lstatSync(filename);
if (stat.isDirectory()) {
mapFiles(filename, filter, mapFunc);
} else if (filename.indexOf(filter) >= 0) {
mapFunc(filename);
}
}
};

View File

@@ -22,7 +22,11 @@ const createWebpackConfig = ({
isProdBuild,
latestBuild,
isStatsBuild,
dontHash,
}) => {
if (!dontHash) {
dontHash = new Set();
}
return {
mode: isProdBuild ? "production" : "development",
devtool: isProdBuild ? "source-map" : "inline-cheap-module-source-map",
@@ -45,6 +49,9 @@ const createWebpackConfig = ({
},
],
},
externals: {
esprima: "esprima",
},
optimization: {
minimizer: [
new TerserPlugin({
@@ -66,6 +73,7 @@ const createWebpackConfig = ({
__BUILD__: JSON.stringify(latestBuild ? "latest" : "es5"),
__VERSION__: JSON.stringify(version),
__DEMO__: false,
__BACKWARDS_COMPAT__: false,
__STATIC_PATH__: "/static/",
"process.env.NODE_ENV": JSON.stringify(
isProdBuild ? "production" : "development"
@@ -91,7 +99,7 @@ const createWebpackConfig = ({
),
].filter(Boolean),
resolve: {
extensions: [".ts", ".js", ".json", ".tsx"],
extensions: [".ts", ".js", ".json"],
alias: {
react: "preact-compat",
"react-dom": "preact-compat",
@@ -103,8 +111,6 @@ const createWebpackConfig = ({
},
output: {
filename: ({ chunk }) => {
const dontHash = new Set();
if (!isProdBuild || dontHash.has(chunk.name)) {
return `${chunk.name}.js`;
}
@@ -134,7 +140,6 @@ const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
core: "./src/entrypoints/core.ts",
compatibility: "./src/entrypoints/compatibility.ts",
"custom-panel": "./src/entrypoints/custom-panel.ts",
"hass-icons": "./src/entrypoints/hass-icons.ts",
},
outputRoot: paths.root,
isProdBuild,
@@ -146,11 +151,17 @@ const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => {
// Create an object mapping browser urls to their paths during build
const translationMetadata = require("../build-translations/translationMetadata.json");
const workBoxTranslationsTemplatedURLs = {};
const englishFP = translationMetadata.translations.en.fingerprints;
Object.keys(englishFP).forEach((key) => {
const englishFilename = `en-${translationMetadata.translations.en.hash}.json`;
// core
workBoxTranslationsTemplatedURLs[
`/static/translations/${englishFilename}`
] = `build-translations/output/${englishFilename}`;
translationMetadata.fragments.forEach((fragment) => {
workBoxTranslationsTemplatedURLs[
`/static/translations/${englishFP[key]}`
] = `build-translations/output/${key}.json`;
`/static/translations/${fragment}/${englishFilename}`
] = `build-translations/output/${fragment}/${englishFilename}`;
});
config.plugins.push(
@@ -213,6 +224,9 @@ const createCastConfig = ({ isProdBuild, latestBuild }) => {
outputRoot: paths.cast_root,
isProdBuild,
latestBuild,
defineOverlay: {
__BACKWARDS_COMPAT__: true,
},
});
};
@@ -222,11 +236,12 @@ const createHassioConfig = ({ isProdBuild, latestBuild }) => {
}
const config = createWebpackConfig({
entry: {
entrypoint: path.resolve(paths.hassio_dir, "src/entrypoint.js"),
entrypoint: path.resolve(paths.hassio_dir, "src/entrypoint.ts"),
},
outputRoot: "",
isProdBuild,
latestBuild,
dontHash: new Set(["entrypoint"]),
});
config.output.path = paths.hassio_root;
@@ -236,9 +251,6 @@ const createHassioConfig = ({ isProdBuild, latestBuild }) => {
};
const createGalleryConfig = ({ isProdBuild, latestBuild }) => {
if (!latestBuild) {
throw new Error("Gallery only supports latest build!");
}
const config = createWebpackConfig({
entry: {
entrypoint: path.resolve(paths.gallery_dir, "src/entrypoint.js"),

View File

@@ -1,5 +1,3 @@
import "../../../src/resources/ha-style";
import "../../../src/resources/roboto";
import "../../../src/components/ha-iconset-svg";
import "../../../src/resources/hass-icons";
import "./layout/hc-connect";

View File

@@ -1,49 +1,53 @@
import "@polymer/paper-item/paper-icon-item";
import "@polymer/paper-listbox/paper-listbox";
import { Auth, Connection } from "home-assistant-js-websocket";
import {
css,
CSSResult,
customElement,
html,
LitElement,
property,
TemplateResult,
html,
CSSResult,
css,
} from "lit-element";
import { Connection, Auth } from "home-assistant-js-websocket";
import "@polymer/iron-icon";
import "@polymer/paper-listbox/paper-listbox";
import "@polymer/paper-item/paper-icon-item";
import "../../../../src/components/ha-icon";
import {
enableWrite,
askWrite,
saveTokens,
} from "../../../../src/common/auth/token_storage";
import {
ensureConnectedCastSession,
castSendShowLovelaceView,
} from "../../../../src/cast/receiver_messages";
import "../../../../src/layouts/loading-screen";
import { CastManager } from "../../../../src/cast/cast_manager";
import {
LovelaceConfig,
getLovelaceCollection,
} from "../../../../src/data/lovelace";
import "./hc-layout";
import { generateDefaultViewConfig } from "../../../../src/panels/lovelace/common/generate-lovelace-config";
castSendShowLovelaceView,
ensureConnectedCastSession,
} from "../../../../src/cast/receiver_messages";
import {
askWrite,
enableWrite,
saveTokens,
} from "../../../../src/common/auth/token_storage";
import { atLeastVersion } from "../../../../src/common/config/version";
import { toggleAttribute } from "../../../../src/common/dom/toggle_attribute";
import "../../../../src/components/ha-icon";
import {
getLegacyLovelaceCollection,
getLovelaceCollection,
LovelaceConfig,
} from "../../../../src/data/lovelace";
import "../../../../src/layouts/loading-screen";
import { generateDefaultViewConfig } from "../../../../src/panels/lovelace/common/generate-lovelace-config";
import "./hc-layout";
import "@material/mwc-button/mwc-button";
@customElement("hc-cast")
class HcCast extends LitElement {
@property() public auth!: Auth;
@property() public connection!: Connection;
@property() public castManager!: CastManager;
@property() private askWrite = false;
@property() private lovelaceConfig?: LovelaceConfig | null;
protected render(): TemplateResult | void {
protected render(): TemplateResult {
if (this.lovelaceConfig === undefined) {
return html`
<loading-screen></loading-screen>>
`;
return html` <loading-screen></loading-screen>> `;
}
const error =
@@ -73,14 +77,12 @@ class HcCast extends LitElement {
`
: ""}
${error
? html`
<div class="card-content">${error}</div>
`
? html` <div class="card-content">${error}</div> `
: !this.castManager.status
? html`
<p class="center-item">
<mwc-button raised @click=${this._handleLaunch}>
<iron-icon icon="hass:cast"></iron-icon>
<ha-icon icon="hass:cast"></ha-icon>
Start Casting
</mwc-button>
</p>
@@ -118,7 +120,7 @@ class HcCast extends LitElement {
${this.castManager.status
? html`
<mwc-button @click=${this._handleLaunch}>
<iron-icon icon="hass:cast-connected"></iron-icon>
<ha-icon icon="hass:cast-connected"></ha-icon>
Manage
</mwc-button>
`
@@ -133,7 +135,9 @@ class HcCast extends LitElement {
protected firstUpdated(changedProps) {
super.firstUpdated(changedProps);
const llColl = getLovelaceCollection(this.connection);
const llColl = atLeastVersion(this.connection.haVersion, 0, 107)
? getLovelaceCollection(this.connection)
: getLegacyLovelaceCollection(this.connection);
// We first do a single refresh because we need to check if there is LL
// configuration.
llColl.refresh().then(
@@ -238,7 +242,7 @@ class HcCast extends LitElement {
color: var(--secondary-text-color);
}
mwc-button iron-icon {
mwc-button ha-icon {
margin-right: 8px;
height: 18px;
}

View File

@@ -1,35 +1,35 @@
import {
LitElement,
customElement,
property,
TemplateResult,
html,
CSSResult,
css,
} from "lit-element";
import {
getAuth,
createConnection,
Auth,
getAuthOptions,
ERR_HASS_HOST_REQUIRED,
ERR_INVALID_HTTPS_TO_HTTP,
Connection,
ERR_CANNOT_CONNECT,
ERR_INVALID_AUTH,
} from "home-assistant-js-websocket";
import "@polymer/iron-icon";
import "@material/mwc-button";
import "@polymer/paper-input/paper-input";
import {
Auth,
Connection,
createConnection,
ERR_CANNOT_CONNECT,
ERR_HASS_HOST_REQUIRED,
ERR_INVALID_AUTH,
ERR_INVALID_HTTPS_TO_HTTP,
getAuth,
getAuthOptions,
} from "home-assistant-js-websocket";
import {
css,
CSSResult,
customElement,
html,
LitElement,
property,
TemplateResult,
} from "lit-element";
import { CastManager, getCastManager } from "../../../../src/cast/cast_manager";
import { castSendShowDemo } from "../../../../src/cast/receiver_messages";
import {
loadTokens,
saveTokens,
} from "../../../../src/common/auth/token_storage";
import "../../../../src/components/ha-icon";
import "../../../../src/layouts/loading-screen";
import { CastManager, getCastManager } from "../../../../src/cast/cast_manager";
import "./hc-layout";
import { castSendShowDemo } from "../../../../src/cast/receiver_messages";
import { registerServiceWorker } from "../../../../src/util/register-service-worker";
import "./hc-layout";
const seeFAQ = (qid) => html`
See <a href="./faq.html${qid ? `#${qid}` : ""}">the FAQ</a> for more
@@ -61,16 +61,22 @@ const INTRO = html`
@customElement("hc-connect")
export class HcConnect extends LitElement {
@property() private loading = false;
// If we had stored credentials but we cannot connect,
// show a screen asking retry or logout.
@property() private cannotConnect = false;
@property() private error?: string | TemplateResult;
@property() private auth?: Auth;
@property() private connection?: Connection;
@property() private castManager?: CastManager | null;
private openDemo = false;
protected render(): TemplateResult | void {
protected render(): TemplateResult {
if (this.cannotConnect) {
const tokens = loadTokens();
return html`
@@ -92,9 +98,7 @@ export class HcConnect extends LitElement {
}
if (this.castManager === undefined || this.loading) {
return html`
<loading-screen></loading-screen>
`;
return html` <loading-screen></loading-screen> `;
}
if (this.castManager === null) {
@@ -127,20 +131,16 @@ export class HcConnect extends LitElement {
@keydown=${this._handleInputKeyDown}
></paper-input>
</p>
${this.error
? html`
<p class="error">${this.error}</p>
`
: ""}
${this.error ? html` <p class="error">${this.error}</p> ` : ""}
</div>
<div class="card-actions">
<mwc-button @click=${this._handleDemo}>
Show Demo
<iron-icon
<ha-icon
.icon=${this.castManager.castState === "CONNECTED"
? "hass:cast-connected"
: "hass:cast"}
></iron-icon>
></ha-icon>
</mwc-button>
<div class="spacer"></div>
<mwc-button @click=${this._handleConnect}>Authorize</mwc-button>
@@ -211,7 +211,8 @@ export class HcConnect extends LitElement {
if (value === "") {
this.error = "Please enter a Home Assistant URL.";
return;
} else if (value.indexOf("://") === -1) {
}
if (value.indexOf("://") === -1) {
this.error =
"Please enter your full URL, including the protocol part (https://).";
return;
@@ -315,7 +316,7 @@ export class HcConnect extends LitElement {
color: darkred;
}
mwc-button iron-icon {
mwc-button ha-icon {
margin-left: 8px;
}

View File

@@ -1,28 +1,31 @@
import {
customElement,
LitElement,
TemplateResult,
html,
CSSResult,
css,
property,
} from "lit-element";
import {
Auth,
Connection,
HassUser,
getUser,
HassUser,
} from "home-assistant-js-websocket";
import {
css,
CSSResult,
customElement,
html,
LitElement,
property,
TemplateResult,
} from "lit-element";
import "../../../../src/components/ha-card";
@customElement("hc-layout")
class HcLayout extends LitElement {
@property() public subtitle?: string | undefined;
@property() public auth?: Auth;
@property() public connection?: Connection;
@property() public user?: HassUser;
protected render(): TemplateResult | void {
protected render(): TemplateResult {
return html`
<ha-card>
<div class="layout">
@@ -37,11 +40,7 @@ class HcLayout extends LitElement {
this.auth.data.hassUrl.indexOf("//") + 2
)}</a
>
${this.user
? html`
${this.user.name}
`
: ""}
${this.user ? html` ${this.user.name} ` : ""}
</div>
`
: ""}
@@ -50,13 +49,12 @@ class HcLayout extends LitElement {
</div>
</ha-card>
<div class="footer">
<a href="./faq.html">Frequently Asked Questions</a> Found a bug? Let
@balloob know
<!-- <a
<a href="./faq.html">Frequently Asked Questions</a> Found a bug?
<a
href="https://github.com/home-assistant/home-assistant-polymer/issues"
target="_blank"
>Let us know!</a
> -->
>
</div>
`;
}

View File

@@ -1 +1,2 @@
/* eslint-disable no-undef */
export const castContext = cast.framework.CastReceiverContext.getInstance();

View File

@@ -1,4 +1,4 @@
import { Entity, convertEntities } from "../../../../src/fake_data/entity";
import { convertEntities, Entity } from "../../../../src/fake_data/entity";
export const castDemoEntities: () => Entity[] = () =>
convertEntities({

View File

@@ -1,6 +1,6 @@
import {
LovelaceConfig,
LovelaceCardConfig,
LovelaceConfig,
} from "../../../../src/data/lovelace";
import { castContext } from "../cast_context";

View File

@@ -1,9 +1,10 @@
/* eslint-disable no-undef */
import { CAST_NS } from "../../../src/cast/const";
import { HassMessage } from "../../../src/cast/receiver_messages";
import "../../../src/resources/custom-card-support";
import { castContext } from "./cast_context";
import { ReceivedMessage } from "./types";
import { HassMessage } from "../../../src/cast/receiver_messages";
import { HcMain } from "./layout/hc-main";
import { CAST_NS } from "../../../src/cast/const";
import { ReceivedMessage } from "./types";
const controller = new HcMain();
document.body.append(controller);

View File

@@ -1,22 +1,23 @@
import { HassElement } from "../../../../src/state/hass-element";
import "./hc-lovelace";
import { customElement, TemplateResult, html, property } from "lit-element";
import { customElement, html, property, TemplateResult } from "lit-element";
import { mockHistory } from "../../../../demo/src/stubs/history";
import { LovelaceConfig } from "../../../../src/data/lovelace";
import {
MockHomeAssistant,
provideHass,
} from "../../../../src/fake_data/provide_hass";
import { HassElement } from "../../../../src/state/hass-element";
import { HomeAssistant } from "../../../../src/types";
import { LovelaceConfig } from "../../../../src/data/lovelace";
import { castDemoEntities } from "../demo/cast-demo-entities";
import { castDemoLovelace } from "../demo/cast-demo-lovelace";
import { mockHistory } from "../../../../demo/src/stubs/history";
import "./hc-lovelace";
@customElement("hc-demo")
class HcDemo extends HassElement {
@property() public lovelacePath!: string;
@property() private _lovelaceConfig?: LovelaceConfig;
protected render(): TemplateResult | void {
protected render(): TemplateResult {
if (!this._lovelaceConfig) {
return html``;
}
@@ -28,6 +29,7 @@ class HcDemo extends HassElement {
></hc-lovelace>
`;
}
protected firstUpdated(changedProps) {
super.firstUpdated(changedProps);
this._initialize();

View File

@@ -1,20 +1,21 @@
import {
LitElement,
TemplateResult,
html,
customElement,
CSSResult,
css,
CSSResult,
customElement,
html,
LitElement,
property,
TemplateResult,
} from "lit-element";
import { HomeAssistant } from "../../../../src/types";
@customElement("hc-launch-screen")
class HcLaunchScreen extends LitElement {
@property() public hass?: HomeAssistant;
@property() public error?: string;
protected render(): TemplateResult | void {
protected render(): TemplateResult {
return html`
<div class="container">
<img
@@ -22,11 +23,7 @@ class HcLaunchScreen extends LitElement {
/>
<div class="status">
${this.hass ? "Connected" : "Not Connected"}
${this.error
? html`
<p>Error: ${this.error}</p>
`
: ""}
${this.error ? html` <p>Error: ${this.error}</p> ` : ""}
</div>
</div>
`;

View File

@@ -1,17 +1,17 @@
import {
LitElement,
TemplateResult,
html,
customElement,
CSSResult,
css,
CSSResult,
customElement,
html,
LitElement,
property,
TemplateResult,
} from "lit-element";
import { LovelaceConfig } from "../../../../src/data/lovelace";
import "../../../../src/panels/lovelace/views/hui-view";
import "../../../../src/panels/lovelace/views/hui-panel-view";
import { HomeAssistant } from "../../../../src/types";
import { Lovelace } from "../../../../src/panels/lovelace/types";
import "../../../../src/panels/lovelace/views/hui-panel-view";
import "../../../../src/panels/lovelace/views/hui-view";
import { HomeAssistant } from "../../../../src/types";
import "./hc-launch-screen";
@customElement("hc-lovelace")
@@ -22,7 +22,7 @@ class HcLovelace extends LitElement {
@property() public viewPath?: string | number;
protected render(): TemplateResult | void {
protected render(): TemplateResult {
const index = this._viewIndex;
if (index === undefined) {
return html`
@@ -39,12 +39,14 @@ class HcLovelace extends LitElement {
mode: "storage",
language: "en",
saveConfig: async () => undefined,
deleteConfig: async () => undefined,
setEditMode: () => undefined,
};
return this.lovelaceConfig.views[index].panel
? html`
<hui-panel-view
.hass=${this.hass}
.lovelace=${lovelace}
.config=${this.lovelaceConfig.views[index]}
></hui-panel-view>
`

View File

@@ -1,27 +1,33 @@
import {
getAuth,
createConnection,
getAuth,
UnsubscribeFunc,
} from "home-assistant-js-websocket";
import { customElement, TemplateResult, html, property } from "lit-element";
import { HassElement } from "../../../../src/state/hass-element";
import {
HassMessage,
ConnectMessage,
ShowLovelaceViewMessage,
GetStatusMessage,
ShowDemoMessage,
} from "../../../../src/cast/receiver_messages";
import {
LovelaceConfig,
getLovelaceCollection,
} from "../../../../src/data/lovelace";
import "./hc-launch-screen";
import { castContext } from "../cast_context";
import { customElement, html, property, TemplateResult } from "lit-element";
import { CAST_NS } from "../../../../src/cast/const";
import {
ConnectMessage,
GetStatusMessage,
HassMessage,
ShowDemoMessage,
ShowLovelaceViewMessage,
} from "../../../../src/cast/receiver_messages";
import { ReceiverStatusMessage } from "../../../../src/cast/sender_messages";
import { loadLovelaceResources } from "../../../../src/panels/lovelace/common/load-resources";
import { atLeastVersion } from "../../../../src/common/config/version";
import { isNavigationClick } from "../../../../src/common/dom/is-navigation-click";
import {
fetchResources,
getLegacyLovelaceCollection,
getLovelaceCollection,
LegacyLovelaceConfig,
LovelaceConfig,
} from "../../../../src/data/lovelace";
import { loadLovelaceResources } from "../../../../src/panels/lovelace/common/load-resources";
import { HassElement } from "../../../../src/state/hass-element";
import { castContext } from "../cast_context";
import "./hc-launch-screen";
let resourcesLoaded = false;
@customElement("hc-main")
export class HcMain extends HassElement {
@@ -35,6 +41,8 @@ export class HcMain extends HassElement {
private _unsubLovelace?: UnsubscribeFunc;
private _urlPath?: string | null;
public processIncomingMessage(msg: HassMessage) {
if (msg.type === "connect") {
this._handleConnectMessage(msg);
@@ -45,16 +53,14 @@ export class HcMain extends HassElement {
} else if (msg.type === "show_demo") {
this._handleShowDemo(msg);
} else {
// tslint:disable-next-line: no-console
// eslint-disable-next-line no-console
console.warn("unknown msg type", msg);
}
}
protected render(): TemplateResult | void {
protected render(): TemplateResult {
if (this._showDemo) {
return html`
<hc-demo .lovelacePath=${this._lovelacePath}></hc-demo>
`;
return html` <hc-demo .lovelacePath=${this._lovelacePath}></hc-demo> `;
}
if (
@@ -108,6 +114,7 @@ export class HcMain extends HassElement {
if (this.hass) {
status.hassUrl = this.hass.auth.data.hassUrl;
status.lovelacePath = this._lovelacePath!;
status.urlPath = this._urlPath;
}
if (senderId) {
@@ -163,8 +170,17 @@ export class HcMain extends HassElement {
this._error = "Cannot show Lovelace because we're not connected.";
return;
}
if (!this._unsubLovelace) {
const llColl = getLovelaceCollection(this.hass!.connection);
if (!this._unsubLovelace || this._urlPath !== msg.urlPath) {
if (msg.urlPath === "lovelace") {
msg.urlPath = null;
}
this._urlPath = msg.urlPath;
if (this._unsubLovelace) {
this._unsubLovelace();
}
const llColl = atLeastVersion(this.hass.connection.haVersion, 0, 107)
? getLovelaceCollection(this.hass!.connection, msg.urlPath)
: getLegacyLovelaceCollection(this.hass!.connection);
// We first do a single refresh because we need to check if there is LL
// configuration.
try {
@@ -175,14 +191,23 @@ export class HcMain extends HassElement {
} catch (err) {
// Generate a Lovelace config.
this._unsubLovelace = () => undefined;
const {
generateLovelaceConfigFromHass,
} = await import("../../../../src/panels/lovelace/common/generate-lovelace-config");
const { generateLovelaceConfigFromHass } = await import(
"../../../../src/panels/lovelace/common/generate-lovelace-config"
);
this._handleNewLovelaceConfig(
await generateLovelaceConfigFromHass(this.hass!)
);
}
}
if (!resourcesLoaded) {
resourcesLoaded = true;
const resources = atLeastVersion(this.hass.connection.haVersion, 0, 107)
? await fetchResources(this.hass!.connection)
: (this._lovelaceConfig as LegacyLovelaceConfig).resources;
if (resources) {
loadLovelaceResources(resources, this.hass!.auth.data.hassUrl);
}
}
this._showDemo = false;
this._lovelacePath = msg.viewPath;
if (castContext.getDeviceCapabilities().touch_input_supported) {
@@ -194,12 +219,6 @@ export class HcMain extends HassElement {
private _handleNewLovelaceConfig(lovelaceConfig: LovelaceConfig) {
castContext.setApplicationState(lovelaceConfig.title!);
this._lovelaceConfig = lovelaceConfig;
if (lovelaceConfig.resources) {
loadLovelaceResources(
lovelaceConfig.resources,
this.hass!.auth.data.hassUrl
);
}
}
private _handleShowDemo(_msg: ShowDemoMessage) {

View File

@@ -1,5 +1,3 @@
import "web-animations-js/web-animations-next-lite.min";
import "../../../src/resources/hass-icons";
import "../../../src/resources/roboto";
import "../../../src/components/ha-iconset-svg";
import "./layout/hc-lovelace";

View File

@@ -0,0 +1,254 @@
{
"state": {
"alarm_control_panel": {
"armed": "Gewapen",
"armed_away": "Gewapend weg",
"armed_custom_bypass": "Gewapende pasgemaakte omseil",
"armed_home": "Gewapend tuis",
"armed_night": "Gewapend nag",
"arming": "Bewapen Tans",
"disarmed": "Ontwapen",
"disarming": "Ontwapen Tans",
"pending": "Hangende",
"triggered": "Geaktiveer"
},
"automation": {
"off": "Af",
"on": "Aan"
},
"binary_sensor": {
"battery": {
"off": "Normaal",
"on": "Laag"
},
"cold": {
"off": "Normaal",
"on": "Koud"
},
"connectivity": {
"off": "Ontkoppel",
"on": "Gekoppel"
},
"default": {
"off": "Af",
"on": "Aan"
},
"door": {
"off": "Toe",
"on": "Oop"
},
"garage_door": {
"off": "Toe",
"on": "Oop"
},
"gas": {
"off": "Ongemerk",
"on": "Bespeur"
},
"heat": {
"off": "Normaal",
"on": "Warm"
},
"lock": {
"off": "Gesluit",
"on": "Oopgesluit"
},
"moisture": {
"off": "Droog",
"on": "Nat"
},
"motion": {
"off": "Ongemerk",
"on": "Bespeur"
},
"occupancy": {
"off": "Ongemerk",
"on": "Bespeur"
},
"opening": {
"off": "Toe",
"on": "Oop"
},
"presence": {
"off": "Elders",
"on": "Tuis"
},
"problem": {
"off": "OK",
"on": "Probleem"
},
"safety": {
"off": "Veilige",
"on": "Onveilige"
},
"smoke": {
"off": "Ongemerk",
"on": "Bespeur"
},
"sound": {
"off": "Ongemerk",
"on": "Bespeur"
},
"vibration": {
"off": "Ongemerk",
"on": "Bespeur"
},
"window": {
"off": "Toe",
"on": "Oop"
}
},
"calendar": {
"off": "Af",
"on": "Aan"
},
"camera": {
"idle": "Onaktief",
"recording": "Opname",
"streaming": "Stroming"
},
"climate": {
"auto": "Outo",
"cool": "Koel",
"dry": "Droog",
"fan_only": "Slegs waaier",
"heat": "Hitte",
"heat_cool": "Verhit/Verkoel",
"off": "Af"
},
"configurator": {
"configure": "Stel op",
"configured": "Opgestel"
},
"cover": {
"closed": "Toe",
"closing": "Sluiting",
"open": "Oop",
"opening": "Opening",
"stopped": "Gestop"
},
"default": {
"off": "Af",
"on": "Aan",
"unavailable": "Nie beskikbaar nie",
"unknown": "Onbekend"
},
"device_tracker": {
"home": "Tuis",
"not_home": "Elders"
},
"fan": {
"off": "Af",
"on": "Aan"
},
"group": {
"closed": "Toe",
"closing": "Sluiting",
"home": "Tuis",
"locked": "Gesluit",
"not_home": "Elders",
"off": "Af",
"ok": "OK",
"on": "Aan",
"open": "Oop",
"opening": "Opening",
"problem": "Probleem",
"stopped": "Gestop",
"unlocked": "Oopgesluit"
},
"input_boolean": {
"off": "Af",
"on": "Aan"
},
"light": {
"off": "Af",
"on": "Aan"
},
"lock": {
"locked": "Gesluit",
"unlocked": "Oopgesluit"
},
"media_player": {
"idle": "Onaktief",
"off": "Af",
"on": "Aan",
"paused": "Onderbreek",
"playing": "Speel Tans",
"standby": "Gereed"
},
"person": {
"home": "Tuis",
"not_home": "Elders"
},
"plant": {
"ok": "OK",
"problem": "Probleem"
},
"remote": {
"off": "Af",
"on": "Aan"
},
"scene": {
"scening": "Toneeling"
},
"script": {
"off": "Af",
"on": "Aan"
},
"sensor": {
"off": "Af",
"on": "Aan"
},
"sun": {
"above_horizon": "Bo horison",
"below_horizon": "Onder horison"
},
"switch": {
"off": "Af",
"on": "Aan"
},
"timer": {
"active": "aktief",
"idle": "onaktief",
"paused": "Onderbreek"
},
"vacuum": {
"cleaning": "Skoonmaak",
"docked": "Vasgemeer by hawe",
"error": "Fout",
"idle": "Onaktief",
"off": "Af",
"on": "Aan",
"paused": "Onderbreek",
"returning": "Oppad terug hawe toe"
},
"weather": {
"clear-night": "Helder, nag",
"cloudy": "Bewolk",
"fog": "Mis",
"hail": "Hael",
"lightning": "Weerlig",
"lightning-rainy": "Weerlig, Re\u00ebnagtig",
"partlycloudy": "Gedeeltelik bewolk",
"pouring": "Stort",
"rainy": "Re\u00ebnagtig",
"snowy": "Sneeuagtig",
"snowy-rainy": "Ysre\u00ebn",
"sunny": "Sonnig",
"windy": "Winderig",
"windy-variant": "Winderig"
},
"zwave": {
"default": {
"dead": "Dood",
"initializing": "Inisialiseer",
"ready": "Gereed",
"sleeping": "Aan die slaap"
},
"query_stage": {
"dead": "Dood ({query_stage})",
"initializing": "Inisialiseer ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,240 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u0645\u0633\u0644\u062d",
"armed_away": "\u0645\u0641\u0639\u0651\u0644 \u0641\u064a \u0627\u0644\u062e\u0627\u0631\u062c",
"armed_custom_bypass": "\u062a\u062c\u0627\u0648\u0632 \u0627\u0644\u062a\u0641\u0639\u064a\u0644",
"armed_home": "\u0645\u0641\u0639\u0651\u0644 \u0641\u064a \u0627\u0644\u0645\u0646\u0632\u0644",
"armed_night": "\u0645\u0641\u0639\u0651\u0644 \u0644\u064a\u0644",
"arming": "\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u0641\u0639\u064a\u0644",
"disarmed": "\u063a\u064a\u0631 \u0645\u0641\u0639\u0651\u0644",
"disarming": "\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0625\u0646\u0630\u0627\u0631",
"pending": "\u0642\u064a\u062f \u0627\u0644\u0625\u0646\u062a\u0638\u0627\u0631",
"triggered": "\u0645\u0641\u0639\u0651\u0644"
},
"automation": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u062a\u0634\u063a\u064a\u0644"
},
"binary_sensor": {
"battery": {
"off": "\u0637\u0628\u064a\u0639\u064a",
"on": "\u0645\u0646\u062e\u0641\u0636"
},
"cold": {
"off": "\u0637\u0628\u064a\u0639\u064a",
"on": "\u0628\u0627\u0631\u062f"
},
"connectivity": {
"off": "\u0645\u0641\u0635\u0648\u0644",
"on": "\u0645\u062a\u0635\u0644"
},
"default": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u062a\u0634\u063a\u064a\u0644"
},
"door": {
"off": "\u0645\u063a\u0644\u0642",
"on": "\u0645\u0641\u062a\u0648\u062d"
},
"garage_door": {
"off": "\u0645\u063a\u0644\u0642",
"on": "\u0645\u0641\u062a\u0648\u062d"
},
"gas": {
"off": "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0643\u0634\u0641",
"on": "\u062a\u0645 \u0627\u0644\u0643\u0634\u0641"
},
"heat": {
"off": "\u0637\u0628\u064a\u0639\u064a",
"on": "\u062d\u0627\u0631"
},
"lock": {
"off": "\u0645\u0642\u0641\u0644",
"on": "\u063a\u064a\u0631 \u0645\u0642\u0641\u0644"
},
"moisture": {
"off": "\u062c\u0627\u0641",
"on": "\u0645\u0628\u0644\u0644"
},
"motion": {
"off": "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0643\u0634\u0641",
"on": "\u062a\u0645 \u0627\u0644\u0643\u0634\u0641"
},
"occupancy": {
"off": "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0643\u0634\u0641",
"on": "\u062a\u0645 \u0627\u0644\u0643\u0634\u0641"
},
"opening": {
"off": "\u0645\u0642\u0641\u0644",
"on": "\u0645\u0641\u062a\u0648\u062d"
},
"presence": {
"off": "\u062e\u0627\u0631\u062c \u0627\u0644\u0645\u0646\u0632\u0644",
"on": "\u0641\u064a \u0627\u0644\u0645\u0646\u0632\u0644"
},
"problem": {
"off": "\u0645\u0648\u0627\u0641\u0642",
"on": "\u0639\u0637\u0644"
},
"safety": {
"off": "\u0623\u0645\u0646",
"on": "\u063a\u064a\u0631 \u0623\u0645\u0646"
},
"smoke": {
"off": "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0643\u0634\u0641",
"on": "\u062a\u0645 \u0627\u0644\u0643\u0634\u0641"
},
"sound": {
"off": "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0643\u0634\u0641",
"on": "\u062a\u0645 \u0627\u0644\u0643\u0634\u0641"
},
"vibration": {
"off": "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0643\u0634\u0641",
"on": "\u062a\u0645 \u0627\u0644\u0643\u0634\u0641"
},
"window": {
"off": "\u0645\u063a\u0644\u0642",
"on": "\u0645\u0641\u062a\u0648\u062d"
}
},
"calendar": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u062a\u0634\u063a\u064a\u0644"
},
"camera": {
"idle": "\u062e\u0627\u0645\u0644",
"recording": "\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u0633\u062c\u064a\u0644",
"streaming": "\u062c\u0627\u0631\u064a \u0627\u0644\u0628\u062b"
},
"climate": {
"auto": "\u062a\u0644\u0642\u0627\u0626\u064a",
"cool": "\u062a\u0628\u0631\u064a\u062f",
"dry": "\u062c\u0627\u0641",
"fan_only": "\u0627\u0644\u0645\u0631\u0648\u062d\u0629 \u0641\u0642\u0637",
"heat": "\u062a\u062f\u0641\u0626\u0629",
"off": "\u0625\u064a\u0642\u0627\u0641"
},
"configurator": {
"configure": "\u0625\u0639\u062f\u0627\u062f",
"configured": "\u062a\u0645 \u0627\u0644\u0625\u0639\u062f\u0627\u062f"
},
"cover": {
"closed": "\u0645\u063a\u0644\u0642",
"closing": "\u062c\u0627\u0631\u064a \u0627\u0644\u0627\u063a\u0644\u0627\u0642",
"open": "\u0645\u0641\u062a\u0648\u062d",
"opening": "\u062c\u0627\u0631\u064a \u0627\u0644\u0641\u062a\u062d",
"stopped": "\u0645\u0648\u0642\u0641"
},
"default": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u062a\u0634\u063a\u064a\u0644",
"unavailable": "\u063a\u064a\u0631 \u0645\u062a\u0648\u0641\u0631",
"unknown": "\u063a\u064a\u0631 \u0645\u0639\u0631\u0648\u0641"
},
"device_tracker": {
"home": "\u0641\u064a \u0627\u0644\u0645\u0646\u0632\u0644",
"not_home": "\u062e\u0627\u0631\u062c \u0627\u0644\u0645\u0646\u0632\u0644"
},
"fan": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u0642\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644"
},
"group": {
"closed": "\u0645\u063a\u0644\u0642 ",
"closing": "\u062c\u0627\u0631\u064a \u0627\u0644\u0627\u063a\u0644\u0627\u0642 ",
"home": "\u0641\u064a \u0627\u0644\u0645\u0646\u0632\u0644",
"locked": "\u0645\u0642\u0641\u0644 ",
"not_home": "\u0641\u064a \u0627\u0644\u062e\u0627\u0631\u062c",
"off": "\u0625\u064a\u0642\u0627\u0641",
"ok": "\u0623\u0648\u0643\u064a",
"on": "\u0642\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644",
"open": "\u0645\u0641\u062a\u0648\u062d ",
"opening": "\u062c\u0627\u0631\u064a \u0627\u0644\u0641\u062a\u062d ",
"problem": "\u0645\u0634\u0643\u0644\u0629",
"stopped": "\u0645\u0648\u0642\u0641 ",
"unlocked": "\u063a\u064a\u0631 \u0645\u0642\u0641\u0644 "
},
"input_boolean": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u0642\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644"
},
"light": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u0642\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644"
},
"lock": {
"locked": "\u0645\u0642\u0641\u0644",
"unlocked": "\u0645\u0641\u062a\u0648\u062d"
},
"media_player": {
"idle": "\u062e\u0627\u0645\u0644",
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u0642\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644",
"paused": "\u0645\u0648\u0642\u0651\u0641 \u0645\u0624\u0642\u062a\u0627",
"playing": "\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u0634\u063a\u064a\u0644",
"standby": "\u0648\u0636\u0639 \u0627\u0644\u0625\u0646\u062a\u0638\u0627\u0631"
},
"person": {
"home": "\u0641\u064a \u0627\u0644\u0645\u0646\u0632\u0644",
"not_home": "\u062e\u0627\u0631\u062c \u0627\u0644\u0645\u0646\u0632\u0644"
},
"plant": {
"ok": "\u0623\u0648\u0643\u064a",
"problem": "\u0645\u0634\u0643\u0644\u0629"
},
"remote": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u0642\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644"
},
"scene": {
"scening": "\u0642\u0628\u062f \u0627\u0644\u0628\u062d\u062b"
},
"script": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u0642\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644"
},
"sensor": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u0642\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644"
},
"sun": {
"above_horizon": "\u0641\u0648\u0642 \u0627\u0644\u0623\u0641\u0642",
"below_horizon": "\u062a\u062d\u062a \u0627\u0644\u0623\u0641\u0642"
},
"switch": {
"off": "\u0625\u064a\u0642\u0627\u0641",
"on": "\u0645\u064f\u0634\u064e\u063a\u0651\u0644"
},
"timer": {
"active": "\u0645\u0641\u0639\u0644",
"idle": "\u062e\u0627\u0645\u0644",
"paused": "\u0645\u0648\u0642\u0651\u0641 \u0645\u0624\u0642\u062a\u0627"
},
"vacuum": {
"cleaning": "\u062a\u0646\u0638\u064a\u0641",
"error": "\u062e\u0637\u0623",
"off": "\u0645\u0637\u0641\u0626",
"on": "\u0645\u0634\u063a\u0644",
"paused": "\u0645\u0648\u0642\u0651\u0641 \u0645\u0624\u0642\u062a\u0627",
"returning": "\u0627\u0644\u0639\u0648\u062f\u0629"
},
"weather": {
"cloudy": "Bewolkt",
"fog": "Mist",
"sunny": "\u0645\u0634\u0645\u0633"
},
"zwave": {
"default": {
"dead": "\u0645\u0641\u0635\u0648\u0644",
"initializing": "\u0642\u064a\u062f \u0627\u0644\u0625\u0646\u0634\u0627\u0621",
"ready": "\u062c\u0627\u0647\u0632",
"sleeping": "\u0646\u0627\u0626\u0645"
},
"query_stage": {
"dead": "\u0645\u0641\u0635\u0648\u0644 ({query_stage})",
"initializing": "\u0642\u064a\u062f \u0627\u0644\u0625\u0646\u0634\u0627\u0621 ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u041f\u043e\u0434 \u043e\u0445\u0440\u0430\u043d\u0430",
"armed_away": "\u041f\u043e\u0434 \u043e\u0445\u0440\u0430\u043d\u0430",
"armed_custom_bypass": "\u041f\u043e\u0434 \u043e\u0445\u0440\u0430\u043d\u0430",
"armed_home": "\u041f\u043e\u0434 \u043e\u0445\u0440\u0430\u043d\u0430 - \u0432\u043a\u044a\u0449\u0438",
"armed_night": "\u041f\u043e\u0434 \u043e\u0445\u0440\u0430\u043d\u0430 - \u043d\u043e\u0449",
"arming": "\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435",
"disarmed": "\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0430",
"disarming": "\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435",
"pending": "\u0412 \u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0435",
"triggered": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u043d"
},
"automation": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"binary_sensor": {
"battery": {
"off": "\u041d\u043e\u0440\u043c\u0430\u043b\u043d\u0430",
"on": "\u0418\u0437\u0442\u043e\u0449\u0435\u043d\u0430"
},
"cold": {
"off": "\u041d\u043e\u0440\u043c\u0430\u043b\u043d\u043e",
"on": "\u0421\u0442\u0443\u0434\u0435\u043d\u043e"
},
"connectivity": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0421\u0432\u044a\u0440\u0437\u0430\u043d"
},
"default": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"door": {
"off": "\u0417\u0430\u0442\u0432\u043e\u0440\u0435\u043d\u0430",
"on": "\u041e\u0442\u0432\u043e\u0440\u0435\u043d\u0430"
},
"garage_door": {
"off": "\u0417\u0430\u0442\u0432\u043e\u0440\u0435\u043d\u0430",
"on": "\u041e\u0442\u0432\u043e\u0440\u0435\u043d\u0430"
},
"gas": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d"
},
"heat": {
"off": "\u041d\u043e\u0440\u043c\u0430\u043b\u043d\u043e",
"on": "\u0413\u043e\u0440\u0435\u0449\u043e"
},
"lock": {
"off": "\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
"on": "\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e"
},
"moisture": {
"off": "\u0421\u0443\u0445",
"on": "\u041c\u043e\u043a\u044a\u0440"
},
"motion": {
"off": "\u0411\u0435\u0437 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435",
"on": "\u0414\u0432\u0438\u0436\u0435\u043d\u0438\u0435"
},
"occupancy": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d"
},
"opening": {
"off": "\u0417\u0430\u0442\u0432\u043e\u0440\u0435\u043d",
"on": "\u041e\u0442\u0432\u043e\u0440\u0435\u043d"
},
"presence": {
"off": "\u041e\u0442\u0441\u044a\u0441\u0442\u0432\u0430",
"on": "\u0412\u043a\u044a\u0449\u0438"
},
"problem": {
"off": "\u041e\u041a",
"on": "\u041f\u0440\u043e\u0431\u043b\u0435\u043c"
},
"safety": {
"off": "\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u0435\u043d",
"on": "\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442"
},
"smoke": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d"
},
"sound": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d"
},
"vibration": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d\u0430"
},
"window": {
"off": "\u0417\u0430\u0442\u0432\u043e\u0440\u0435\u043d",
"on": "\u041e\u0442\u0432\u043e\u0440\u0435\u043d"
}
},
"calendar": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"camera": {
"idle": "\u041d\u0435 \u0437\u0430\u043f\u0438\u0441\u0432\u0430",
"recording": "\u0417\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435",
"streaming": "\u041f\u0440\u0435\u0434\u0430\u0432\u0430"
},
"climate": {
"auto": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u043d",
"cool": "\u041e\u0445\u043b\u0430\u0436\u0434\u0430\u043d\u0435",
"dry": "\u0421\u0443\u0445",
"fan_only": "\u0421\u0430\u043c\u043e \u0432\u0435\u043d\u0442\u0438\u043b\u0430\u0442\u043e\u0440",
"heat": "\u041e\u0442\u043e\u043f\u043b\u0435\u043d\u0438\u0435",
"heat_cool": "\u041e\u0442\u043e\u043f\u043b\u0435\u043d\u0438\u0435/\u041e\u0445\u043b\u0430\u0436\u0434\u0430\u043d\u0435",
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d"
},
"configurator": {
"configure": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0432\u0430\u043d\u0435",
"configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d"
},
"cover": {
"closed": "\u0417\u0430\u0442\u0432\u043e\u0440\u0435\u043d\u0430",
"closing": "\u0417\u0430\u0442\u0432\u0430\u0440\u044f\u043d\u0435",
"open": "\u041e\u0442\u0432\u043e\u0440\u0435\u043d\u0430",
"opening": "\u041e\u0442\u0432\u0430\u0440\u044f\u043d\u0435",
"stopped": "\u0421\u043f\u0440\u044f\u043d\u0430"
},
"default": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d",
"unavailable": "\u041d\u0435\u0434\u043e\u0441\u0442\u044a\u043f\u0435\u043d",
"unknown": "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e"
},
"device_tracker": {
"home": "\u0412\u043a\u044a\u0449\u0438",
"not_home": "\u041e\u0442\u0441\u044a\u0441\u0442\u0432\u0430"
},
"fan": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"group": {
"closed": "\u0417\u0430\u0442\u0432\u043e\u0440\u0435\u043d\u0430",
"closing": "\u0417\u0430\u0442\u0432\u0430\u0440\u044f\u043d\u0435",
"home": "\u0412\u043a\u044a\u0449\u0438",
"locked": "\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0430",
"not_home": "\u041e\u0442\u0441\u044a\u0441\u0442\u0432\u0430",
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"ok": "\u041e\u041a",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0430",
"open": "\u041e\u0442\u0432\u043e\u0440\u0435\u043d\u0430",
"opening": "\u041e\u0442\u0432\u0430\u0440\u044f\u043d\u0435",
"problem": "\u041f\u0440\u043e\u0431\u043b\u0435\u043c",
"stopped": "\u0421\u043f\u0440\u044f\u043d\u0430",
"unlocked": "\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430"
},
"input_boolean": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"light": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e"
},
"lock": {
"locked": "\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d",
"unlocked": "\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d"
},
"media_player": {
"idle": "\u041d\u0435\u0440\u0430\u0431\u043e\u0442\u0435\u0449",
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d",
"paused": "\u0412 \u043f\u0430\u0443\u0437\u0430",
"playing": "\u0412\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435",
"standby": "\u0420\u0435\u0436\u0438\u043c \u043d\u0430 \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442"
},
"person": {
"home": "\u0412\u043a\u044a\u0449\u0438",
"not_home": "\u041e\u0442\u0441\u044a\u0441\u0442\u0432\u0430"
},
"plant": {
"ok": "\u041e\u041a",
"problem": "\u041f\u0440\u043e\u0431\u043b\u0435\u043c"
},
"remote": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"scene": {
"scening": "\u041f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430"
},
"script": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"sensor": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"sun": {
"above_horizon": "\u041d\u0430\u0434 \u0445\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430",
"below_horizon": "\u041f\u043e\u0434 \u0445\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430"
},
"switch": {
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d"
},
"timer": {
"active": "\u0430\u043a\u0442\u0438\u0432\u0435\u043d",
"idle": "\u043d\u0435\u0440\u0430\u0431\u043e\u0442\u0435\u0449",
"paused": "\u0432 \u043f\u0430\u0443\u0437\u0430"
},
"vacuum": {
"cleaning": "\u041f\u043e\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435",
"docked": "\u0412 \u0431\u0430\u0437\u043e\u0432\u0430 \u0441\u0442\u0430\u043d\u0446\u0438\u044f",
"error": "\u0413\u0440\u0435\u0448\u043a\u0430",
"idle": "\u041d\u0435\u0440\u0430\u0431\u043e\u0442\u0435\u0449",
"off": "\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d",
"paused": "\u041f\u0430\u0443\u0437\u0430",
"returning": "\u0412\u0440\u044a\u0449\u0430\u043d\u0435 \u0432 \u0431\u0430\u0437\u043e\u0432\u0430\u0442\u0430 \u0441\u0442\u0430\u043d\u0446\u0438\u044f"
},
"weather": {
"clear-night": "\u042f\u0441\u043d\u043e, \u043d\u043e\u0449",
"cloudy": "\u041e\u0431\u043b\u0430\u0447\u043d\u043e",
"exceptional": "\u0418\u0437\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u043d\u043e",
"fog": "\u041c\u044a\u0433\u043b\u0430",
"hail": "\u0413\u0440\u0430\u0434\u0443\u0448\u043a\u0430",
"lightning": "\u0421\u0432\u0435\u0442\u043a\u0430\u0432\u0438\u0446\u0430",
"lightning-rainy": "\u0421\u0432\u0435\u0442\u043a\u0430\u0432\u0438\u0446\u0430, \u0434\u044a\u0436\u0434\u043e\u0432\u043d\u043e",
"partlycloudy": "\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0441\u0442",
"pouring": "\u041e\u0431\u0438\u043b\u0435\u043d \u0434\u044a\u0436\u0434",
"rainy": "\u0414\u044a\u0436\u0434\u043e\u0432\u043d\u043e",
"snowy": "\u0421\u043d\u0435\u0436\u043d\u043e",
"snowy-rainy": "\u0421\u043d\u0435\u0436\u043d\u043e, \u0434\u044a\u0436\u0434\u043e\u0432\u043d\u043e",
"sunny": "\u0421\u043b\u044a\u043d\u0447\u0435\u0432\u043e",
"windy": "\u0412\u0435\u0442\u0440\u043e\u0432\u0438\u0442\u043e",
"windy-variant": "\u0412\u0435\u0442\u0440\u043e\u0432\u0438\u0442\u043e"
},
"zwave": {
"default": {
"dead": "\u041c\u044a\u0440\u0442\u044a\u0432",
"initializing": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f",
"ready": "\u0413\u043e\u0442\u043e\u0432",
"sleeping": "\u0421\u043f\u044f\u0449"
},
"query_stage": {
"dead": "\u041c\u044a\u0440\u0442\u044a\u0432 ({query_stage})",
"initializing": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,194 @@
{
"state": {
"alarm_control_panel": {
"armed": "Aktiviran",
"armed_away": "Aktiviran izvan ku\u0107e",
"armed_custom_bypass": "Aktiviran pod specijalnim rezimom",
"armed_home": "Aktiviran kod ku\u0107e",
"armed_night": "Aktiviran no\u0107u",
"arming": "Aktivacija",
"disarmed": "Deaktiviran",
"disarming": "Deaktivacija",
"pending": "U is\u010dekivanju",
"triggered": "Pokrenut"
},
"automation": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"binary_sensor": {
"battery": {
"off": "Normalno",
"on": "Nisko"
},
"connectivity": {
"off": "Nepovezan",
"on": "Povezan"
},
"default": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"gas": {
"off": "\u010cist",
"on": "Otkriven"
},
"moisture": {
"off": "Suho",
"on": "Mokar"
},
"motion": {
"off": "\u010cist",
"on": "Otkriven"
},
"occupancy": {
"off": "\u010cist",
"on": "Otkriven"
},
"opening": {
"off": "Zatvoren",
"on": "Otvoren"
},
"presence": {
"off": "Odsutan",
"on": "Kod ku\u0107e"
},
"problem": {
"off": "OK",
"on": "Problem"
},
"safety": {
"off": "Siguran",
"on": "Nesiguran"
},
"smoke": {
"off": "\u010cist",
"on": "Otkriven"
},
"sound": {
"off": "\u010cist",
"on": "Otkriven"
},
"vibration": {
"off": "\u010cist",
"on": "Otkriven"
}
},
"calendar": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"camera": {
"idle": "Besposlen",
"recording": "Snimanje",
"streaming": "Predaja slike"
},
"climate": {
"auto": "Auto",
"cool": "Hladno",
"dry": "Suh",
"fan_only": "Samo ventilator",
"heat": "Toplota",
"off": "Isklju\u010den"
},
"configurator": {
"configure": "Podesite",
"configured": "Konfigurirano"
},
"cover": {
"closed": "Zatvoren",
"closing": "Zatvoreno",
"open": "Otvoren",
"opening": "Otvoreno",
"stopped": "Zaustavljen"
},
"default": {
"off": "Isklju\u010den",
"on": "Uklju\u010den",
"unavailable": "Nedostupan",
"unknown": "Nepoznat"
},
"device_tracker": {
"home": "Kod ku\u0107e",
"not_home": "Odsutan"
},
"fan": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"group": {
"closed": "Zatvoren",
"closing": "Zatvoreno",
"home": "Kod ku\u0107e",
"locked": "Zaklju\u010dan",
"not_home": "Odsutan",
"off": "Isklju\u010den",
"ok": "OK",
"on": "Uklju\u010den",
"open": "Otvoren",
"opening": "Otvoreno",
"problem": "Problem",
"stopped": "Zaustavljen",
"unlocked": "Otklju\u010dan"
},
"input_boolean": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"light": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"lock": {
"locked": "Zaklju\u010dan",
"unlocked": "Otklju\u010dan"
},
"media_player": {
"idle": "Besposlen",
"off": "Isklju\u010den",
"on": "Uklju\u010den",
"paused": "Pauziran",
"playing": "Prikazuje",
"standby": "U stanju \u010dekanja"
},
"plant": {
"ok": "OK",
"problem": "Problem"
},
"remote": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"scene": {
"scening": "Scena"
},
"script": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"sensor": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"sun": {
"above_horizon": "Iznad horizonta",
"below_horizon": "Ispod horizonta"
},
"switch": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"zwave": {
"default": {
"dead": "Mrtav",
"initializing": "Inicijalizacija",
"ready": "Spreman",
"sleeping": "Spava"
},
"query_stage": {
"dead": "Mrtav ({query_stage})",
"initializing": "Inicijalizacija ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Activada",
"armed_away": "Activada, mode fora",
"armed_custom_bypass": "Activada, bypass personalitzat",
"armed_home": "Activada, mode a casa",
"armed_night": "Activada, mode nocturn",
"arming": "Activant",
"disarmed": "Desactivada",
"disarming": "Desactivant",
"pending": "Pendent",
"triggered": "Disparada"
},
"automation": {
"off": "Desactivat",
"on": "Activat"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Baixa"
},
"cold": {
"off": "Normal",
"on": "Fred"
},
"connectivity": {
"off": "Desconnectat",
"on": "Connectat"
},
"default": {
"off": "Desactivat",
"on": "Activat"
},
"door": {
"off": "Tancada",
"on": "Oberta"
},
"garage_door": {
"off": "Tancada",
"on": "Oberta"
},
"gas": {
"off": "Lliure",
"on": "Detectat"
},
"heat": {
"off": "Normal",
"on": "Calent"
},
"lock": {
"off": "Bloquejat",
"on": "Desbloquejat"
},
"moisture": {
"off": "Sec",
"on": "Humit"
},
"motion": {
"off": "Lliure",
"on": "Detectat"
},
"occupancy": {
"off": "Lliure",
"on": "Detectat"
},
"opening": {
"off": "Tancat",
"on": "Obert"
},
"presence": {
"off": "Lliure",
"on": "Detectat"
},
"problem": {
"off": "Correcte",
"on": "Problema"
},
"safety": {
"off": "Segur",
"on": "No segur"
},
"smoke": {
"off": "Lliure",
"on": "Detectat"
},
"sound": {
"off": "Lliure",
"on": "Detectat"
},
"vibration": {
"off": "Lliure",
"on": "Detectat"
},
"window": {
"off": "Tancada",
"on": "Oberta"
}
},
"calendar": {
"off": "Desactivat",
"on": "Activat"
},
"camera": {
"idle": "Inactiu",
"recording": "Enregistrant",
"streaming": "Transmetent v\u00eddeo"
},
"climate": {
"auto": "Autom\u00e0tic",
"cool": "Refredar",
"dry": "Assecar",
"fan_only": "Nom\u00e9s ventilador",
"heat": "Escalfar",
"heat_cool": "Escalfar/Refredar",
"off": "Apagat"
},
"configurator": {
"configure": "Configurar",
"configured": "Configurat"
},
"cover": {
"closed": "Tancada",
"closing": "Tancant",
"open": "Oberta",
"opening": "Obrint",
"stopped": "Aturat"
},
"default": {
"off": "Desactivat",
"on": "Activat",
"unavailable": "No disponible",
"unknown": "Desconegut"
},
"device_tracker": {
"home": "A casa",
"not_home": "Fora"
},
"fan": {
"off": "Apagat",
"on": "Enc\u00e8s"
},
"group": {
"closed": "Tancat",
"closing": "Tancant",
"home": "A casa",
"locked": "Bloquejat",
"not_home": "Fora",
"off": "Desactivat",
"ok": "Correcte",
"on": "Activat",
"open": "Obert",
"opening": "Obrint",
"problem": "Problema",
"stopped": "Aturat",
"unlocked": "Desbloquejat"
},
"input_boolean": {
"off": "Desactivat",
"on": "Activat"
},
"light": {
"off": "Apagada",
"on": "Encesa"
},
"lock": {
"locked": "Bloquejat",
"unlocked": "Desbloquejat"
},
"media_player": {
"idle": "Inactiu",
"off": "Apagat",
"on": "Enc\u00e8s",
"paused": "Pausat",
"playing": "Reproduint",
"standby": "En espera"
},
"person": {
"home": "A casa",
"not_home": "Fora"
},
"plant": {
"ok": "Correcte",
"problem": "Problema"
},
"remote": {
"off": "Apagat",
"on": "Enc\u00e8s"
},
"scene": {
"scening": "Escena activa"
},
"script": {
"off": "Desactivat",
"on": "Activat"
},
"sensor": {
"off": "Desactivat",
"on": "Activat"
},
"sun": {
"above_horizon": "Sobre l'horitz\u00f3",
"below_horizon": "Sota l'horitz\u00f3"
},
"switch": {
"off": "Apagat",
"on": "Enc\u00e8s"
},
"timer": {
"active": "actiu",
"idle": "inactiu",
"paused": "en pausa"
},
"vacuum": {
"cleaning": "Netejant",
"docked": "Aparcat",
"error": "Error",
"idle": "Inactiu",
"off": "Apagat",
"on": "Enc\u00e8s",
"paused": "Pausat",
"returning": "Retornant a la base"
},
"weather": {
"clear-night": "Ser\u00e8, nit",
"cloudy": "Ennuvolat",
"exceptional": "Excepcional",
"fog": "Boira",
"hail": "Calamarsa",
"lightning": "Llamps",
"lightning-rainy": "Tempesta",
"partlycloudy": "Parcialment ennuvolat",
"pouring": "Pluja",
"rainy": "Pluj\u00f3s",
"snowy": "Neu",
"snowy-rainy": "Aiguaneu",
"sunny": "Assolellat",
"windy": "Vent\u00f3s",
"windy-variant": "Vent\u00f3s"
},
"zwave": {
"default": {
"dead": "No disponible",
"initializing": "Inicialitzant",
"ready": "A punt",
"sleeping": "Dormint"
},
"query_stage": {
"dead": "No disponible ({query_stage})",
"initializing": "Inicialitzant ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Aktivn\u00ed",
"armed_away": "Aktivn\u00ed re\u017eim mimo domov",
"armed_custom_bypass": "Aktivn\u00ed u\u017eivatelsk\u00fdm obejit\u00edm",
"armed_home": "Aktivn\u00ed re\u017eim doma",
"armed_night": "Aktivn\u00ed no\u010dn\u00ed re\u017eim",
"arming": "Aktivov\u00e1n\u00ed",
"disarmed": "Neaktivn\u00ed",
"disarming": "Deaktivov\u00e1n\u00ed",
"pending": "Nadch\u00e1zej\u00edc\u00ed",
"triggered": "Spu\u0161t\u011bno"
},
"automation": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"binary_sensor": {
"battery": {
"off": "Norm\u00e1ln\u00ed",
"on": "N\u00edzk\u00fd stav"
},
"cold": {
"off": "Norm\u00e1ln\u00ed",
"on": "Chladn\u00e9"
},
"connectivity": {
"off": "Odpojeno",
"on": "P\u0159ipojeno"
},
"default": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"door": {
"off": "Zav\u0159eno",
"on": "Otev\u0159eno"
},
"garage_door": {
"off": "Zav\u0159eno",
"on": "Otev\u0159eno"
},
"gas": {
"off": "\u017d\u00e1dn\u00fd plyn",
"on": "Zji\u0161t\u011bn plyn"
},
"heat": {
"off": "Norm\u00e1ln\u00ed",
"on": "Hork\u00e9"
},
"lock": {
"off": "Zam\u010deno",
"on": "Odem\u010deno"
},
"moisture": {
"off": "Sucho",
"on": "Vlhko"
},
"motion": {
"off": "Bez pohybu",
"on": "Zaznamen\u00e1n pohyb"
},
"occupancy": {
"off": "Volno",
"on": "Obsazeno"
},
"opening": {
"off": "Zav\u0159eno",
"on": "Otev\u0159eno"
},
"presence": {
"off": "Pry\u010d",
"on": "Doma"
},
"problem": {
"off": "V po\u0159\u00e1dku",
"on": "Probl\u00e9m"
},
"safety": {
"off": "Zaji\u0161t\u011bno",
"on": "Nezaji\u0161t\u011bno"
},
"smoke": {
"off": "\u017d\u00e1dn\u00fd d\u00fdm",
"on": "Zji\u0161t\u011bn d\u00fdm"
},
"sound": {
"off": "Ticho",
"on": "Zachycen zvuk"
},
"vibration": {
"off": "Klid",
"on": "Zji\u0161t\u011bny vibrace"
},
"window": {
"off": "Zav\u0159eno",
"on": "Otev\u0159eno"
}
},
"calendar": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"camera": {
"idle": "Ne\u010dinn\u00fd",
"recording": "Z\u00e1znam",
"streaming": "Streamov\u00e1n\u00ed"
},
"climate": {
"auto": "Automatika",
"cool": "Chlazen\u00ed",
"dry": "Vysou\u0161en\u00ed",
"fan_only": "Pouze ventil\u00e1tor",
"heat": "Topen\u00ed",
"heat_cool": "Vyt\u00e1p\u011bn\u00ed/Chlazen\u00ed",
"off": "Neaktivn\u00ed"
},
"configurator": {
"configure": "Nakonfigurovat",
"configured": "Nakonfigurov\u00e1no"
},
"cover": {
"closed": "Zav\u0159eno",
"closing": "Zav\u00edr\u00e1n\u00ed",
"open": "Otev\u0159eno",
"opening": "Otev\u00edr\u00e1n\u00ed",
"stopped": "Zastaveno"
},
"default": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed",
"unavailable": "Nen\u00ed k dispozici",
"unknown": "Nezji\u0161t\u011bno"
},
"device_tracker": {
"home": "Doma",
"not_home": "Pry\u010d"
},
"fan": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"group": {
"closed": "Zav\u0159eno",
"closing": "Zav\u00edr\u00e1n\u00ed",
"home": "Doma",
"locked": "Zam\u010deno",
"not_home": "Pry\u010d",
"off": "Neaktivn\u00ed",
"ok": "V po\u0159\u00e1dku",
"on": "Aktivn\u00ed",
"open": "Otev\u0159eno",
"opening": "Otev\u00edr\u00e1n\u00ed",
"problem": "Probl\u00e9m",
"stopped": "Zastaveno",
"unlocked": "Odem\u010deno"
},
"input_boolean": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"light": {
"off": "Nesv\u00edt\u00ed",
"on": "Sv\u00edt\u00ed"
},
"lock": {
"locked": "Zam\u010deno",
"unlocked": "Odem\u010deno"
},
"media_player": {
"idle": "Ne\u010dinn\u00fd",
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed",
"paused": "Pozastaveno",
"playing": "P\u0159ehr\u00e1v\u00e1n\u00ed",
"standby": "Pohotovostn\u00ed re\u017eim"
},
"person": {
"home": "Doma",
"not_home": "Pry\u010d"
},
"plant": {
"ok": "V po\u0159\u00e1dku",
"problem": "Probl\u00e9m"
},
"remote": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"scene": {
"scening": "Scen\u00e9rie"
},
"script": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"sensor": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"sun": {
"above_horizon": "Nad horizontem",
"below_horizon": "Za horizontem"
},
"switch": {
"off": "Neaktivn\u00ed",
"on": "Aktivn\u00ed"
},
"timer": {
"active": "aktivn\u00ed",
"idle": "ne\u010dinn\u00e9",
"paused": "pozastaveno"
},
"vacuum": {
"cleaning": "\u010cist\u00ed",
"docked": "V stanici",
"error": "Chyba",
"idle": "Ne\u010dinn\u00fd",
"off": "Off",
"on": "On",
"paused": "Pozastaveno",
"returning": "N\u00e1vrat do stanice"
},
"weather": {
"clear-night": "Jasn\u00e1 noc",
"cloudy": "Zata\u017eeno",
"exceptional": "Vyj\u00edme\u010dn\u00e9",
"fog": "Mlha",
"hail": "Krupobit\u00ed",
"lightning": "Bou\u0159e",
"lightning-rainy": "Bou\u0159e a d\u00e9\u0161\u0165",
"partlycloudy": "Polojasno",
"pouring": "Lij\u00e1k",
"rainy": "D\u00e9\u0161\u0165",
"snowy": "Sn\u00edh",
"snowy-rainy": "D\u00e9\u0161\u0165 se sn\u011bhem",
"sunny": "Slune\u010dno",
"windy": "V\u011btrno",
"windy-variant": "V\u011btrno"
},
"zwave": {
"default": {
"dead": "Nereaguje",
"initializing": "Inicializace",
"ready": "P\u0159ipraveno",
"sleeping": "\u00dasporn\u00fd re\u017eim"
},
"query_stage": {
"dead": "Nereaguje ({query_stage})",
"initializing": "Inicializace ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,243 @@
{
"state": {
"alarm_control_panel": {
"armed": "Arfogi",
"armed_away": "Arfog i ffwrdd",
"armed_custom_bypass": "Ffordd osgoi larwm personol",
"armed_home": "Arfogi gartref",
"armed_night": "Arfog nos",
"arming": "Arfogi",
"disarmed": "Diarfogi",
"disarming": "Ddiarfogi",
"pending": "Yn yr arfaeth",
"triggered": "Sbarduno"
},
"automation": {
"off": "I ffwrdd",
"on": "Ar"
},
"binary_sensor": {
"battery": {
"off": "Arferol",
"on": "Isel"
},
"cold": {
"off": "Arferol",
"on": "Oer"
},
"connectivity": {
"off": "Wedi datgysylltu",
"on": "Cysylltiedig"
},
"default": {
"off": "i ffwrdd",
"on": "Ar"
},
"door": {
"off": "Cau",
"on": "Agor"
},
"garage_door": {
"off": "Cau",
"on": "Agor"
},
"gas": {
"off": "Clir",
"on": "Wedi'i ganfod"
},
"heat": {
"off": "Arferol",
"on": "Poeth"
},
"lock": {
"off": "Cloi",
"on": "Dad-gloi"
},
"moisture": {
"off": "Sych",
"on": "Gwlyb"
},
"motion": {
"off": "Clir",
"on": "Wedi'i ganfod"
},
"occupancy": {
"off": "Clir",
"on": "Wedi'i ganfod"
},
"opening": {
"off": "Cau",
"on": "Agor"
},
"presence": {
"off": "Allan",
"on": "Gartref"
},
"problem": {
"off": "iawn",
"on": "Problem"
},
"safety": {
"off": "Diogel",
"on": "Anniogel"
},
"smoke": {
"off": "Clir",
"on": "Wedi'i ganfod"
},
"sound": {
"off": "Clir",
"on": "Wedi'i ganfod"
},
"vibration": {
"off": "Clir",
"on": "Wedi'i ganfod"
},
"window": {
"off": "Cau",
"on": "Agored"
}
},
"calendar": {
"off": "i ffwrdd",
"on": "Ar"
},
"camera": {
"idle": "Segur",
"recording": "Recordio",
"streaming": "Ffrydio"
},
"climate": {
"auto": "Awto",
"cool": "Sefydlog",
"dry": "Sych",
"fan_only": "Fan yn unig",
"heat": "Gwres",
"off": "i ffwrdd"
},
"configurator": {
"configure": "Ffurfweddu",
"configured": "Wedi'i ffurfweddu"
},
"cover": {
"closed": "Ar gau",
"closing": "Cau",
"open": "Agor",
"opening": "Yn agor",
"stopped": "Stopio"
},
"default": {
"off": "I ffwrdd",
"on": "Ar",
"unavailable": "Ddim ar gael",
"unknown": "Anhysbys"
},
"device_tracker": {
"home": "Gartref",
"not_home": "Diim gartref"
},
"fan": {
"off": "i ffwrdd",
"on": "Ar"
},
"group": {
"closed": "Wedi cau",
"closing": "Yn cau",
"home": "Gartref",
"locked": " Cloi",
"not_home": "Dim gartref",
"off": "i ffwrdd",
"ok": "Iawn",
"on": "Ar",
"open": "Agored",
"opening": "Agor",
"problem": "Problem",
"stopped": "Stopio",
"unlocked": "Dadgloi"
},
"input_boolean": {
"off": "i ffwrdd",
"on": "Ar"
},
"light": {
"off": "i ffwrdd",
"on": "Ar"
},
"lock": {
"locked": "Wedi cloi",
"unlocked": "Datgloi"
},
"media_player": {
"idle": "Segur",
"off": "i ffwrdd",
"on": "Ar",
"paused": "Wedi rhewi",
"playing": "Chwarae",
"standby": "Gorffwys"
},
"person": {
"home": "Gartref",
"not_home": "I ffwrdd"
},
"plant": {
"ok": "Iawn",
"problem": "Problem"
},
"remote": {
"off": "i ffwrdd",
"on": "Ar"
},
"scene": {
"scening": "Sefyllfa"
},
"script": {
"off": "i ffwrdd",
"on": "Ar"
},
"sensor": {
"off": "i ffwrdd",
"on": "Ar"
},
"sun": {
"above_horizon": "Dros y gorwel",
"below_horizon": "Islaw'r gorwel"
},
"switch": {
"off": "i ffwrdd",
"on": "Ar"
},
"timer": {
"active": "gweithredol",
"idle": "segur",
"paused": "wedi rhewi"
},
"weather": {
"clear-night": "Clir, nos",
"cloudy": "Cymylog",
"fog": "Niwl",
"hail": "Cenllysg",
"lightning": "Mellt",
"lightning-rainy": "Mellt, glawog",
"partlycloudy": "Cymharol gymylog",
"pouring": "Arllwys",
"rainy": "Glawog",
"snowy": "Eira",
"snowy-rainy": "Eira, gwlyb",
"sunny": "Heulog",
"windy": "Gwyntog",
"windy-variant": "Gwyntog"
},
"zwave": {
"default": {
"dead": "Marw",
"initializing": "Ymgychwyn",
"ready": "Barod",
"sleeping": "Cysgu"
},
"query_stage": {
"dead": "Marw ({query_stage})",
"initializing": "Ymgychwyn ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Tilkoblet",
"armed_away": "Tilkoblet ude",
"armed_custom_bypass": "Tilkoblet brugerdefineret bypass",
"armed_home": "Tilkoblet hjemme",
"armed_night": "Tilkoblet nat",
"arming": "Tilkobler",
"disarmed": "Frakoblet",
"disarming": "Frakobler",
"pending": "Afventer",
"triggered": "Udl\u00f8st"
},
"automation": {
"off": "Fra",
"on": "Til"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Lav"
},
"cold": {
"off": "Normal",
"on": "Kold"
},
"connectivity": {
"off": "Afbrudt",
"on": "Forbundet"
},
"default": {
"off": "Fra",
"on": "Til"
},
"door": {
"off": "Lukket",
"on": "\u00c5ben"
},
"garage_door": {
"off": "Lukket",
"on": "\u00c5ben"
},
"gas": {
"off": "Ikke registreret",
"on": "Registreret"
},
"heat": {
"off": "Normal",
"on": "Varm"
},
"lock": {
"off": "L\u00e5st",
"on": "Ul\u00e5st"
},
"moisture": {
"off": "T\u00f8r",
"on": "Fugtig"
},
"motion": {
"off": "Ikke registreret",
"on": "Registreret"
},
"occupancy": {
"off": "Ikke registreret",
"on": "Registreret"
},
"opening": {
"off": "Lukket",
"on": "\u00c5ben"
},
"presence": {
"off": "Ude",
"on": "Hjemme"
},
"problem": {
"off": "OK",
"on": "Problem"
},
"safety": {
"off": "Sikret",
"on": "Usikret"
},
"smoke": {
"off": "Ikke registreret",
"on": "Registreret"
},
"sound": {
"off": "Ikke registreret",
"on": "Registreret"
},
"vibration": {
"off": "Ikke registreret",
"on": "Registreret"
},
"window": {
"off": "Lukket",
"on": "\u00c5ben"
}
},
"calendar": {
"off": "Fra",
"on": "Til"
},
"camera": {
"idle": "Inaktiv",
"recording": "Optager",
"streaming": "Streamer"
},
"climate": {
"auto": "Auto",
"cool": "K\u00f8l",
"dry": "T\u00f8r",
"fan_only": "Kun bl\u00e6ser",
"heat": "Varme",
"heat_cool": "Opvarm/k\u00f8l",
"off": "Fra"
},
"configurator": {
"configure": "Konfigurer",
"configured": "Konfigureret"
},
"cover": {
"closed": "Lukket",
"closing": "Lukker",
"open": "\u00c5ben",
"opening": "\u00c5bner",
"stopped": "Stoppet"
},
"default": {
"off": "Fra",
"on": "Til",
"unavailable": "Utilg\u00e6ngelig",
"unknown": "Ukendt"
},
"device_tracker": {
"home": "Hjemme",
"not_home": "Ude"
},
"fan": {
"off": "Fra",
"on": "Til"
},
"group": {
"closed": "Lukket",
"closing": "Lukker",
"home": "Hjemme",
"locked": "L\u00e5st",
"not_home": "Ude",
"off": "Fra",
"ok": "OK",
"on": "Til",
"open": "\u00c5ben",
"opening": "\u00c5bner",
"problem": "Problem",
"stopped": "Stoppet",
"unlocked": "Ul\u00e5st"
},
"input_boolean": {
"off": "Fra",
"on": "Til"
},
"light": {
"off": "Slukket",
"on": "T\u00e6ndt"
},
"lock": {
"locked": "L\u00e5st",
"unlocked": "Ul\u00e5st"
},
"media_player": {
"idle": "Inaktiv",
"off": "Slukket",
"on": "T\u00e6ndt",
"paused": "Sat p\u00e5 pause",
"playing": "Afspiller",
"standby": "Standby"
},
"person": {
"home": "Hjemme",
"not_home": "Ude"
},
"plant": {
"ok": "OK",
"problem": "Problem"
},
"remote": {
"off": "Slukket",
"on": "T\u00e6ndt"
},
"scene": {
"scening": "Skifter scene"
},
"script": {
"off": "Fra",
"on": "Til"
},
"sensor": {
"off": "Fra",
"on": "Til"
},
"sun": {
"above_horizon": "Over horisonten",
"below_horizon": "Under horisonten"
},
"switch": {
"off": "Fra",
"on": "Til"
},
"timer": {
"active": "aktiv",
"idle": "inaktiv",
"paused": "pause"
},
"vacuum": {
"cleaning": "G\u00f8r rent",
"docked": "I dock",
"error": "Fejl",
"idle": "Inaktiv",
"off": "Off",
"on": "On",
"paused": "Sat p\u00e5 pause",
"returning": "Vender tilbage til dock"
},
"weather": {
"clear-night": "Klart, nat",
"cloudy": "Overskyet",
"exceptional": "Enest\u00e5ende",
"fog": "T\u00e5ge",
"hail": "Hagl",
"lightning": "Lyn",
"lightning-rainy": "Lyn, regnvejr",
"partlycloudy": "Delvist overskyet",
"pouring": "Regnvejr",
"rainy": "Regnfuldt",
"snowy": "Sne",
"snowy-rainy": "Sne, regn",
"sunny": "Solrig",
"windy": "Bl\u00e6sende",
"windy-variant": "Bl\u00e6sende"
},
"zwave": {
"default": {
"dead": "D\u00f8d",
"initializing": "Initialiserer",
"ready": "Klar",
"sleeping": "Sover"
},
"query_stage": {
"dead": "D\u00f8d ({query_stage})",
"initializing": "Initialiserer ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Aktiv",
"armed_away": "Aktiv, abwesend",
"armed_custom_bypass": "Aktiv, benutzerdefiniert",
"armed_home": "Aktiv, zu Hause",
"armed_night": "Aktiv, Nacht",
"arming": "Aktiviere",
"disarmed": "Inaktiv",
"disarming": "Deaktiviere",
"pending": "Ausstehend",
"triggered": "Ausgel\u00f6st"
},
"automation": {
"off": "Aus",
"on": "An"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Schwach"
},
"cold": {
"off": "Normal",
"on": "Kalt"
},
"connectivity": {
"off": "Getrennt",
"on": "Verbunden"
},
"default": {
"off": "Aus",
"on": "An"
},
"door": {
"off": "Geschlossen",
"on": "Offen"
},
"garage_door": {
"off": "Geschlossen",
"on": "Offen"
},
"gas": {
"off": "Normal",
"on": "Erkannt"
},
"heat": {
"off": "Normal",
"on": "Hei\u00df"
},
"lock": {
"off": "Verriegelt",
"on": "Entriegelt"
},
"moisture": {
"off": "Trocken",
"on": "Nass"
},
"motion": {
"off": "Ruhig",
"on": "Bewegung erkannt"
},
"occupancy": {
"off": "Frei",
"on": "Belegt"
},
"opening": {
"off": "Geschlossen",
"on": "Offen"
},
"presence": {
"off": "Abwesend",
"on": "Zu Hause"
},
"problem": {
"off": "OK",
"on": "Problem"
},
"safety": {
"off": "Sicher",
"on": "Unsicher"
},
"smoke": {
"off": "OK",
"on": "Rauch erkannt"
},
"sound": {
"off": "Stille",
"on": "Ger\u00e4usch erkannt"
},
"vibration": {
"off": "Normal",
"on": "Vibration"
},
"window": {
"off": "Geschlossen",
"on": "Offen"
}
},
"calendar": {
"off": "Aus",
"on": "An"
},
"camera": {
"idle": "Unt\u00e4tig",
"recording": "Aufnehmen",
"streaming": "\u00dcbertr\u00e4gt"
},
"climate": {
"auto": "Automatisch",
"cool": "K\u00fchlen",
"dry": "Entfeuchten",
"fan_only": "Nur Ventilator",
"heat": "Heizen",
"heat_cool": "Heizen/K\u00fchlen",
"off": "Aus"
},
"configurator": {
"configure": "Konfigurieren",
"configured": "Konfiguriert"
},
"cover": {
"closed": "Geschlossen",
"closing": "Schlie\u00dft",
"open": "Offen",
"opening": "\u00d6ffnet",
"stopped": "Angehalten"
},
"default": {
"off": "Aus",
"on": "An",
"unavailable": "Nicht verf\u00fcgbar",
"unknown": "Unbekannt"
},
"device_tracker": {
"home": "Zu Hause",
"not_home": "Abwesend"
},
"fan": {
"off": "Aus",
"on": "An"
},
"group": {
"closed": "Geschlossen",
"closing": "Schlie\u00dft",
"home": "Zu Hause",
"locked": "Verriegelt",
"not_home": "Abwesend",
"off": "Aus",
"ok": "OK",
"on": "An",
"open": "Offen",
"opening": "\u00d6ffnet",
"problem": "Problem",
"stopped": "Angehalten",
"unlocked": "Entriegelt"
},
"input_boolean": {
"off": "Aus",
"on": "An"
},
"light": {
"off": "Aus",
"on": "An"
},
"lock": {
"locked": "Verriegelt",
"unlocked": "Entriegelt"
},
"media_player": {
"idle": "Unt\u00e4tig",
"off": "Aus",
"on": "An",
"paused": "Pausiert",
"playing": "Spielt",
"standby": "Standby"
},
"person": {
"home": "Zu Hause",
"not_home": "Abwesend"
},
"plant": {
"ok": "OK",
"problem": "Problem"
},
"remote": {
"off": "Aus",
"on": "An"
},
"scene": {
"scening": "Szene"
},
"script": {
"off": "Aus",
"on": "An"
},
"sensor": {
"off": "Aus",
"on": "An"
},
"sun": {
"above_horizon": "\u00dcber dem Horizont",
"below_horizon": "Unter dem Horizont"
},
"switch": {
"off": "Aus",
"on": "An"
},
"timer": {
"active": "aktiv",
"idle": "Leerlauf",
"paused": "pausiert"
},
"vacuum": {
"cleaning": "Reinigen",
"docked": "Angedockt",
"error": "Fehler",
"idle": "Standby",
"off": "Aus",
"on": "An",
"paused": "Pausiert",
"returning": "R\u00fcckkehr zur Dockingstation"
},
"weather": {
"clear-night": "Klare Nacht",
"cloudy": "Bew\u00f6lkt",
"exceptional": "Au\u00dfergew\u00f6hnlich",
"fog": "Nebel",
"hail": "Hagel",
"lightning": "Gewitter",
"lightning-rainy": "Gewitter, regnerisch",
"partlycloudy": "Teilweise bew\u00f6lkt",
"pouring": "Str\u00f6mend",
"rainy": "Regnerisch",
"snowy": "Verschneit",
"snowy-rainy": "Verschneit, regnerisch",
"sunny": "Sonnig",
"windy": "Windig",
"windy-variant": "Windig"
},
"zwave": {
"default": {
"dead": "Nicht erreichbar",
"initializing": "Initialisierend",
"ready": "Bereit",
"sleeping": "Schlafend"
},
"query_stage": {
"dead": "Nicht erreichbar ({query_stage})",
"initializing": "Initialisiere ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u039f\u03c0\u03bb\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03c2",
"armed_away": "\u039f\u03c0\u03bb\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03c2 \u03bc\u03b1\u03ba\u03c1\u03b9\u03ac",
"armed_custom_bypass": "\u03a0\u03c1\u03bf\u03c3\u03b1\u03c1\u03bc\u03bf\u03c3\u03bc\u03ad\u03bd\u03b7 \u03c0\u03b1\u03c1\u03ac\u03ba\u03b1\u03bc\u03c8\u03b7 \u03b5\u03bd\u03b5\u03c1\u03b3\u03ae",
"armed_home": "\u03a3\u03c0\u03af\u03c4\u03b9 \u039f\u03c0\u03bb\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf",
"armed_night": "\u039f\u03c0\u03bb\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf \u03b2\u03c1\u03ac\u03b4\u03c5",
"arming": "\u038c\u03c0\u03bb\u03b9\u03c3\u03b7",
"disarmed": "\u0391\u03c6\u03bf\u03c0\u03bb\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03c2",
"disarming": "\u0391\u03c6\u03cc\u03c0\u03bb\u03b9\u03c3\u03b7",
"pending": "\u0395\u03ba\u03ba\u03c1\u03b5\u03bc\u03ae\u03c2",
"triggered": "\u03a0\u03b1\u03c1\u03b1\u03b2\u03af\u03b1\u03c3\u03b7"
},
"automation": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc\u03c2 "
},
"binary_sensor": {
"battery": {
"off": "\u039a\u03b1\u03bd\u03bf\u03bd\u03b9\u03ba\u03cc\u03c2",
"on": "\u03a7\u03b1\u03bc\u03b7\u03bb\u03cc\u03c2"
},
"cold": {
"off": "\u03a6\u03c5\u03c3\u03b9\u03bf\u03bb\u03bf\u03b3\u03b9\u03ba\u03cc",
"on": "\u039a\u03c1\u03cd\u03bf"
},
"connectivity": {
"off": "\u0391\u03c0\u03bf\u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7",
"on": "\u03a3\u03c5\u03bd\u03b4\u03b5\u03b4\u03b5\u03bc\u03ad\u03bd\u03bf\u03c2"
},
"default": {
"off": "\u0391\u03bd\u03b5\u03bd\u03b5\u03c1\u03b3\u03cc\u03c2",
"on": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc\u03c2"
},
"door": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03ae",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03ae"
},
"garage_door": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0386\u03bd\u03bf\u03b9\u03b3\u03bc\u03b1"
},
"gas": {
"off": "\u0394\u03b5\u03bd \u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5",
"on": "\u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5"
},
"heat": {
"off": "\u03a6\u03c5\u03c3\u03b9\u03bf\u03bb\u03bf\u03b3\u03b9\u03ba\u03cc",
"on": "\u039a\u03b1\u03c5\u03c4\u03cc"
},
"lock": {
"off": "\u039a\u03bb\u03b5\u03b9\u03b4\u03c9\u03bc\u03ad\u03bd\u03bf",
"on": "\u039e\u03b5\u03ba\u03bb\u03b5\u03af\u03b4\u03c9\u03c4\u03bf"
},
"moisture": {
"off": "\u039e\u03b7\u03c1\u03cc",
"on": "\u03a5\u03b3\u03c1\u03cc"
},
"motion": {
"off": "\u0394\u03b5\u03bd \u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5",
"on": "\u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5"
},
"occupancy": {
"off": "\u0394\u03b5\u03bd \u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5",
"on": "\u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5"
},
"opening": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc"
},
"presence": {
"off": "\u0395\u03ba\u03c4\u03cc\u03c2",
"on": "\u03a3\u03c0\u03af\u03c4\u03b9"
},
"problem": {
"off": "\u0395\u03bd\u03c4\u03ac\u03be\u03b5\u03b9",
"on": "\u03a0\u03c1\u03cc\u03b2\u03bb\u03b7\u03bc\u03b1"
},
"safety": {
"off": "\u0391\u03c3\u03c6\u03b1\u03bb\u03ae\u03c2",
"on": "\u0391\u03bd\u03b1\u03c3\u03c6\u03b1\u03bb\u03ae\u03c2"
},
"smoke": {
"off": "\u0394\u03b5\u03bd \u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5",
"on": "\u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5"
},
"sound": {
"off": "\u0394\u03b5\u03bd \u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5",
"on": "\u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5"
},
"vibration": {
"off": "\u0394\u03b5\u03bd \u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5",
"on": "\u0395\u03bd\u03c4\u03bf\u03c0\u03af\u03c3\u03c4\u03b7\u03ba\u03b5"
},
"window": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc"
}
},
"calendar": {
"off": "\u0391\u03c0\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b7\u03bc\u03ad\u03bd\u03bf",
"on": "\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b7\u03bc\u03ad\u03bd\u03bf"
},
"camera": {
"idle": "\u0391\u03b4\u03c1\u03b1\u03bd\u03ad\u03c2",
"recording": "\u039a\u03b1\u03c4\u03b1\u03b3\u03c1\u03ac\u03c6\u03b5\u03b9",
"streaming": "\u039c\u03b5\u03c4\u03ac\u03b4\u03bf\u03c3\u03b7 \u03a1\u03bf\u03ae\u03c2"
},
"climate": {
"auto": "\u0391\u03c5\u03c4\u03cc\u03bc\u03b1\u03c4\u03bf",
"cool": "\u0394\u03c1\u03bf\u03c3\u03b5\u03c1\u03cc",
"dry": "\u039e\u03b7\u03c1\u03cc",
"fan_only": "\u0391\u03bd\u03b5\u03bc\u03b9\u03c3\u03c4\u03ae\u03c1\u03b1\u03c2 \u03bc\u03cc\u03bd\u03bf",
"heat": "\u0398\u03b5\u03c1\u03bc\u03cc",
"heat_cool": "\u0398\u03ad\u03c1\u03bc\u03b1\u03bd\u03c3\u03b7 / \u03a8\u03cd\u03be\u03b7",
"off": "\u0391\u03bd\u03b5\u03bd\u03b5\u03c1\u03b3\u03cc"
},
"configurator": {
"configure": "\u0394\u03b9\u03b1\u03bc\u03bf\u03c1\u03c6\u03ce\u03c3\u03c4\u03b5",
"configured": "\u0394\u03b9\u03b1\u03bc\u03bf\u03c1\u03c6\u03ce\u03b8\u03b7\u03ba\u03b5"
},
"cover": {
"closed": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"closing": "\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf",
"open": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc",
"opening": "\u0386\u03bd\u03bf\u03b9\u03b3\u03bc\u03b1",
"stopped": "\u03a3\u03c4\u03b1\u03bc\u03ac\u03c4\u03b7\u03c3\u03b5"
},
"default": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc",
"unavailable": "\u039c\u03b7 \u0394\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03bf",
"unknown": "\u0386\u03b3\u03bd\u03c9\u03c3\u03c4\u03b7"
},
"device_tracker": {
"home": "\u03a3\u03c0\u03af\u03c4\u03b9",
"not_home": "\u0395\u03ba\u03c4\u03cc\u03c2 \u03a3\u03c0\u03b9\u03c4\u03b9\u03bf\u03cd"
},
"fan": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc"
},
"group": {
"closed": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"closing": "\u039a\u03bb\u03b5\u03af\u03bd\u03b5\u03b9",
"home": "\u03a3\u03c0\u03af\u03c4\u03b9",
"locked": "\u039a\u03bb\u03b5\u03b9\u03b4\u03c9\u03bc\u03ad\u03bd\u03bf",
"not_home": "\u0395\u03ba\u03c4\u03cc\u03c2 \u03a3\u03c0\u03b9\u03c4\u03b9\u03bf\u03cd",
"off": "\u0391\u03bd\u03b5\u03bd\u03b5\u03c1\u03b3\u03cc",
"ok": "\u0395\u03bd\u03c4\u03ac\u03be\u03b5\u03b9",
"on": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc",
"open": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc",
"opening": "\u0391\u03bd\u03bf\u03af\u03b3\u03b5\u03b9",
"problem": "\u03a0\u03c1\u03cc\u03b2\u03bb\u03b7\u03bc\u03b1",
"stopped": "\u03a3\u03c4\u03b1\u03bc\u03b1\u03c4\u03b7\u03bc\u03ad\u03bd\u03bf",
"unlocked": "\u039e\u03b5\u03ba\u03bb\u03b5\u03af\u03b4\u03c9\u03c4\u03bf"
},
"input_boolean": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc"
},
"light": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc"
},
"lock": {
"locked": "\u039a\u03bb\u03b5\u03b9\u03b4\u03c9\u03bc\u03ad\u03bd\u03b7",
"unlocked": "\u039e\u03b5\u03ba\u03bb\u03b5\u03af\u03b4\u03c9\u03c4\u03b7"
},
"media_player": {
"idle": "\u03a3\u03b5 \u03b1\u03b4\u03c1\u03ac\u03bd\u03b5\u03b9\u03b1",
"off": "\u0391\u03c0\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7",
"on": "\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7",
"paused": "\u03a3\u03b5 \u03a0\u03b1\u03cd\u03c3\u03b7",
"playing": "\u039a\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u0391\u03bd\u03b1\u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03ae\u03c2",
"standby": "\u039a\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03b1\u03bd\u03b1\u03bc\u03bf\u03bd\u03ae\u03c2"
},
"person": {
"home": "\u03a3\u03c0\u03af\u03c4\u03b9",
"not_home": "\u0395\u03ba\u03c4\u03cc\u03c2"
},
"plant": {
"ok": "\u0395\u03bd\u03c4\u03ac\u03be\u03b5\u03b9",
"problem": "\u03a0\u03c1\u03cc\u03b2\u03bb\u03b7\u03bc\u03b1"
},
"remote": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc"
},
"scene": {
"scening": "\u03a3\u03ba\u03af\u03c4\u03c3\u03bf"
},
"script": {
"off": "\u0391\u03bd\u03b5\u03bd\u03b5\u03c1\u03b3\u03cc",
"on": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc"
},
"sensor": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc"
},
"sun": {
"above_horizon": "\u03a0\u03ac\u03bd\u03c9 \u03b1\u03c0\u03cc \u03c4\u03bf\u03bd \u03bf\u03c1\u03af\u03b6\u03bf\u03bd\u03c4\u03b1",
"below_horizon": "\u039a\u03ac\u03c4\u03c9 \u03b1\u03c0\u03cc \u03c4\u03bf\u03bd \u03bf\u03c1\u03af\u03b6\u03bf\u03bd\u03c4\u03b1"
},
"switch": {
"off": "\u039a\u03bb\u03b5\u03b9\u03c3\u03c4\u03cc",
"on": "\u0391\u03bd\u03bf\u03b9\u03c7\u03c4\u03cc"
},
"timer": {
"active": "\u03b5\u03bd\u03b5\u03c1\u03b3\u03cc",
"idle": "\u03a3\u03b5 \u03b1\u03b4\u03c1\u03ac\u03bd\u03b5\u03b9\u03b1",
"paused": "\u03c3\u03b5 \u03c0\u03b1\u03cd\u03c3\u03b7"
},
"vacuum": {
"cleaning": "\u039a\u03b1\u03b8\u03b1\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2",
"docked": "\u039a\u03b1\u03c1\u03c6\u03b9\u03c4\u03c3\u03c9\u03bc\u03ad\u03bd\u03bf",
"error": "\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1",
"idle": "\u03a3\u03b5 \u03b1\u03b4\u03c1\u03ac\u03bd\u03b5\u03b9\u03b1",
"off": "\u039c\u03b7 \u0395\u03bd\u03b5\u03c1\u03b3\u03cc",
"on": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc",
"paused": "\u03a0\u03b1\u03cd\u03c3\u03b7",
"returning": "\u0395\u03c0\u03b9\u03c3\u03c4\u03c1\u03bf\u03c6\u03ae \u03c3\u03c4\u03bf dock"
},
"weather": {
"clear-night": "\u039e\u03b1\u03c3\u03c4\u03b5\u03c1\u03b9\u03ac, \u03bd\u03cd\u03c7\u03c4\u03b1",
"cloudy": "\u039d\u03b5\u03c6\u03b5\u03bb\u03ce\u03b4\u03b7\u03c2",
"exceptional": "\u0395\u03be\u03b1\u03b9\u03c1\u03b5\u03c4\u03b9\u03ba\u03cc",
"fog": "\u039f\u03bc\u03af\u03c7\u03bb\u03b7",
"hail": "\u03a7\u03b1\u03bb\u03ac\u03b6\u03b9",
"lightning": "\u0391\u03c3\u03c4\u03c1\u03b1\u03c0\u03ae",
"lightning-rainy": "\u039a\u03b1\u03c4\u03b1\u03b9\u03b3\u03af\u03b4\u03b1, \u03b2\u03c1\u03bf\u03c7\u03b5\u03c1\u03cc",
"partlycloudy": "\u039c\u03b5\u03c1\u03b9\u03ba\u03ce\u03c2 \u03bd\u03b5\u03c6\u03b5\u03bb\u03ce\u03b4\u03b7\u03c2",
"pouring": "\u03a8\u03b9\u03c7\u03b1\u03bb\u03af\u03b6\u03b5\u03b9",
"rainy": "\u0392\u03c1\u03bf\u03c7\u03b5\u03c1\u03ae",
"snowy": "\u03a7\u03b9\u03bf\u03bd\u03ce\u03b4\u03b7\u03c2",
"snowy-rainy": "\u03a7\u03b9\u03bf\u03bd\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf, \u03b2\u03c1\u03bf\u03c7\u03b5\u03c1\u03cc",
"sunny": "\u0397\u03bb\u03b9\u03cc\u03bb\u03bf\u03c5\u03c3\u03c4\u03bf",
"windy": "\u0398\u03c5\u03b5\u03bb\u03bb\u03ce\u03b4\u03b5\u03b9\u03c2",
"windy-variant": "\u0398\u03c5\u03b5\u03bb\u03bb\u03ce\u03b4\u03b5\u03b9\u03c2"
},
"zwave": {
"default": {
"dead": "\u039d\u03b5\u03ba\u03c1\u03cc",
"initializing": "\u0391\u03c1\u03c7\u03b9\u03ba\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7",
"ready": "\u0388\u03c4\u03bf\u03b9\u03bc\u03bf",
"sleeping": "\u039a\u03bf\u03b9\u03bc\u03ac\u03c4\u03b1\u03b9"
},
"query_stage": {
"dead": "\u039d\u03b5\u03ba\u03c1\u03cc ( {query_stage} )",
"initializing": "\u0391\u03c1\u03c7\u03b9\u03ba\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Armado",
"armed_away": "Armado Fuera de Casa",
"armed_custom_bypass": "Armada zona espec\u00edfica",
"armed_home": "Armado en Casa",
"armed_night": "Armado Nocturno",
"arming": "Armando",
"disarmed": "Desarmado",
"disarming": "Desarmando",
"pending": "Pendiente",
"triggered": "Activado"
},
"automation": {
"off": "Desactivado",
"on": "Encendido"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Baja"
},
"cold": {
"off": "Normal",
"on": "Fr\u00edo"
},
"connectivity": {
"off": "Desconectado",
"on": "Conectado"
},
"default": {
"off": "Desactivado",
"on": "Encendido"
},
"door": {
"off": "Cerrada",
"on": "Abierta"
},
"garage_door": {
"off": "Cerrada",
"on": "Abierta"
},
"gas": {
"off": "Despejado",
"on": "Detectado"
},
"heat": {
"off": "Normal",
"on": "Caliente"
},
"lock": {
"off": "Bloqueado",
"on": "Desbloqueado"
},
"moisture": {
"off": "Seco",
"on": "Humedo"
},
"motion": {
"off": "Despejado",
"on": "Detectado"
},
"occupancy": {
"off": "Despejado",
"on": "Detectado"
},
"opening": {
"off": "Cerrado",
"on": "Abierto"
},
"presence": {
"off": "Fuera de casa",
"on": "En Casa"
},
"problem": {
"off": "OK",
"on": "Problema"
},
"safety": {
"off": "Seguro",
"on": "Inseguro"
},
"smoke": {
"off": "Despejado",
"on": "Detectado"
},
"sound": {
"off": "Despejado",
"on": "Detectado"
},
"vibration": {
"off": "Despejado",
"on": "Detectado"
},
"window": {
"off": "Cerrada",
"on": "Abierta"
}
},
"calendar": {
"off": "Desactivado",
"on": "Activado"
},
"camera": {
"idle": "Inactivo",
"recording": "Grabando",
"streaming": "Streaming"
},
"climate": {
"auto": "Automatico",
"cool": "Enfriar",
"dry": "Seco",
"fan_only": "S\u00f3lo ventilador",
"heat": "Calentar",
"heat_cool": "Calentar/Enfriar",
"off": "Desactivar"
},
"configurator": {
"configure": "Configurar",
"configured": "Configurado"
},
"cover": {
"closed": "Cerrado",
"closing": "Cerrando",
"open": "Abierto",
"opening": "Abriendo",
"stopped": "Detenido"
},
"default": {
"off": "Desactivado",
"on": "Encendido",
"unavailable": "No disponible",
"unknown": "Desconocido"
},
"device_tracker": {
"home": "En Casa",
"not_home": "Fuera de Casa"
},
"fan": {
"off": "Desactivado",
"on": "Encendido"
},
"group": {
"closed": "Cerrado",
"closing": "Cerrando",
"home": "En casa",
"locked": "Cerrado",
"not_home": "Fuera de Casa",
"off": "Apagado",
"ok": "OK",
"on": "Encendido",
"open": "Abierto",
"opening": "Abriendo",
"problem": "Problema",
"stopped": "Detenido",
"unlocked": "Abierto"
},
"input_boolean": {
"off": "Apagado",
"on": "Encendido"
},
"light": {
"off": "Apagado",
"on": "Encendido"
},
"lock": {
"locked": "Cerrado",
"unlocked": "Abierto"
},
"media_player": {
"idle": "Inactivo",
"off": "Apagado",
"on": "Encendido",
"paused": "Pausado",
"playing": "Reproduciendo",
"standby": "Modo de espera"
},
"person": {
"home": "En casa",
"not_home": "Fuera de casa"
},
"plant": {
"ok": "OK",
"problem": "Problema"
},
"remote": {
"off": "Apagado",
"on": "Encendido"
},
"scene": {
"scening": "Reproduciendo Escena"
},
"script": {
"off": "Apagado",
"on": "Encendido"
},
"sensor": {
"off": "",
"on": ""
},
"sun": {
"above_horizon": "Sobre el horizonte",
"below_horizon": "Bajo el horizonte"
},
"switch": {
"off": "",
"on": ""
},
"timer": {
"active": "activo",
"idle": "inactivo",
"paused": "pausado"
},
"vacuum": {
"cleaning": "Limpiando",
"docked": "Acoplado",
"error": "Error",
"idle": "Inactivo",
"off": "Encendida",
"on": "Apagada",
"paused": "Pausado",
"returning": "Regresar al dock"
},
"weather": {
"clear-night": "Despejado, de noche",
"cloudy": "Nublado",
"exceptional": "Excepcional",
"fog": "Niebla",
"hail": "Granizo",
"lightning": "Rel\u00e1mpagos",
"lightning-rainy": "Rel\u00e1mpagos, lluvioso",
"partlycloudy": "Parcialmente nublado",
"pouring": "Torrencial",
"rainy": "Lluvioso",
"snowy": "Nevado",
"snowy-rainy": "Nevado, lluvioso",
"sunny": "Soleado",
"windy": "Ventoso",
"windy-variant": "Ventoso"
},
"zwave": {
"default": {
"dead": "Desconectado",
"initializing": "Iniciando",
"ready": "Listo",
"sleeping": "Hibernacion"
},
"query_stage": {
"dead": "Desconectado ({query_stage})",
"initializing": "Iniciando ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Armado",
"armed_away": "Armado fuera de casa",
"armed_custom_bypass": "Armada Zona Espec\u00edfica",
"armed_home": "Armado en casa",
"armed_night": "Armado noche",
"arming": "Armando",
"disarmed": "Desarmado",
"disarming": "Desarmando",
"pending": "Pendiente",
"triggered": "Disparada"
},
"automation": {
"off": "Apagado",
"on": "Encendida"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Bajo"
},
"cold": {
"off": "Normal",
"on": "Frio"
},
"connectivity": {
"off": "Desconectado",
"on": "Conectado"
},
"default": {
"off": "Apagado",
"on": "Encendido"
},
"door": {
"off": "Cerrada",
"on": "Abierta"
},
"garage_door": {
"off": "Cerrada",
"on": "Abierta"
},
"gas": {
"off": "No detectado",
"on": "Detectado"
},
"heat": {
"off": "Normal",
"on": "Caliente"
},
"lock": {
"off": "Bloqueado",
"on": "Desbloqueado"
},
"moisture": {
"off": "Seco",
"on": "H\u00famedo"
},
"motion": {
"off": "Sin movimiento",
"on": "Detectado"
},
"occupancy": {
"off": "No detectado",
"on": "Detectado"
},
"opening": {
"off": "Cerrado",
"on": "Abierto"
},
"presence": {
"off": "Fuera de casa",
"on": "En casa"
},
"problem": {
"off": "OK",
"on": "Problema"
},
"safety": {
"off": "Seguro",
"on": "Inseguro"
},
"smoke": {
"off": "No detectado",
"on": "Detectado"
},
"sound": {
"off": "No detectado",
"on": "Detectado"
},
"vibration": {
"off": "No detectado",
"on": "Detectado"
},
"window": {
"off": "Cerrada",
"on": "Abierta"
}
},
"calendar": {
"off": "Apagado",
"on": "Encendido"
},
"camera": {
"idle": "Inactivo",
"recording": "Grabando",
"streaming": "Transmitiendo"
},
"climate": {
"auto": "Autom\u00e1tico",
"cool": "Fr\u00edo",
"dry": "Seco",
"fan_only": "S\u00f3lo ventilador",
"heat": "Calor",
"heat_cool": "Calor/Fr\u00edo",
"off": "Apagado"
},
"configurator": {
"configure": "Configurar",
"configured": "Configurado"
},
"cover": {
"closed": "Cerrado",
"closing": "Cerrando",
"open": "Abierto",
"opening": "Abriendo",
"stopped": "Detenido"
},
"default": {
"off": "Apagado",
"on": "Encendido",
"unavailable": "No disponible",
"unknown": "Desconocido"
},
"device_tracker": {
"home": "En casa",
"not_home": "Fuera de casa"
},
"fan": {
"off": "Apagado",
"on": "Encendido"
},
"group": {
"closed": "Cerrado",
"closing": "Cerrando",
"home": "En casa",
"locked": "Bloqueado",
"not_home": "Fuera de casa",
"off": "Apagado",
"ok": "OK",
"on": "Encendido",
"open": "Abierto",
"opening": "Abriendo",
"problem": "Problema",
"stopped": "Detenido",
"unlocked": "Desbloqueado"
},
"input_boolean": {
"off": "Apagado",
"on": "Encendido"
},
"light": {
"off": "Apagada",
"on": "Encendida"
},
"lock": {
"locked": "Bloqueado",
"unlocked": "Desbloqueado"
},
"media_player": {
"idle": "Inactivo",
"off": "Apagado",
"on": "Encendido",
"paused": "En pausa",
"playing": "Reproduciendo",
"standby": "Apagado"
},
"person": {
"home": "Casa",
"not_home": "Fuera de casa"
},
"plant": {
"ok": "OK",
"problem": "Problema"
},
"remote": {
"off": "Apagado",
"on": "Encendido"
},
"scene": {
"scening": "En escena"
},
"script": {
"off": "Apagado",
"on": "Encendido"
},
"sensor": {
"off": "Apagado",
"on": "Encendido"
},
"sun": {
"above_horizon": "Sobre el horizonte",
"below_horizon": "Bajo el horizonte"
},
"switch": {
"off": "Apagado",
"on": "Encendido"
},
"timer": {
"active": "activo",
"idle": "inactivo",
"paused": "pausado"
},
"vacuum": {
"cleaning": "Limpiando",
"docked": "En base",
"error": "Error",
"idle": "Inactivo",
"off": "Apagado",
"on": "Encendido",
"paused": "En pausa",
"returning": "Volviendo a la base"
},
"weather": {
"clear-night": "Despejado, de noche",
"cloudy": "Nublado",
"exceptional": "Excepcional",
"fog": "Niebla",
"hail": "Granizo",
"lightning": "Rel\u00e1mpagos",
"lightning-rainy": "Rel\u00e1mpagos, lluvioso",
"partlycloudy": "Parcialmente nublado",
"pouring": "Torrencial",
"rainy": "Lluvioso",
"snowy": "Nevado",
"snowy-rainy": "Nevado, lluvioso",
"sunny": "Soleado",
"windy": "Ventoso",
"windy-variant": "Ventoso"
},
"zwave": {
"default": {
"dead": "No responde",
"initializing": "Inicializando",
"ready": "Listo",
"sleeping": "Ahorro de energ\u00eda"
},
"query_stage": {
"dead": "No responde ({query_stage})",
"initializing": "Inicializando ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Valves",
"armed_away": "Valves eemal",
"armed_custom_bypass": "Valves, eranditega",
"armed_home": "Valves kodus",
"armed_night": "Valves \u00f6ine",
"arming": "Valvestab",
"disarmed": "Maas",
"disarming": "Maas...",
"pending": "Ootel",
"triggered": "H\u00e4ires"
},
"automation": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"binary_sensor": {
"battery": {
"off": "Tavaline",
"on": "Madal"
},
"cold": {
"off": "Normaalne",
"on": "Jahe"
},
"connectivity": {
"off": "Lahti \u00fchendatud",
"on": "\u00dchendatud"
},
"default": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"door": {
"off": "Suletud",
"on": "Avatud"
},
"garage_door": {
"off": "Suletud",
"on": "Avatud"
},
"gas": {
"off": "Puudub",
"on": "Tuvastatud"
},
"heat": {
"off": "Normaalne",
"on": "Palav"
},
"lock": {
"off": "Lukus",
"on": "Lukustamata"
},
"moisture": {
"off": "Kuiv",
"on": "M\u00e4rg"
},
"motion": {
"off": "Puudub",
"on": "Tuvastatud"
},
"occupancy": {
"off": "Puudub",
"on": "Tuvastatud"
},
"opening": {
"off": "Suletud",
"on": "Avatud"
},
"presence": {
"off": "Eemal",
"on": "Kodus"
},
"problem": {
"off": "OK",
"on": "Probleem"
},
"safety": {
"off": "Ohutu",
"on": "Ohtlik"
},
"smoke": {
"off": "Puudub",
"on": "Tuvastatud"
},
"sound": {
"off": "Puudub",
"on": "Tuvastatud"
},
"vibration": {
"off": "Puudub",
"on": "Tuvastatud"
},
"window": {
"off": "Suletud",
"on": "Avatud"
}
},
"calendar": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"camera": {
"idle": "Ootel",
"recording": "Salvestab",
"streaming": "Voogedastab"
},
"climate": {
"auto": "Automaatne",
"cool": "Jahuta",
"dry": "Kuiv",
"fan_only": "Ainult ventilaator",
"heat": "Soojenda",
"heat_cool": "K\u00fcta/jahuta",
"off": "V\u00e4ljas"
},
"configurator": {
"configure": "Seadista",
"configured": "Seadistatud"
},
"cover": {
"closed": "Suletud",
"closing": "Sulgub",
"open": "Avatud",
"opening": "Avaneb",
"stopped": "Peatatud"
},
"default": {
"off": "V\u00e4ljas",
"on": "Sees",
"unavailable": "Kadunud",
"unknown": "Teadmata"
},
"device_tracker": {
"home": "Kodus",
"not_home": "Eemal"
},
"fan": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"group": {
"closed": "Suletud",
"closing": "Sulgub",
"home": "Kodus",
"locked": "Lukus",
"not_home": "Eemal",
"off": "V\u00e4ljas",
"ok": "OK",
"on": "Sees",
"open": "Avatud",
"opening": "Avaneb",
"problem": "Probleem",
"stopped": "Peatunud",
"unlocked": "Lukustamata"
},
"input_boolean": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"light": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"lock": {
"locked": "Lukus",
"unlocked": "Lahti"
},
"media_player": {
"idle": "Ootel",
"off": "V\u00e4ljas",
"on": "Sees",
"paused": "Peatatud",
"playing": "M\u00e4ngib",
"standby": "Unere\u017eiimil"
},
"person": {
"home": "Kodus",
"not_home": "Eemal"
},
"plant": {
"ok": "OK",
"problem": "Probleem"
},
"remote": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"scene": {
"scening": "Stseenis"
},
"script": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"sensor": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"sun": {
"above_horizon": "T\u00f5usnud",
"below_horizon": "Loojunud"
},
"switch": {
"off": "V\u00e4ljas",
"on": "Sees"
},
"timer": {
"active": "aktiivne",
"idle": "ootel",
"paused": "peatatud"
},
"vacuum": {
"cleaning": "Puhastamine",
"docked": "Dokitud",
"error": "Viga",
"idle": "Ootel",
"off": "V\u00e4ljas",
"on": "Sees",
"paused": "Peatatud",
"returning": "P\u00f6\u00f6rdun tagasi dokki"
},
"weather": {
"clear-night": "Selge \u00f6\u00f6",
"cloudy": "Pilves",
"exceptional": "Erakordne",
"fog": "Udu",
"hail": "Rahe",
"lightning": "\u00c4ikeseline",
"lightning-rainy": "\u00c4ikeseline, vihmane",
"partlycloudy": "Osaliselt pilves",
"pouring": "Kallab",
"rainy": "Vihmane",
"snowy": "Lumine",
"snowy-rainy": "L\u00f6rtsine",
"sunny": "P\u00e4ikeseline",
"windy": "Tuuline",
"windy-variant": "Tuuline"
},
"zwave": {
"default": {
"dead": "Surnud",
"initializing": "L\u00e4htestan",
"ready": "Valmis",
"sleeping": "Ootel"
},
"query_stage": {
"dead": "Surnud ({query_stage})",
"initializing": "L\u00e4htestan ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,198 @@
{
"state": {
"alarm_control_panel": {
"pending": "Zain",
"triggered": "Abiarazita"
},
"automation": {
"off": "Itzalita",
"on": "Piztuta"
},
"binary_sensor": {
"battery": {
"off": "Normala",
"on": "Baxua"
},
"cold": {
"off": "Normala",
"on": "Hotza"
},
"connectivity": {
"off": "Deskonektatuta",
"on": "Konektatuta"
},
"default": {
"off": "Itzalita",
"on": "Piztuta"
},
"door": {
"off": "Itxita",
"on": "Ireki"
},
"garage_door": {
"off": "Itxita",
"on": "Ireki"
},
"heat": {
"off": "Normala",
"on": "Beroa"
},
"lock": {
"off": "Itxita",
"on": "Irekita"
},
"moisture": {
"off": "Lehorra",
"on": "Buztita"
},
"opening": {
"off": "Itxita",
"on": "Ireki"
},
"presence": {
"off": "Kanpoan",
"on": "Etxean"
},
"problem": {
"off": "Ondo",
"on": "Arazoa"
},
"safety": {
"off": "Babestuta"
},
"window": {
"off": "Itxita",
"on": "Ireki"
}
},
"calendar": {
"off": "Itzalita",
"on": "Piztuta"
},
"camera": {
"recording": "Grabatzen"
},
"climate": {
"auto": "Automatikoa",
"cool": "Hotza",
"dry": "Lehorra",
"fan_only": "Haizagailua bakarrik",
"heat": "Beroa",
"off": "Itzalita"
},
"configurator": {
"configure": "Konfiguratu",
"configured": "Konfiguratuta"
},
"cover": {
"closed": "Itxita",
"closing": "Ixten",
"open": "Irekita",
"opening": "Irekitzen",
"stopped": "Geldituta"
},
"default": {
"off": "Itzalita",
"on": "Piztuta",
"unavailable": "Ez dago erabilgarri",
"unknown": "Ezezaguna"
},
"device_tracker": {
"home": "Etxean",
"not_home": "Kanpoan"
},
"fan": {
"off": "Itzalita",
"on": "Piztuta"
},
"group": {
"closed": "Itxita",
"closing": "Ixten",
"home": "Etxean",
"not_home": "Kanpoan",
"off": "Itzalita",
"ok": "Itzalita",
"on": "Piztuta",
"open": "Ireki",
"opening": "Irekitzen",
"problem": "Arazoa",
"stopped": "Geldirik"
},
"input_boolean": {
"off": "Itzalita",
"on": "Piztuta"
},
"light": {
"off": "Itzalita",
"on": "Piztuta"
},
"media_player": {
"off": "Itzalita",
"on": "Piztuta"
},
"person": {
"home": "Etxean",
"not_home": "Kanpoan"
},
"plant": {
"ok": "Itzalita",
"problem": "Arazoa"
},
"remote": {
"off": "Itzalita",
"on": "Piztuta"
},
"script": {
"off": "Itzalita",
"on": "Piztuta"
},
"sensor": {
"off": "Itzalita",
"on": "Piztuta"
},
"sun": {
"above_horizon": "Horizonte gainetik",
"below_horizon": "Horizonte azpitik"
},
"switch": {
"off": "Itzalita",
"on": "Piztuta"
},
"vacuum": {
"cleaning": "Garbitzen",
"docked": "Basean",
"error": "Errorea",
"off": "Itzalita",
"on": "Piztuta",
"returning": "Basera itzultzen"
},
"weather": {
"clear-night": "Garbia, gaua",
"cloudy": "Hodeitsua",
"fog": "Lainoa",
"hail": "Txingorra",
"lightning": "Tximistak",
"lightning-rainy": "Tximistak, euritsua",
"partlycloudy": "Ostarteak",
"pouring": "Botatzen",
"rainy": "Euritsua",
"snowy": "Elurtsua",
"snowy-rainy": "Elurtsua, euritsua",
"sunny": "Eguzkitsua",
"windy": "Haizetsua",
"windy-variant": "Haizetsua"
},
"zwave": {
"default": {
"dead": "Hilda",
"initializing": "Hasieratzen",
"ready": "Prest",
"sleeping": "Lotan"
},
"query_stage": {
"dead": "Ez du erantzuten ({query_stage})",
"initializing": "Hasieratzen ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,247 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u0645\u0635\u0644\u062d \u0634\u062f\u0647",
"armed_away": "\u0645\u0633\u0644\u062d \u0634\u062f\u0647 \u0628\u06cc\u0631\u0648\u0646",
"armed_custom_bypass": "\u0628\u0627\u06cc\u06af\u0627\u0646\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0645\u0633\u0644\u062d",
"armed_home": "\u0645\u0633\u0644\u062d \u0634\u062f\u0647 \u062e\u0627\u0646\u0647",
"armed_night": "\u0645\u0633\u0644\u062d \u0634\u062f\u0647 \u0634\u0628",
"arming": "\u062f\u0631 \u062d\u0627\u0644 \u0645\u0633\u0644\u062d \u06a9\u0631\u062f\u0646",
"disarmed": "\u063a\u06cc\u0631 \u0645\u0633\u0644\u062d",
"disarming": "\u062f\u0631 \u062d\u0627\u0644 \u063a\u06cc\u0631 \u0645\u0633\u0644\u062d \u06a9\u0631\u062f\u0646",
"pending": "\u062f\u0631 \u0627\u0646\u062a\u0638\u0627\u0631",
"triggered": "\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u062e\u062a\u0647 \u0634\u062f\u0647"
},
"automation": {
"off": "\u062e\u0627\u0645\u0648\u0634",
"on": "\u0641\u0639\u0627\u0644"
},
"binary_sensor": {
"battery": {
"off": "\u0639\u0627\u062f\u06cc",
"on": "\u06a9\u0645"
},
"cold": {
"off": "\u0639\u0627\u062f\u06cc",
"on": "\u0633\u0631\u062f"
},
"connectivity": {
"off": "\u0642\u0637\u0639 ",
"on": "\u0645\u062a\u0635\u0644"
},
"default": {
"off": "\u062e\u0627\u0645\u0648\u0634",
"on": "\u0631\u0648\u0634\u0646"
},
"door": {
"off": "\u0628\u0633\u062a\u0647",
"on": "\u0628\u0627\u0632"
},
"garage_door": {
"off": "\u0628\u0633\u062a\u0647",
"on": "\u0628\u0627\u0632"
},
"gas": {
"off": "\u0639\u0627\u062f\u06cc",
"on": "\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0634\u062f"
},
"heat": {
"off": "\u0639\u0627\u062f\u06cc",
"on": "\u062f\u0627\u063a"
},
"lock": {
"off": "\u0642\u0641\u0644",
"on": "\u0628\u0627\u0632"
},
"moisture": {
"off": "\u062e\u0634\u06a9",
"on": "\u0645\u0631\u0637\u0648\u0628"
},
"motion": {
"off": "\u0639\u0627\u062f\u06cc",
"on": "\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0634\u062f"
},
"occupancy": {
"off": "\u0639\u0627\u062f\u06cc",
"on": "\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0634\u062f"
},
"opening": {
"off": "\u0628\u0633\u062a\u0647 \u0634\u062f\u0647",
"on": "\u0628\u0627\u0632"
},
"presence": {
"off": "\u0628\u06cc\u0631\u0648\u0646",
"on": "\u062e\u0627\u0646\u0647"
},
"problem": {
"off": "\u062e\u0648\u0628",
"on": "\u0645\u0634\u06a9\u0644"
},
"safety": {
"off": "\u0627\u0645\u0646",
"on": "\u0646\u0627 \u0627\u0645\u0646"
},
"smoke": {
"off": "\u0639\u0627\u062f\u06cc",
"on": "\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0634\u062f"
},
"sound": {
"off": "\u0639\u0627\u062f\u06cc",
"on": "\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0634\u062f"
},
"vibration": {
"off": "\u067e\u0627\u06a9 \u06a9\u0631\u062f\u0646",
"on": "\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0634\u062f"
},
"window": {
"off": "\u0628\u0633\u062a\u0647",
"on": "\u0628\u0627\u0632"
}
},
"calendar": {
"off": "\u063a\u06cc\u0631\u0641\u0639\u0627\u0644",
"on": "\u0641\u0639\u0627\u0644"
},
"camera": {
"idle": "\u0628\u06cc\u06a9\u0627\u0631",
"recording": "\u062f\u0631 \u062d\u0627\u0644 \u0636\u0628\u0637",
"streaming": "\u062f\u0631 \u062d\u0627\u0644 \u067e\u062e\u0634"
},
"climate": {
"auto": "\u062e\u0648\u062f\u06a9\u0627\u0631",
"cool": "\u062e\u0646\u06a9",
"dry": "\u062e\u0634\u06a9",
"fan_only": "\u0641\u0642\u0637 \u067e\u0646\u06a9\u0647",
"heat": "\u062d\u0631\u0627\u0631\u062a",
"off": "\u062e\u0627\u0645\u0648\u0634"
},
"configurator": {
"configure": "\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc",
"configured": "\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647"
},
"cover": {
"closed": "\u0628\u0633\u062a\u0647 \u0634\u062f\u0647",
"closing": "\u062f\u0631 \u062d\u0627\u0644 \u0628\u0633\u062a\u0647 \u0634\u062f\u0646",
"open": "\u0628\u0627\u0632",
"opening": "\u062f\u0631 \u062d\u0627\u0644 \u0628\u0627\u0632 \u0634\u062f\u0646",
"stopped": "\u0645\u062a\u0648\u0642\u0641"
},
"default": {
"off": "\u062e\u0627\u0645\u0648\u0634",
"on": "\u0631\u0648\u0634\u0646",
"unavailable": "\u063a\u06cc\u0631\u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633",
"unknown": "\u0646\u0627\u0645\u0634\u062e\u0635"
},
"device_tracker": {
"home": "\u062e\u0627\u0646\u0647",
"not_home": "\u0628\u06cc\u0631\u0648\u0646"
},
"fan": {
"off": "\u062e\u0627\u0645\u0648\u0634",
"on": "\u0631\u0648\u0634\u0646"
},
"group": {
"closed": "\u0628\u0633\u062a\u0647",
"closing": "\u062f\u0631 \u062d\u0627\u0644 \u0628\u0633\u062a\u0647 \u0634\u062f\u0646",
"home": "\u062e\u0627\u0646\u0647",
"locked": "\u0642\u0641\u0644 \u0634\u062f\u0647",
"not_home": "\u0628\u06cc\u0631\u0648\u0646",
"off": "\u063a\u06cc\u0631\u0641\u0639\u0627\u0644",
"ok": "\u062e\u0648\u0628",
"on": "\u0641\u0639\u0627\u0644",
"open": "\u0628\u0627\u0632",
"opening": "\u062f\u0631 \u062d\u0627\u0644 \u0628\u0627\u0632 \u0634\u062f\u0646",
"problem": "\u0645\u0634\u06a9\u0644",
"stopped": "\u0645\u062a\u0648\u0642\u0641",
"unlocked": "\u0628\u0627\u0632"
},
"input_boolean": {
"off": "\u063a\u06cc\u0631\u0641\u0639\u0627\u0644",
"on": "\u0641\u0639\u0627\u0644"
},
"light": {
"off": "\u062e\u0627\u0645\u0648\u0634",
"on": "\u0631\u0648\u0634\u0646"
},
"lock": {
"locked": "\u0642\u0641\u0644 \u0634\u062f\u0647",
"unlocked": "\u0628\u0627\u0632"
},
"media_player": {
"idle": "\u0628\u06cc\u06a9\u0627\u0631",
"off": "\u062e\u0627\u0645\u0648\u0634",
"on": "\u0631\u0648\u0634\u0646",
"paused": "\u062f\u0631 \u062d\u0627\u0644\u062a \u0645\u06a9\u062b",
"playing": "\u062f\u0631 \u062d\u0627\u0644 \u067e\u062e\u0634",
"standby": "\u0622\u0645\u0627\u062f\u0647 \u0628\u0647 \u06a9\u0627\u0631"
},
"person": {
"home": "\u062e\u0627\u0646\u0647",
"not_home": "\u0628\u06cc\u0631\u0648\u0646"
},
"plant": {
"ok": "\u062e\u0648\u0628",
"problem": "\u0645\u0634\u06a9\u0644"
},
"remote": {
"off": "\u062e\u0627\u0645\u0648\u0634",
"on": "\u0631\u0648\u0634\u0646"
},
"scene": {
"scening": "\u0635\u062d\u0646\u0647"
},
"script": {
"off": "\u063a\u06cc\u0631\u0641\u0639\u0627\u0644",
"on": "\u0641\u0639\u0627\u0644"
},
"sensor": {
"off": "\u063a\u06cc\u0631 \u0641\u0639\u0627\u0644",
"on": "\u0641\u0639\u0627\u0644"
},
"sun": {
"above_horizon": "\u0628\u0627\u0644\u0627\u06cc \u0627\u0641\u0642",
"below_horizon": "\u0632\u06cc\u0631 \u0627\u0641\u0642"
},
"switch": {
"off": "\u062e\u0627\u0645\u0648\u0634",
"on": "\u0631\u0648\u0634\u0646"
},
"timer": {
"active": "\u0641\u0639\u0627\u0644",
"idle": "\u0628\u06cc\u06a9\u0627\u0631 ",
"paused": "\u0645\u062a\u0648\u0642\u0641 \u0634\u062f"
},
"vacuum": {
"cleaning": "\u062a\u0645\u06cc\u0632 \u06a9\u0631\u062f\u0646",
"off": "\u063a\u06cc\u0631 \u0641\u0639\u0627\u0644",
"on": "\u0641\u063a\u0627\u0644",
"paused": "\u0645\u06a9\u062b"
},
"weather": {
"cloudy": "\u0627\u0628\u0631\u06cc",
"fog": "\u0645\u0647",
"hail": "\u062a\u06af\u0631\u06af",
"lightning": "\u0631\u0639\u062f \u0648 \u0628\u0631\u0642",
"partlycloudy": "\u0646\u06cc\u0645\u0647 \u0627\u0628\u0631\u06cc",
"pouring": "\u0631\u06cc\u062e\u062a\u0646",
"rainy": "\u0628\u0627\u0631\u0627\u0646\u06cc",
"snowy": "\u0628\u0631\u0641\u06cc",
"snowy-rainy": "\u0628\u0631\u0641\u06cc\u060c \u0628\u0627\u0631\u0627\u0646\u06cc",
"sunny": "\u0622\u0641\u062a\u0627\u0628\u06cc",
"windy": "\u0628\u0627\u062f",
"windy-variant": "\u0628\u0627\u062f"
},
"zwave": {
"default": {
"dead": "\u0645\u0631\u062f\u0647",
"initializing": "\u062f\u0631 \u062d\u0627\u0644 \u0622\u0645\u0627\u062f\u0647 \u0634\u062f\u0646",
"ready": "\u0622\u0645\u0627\u062f\u0647",
"sleeping": "\u062f\u0631 \u062d\u0627\u0644 \u062e\u0648\u0627\u0628"
},
"query_stage": {
"dead": "\u0645\u0631\u062f\u0647 ({query_stage})",
"initializing": "\u062f\u0631 \u062d\u0627\u0644 \u0622\u0645\u0627\u062f\u0647 \u0634\u062f\u0646 ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Viritetty",
"armed_away": "Viritetty (poissa)",
"armed_custom_bypass": "Virityksen ohittaminen",
"armed_home": "Viritetty (kotona)",
"armed_night": "Viritetty (y\u00f6)",
"arming": "Viritys",
"disarmed": "Viritys pois",
"disarming": "Virityksen poisto",
"pending": "Odottaa",
"triggered": "Lauennut"
},
"automation": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"binary_sensor": {
"battery": {
"off": "Normaali",
"on": "Alhainen"
},
"cold": {
"off": "Normaali",
"on": "Kylm\u00e4"
},
"connectivity": {
"off": "Ei yhteytt\u00e4",
"on": "Yhdistetty"
},
"default": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"door": {
"off": "Suljettu",
"on": "Auki"
},
"garage_door": {
"off": "Suljettu",
"on": "Auki"
},
"gas": {
"off": "Pois",
"on": "Havaittu"
},
"heat": {
"off": "Normaali",
"on": "Kuuma"
},
"lock": {
"off": "Lukittu",
"on": "Auki"
},
"moisture": {
"off": "Kuiva",
"on": "Kostea"
},
"motion": {
"off": "Ei liikett\u00e4",
"on": "Havaittu"
},
"occupancy": {
"off": "Ei liikett\u00e4",
"on": "Havaittu"
},
"opening": {
"off": "Suljettu",
"on": "Auki"
},
"presence": {
"off": "Poissa",
"on": "Kotona"
},
"problem": {
"off": "OK",
"on": "Ongelma"
},
"safety": {
"off": "Turvallinen",
"on": "Vaarallinen"
},
"smoke": {
"off": "Ei savua",
"on": "Havaittu"
},
"sound": {
"off": "Ei \u00e4\u00e4nt\u00e4",
"on": "Havaittu"
},
"vibration": {
"off": "Ei v\u00e4rin\u00e4\u00e4",
"on": "Havaittu"
},
"window": {
"off": "Suljettu",
"on": "Auki"
}
},
"calendar": {
"off": "Pois p\u00e4\u00e4lt\u00e4",
"on": "P\u00e4\u00e4ll\u00e4"
},
"camera": {
"idle": "Lepotilassa",
"recording": "Tallentaa",
"streaming": "Toistaa"
},
"climate": {
"auto": "Automaatilla",
"cool": "J\u00e4\u00e4hdytys",
"dry": "Kuivaus",
"fan_only": "Tuuletus",
"heat": "L\u00e4mmitys",
"heat_cool": "L\u00e4mmitys/j\u00e4\u00e4hdytys",
"off": "Pois"
},
"configurator": {
"configure": "M\u00e4\u00e4rittele",
"configured": "M\u00e4\u00e4ritetty"
},
"cover": {
"closed": "Suljettu",
"closing": "Suljetaan",
"open": "Auki",
"opening": "Avataan",
"stopped": "Pys\u00e4ytetty"
},
"default": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4",
"unavailable": "Ei saatavissa",
"unknown": "Tuntematon"
},
"device_tracker": {
"home": "Kotona",
"not_home": "Poissa"
},
"fan": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"group": {
"closed": "Suljettu",
"closing": "Suljetaan",
"home": "Kotona",
"locked": "Lukittu",
"not_home": "Poissa",
"off": "Pois",
"ok": "Ok",
"on": "P\u00e4\u00e4ll\u00e4",
"open": "Auki",
"opening": "Avataan",
"problem": "Ongelma",
"stopped": "Pys\u00e4ytetty",
"unlocked": "Avattu"
},
"input_boolean": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"light": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"lock": {
"locked": "Lukittu",
"unlocked": "Auki"
},
"media_player": {
"idle": "Lepotilassa",
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4",
"paused": "Pys\u00e4ytetty",
"playing": "Toistaa",
"standby": "Lepotilassa"
},
"person": {
"home": "Koti",
"not_home": "Poissa"
},
"plant": {
"ok": "Ok",
"problem": "Ongelma"
},
"remote": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"scene": {
"scening": "Skenehallinta"
},
"script": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"sensor": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"sun": {
"above_horizon": "Horisontin yll\u00e4",
"below_horizon": "Horisontin alapuolella"
},
"switch": {
"off": "Pois",
"on": "P\u00e4\u00e4ll\u00e4"
},
"timer": {
"active": "aktiivinen",
"idle": "Lepotilassa",
"paused": "Pys\u00e4ytetty"
},
"vacuum": {
"cleaning": "Imuroi",
"docked": "Telakoituna",
"error": "Virhe",
"idle": "Lepotilassa",
"off": "Pois p\u00e4\u00e4lt\u00e4",
"on": "P\u00e4\u00e4ll\u00e4",
"paused": "Pys\u00e4ytetty",
"returning": "Palaamassa telakkaan"
},
"weather": {
"clear-night": "Y\u00f6, selke\u00e4\u00e4",
"cloudy": "Pilvist\u00e4",
"exceptional": "Poikkeuksellinen",
"fog": "Sumuista",
"hail": "Raekuuroja",
"lightning": "Ukkoskuuroja",
"lightning-rainy": "Ukkosvaara, sateista",
"partlycloudy": "Osittain pilvist\u00e4",
"pouring": "Kaatosadetta",
"rainy": "Sateista",
"snowy": "Lumisadetta",
"snowy-rainy": "R\u00e4nt\u00e4sadetta",
"sunny": "Aurinkoista",
"windy": "Tuulista",
"windy-variant": "Tuulista"
},
"zwave": {
"default": {
"dead": "Kuollut",
"initializing": "Alustaa",
"ready": "Valmis",
"sleeping": "Lepotilassa"
},
"query_stage": {
"dead": "Kuollut ({query_stage})",
"initializing": "Alustaa ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Activ\u00e9",
"armed_away": "Enclench\u00e9e (absent)",
"armed_custom_bypass": "Activ\u00e9e avec exception",
"armed_home": "Enclench\u00e9e (pr\u00e9sent)",
"armed_night": "Enclench\u00e9 (nuit)",
"arming": "Activation",
"disarmed": "D\u00e9sactiv\u00e9e",
"disarming": "D\u00e9sactivation",
"pending": "En attente",
"triggered": "D\u00e9clench\u00e9"
},
"automation": {
"off": "Inactif",
"on": "Actif"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Faible"
},
"cold": {
"off": "Normale",
"on": "Froid"
},
"connectivity": {
"off": "D\u00e9connect\u00e9",
"on": "Connect\u00e9"
},
"default": {
"off": "Inactif",
"on": "Actif"
},
"door": {
"off": "Ferm\u00e9e",
"on": "Ouverte"
},
"garage_door": {
"off": "Ferm\u00e9e",
"on": "Ouverte"
},
"gas": {
"off": "Non d\u00e9tect\u00e9",
"on": "D\u00e9tect\u00e9"
},
"heat": {
"off": "Normale",
"on": "Chaud"
},
"lock": {
"off": "Verrouill\u00e9",
"on": "D\u00e9verrouill\u00e9"
},
"moisture": {
"off": "Sec",
"on": "Humide"
},
"motion": {
"off": "RAS",
"on": "D\u00e9tect\u00e9"
},
"occupancy": {
"off": "RAS",
"on": "D\u00e9tect\u00e9"
},
"opening": {
"off": "Ferm\u00e9",
"on": "Ouvert"
},
"presence": {
"off": "Absent",
"on": "Pr\u00e9sent"
},
"problem": {
"off": "OK",
"on": "Probl\u00e8me"
},
"safety": {
"off": "S\u00e9curis\u00e9",
"on": "Dangereux"
},
"smoke": {
"off": "RAS",
"on": "D\u00e9tect\u00e9"
},
"sound": {
"off": "RAS",
"on": "D\u00e9tect\u00e9"
},
"vibration": {
"off": "RAS",
"on": "D\u00e9tect\u00e9e"
},
"window": {
"off": "Ferm\u00e9e",
"on": "Ouverte"
}
},
"calendar": {
"off": "Inactif",
"on": "Actif"
},
"camera": {
"idle": "En veille",
"recording": "Enregistrement",
"streaming": "Diffusion en cours"
},
"climate": {
"auto": "Auto",
"cool": "Frais",
"dry": "Sec",
"fan_only": "Ventilateur seul",
"heat": "Chauffe",
"heat_cool": "Chaud/Froid",
"off": "Inactif"
},
"configurator": {
"configure": "Configurer",
"configured": "Configur\u00e9"
},
"cover": {
"closed": "Ferm\u00e9",
"closing": "Fermeture",
"open": "Ouvert",
"opening": "Ouverture",
"stopped": "Arr\u00eat\u00e9"
},
"default": {
"off": "Inactif",
"on": "Actif",
"unavailable": "Indisponible",
"unknown": "Inconnu"
},
"device_tracker": {
"home": "Pr\u00e9sent",
"not_home": "Absent"
},
"fan": {
"off": "\u00c9teint",
"on": "Marche"
},
"group": {
"closed": "Ferm\u00e9",
"closing": "Fermeture",
"home": "Pr\u00e9sent",
"locked": "Verrouill\u00e9",
"not_home": "Absent",
"off": "Inactif",
"ok": "OK",
"on": "Actif",
"open": "Ouvert",
"opening": "Ouverture",
"problem": "Probl\u00e8me",
"stopped": "Arr\u00eat\u00e9",
"unlocked": "D\u00e9verrouill\u00e9"
},
"input_boolean": {
"off": "Arr\u00eat\u00e9",
"on": "Marche"
},
"light": {
"off": "\u00c9teinte",
"on": "Actif"
},
"lock": {
"locked": "Verrouill\u00e9",
"unlocked": "D\u00e9verrouill\u00e9"
},
"media_player": {
"idle": "En veille",
"off": "\u00c9teint",
"on": "Marche",
"paused": "En pause",
"playing": "Lecture en cours",
"standby": "En veille"
},
"person": {
"home": "Pr\u00e9sent",
"not_home": "Absent"
},
"plant": {
"ok": "OK",
"problem": "Probl\u00e8me"
},
"remote": {
"off": "Arr\u00eat",
"on": "Actif"
},
"scene": {
"scening": "Sc\u00e9nario"
},
"script": {
"off": "Inactif",
"on": "Actif"
},
"sensor": {
"off": "Inactif",
"on": "Actif"
},
"sun": {
"above_horizon": "Au-dessus de l'horizon",
"below_horizon": "Sous l\u2019horizon"
},
"switch": {
"off": "Inactif",
"on": "On"
},
"timer": {
"active": "actif",
"idle": "en veille",
"paused": "en pause"
},
"vacuum": {
"cleaning": "Nettoyage",
"docked": "Sur la base",
"error": "Erreur",
"idle": "Inactif",
"off": "Off",
"on": "On",
"paused": "En pause",
"returning": "Retourne \u00e0 la base"
},
"weather": {
"clear-night": "Nuit d\u00e9gag\u00e9e",
"cloudy": "Nuageux",
"exceptional": "Exceptionnel",
"fog": "Brouillard",
"hail": "Gr\u00eale",
"lightning": "Orage",
"lightning-rainy": "Orage / Pluie",
"partlycloudy": "Partiellement nuageux",
"pouring": "Averses",
"rainy": "Pluie",
"snowy": "Neige",
"snowy-rainy": "Neige / Pluie",
"sunny": "Soleil",
"windy": "Vent",
"windy-variant": "Vent"
},
"zwave": {
"default": {
"dead": "Morte",
"initializing": "Initialisation",
"ready": "Pr\u00eat",
"sleeping": "En veille"
},
"query_stage": {
"dead": "Morte ( {query_stage} )",
"initializing": "Initialisation ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,219 @@
{
"state": {
"alarm_control_panel": {
"armed": "Scharf",
"armed_away": "Scharf usswerts",
"armed_home": "Scharf dihei",
"armed_night": "Scharf Nacht",
"arming": "Scharf stel\u00e4",
"disarmed": "Nid scharf",
"disarming": "Entsperr\u00e4",
"pending": "Usstehehnd",
"triggered": "Usgl\u00f6sst"
},
"automation": {
"off": "Us",
"on": "Ah"
},
"binary_sensor": {
"battery": {
"off": "Normau",
"on": "Nidrig"
},
"connectivity": {
"off": "Trennt",
"on": "Verbunge"
},
"default": {
"off": "Us",
"on": "Ah"
},
"gas": {
"off": "Frei",
"on": "Erk\u00e4nnt"
},
"heat": {
"on": "Heiss"
},
"moisture": {
"off": "Troch\u00e4",
"on": "Nass"
},
"motion": {
"off": "Ok",
"on": "Erch\u00e4nt"
},
"occupancy": {
"off": "Ok",
"on": "Erch\u00e4nt"
},
"opening": {
"off": "Gschlos\u00e4",
"on": "Off\u00e4"
},
"presence": {
"off": "Nid Dahei",
"on": "Dahei"
},
"problem": {
"off": "OK",
"on": "Problem"
},
"safety": {
"off": "Sicher",
"on": "Unsicher"
},
"smoke": {
"off": "Ok",
"on": "Erch\u00e4nt"
},
"sound": {
"off": "Ok",
"on": "Erch\u00e4nt"
},
"vibration": {
"off": "Ok",
"on": "Erch\u00e4nt"
}
},
"calendar": {
"off": "Us",
"on": "Ah"
},
"camera": {
"idle": "L\u00e4\u00e4rlauf",
"recording": "Nimt uf",
"streaming": "Streamt"
},
"climate": {
"auto": "Automatik",
"cool": "Ch\u00fc\u00e4l\u00e4",
"dry": "Troch\u00e4",
"fan_only": "Nur L\u00fcfter",
"heat": "Heiz\u00e4",
"off": "Us"
},
"configurator": {
"configure": "Konfiguri\u00e4r\u00e4",
"configured": "Konfiguri\u00e4rt"
},
"cover": {
"closed": "Gschloss\u00e4",
"closing": "Am schliesse",
"open": "Off\u00e4",
"opening": "Am \u00f6ffn\u00e4",
"stopped": "Gstoppt"
},
"default": {
"off": "Us",
"on": "Ah",
"unavailable": "Nid verf\u00fc\u00e4gbar",
"unknown": "Unbekannt"
},
"device_tracker": {
"home": "Dahei",
"not_home": "Nid Dahei"
},
"fan": {
"off": "Us",
"on": "Ah"
},
"group": {
"closed": "Gschloss\u00e4",
"closing": "Schl\u00fcss\u00e4",
"home": "Dahei",
"locked": "Gsperrt",
"not_home": "Nid Dahei",
"off": "Us",
"ok": "Ok",
"on": "Ah",
"open": "Off\u00e4",
"opening": "Am \u00f6ffn\u00e4",
"problem": "Problem",
"stopped": "Gstoppt",
"unlocked": "Entsperrt"
},
"input_boolean": {
"off": "Us",
"on": "Ah"
},
"light": {
"off": "Us",
"on": "Ah"
},
"lock": {
"locked": "Gsperrt",
"unlocked": "Entsperrt"
},
"media_player": {
"idle": "L\u00e4\u00e4rlauf",
"off": "Us",
"on": "Ah",
"paused": "Pousi\u00e4r\u00e4",
"playing": "Am spil\u00e4",
"standby": "Standby"
},
"plant": {
"ok": "OK",
"problem": "Problem"
},
"remote": {
"off": "Us",
"on": "Ah"
},
"scene": {
"scening": "Szen\u00e4"
},
"script": {
"off": "Us",
"on": "Ah"
},
"sensor": {
"off": "Us",
"on": "Ah"
},
"sun": {
"above_horizon": "\u00dcberem Horizont",
"below_horizon": "Underem Horizont"
},
"switch": {
"off": "Us",
"on": "Ah"
},
"vacuum": {
"cleaning": "Putze",
"error": "F\u00e4hler",
"off": "Us",
"on": "I",
"paused": "Pause"
},
"weather": {
"clear-night": "Klar, Nacht",
"cloudy": "Bedeckt",
"fog": "N\u00e4bu",
"hail": "H\u00e4gu",
"lightning": "Blitz\u00e4",
"lightning-rainy": "Blitz\u00e4, R\u00e4ge",
"partlycloudy": "Teilwis bedeckt",
"pouring": "Sch\u00fctte",
"rainy": "R\u00e4gn\u00e4risch",
"snowy": "Schneie",
"snowy-rainy": "Schneie, r\u00e4gnerisch",
"sunny": "sunnig",
"windy": "windig",
"windy-variant": "windig"
},
"zwave": {
"default": {
"dead": "Tod",
"initializing": "Inizialisi\u00e4r\u00e4",
"ready": "Parat",
"sleeping": "Schlaf\u00e4"
},
"query_stage": {
"dead": "Tod ({query_stage})",
"initializing": "Inizialisi\u00e4r\u00e4 ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u05d3\u05e8\u05d5\u05da",
"armed_away": "\u05d3\u05e8\u05d5\u05da \u05dc\u05d0 \u05d1\u05d1\u05d9\u05ea",
"armed_custom_bypass": "\u05de\u05e2\u05e7\u05e3 \u05de\u05d5\u05ea\u05d0\u05dd \u05d0\u05d9\u05e9\u05d9\u05ea \u05d3\u05e8\u05d5\u05da",
"armed_home": "\u05d4\u05d1\u05d9\u05ea \u05d3\u05e8\u05d5\u05da",
"armed_night": "\u05d3\u05e8\u05d5\u05da \u05dc\u05d9\u05dc\u05d4",
"arming": "\u05de\u05e4\u05e2\u05d9\u05dc",
"disarmed": "\u05de\u05e0\u05d5\u05d8\u05e8\u05dc",
"disarming": "\u05de\u05e0\u05d8\u05e8\u05dc",
"pending": "\u05de\u05de\u05ea\u05d9\u05df",
"triggered": "\u05d4\u05d5\u05e4\u05e2\u05dc"
},
"automation": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"binary_sensor": {
"battery": {
"off": "\u05e0\u05d5\u05e8\u05de\u05dc\u05d9",
"on": "\u05e0\u05de\u05d5\u05da"
},
"cold": {
"off": "\u05e8\u05d2\u05d9\u05dc",
"on": "\u05e7\u05b7\u05e8"
},
"connectivity": {
"off": "\u05de\u05e0\u05d5\u05ea\u05e7",
"on": "\u05de\u05d7\u05d5\u05d1\u05e8"
},
"default": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"door": {
"off": "\u05e1\u05d2\u05d5\u05e8\u05d4",
"on": "\u05e4\u05ea\u05d5\u05d7\u05d4"
},
"garage_door": {
"off": "\u05e1\u05d2\u05d5\u05e8\u05d4",
"on": "\u05e4\u05ea\u05d5\u05d7\u05d4"
},
"gas": {
"off": "\u05e0\u05e7\u05d9",
"on": "\u05d0\u05d5\u05ea\u05e8"
},
"heat": {
"off": "\u05e8\u05d2\u05d9\u05dc",
"on": "\u05d7\u05dd"
},
"lock": {
"off": "\u05e0\u05e2\u05d5\u05dc",
"on": "\u05dc\u05d0 \u05e0\u05e2\u05d5\u05dc"
},
"moisture": {
"off": "\u05d9\u05d1\u05e9",
"on": "\u05e8\u05d8\u05d5\u05d1"
},
"motion": {
"off": "\u05e0\u05e7\u05d9",
"on": "\u05d6\u05d5\u05d4\u05d4"
},
"occupancy": {
"off": "\u05e0\u05e7\u05d9",
"on": "\u05d6\u05d5\u05d4\u05d4"
},
"opening": {
"off": "\u05e1\u05d2\u05d5\u05e8",
"on": "\u05e4\u05ea\u05d5\u05d7"
},
"presence": {
"off": "\u05dc\u05d0 \u05e0\u05d5\u05db\u05d7",
"on": "\u05e0\u05d5\u05db\u05d7"
},
"problem": {
"off": "\u05d0\u05d5\u05e7\u05d9\u05d9",
"on": "\u05d1\u05e2\u05d9\u05d9\u05d4"
},
"safety": {
"off": "\u05d1\u05d8\u05d5\u05d7",
"on": "\u05dc\u05d0 \u05d1\u05d8\u05d5\u05d7"
},
"smoke": {
"off": "\u05e0\u05e7\u05d9",
"on": "\u05d0\u05d5\u05ea\u05e8"
},
"sound": {
"off": "\u05e0\u05e7\u05d9",
"on": "\u05d0\u05d5\u05ea\u05e8"
},
"vibration": {
"off": "\u05e0\u05e7\u05d9",
"on": "\u05d0\u05d5\u05ea\u05e8"
},
"window": {
"off": "\u05e1\u05d2\u05d5\u05e8",
"on": "\u05e4\u05ea\u05d5\u05d7"
}
},
"calendar": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"camera": {
"idle": "\u05de\u05d7\u05db\u05d4",
"recording": "\u05de\u05e7\u05dc\u05d9\u05d8",
"streaming": "\u05de\u05d6\u05e8\u05d9\u05dd"
},
"climate": {
"auto": "\u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9",
"cool": "\u05e7\u05e8\u05d5\u05e8",
"dry": "\u05d9\u05d1\u05e9",
"fan_only": "\u05de\u05d0\u05d5\u05d5\u05e8\u05e8 \u05d1\u05dc\u05d1\u05d3",
"heat": "\u05d7\u05d9\u05de\u05d5\u05dd",
"heat_cool": "\u05d7\u05d9\u05de\u05d5\u05dd/\u05e7\u05d9\u05e8\u05d5\u05e8",
"off": "\u05db\u05d1\u05d5\u05d9"
},
"configurator": {
"configure": "\u05d4\u05d2\u05d3\u05e8",
"configured": "\u05d4\u05d5\u05d2\u05d3\u05e8"
},
"cover": {
"closed": "\u05e0\u05e1\u05d2\u05e8",
"closing": "\u05e1\u05d5\u05d2\u05e8",
"open": "\u05e4\u05ea\u05d5\u05d7",
"opening": "\u05e4\u05d5\u05ea\u05d7",
"stopped": "\u05e2\u05e6\u05d5\u05e8"
},
"default": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05de\u05d5\u05e4\u05e2\u05dc",
"unavailable": "\u05dc\u05d0 \u05d6\u05de\u05d9\u05df",
"unknown": "\u05dc\u05d0 \u05d9\u05d3\u05d5\u05e2"
},
"device_tracker": {
"home": "\u05d1\u05d1\u05d9\u05ea",
"not_home": "\u05dc\u05d0 \u05d1\u05d1\u05d9\u05ea"
},
"fan": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"group": {
"closed": "\u05e1\u05d2\u05d5\u05e8",
"closing": "\u05e1\u05d5\u05d2\u05e8",
"home": "\u05d1\u05d1\u05d9\u05ea",
"locked": "\u05e0\u05e2\u05d5\u05dc",
"not_home": "\u05dc\u05d0 \u05d1\u05d1\u05d9\u05ea",
"off": "\u05db\u05d1\u05d5\u05d9",
"ok": "\u05ea\u05e7\u05d9\u05df",
"on": "\u05d3\u05dc\u05d5\u05e7",
"open": "\u05e4\u05ea\u05d5\u05d7",
"opening": "\u05e4\u05d5\u05ea\u05d7",
"problem": "\u05d1\u05e2\u05d9\u05d4",
"stopped": "\u05e0\u05e2\u05e6\u05e8",
"unlocked": "\u05e4\u05ea\u05d5\u05d7"
},
"input_boolean": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"light": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"lock": {
"locked": "\u05e0\u05e2\u05d5\u05dc",
"unlocked": "\u05e4\u05ea\u05d5\u05d7"
},
"media_player": {
"idle": "\u05de\u05de\u05ea\u05d9\u05df",
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7",
"paused": "\u05de\u05d5\u05e9\u05d4\u05d4",
"playing": "\u05de\u05e0\u05d2\u05df",
"standby": "\u05de\u05e6\u05d1 \u05d4\u05de\u05ea\u05e0\u05d4"
},
"person": {
"home": "\u05d1\u05d1\u05d9\u05ea",
"not_home": "\u05dc\u05d0 \u05e0\u05de\u05e6\u05d0"
},
"plant": {
"ok": "\u05ea\u05e7\u05d9\u05df",
"problem": "\u05d1\u05e2\u05d9\u05d4"
},
"remote": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"scene": {
"scening": "\u05de\u05e4\u05e2\u05d9\u05dc \u05e1\u05e6\u05e0\u05d4"
},
"script": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"sensor": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"sun": {
"above_horizon": "\u05de\u05e2\u05dc \u05d4\u05d0\u05d5\u05e4\u05e7",
"below_horizon": "\u05de\u05ea\u05d7\u05ea \u05dc\u05d0\u05d5\u05e4\u05e7"
},
"switch": {
"off": "\u05db\u05d1\u05d5\u05d9",
"on": "\u05d3\u05dc\u05d5\u05e7"
},
"timer": {
"active": "\u05e4\u05e2\u05d9\u05dc",
"idle": "\u05dc\u05d0 \u05e4\u05e2\u05d9\u05dc",
"paused": "\u05de\u05d5\u05e9\u05d4\u05d4"
},
"vacuum": {
"cleaning": "\u05de\u05e0\u05e7\u05d4",
"docked": "\u05d1\u05e2\u05d2\u05d9\u05e0\u05d4",
"error": "\u05e9\u05d2\u05d9\u05d0\u05d4",
"idle": "\u05de\u05de\u05ea\u05d9\u05df",
"off": "\u05de\u05db\u05d5\u05d1\u05d4",
"on": "\u05de\u05d5\u05e4\u05e2\u05dc",
"paused": "\u05de\u05d5\u05e9\u05d4\u05d4",
"returning": "\u05d7\u05d6\u05d5\u05e8 \u05dc\u05e2\u05d2\u05d9\u05e0\u05d4"
},
"weather": {
"clear-night": "\u05dc\u05d9\u05dc\u05d4 \u05d1\u05d4\u05d9\u05e8",
"cloudy": "\u05de\u05e2\u05d5\u05e0\u05df",
"exceptional": "\u05d9\u05d5\u05e6\u05d0 \u05d3\u05d5\u05e4\u05df",
"fog": "\u05e2\u05e8\u05e4\u05dc",
"hail": "\u05d1\u05e8\u05d3",
"lightning": "\u05d1\u05e8\u05e7",
"lightning-rainy": "\u05d1\u05e8\u05e7, \u05d2\u05e9\u05d5\u05dd",
"partlycloudy": "\u05de\u05e2\u05d5\u05e0\u05df \u05d7\u05dc\u05e7\u05d9\u05ea",
"pouring": "\u05d2\u05e9\u05d5\u05dd",
"rainy": "\u05d2\u05e9\u05d5\u05dd",
"snowy": "\u05de\u05d5\u05e9\u05dc\u05d2",
"snowy-rainy": "\u05de\u05d5\u05e9\u05dc\u05d2, \u05d2\u05e9\u05d5\u05dd",
"sunny": "\u05e9\u05de\u05e9\u05d9",
"windy": "\u05e1\u05d5\u05e2\u05e8",
"windy-variant": "\u05e1\u05d5\u05e2\u05e8"
},
"zwave": {
"default": {
"dead": "\u05de\u05ea",
"initializing": "\u05de\u05d0\u05ea\u05d7\u05dc",
"ready": "\u05de\u05d5\u05db\u05df",
"sleeping": "\u05d9\u05e9\u05df"
},
"query_stage": {
"dead": "\u05de\u05ea ({query_stage})",
"initializing": "\u05de\u05d0\u05ea\u05d7\u05dc ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,129 @@
{
"state": {
"automation": {
"off": "\u092c\u0902\u0926"
},
"binary_sensor": {
"battery": {
"off": "\u0938\u093e\u0927\u093e\u0930\u0923",
"on": "\u0915\u092e"
},
"cold": {
"off": "\u0938\u093e\u0927\u093e\u0930\u0923",
"on": "\u0938\u0930\u094d\u0926\u0940"
},
"connectivity": {
"off": "\u0921\u093f\u0938\u094d\u0915\u0928\u0947\u0915\u094d\u091f \u0915\u093f\u092f\u093e \u0917\u092f\u093e",
"on": "\u091c\u0941\u0921\u093c\u0947 \u0939\u0941\u090f"
},
"default": {
"off": "\u092c\u0902\u0926"
},
"door": {
"off": "\u092c\u0902\u0926",
"on": "\u0916\u0941\u0932\u093e"
},
"garage_door": {
"off": "\u092c\u0902\u0926",
"on": "\u0916\u0941\u0932\u093e"
},
"heat": {
"on": "\u0917\u0930\u094d\u092e"
},
"motion": {
"off": "\u0935\u093f\u0936\u0926",
"on": "\u0905\u0928\u0941\u0938\u0928\u094d\u0927\u093e\u0928\u093f\u0924"
},
"opening": {
"on": "\u0916\u0941\u0932\u093e"
},
"presence": {
"on": "\u0918\u0930"
},
"window": {
"off": "\u092c\u0902\u0926",
"on": "\u0916\u0941\u0932\u0940"
}
},
"calendar": {
"off": "\u092c\u0902\u0926"
},
"camera": {
"recording": "\u0930\u093f\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917"
},
"climate": {
"cool": "\u0920\u0902\u0921\u093e",
"dry": "\u0938\u0942\u0916\u093e",
"heat": "\u0917\u0930\u094d\u092e\u0940",
"off": "\u092c\u0902\u0926"
},
"default": {
"off": "\u092c\u0902\u0926",
"unavailable": "\u0905\u0928\u0941\u092a\u0932\u092c\u094d\u0927",
"unknown": "\u0905\u0928\u091c\u093e\u0928"
},
"device_tracker": {
"home": "\u0918\u0930"
},
"fan": {
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942"
},
"group": {
"home": "\u0918\u0930",
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942",
"problem": "\u0938\u092e\u0938\u094d\u092f\u093e"
},
"input_boolean": {
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942"
},
"light": {
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942"
},
"lock": {
"locked": "\u0905\u0935\u0930\u094b\u0927\u093f\u0924",
"unlocked": "\u0916\u0941\u0932\u093e"
},
"media_player": {
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942"
},
"plant": {
"ok": "\u0920\u0940\u0915 \u0939\u0948",
"problem": "\u0938\u092e\u0938\u094d\u092f\u093e"
},
"remote": {
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942"
},
"script": {
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942"
},
"sensor": {
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942"
},
"sun": {
"above_horizon": "\u0915\u094d\u0937\u093f\u0924\u093f\u091c \u0938\u0947 \u090a\u092a\u0930",
"below_horizon": "\u0915\u094d\u0937\u093f\u0924\u093f\u091c \u0915\u0947 \u0928\u0940\u091a\u0947"
},
"switch": {
"off": "\u092c\u0902\u0926",
"on": "\u091a\u093e\u0932\u0942"
},
"zwave": {
"default": {
"ready": "\u0924\u0948\u092f\u093e\u0930",
"sleeping": "\u0938\u094b\u092f\u093e \u0939\u0941\u0906"
},
"query_stage": {
"dead": " ( {query_stage} )",
"initializing": "\u0906\u0930\u0902\u092d ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Aktiviran",
"armed_away": "Aktiviran odsutno",
"armed_custom_bypass": "Aktiviran",
"armed_home": "Aktiviran doma",
"armed_night": "Aktiviran no\u010dni",
"arming": "Aktiviranje",
"disarmed": "Deaktiviran",
"disarming": "Deaktiviranje",
"pending": "U tijeku",
"triggered": "Okinut"
},
"automation": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"binary_sensor": {
"battery": {
"off": "Normalno",
"on": "Prazna"
},
"cold": {
"off": "Normalno",
"on": "Hladno"
},
"connectivity": {
"off": "Nije spojen",
"on": "Spojen"
},
"default": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"door": {
"off": "Zatvoreno",
"on": "Otvori"
},
"garage_door": {
"off": "Zatvoren",
"on": "Otvoreno"
},
"gas": {
"off": "\u010cisto",
"on": "Otkriveno"
},
"heat": {
"off": "Normalno",
"on": "Vru\u0107e"
},
"lock": {
"off": "Zaklju\u010dano",
"on": "Otklju\u010dano"
},
"moisture": {
"off": "Suho",
"on": "Mokro"
},
"motion": {
"off": "\u010cisto",
"on": "Otkriveno"
},
"occupancy": {
"off": "\u010cisto",
"on": "Otkriveno"
},
"opening": {
"off": "Zatvoreno",
"on": "Otvoreno"
},
"presence": {
"off": "Odsutan",
"on": "Doma"
},
"problem": {
"off": "OK",
"on": "Problem"
},
"safety": {
"off": "Sigurno",
"on": "Nesigurno"
},
"smoke": {
"off": "\u010cisto",
"on": "Otkriveno"
},
"sound": {
"off": "\u010cisto",
"on": "Otkriveno"
},
"vibration": {
"off": "\u010cisto",
"on": "Otkriveno"
},
"window": {
"off": "Zatvoreno",
"on": "Otvoreno"
}
},
"calendar": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"camera": {
"idle": "Neaktivan",
"recording": "Snimanje",
"streaming": "Oda\u0161ilja"
},
"climate": {
"auto": "Auto",
"cool": "Hla\u0111enje",
"dry": "Suho",
"fan_only": "Samo ventilator",
"heat": "Grijanje",
"heat_cool": "Grijanje/Hla\u0111enje",
"off": "Isklju\u010den"
},
"configurator": {
"configure": "Konfiguriranje",
"configured": "Konfiguriran"
},
"cover": {
"closed": "Zatvoreno",
"closing": "Zatvaranje",
"open": "Otvoreno",
"opening": "Otvaranje",
"stopped": "zaustavljen"
},
"default": {
"off": "Isklju\u010den",
"on": "Uklju\u010den",
"unavailable": "Nedostupan",
"unknown": "Nepoznato"
},
"device_tracker": {
"home": "Doma",
"not_home": "Odsutan"
},
"fan": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"group": {
"closed": "Zatvoreno",
"closing": "Zatvaranje",
"home": "Doma",
"locked": "Zaklju\u010dano",
"not_home": "Odsutan",
"off": "Uklju\u010deno",
"ok": "U redu",
"on": "Uklju\u010deno",
"open": "Otvoreno",
"opening": "Otvaranje",
"problem": "Problem",
"stopped": "Zautavljeno",
"unlocked": "Otklju\u010dano"
},
"input_boolean": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"light": {
"off": "Isklju\u010deno",
"on": "Uklju\u010deno"
},
"lock": {
"locked": "Zaklju\u010dan",
"unlocked": "Otklju\u010dan"
},
"media_player": {
"idle": "Neaktivan",
"off": "Isklju\u010den",
"on": "Uklju\u010den",
"paused": "Pauzirano",
"playing": "Prikazivanje",
"standby": "U stanju \u010dekanja"
},
"person": {
"home": "Doma",
"not_home": "Odsutan"
},
"plant": {
"ok": "u redu",
"problem": "Problem"
},
"remote": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"scene": {
"scening": "Scene"
},
"script": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"sensor": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"sun": {
"above_horizon": "Iznad horizonta",
"below_horizon": "Ispod horizonta"
},
"switch": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"timer": {
"active": "aktivan",
"idle": "neaktivan",
"paused": "pauzirano"
},
"vacuum": {
"cleaning": "\u010ci\u0161\u0107enje",
"docked": "Usidreni",
"error": "Gre\u0161ka",
"idle": "Neaktivan",
"off": "Uga\u0161eno",
"on": "Upaljeno",
"paused": "Pauzirano",
"returning": "Povratak na dok"
},
"weather": {
"clear-night": "Vedro, no\u0107",
"cloudy": "Obla\u010dno",
"exceptional": "Izuzetan",
"fog": "Magla",
"hail": "Tu\u010da",
"lightning": "Munja",
"lightning-rainy": "Munja, ki\u0161na",
"partlycloudy": "Djelomi\u010dno obla\u010dno",
"pouring": "Lije",
"rainy": "Ki\u0161ovito",
"snowy": "Snje\u017eno",
"snowy-rainy": "Snje\u017eno, ki\u0161no",
"sunny": "Sun\u010dano",
"windy": "Vjetrovito",
"windy-variant": "Vjetrovito"
},
"zwave": {
"default": {
"dead": "Mrtav",
"initializing": "Inicijalizacija",
"ready": "Spreman",
"sleeping": "Spavanje"
},
"query_stage": {
"dead": "Mrtav ({query_stage})",
"initializing": "Inicijalizacija ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u00c9les\u00edtve",
"armed_away": "\u00c9les\u00edtve t\u00e1vol",
"armed_custom_bypass": "\u00c9les\u00edtve \u00e1thidal\u00e1ssal",
"armed_home": "\u00c9les\u00edtve otthon",
"armed_night": "\u00c9les\u00edtve \u00e9jszaka",
"arming": "\u00c9les\u00edt\u00e9s",
"disarmed": "Hat\u00e1stalan\u00edtva",
"disarming": "Hat\u00e1stalan\u00edt\u00e1s",
"pending": "F\u00fcgg\u0151ben",
"triggered": "Riaszt\u00e1s"
},
"automation": {
"off": "Ki",
"on": "Be"
},
"binary_sensor": {
"battery": {
"off": "Norm\u00e1l",
"on": "Alacsony"
},
"cold": {
"off": "Norm\u00e1l",
"on": "Hideg"
},
"connectivity": {
"off": "Lekapcsol\u00f3dva",
"on": "Kapcsol\u00f3dva"
},
"default": {
"off": "Ki",
"on": "Be"
},
"door": {
"off": "Z\u00e1rva",
"on": "Nyitva"
},
"garage_door": {
"off": "Z\u00e1rva",
"on": "Nyitva"
},
"gas": {
"off": "Norm\u00e1l",
"on": "\u00c9szlelve"
},
"heat": {
"off": "Norm\u00e1l",
"on": "Meleg"
},
"lock": {
"off": "Bez\u00e1rva",
"on": "Kinyitva"
},
"moisture": {
"off": "Sz\u00e1raz",
"on": "Nedves"
},
"motion": {
"off": "Norm\u00e1l",
"on": "\u00c9szlelve"
},
"occupancy": {
"off": "Norm\u00e1l",
"on": "\u00c9szlelve"
},
"opening": {
"off": "Z\u00e1rva",
"on": "Nyitva"
},
"presence": {
"off": "T\u00e1vol",
"on": "Otthon"
},
"problem": {
"off": "OK",
"on": "Probl\u00e9ma"
},
"safety": {
"off": "Biztons\u00e1gos",
"on": "Nem biztons\u00e1gos"
},
"smoke": {
"off": "Norm\u00e1l",
"on": "\u00c9szlelve"
},
"sound": {
"off": "Norm\u00e1l",
"on": "\u00c9szlelve"
},
"vibration": {
"off": "Norm\u00e1l",
"on": "\u00c9szlelve"
},
"window": {
"off": "Z\u00e1rva",
"on": "Nyitva"
}
},
"calendar": {
"off": "Ki",
"on": "Be"
},
"camera": {
"idle": "T\u00e9tlen",
"recording": "Felv\u00e9tel",
"streaming": "Streamel\u00e9s"
},
"climate": {
"auto": "Automatikus",
"cool": "H\u0171t\u00e9s",
"dry": "Sz\u00e1raz",
"fan_only": "Csak ventil\u00e1tor",
"heat": "F\u0171t\u00e9s",
"heat_cool": "F\u0171t\u00e9s/H\u0171t\u00e9s",
"off": "Ki"
},
"configurator": {
"configure": "Be\u00e1ll\u00edt\u00e1s",
"configured": "Be\u00e1ll\u00edtva"
},
"cover": {
"closed": "Z\u00e1rva",
"closing": "Z\u00e1r\u00e1s",
"open": "Nyitva",
"opening": "Nyit\u00e1s",
"stopped": "Meg\u00e1ll\u00edtva"
},
"default": {
"off": "Ki",
"on": "Be",
"unavailable": "Nem el\u00e9rhet\u0151",
"unknown": "Ismeretlen"
},
"device_tracker": {
"home": "Otthon",
"not_home": "T\u00e1vol"
},
"fan": {
"off": "Ki",
"on": "Be"
},
"group": {
"closed": "Z\u00e1rva",
"closing": "Z\u00e1r\u00e1s",
"home": "Otthon",
"locked": "Bez\u00e1rva",
"not_home": "T\u00e1vol",
"off": "Ki",
"ok": "OK",
"on": "Be",
"open": "Nyitva",
"opening": "Nyit\u00e1s",
"problem": "Probl\u00e9ma",
"stopped": "Meg\u00e1ll\u00edtva",
"unlocked": "Kinyitva"
},
"input_boolean": {
"off": "Ki",
"on": "Be"
},
"light": {
"off": "Ki",
"on": "Be"
},
"lock": {
"locked": "Bez\u00e1rva",
"unlocked": "Kinyitva"
},
"media_player": {
"idle": "T\u00e9tlen",
"off": "Ki",
"on": "Be",
"paused": "Sz\u00fcnetel",
"playing": "Lej\u00e1tsz\u00e1s",
"standby": "K\u00e9szenl\u00e9t"
},
"person": {
"home": "Otthon",
"not_home": "T\u00e1vol"
},
"plant": {
"ok": "OK",
"problem": "Probl\u00e9ma"
},
"remote": {
"off": "Ki",
"on": "Be"
},
"scene": {
"scening": "Jelenet be\u00e1ll\u00edt\u00e1sa"
},
"script": {
"off": "Ki",
"on": "Be"
},
"sensor": {
"off": "Ki",
"on": "Be"
},
"sun": {
"above_horizon": "L\u00e1t\u00f3hat\u00e1r felett",
"below_horizon": "L\u00e1t\u00f3hat\u00e1r alatt"
},
"switch": {
"off": "Ki",
"on": "Be"
},
"timer": {
"active": "akt\u00edv",
"idle": "t\u00e9tlen",
"paused": "sz\u00fcneteltetve"
},
"vacuum": {
"cleaning": "Takar\u00edt\u00e1s",
"docked": "Dokkolva",
"error": "Hiba",
"idle": "T\u00e9tlen",
"off": "Ki",
"on": "Be",
"paused": "Sz\u00fcneteltetve",
"returning": "Dokkol\u00e1s folyamatban"
},
"weather": {
"clear-night": "Tiszta, \u00e9jszaka",
"cloudy": "Felh\u0151s",
"exceptional": "Kiv\u00e9teles",
"fog": "K\u00f6d",
"hail": "J\u00e9ges\u0151",
"lightning": "Vihar",
"lightning-rainy": "Viharos, es\u0151s",
"partlycloudy": "R\u00e9szben felh\u0151s",
"pouring": "Szakad",
"rainy": "Es\u0151s",
"snowy": "Havaz\u00e1s",
"snowy-rainy": "Havas, es\u0151s",
"sunny": "Napos",
"windy": "Szeles",
"windy-variant": "Szeles"
},
"zwave": {
"default": {
"dead": "Halott",
"initializing": "Inicializ\u00e1l\u00e1s",
"ready": "K\u00e9sz",
"sleeping": "Alv\u00e1s"
},
"query_stage": {
"dead": "Halott ({query_stage})",
"initializing": "Inicializ\u00e1l\u00e1s ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u0536\u056b\u0576\u057e\u0561\u056e",
"armed_away": "\u0536\u056b\u0576\u057e\u0561\u056e",
"armed_custom_bypass": "\u0536\u056b\u0576\u0574\u0561\u0576 \u0561\u0576\u0570\u0561\u057f\u0561\u056f\u0561\u0576 \u056f\u0578\u0564",
"armed_home": "\u0536\u056b\u0576\u057e\u0561\u056e \u057f\u0578\u0582\u0576",
"armed_night": "\u0536\u056b\u0576\u057e\u0561\u056e \u0563\u056b\u0577\u0565\u0580",
"arming": "\u0536\u056b\u0576\u0565\u056c",
"disarmed": "\u0536\u056b\u0576\u0561\u0569\u0561\u0583\u057e\u0561\u056e",
"disarming": "\u0536\u056b\u0576\u0561\u0569\u0561\u0583\u0578\u0572",
"pending": "\u054d\u057a\u0561\u057d\u0578\u0582\u0574",
"triggered": "\u057a\u0561\u057f\u0573\u0561\u057c\u0568"
},
"automation": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e"
},
"binary_sensor": {
"battery": {
"off": "\u0546\u0578\u0580\u0574\u0561\u056c \u0567",
"on": "\u0551\u0561\u056e\u0580"
},
"cold": {
"off": "\u0546\u0578\u0580\u0574\u0561\u056c",
"on": "\u054d\u0561\u057c\u0568"
},
"connectivity": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e \u0567",
"on": "\u053f\u0561\u057a\u057e\u0561\u056e"
},
"default": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e"
},
"door": {
"off": "\u0553\u0561\u056f\u057e\u0561\u056e \u0567",
"on": "\u0532\u0561\u0581\u0565\u056c"
},
"garage_door": {
"off": "\u0553\u0561\u056f\u057e\u0561\u056e \u0567",
"on": "\u0532\u0561\u0581\u0565\u056c"
},
"gas": {
"off": "\u0544\u0561\u0584\u0580\u0565\u056c",
"on": "\u0540\u0561\u0575\u057f\u0576\u0561\u0562\u0565\u0580\u057e\u0565\u056c \u0567"
},
"heat": {
"off": "\u0546\u0578\u0580\u0574\u0561\u056c",
"on": "\u0539\u0565\u056a"
},
"lock": {
"off": "\u056f\u0578\u0572\u057a\u057e\u0561\u056e",
"on": "\u0562\u0561\u0581\u0565\u056c \u0567"
},
"moisture": {
"off": "\u0549\u0578\u0580",
"on": "\u053d\u0578\u0576\u0561\u057e"
},
"motion": {
"off": "\u0544\u0561\u0584\u0580\u0565\u056c",
"on": "\u0540\u0561\u0575\u057f\u0576\u0561\u0562\u0565\u0580\u057e\u0565\u056c \u0567"
},
"occupancy": {
"off": "\u0544\u0561\u0584\u0580\u0565\u056c",
"on": "\u0540\u0561\u0575\u057f\u0576\u0561\u0562\u0565\u0580\u057e\u0565\u056c \u0567"
},
"opening": {
"off": "\u0553\u0561\u056f\u057e\u0561\u056e",
"on": "\u0532\u0561\u0581"
},
"presence": {
"off": "\u0540\u0565\u057c\u0578\u0582",
"on": "\u054f\u0578\u0582\u0576"
},
"problem": {
"off": "OK",
"on": "\u053d\u0576\u0564\u056b\u0580"
},
"safety": {
"off": "\u0531\u057a\u0561\u0570\u0578\u057e",
"on": "\u0531\u0576\u057e\u057f\u0561\u0576\u0563"
},
"smoke": {
"off": "\u0544\u0561\u0584\u0580\u0565\u056c",
"on": "\u0540\u0561\u0575\u057f\u0576\u0561\u0562\u0565\u0580\u057e\u0565\u056c \u0567"
},
"sound": {
"off": "\u0544\u0561\u0584\u0580\u0565\u056c",
"on": "\u0540\u0561\u0575\u057f\u0576\u0561\u0562\u0565\u0580\u057e\u0565\u056c \u0567"
},
"vibration": {
"off": "\u0544\u0561\u0584\u0580\u0565\u056c",
"on": "\u0540\u0561\u0575\u057f\u0576\u0561\u0562\u0565\u0580\u057e\u0565\u056c \u0567"
},
"window": {
"off": "\u0553\u0561\u056f\u057e\u0561\u056e \u0567",
"on": "\u0532\u0561\u0581\u0565\u056c"
}
},
"calendar": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e"
},
"camera": {
"idle": "\u057a\u0561\u0580\u0561\u057a",
"recording": "\u0541\u0561\u0575\u0576\u0561\u0563\u0580\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568",
"streaming": "\u0540\u0578\u057d\u0584"
},
"climate": {
"auto": "\u0531\u057e\u057f\u0578\u0574\u0561\u057f",
"cool": "\u0540\u0578\u057e\u0561\u0581\u0578\u0582\u0574",
"dry": "\u0549\u0578\u0580",
"fan_only": "\u0555\u0564\u0561\u0583\u0578\u056d\u056b\u0579",
"heat": "\u054b\u0565\u0580\u0574\u0578\u0582\u0569\u0575\u0578\u0582\u0576",
"heat_cool": "\u054b\u0565\u057c\u0578\u0582\u0581\u0578\u0582\u0574/\u0540\u0578\u057e\u0561\u0581\u0578\u0582\u0574",
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e"
},
"configurator": {
"configure": "\u053f\u0561\u0580\u0563\u0561\u057e\u0578\u0580\u0565\u056c",
"configured": "\u053f\u0561\u0580\u0563\u0561\u057e\u0578\u0580\u057e\u0561\u056e"
},
"cover": {
"closed": "\u0553\u0561\u056f\u057e\u0561\u056e",
"closing": "\u0553\u0561\u056f\u0578\u0582\u0574",
"open": "\u0532\u0561\u0581",
"opening": "\u0532\u0561\u0581\u0578\u0582\u0574",
"stopped": "\u0534\u0561\u0564\u0561\u0580\u0565\u0581"
},
"default": {
"off": "\u0531\u0576\u057b\u0561\u057f\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u057e\u0561\u056e",
"unavailable": "\u0531\u0576\u0570\u0561\u057d\u0561\u0576\u0565\u056c\u056b",
"unknown": "\u0570\u0561\u0575\u057f\u0576\u056b \u0579\u0567"
},
"device_tracker": {
"home": "\u054f\u0578\u0582\u0576",
"not_home": "\u0540\u0565\u057c\u0578\u0582"
},
"fan": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e"
},
"group": {
"closed": "\u0553\u0561\u056f\u057e\u0561\u056e",
"closing": "\u0553\u0561\u056f\u0578\u0582\u0574",
"home": "\u054f\u0578\u0582\u0576",
"locked": "\u056f\u0578\u0572\u057a\u057e\u0561\u056e \u0567",
"not_home": "\u0540\u0565\u057c\u0578\u0582",
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"ok": "\u053c\u0561\u057e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e",
"open": "\u0532\u0561\u0581\u0565\u0584",
"opening": "\u0532\u0561\u0581\u0578\u0582\u0574",
"problem": "\u053d\u0576\u0564\u056b\u0580",
"stopped": "\u0534\u0561\u0564\u0561\u0580\u0565\u0581",
"unlocked": "\u0532\u0561\u0581\u0565\u056c \u0567"
},
"input_boolean": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e"
},
"light": {
"off": "\u054d\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e"
},
"lock": {
"locked": "\u053f\u0578\u0572\u057a\u057e\u0561\u056e \u0567",
"unlocked": "\u0532\u0561\u0581 \u0567"
},
"media_player": {
"idle": "\u054a\u0561\u0580\u0561\u057a",
"off": "\u0531\u0576\u057b\u0561\u057f\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e",
"paused": "\u0534\u0561\u0564\u0561\u0580 \u0567",
"playing": "\u053d\u0561\u0572\u0578\u0582\u0574",
"standby": "\u054d\u057a\u0561\u057d\u0578\u0582\u0574"
},
"person": {
"home": "\u057f\u0578\u0582\u0576",
"not_home": "\u0540\u0565\u057c\u0578\u0582"
},
"plant": {
"ok": "\u053c\u0561\u057e",
"problem": "\u053d\u0576\u0564\u056b\u0580"
},
"remote": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e"
},
"scene": {
"scening": "\u0553\u0578\u0580\u0561\u0563\u0580\u0578\u0582\u0569\u0575\u0578\u0582\u0576"
},
"script": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0544\u056b\u0561\u0581\u0561\u056e"
},
"sensor": {
"off": "\u0531\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0574\u056b\u0561\u0581\u0561\u056e"
},
"sun": {
"above_horizon": "\u0540\u0578\u0580\u056b\u0566\u0578\u0576\u056b \u057e\u0565\u0580\u0587\u0578\u0582\u0574",
"below_horizon": "\u0540\u0578\u0580\u056b\u0566\u0578\u0576\u056b \u0576\u0565\u0580\u0584\u0587\u0578\u0582\u0574"
},
"switch": {
"off": "\u0561\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u0574\u056b\u0561\u0581\u0561\u056e"
},
"timer": {
"active": "\u0561\u056f\u057f\u056b\u057e",
"idle": "\u057a\u0561\u0580\u0561\u057a",
"paused": "\u0564\u0561\u0564\u0561\u0580 "
},
"vacuum": {
"cleaning": "\u0544\u0561\u0584\u0580\u0578\u0582\u0574",
"docked": "\u053e\u0561\u056e\u056f\u057e\u0561\u056e",
"error": "\u054d\u056d\u0561\u056c",
"idle": "\u054a\u0561\u0580\u0561\u057a",
"off": "\u0561\u0576\u057b\u0561\u057f\u057e\u0561\u056e",
"on": "\u057e\u0580\u0561",
"paused": "\u0534\u0561\u0564\u0561\u0580 \u0567",
"returning": "\u054e\u0565\u0580\u0561\u0564\u0561\u057c\u0576\u0561\u056c\u0578\u057e \u0576\u0561\u057e\u0561\u0570\u0561\u0576\u0563\u056b\u057d\u057f"
},
"weather": {
"clear-night": "\u0544\u0561\u0584\u0580\u0565\u056c \u057d\u057f\u0578\u0582\u0563\u057e\u0561\u056e \u056b\u0580\u0565\u0580\u0568",
"cloudy": "\u0531\u0574\u057a\u0561\u0574\u0561\u056e",
"exceptional": "\u0532\u0561\u0581\u0561\u057c\u056b\u056f",
"fog": "\u0544\u0561\u057c\u0561\u056d\u0578\u0582\u0572",
"hail": "\u053f\u0561\u0580\u056f\u0578\u0582\u057f",
"lightning": "\u053f\u0561\u0575\u056e\u0561\u056f",
"lightning-rainy": "\u053f\u0561\u0575\u056e\u0561\u056f, \u0561\u0576\u0571\u0580\u0587",
"partlycloudy": "\u0544\u0561\u057d\u0561\u0574\u0562 \u0561\u0574\u057a\u0561\u0574\u0561\u056e",
"pouring": "\u053c\u0581\u0576\u0565\u056c",
"rainy": "\u0531\u0576\u0571\u0580\u0587\u0578\u057f",
"snowy": "\u0541\u0575\u0578\u0582\u0576\u0578\u057f \u0567",
"snowy-rainy": "\u0541\u0575\u0578\u0582\u0576\u0561\u057c\u0561\u057f, \u0561\u0576\u0571\u0580\u0587\u0578\u057f",
"sunny": "\u0531\u0580\u0587\u0578\u057f",
"windy": "\u053f\u0561\u0574",
"windy-variant": "\u0554\u0561\u0574\u0578\u057f"
},
"zwave": {
"default": {
"dead": "\u0544\u0565\u057c\u0561\u056e",
"initializing": "\u0546\u0561\u056d\u0561\u0571\u0565\u057c\u0576\u0578\u0572",
"ready": "\u054a\u0561\u057f\u0580\u0561\u057d\u057f \u0567",
"sleeping": "\u0554\u0576\u0565\u056c"
},
"query_stage": {
"dead": "\u0544\u0561\u0570\u0561\u0581\u0561\u056e{query_stage})",
"initializing": "\u0546\u0561\u056d\u0561\u0571\u0565\u057c\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Bersenjata",
"armed_away": "Armed away",
"armed_custom_bypass": "Armed custom bypass",
"armed_home": "Armed home",
"armed_night": "Armed night",
"arming": "Mempersenjatai",
"disarmed": "Dilucuti",
"disarming": "Melucuti",
"pending": "Tertunda",
"triggered": "Terpicu"
},
"automation": {
"off": "Off",
"on": "On"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Rendah"
},
"cold": {
"off": "Normal",
"on": "Dingin"
},
"connectivity": {
"off": "Terputus",
"on": "Terhubung"
},
"default": {
"off": "Off",
"on": "On"
},
"door": {
"off": "Tertutup",
"on": "Terbuka"
},
"garage_door": {
"off": "Tertutup",
"on": "Terbuka"
},
"gas": {
"off": "Kosong",
"on": "Terdeteksi"
},
"heat": {
"off": "Normal",
"on": "Panas"
},
"lock": {
"off": "Terkunci",
"on": "Terbuka"
},
"moisture": {
"off": "Kering",
"on": "Basah"
},
"motion": {
"off": "Tidak ada",
"on": "Terdeteksi"
},
"occupancy": {
"off": "Tidak ada",
"on": "Terdeteksi"
},
"opening": {
"off": "Tertutup",
"on": "Terbuka"
},
"presence": {
"off": "Keluar",
"on": "Rumah"
},
"problem": {
"off": "Oke",
"on": "Masalah"
},
"safety": {
"off": "Aman",
"on": "Tidak aman"
},
"smoke": {
"off": "Tidak ada",
"on": "Terdeteksi"
},
"sound": {
"off": "Tidak ada",
"on": "Terdeteksi"
},
"vibration": {
"off": "Tidak ada",
"on": "Terdeteksi"
},
"window": {
"off": "Tertutup",
"on": "Terbuka"
}
},
"calendar": {
"off": "Off",
"on": "On"
},
"camera": {
"idle": "Siaga",
"recording": "Merekam",
"streaming": "Streaming"
},
"climate": {
"auto": "Auto",
"cool": "Sejuk",
"dry": "Kering",
"fan_only": "Hanya kipas",
"heat": "Panas",
"heat_cool": "Panas/Dingin",
"off": "Off"
},
"configurator": {
"configure": "Konfigurasi",
"configured": "Terkonfigurasi"
},
"cover": {
"closed": "Tertutup",
"closing": "Menutup",
"open": "Buka",
"opening": "Membuka",
"stopped": "Terhenti"
},
"default": {
"off": "Off",
"on": "On",
"unavailable": "Tidak tersedia",
"unknown": "Tidak diketahui"
},
"device_tracker": {
"home": "Rumah",
"not_home": "Keluar"
},
"fan": {
"off": "Off",
"on": "On"
},
"group": {
"closed": "Tertutup",
"closing": "Menutup",
"home": "Rumah",
"locked": "Terkunci",
"not_home": "Keluar",
"off": "Off",
"ok": "OK",
"on": "On",
"open": "Terbuka",
"opening": "Membuka",
"problem": "Masalah",
"stopped": "Tertutup",
"unlocked": "Terbuka"
},
"input_boolean": {
"off": "Off",
"on": "On"
},
"light": {
"off": "Off",
"on": "On"
},
"lock": {
"locked": "Terkunci",
"unlocked": "Terbuka"
},
"media_player": {
"idle": "Diam",
"off": "Off",
"on": "On",
"paused": "Jeda",
"playing": "Memainkan",
"standby": "Siaga"
},
"person": {
"home": "Di rumah",
"not_home": "Keluar"
},
"plant": {
"ok": "OK",
"problem": "Masalah"
},
"remote": {
"off": "Off",
"on": "On"
},
"scene": {
"scening": "Scening"
},
"script": {
"off": "Off",
"on": "On"
},
"sensor": {
"off": "Off",
"on": "On"
},
"sun": {
"above_horizon": "Terbit",
"below_horizon": "Tenggelam"
},
"switch": {
"off": "Off",
"on": "On"
},
"timer": {
"active": "Aktif",
"idle": "Siaga",
"paused": "Jeda"
},
"vacuum": {
"cleaning": "Membersihkan",
"docked": "Berlabuh",
"error": "Kesalahan",
"idle": "Siaga",
"off": "Padam",
"on": "Nyala",
"paused": "Dijeda",
"returning": "Kembali ke dock"
},
"weather": {
"clear-night": "Cerah, malam",
"cloudy": "Berawan",
"exceptional": "Luar biasa",
"fog": "Kabut",
"hail": "Hujan es",
"lightning": "Petir",
"lightning-rainy": "Petir, hujan",
"partlycloudy": "Sebagian berawan",
"pouring": "Hujan lebat",
"rainy": "Hujan",
"snowy": "Bersalju",
"snowy-rainy": "Bersalju, hujan",
"sunny": "Cerah",
"windy": "Berangin",
"windy-variant": "Berangin"
},
"zwave": {
"default": {
"dead": "Mati",
"initializing": "Inisialisasi",
"ready": "Siap",
"sleeping": "Tidur"
},
"query_stage": {
"dead": "Mati ({query_stage})",
"initializing": "Inisialisasi ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,246 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u00c1 ver\u00f0i",
"armed_away": "\u00c1 ver\u00f0i \u00fati",
"armed_home": "\u00c1 ver\u00f0i heima",
"armed_night": "\u00c1 ver\u00f0i n\u00f3tt",
"arming": "Set \u00e1 v\u00f6r\u00f0",
"disarmed": "ekki \u00e1 ver\u00f0i",
"disarming": "tek af ver\u00f0i",
"pending": "B\u00ed\u00f0ur",
"triggered": "R\u00e6st"
},
"automation": {
"off": "\u00d3virk",
"on": "Virk"
},
"binary_sensor": {
"battery": {
"off": "Venjulegt",
"on": "L\u00e1gt"
},
"cold": {
"off": "Venjulegt",
"on": "Kalt"
},
"connectivity": {
"off": "Aftengdur",
"on": "Tengdur"
},
"default": {
"off": "Sl\u00f6kkt",
"on": "Kveikt"
},
"door": {
"off": "Loku\u00f0",
"on": "Opin"
},
"garage_door": {
"off": "Loku\u00f0",
"on": "Opin"
},
"gas": {
"off": "Hreinsa",
"on": "Uppg\u00f6tva\u00f0"
},
"heat": {
"off": "Venjulegt",
"on": "Heitt"
},
"lock": {
"off": "L\u00e6st",
"on": "Afl\u00e6st"
},
"moisture": {
"off": "\u00deurrt",
"on": "Blautt"
},
"motion": {
"off": "Engin hreyfing",
"on": "Hreyfing"
},
"occupancy": {
"off": "Hreinsa",
"on": "Uppg\u00f6tva\u00f0"
},
"presence": {
"off": "Fjarverandi",
"on": "Heima"
},
"problem": {
"off": "\u00cd lagi",
"on": "Vandam\u00e1l"
},
"safety": {
"off": "\u00d6ruggt",
"on": "\u00d3\u00f6ruggt"
},
"smoke": {
"off": "Hreinsa",
"on": "Uppg\u00f6tva\u00f0"
},
"sound": {
"off": "Hreinsa",
"on": "Uppg\u00f6tva\u00f0"
},
"vibration": {
"on": "Uppg\u00f6tva\u00f0"
},
"window": {
"off": "Loka",
"on": "Opna"
}
},
"calendar": {
"off": "\u00d3virkt",
"on": "Virkt"
},
"camera": {
"idle": "A\u00f0ger\u00f0alaus",
"recording": "\u00cd uppt\u00f6ku",
"streaming": "Streymi"
},
"climate": {
"auto": "Sj\u00e1lfvirkt",
"cool": "K\u00e6ling",
"dry": "\u00deurrt",
"fan_only": "Vifta eing\u00f6ngu",
"heat": "Hitun",
"heat_cool": "Hita/K\u00e6la",
"off": "Sl\u00f6kkt"
},
"configurator": {
"configure": "Stilli",
"configured": "Stillt"
},
"cover": {
"closed": "Loka\u00f0",
"closing": "Loka",
"open": "Opin",
"opening": "Opna",
"stopped": "St\u00f6\u00f0vu\u00f0"
},
"default": {
"off": "Af",
"on": "\u00c1",
"unavailable": "Ekki tilt\u00e6kt",
"unknown": "\u00d3\u00feekkt"
},
"device_tracker": {
"home": "Heima",
"not_home": "Fjarverandi"
},
"fan": {
"off": "Sl\u00f6kkt",
"on": "\u00cd gangi"
},
"group": {
"closed": "Loku\u00f0",
"closing": "Loka",
"home": "Heima",
"locked": "L\u00e6st",
"not_home": "Fjarverandi",
"off": "\u00d3virkur",
"ok": "\u00cd lagi",
"on": "Virkur",
"open": "Opin",
"opening": "Opna",
"problem": "Vandam\u00e1l",
"stopped": "St\u00f6\u00f0va\u00f0",
"unlocked": "Afl\u00e6st"
},
"input_boolean": {
"off": "Af",
"on": "\u00c1"
},
"light": {
"off": "Sl\u00f6kkt",
"on": "Kveikt"
},
"lock": {
"locked": "L\u00e6st",
"unlocked": "Afl\u00e6st"
},
"media_player": {
"idle": "A\u00f0ger\u00f0alaus",
"off": "Sl\u00f6kkt",
"on": "\u00ed gangi",
"paused": "\u00cd bi\u00f0",
"playing": "Spila",
"standby": "Bi\u00f0sta\u00f0a"
},
"person": {
"home": "Heima",
"not_home": "Fjarverandi"
},
"plant": {
"ok": "\u00cd lagi",
"problem": "Vandam\u00e1l"
},
"remote": {
"off": "\u00d3virk",
"on": "Virk"
},
"script": {
"off": "\u00d3virkt",
"on": "Virkt"
},
"sensor": {
"off": "Af",
"on": "\u00c1"
},
"sun": {
"above_horizon": "Yfir sj\u00f3ndeildarhring",
"below_horizon": "Undir sj\u00f3ndeildarhring"
},
"switch": {
"off": "Sl\u00f6kkt",
"on": "Kveikt"
},
"timer": {
"active": "virkur",
"idle": "a\u00f0ger\u00f0alaus",
"paused": "\u00ed bi\u00f0"
},
"vacuum": {
"cleaning": "A\u00f0 ryksuga",
"docked": "\u00ed tengikv\u00ed",
"error": "Villa",
"idle": "A\u00f0ger\u00f0alaus",
"off": "Sl\u00f6kkt",
"on": "\u00cd gangi",
"paused": "\u00cd bi\u00f0",
"returning": "\u00c1 lei\u00f0 tilbaka \u00ed tengikv\u00ed"
},
"weather": {
"clear-night": "Hei\u00f0sk\u00fdrt, n\u00f3tt",
"cloudy": "Sk\u00fdja\u00f0",
"exceptional": "Mj\u00f6g gott",
"fog": "\u00deoka",
"hail": "Hagl\u00e9l",
"lightning": "Eldingar",
"lightning-rainy": "Eldingar, rigning",
"partlycloudy": "A\u00f0 hluta til sk\u00fdja\u00f0",
"pouring": "\u00darhelli",
"rainy": "Rigning",
"snowy": "Snj\u00f3koma",
"snowy-rainy": "Slydda",
"sunny": "S\u00f3lskin",
"windy": "Vindasamt",
"windy-variant": "Vindasamt"
},
"zwave": {
"default": {
"dead": "Dau\u00f0ur",
"initializing": "Frumstilli",
"ready": "Tilb\u00fainn",
"sleeping": "\u00cd dvala"
},
"query_stage": {
"dead": "Dau\u00f0ur ({query_stage})",
"initializing": "Frumstilli ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Attivo",
"armed_away": "Attivo fuori casa",
"armed_custom_bypass": "Attivo con bypass",
"armed_home": "Attivo in casa",
"armed_night": "Attivo Notte",
"arming": "In attivazione",
"disarmed": "Disattivo",
"disarming": "In disattivazione",
"pending": "In sospeso",
"triggered": "Attivato"
},
"automation": {
"off": "Spento",
"on": "Acceso"
},
"binary_sensor": {
"battery": {
"off": "Normale",
"on": "Basso"
},
"cold": {
"off": "Normale",
"on": "Freddo"
},
"connectivity": {
"off": "Disconnesso",
"on": "Connesso"
},
"default": {
"off": "Spento",
"on": "Acceso"
},
"door": {
"off": "Chiusa",
"on": "Aperta"
},
"garage_door": {
"off": "Chiusa",
"on": "Aperta"
},
"gas": {
"off": "Assente",
"on": "Rilevato"
},
"heat": {
"off": "Normale",
"on": "Caldo"
},
"lock": {
"off": "Bloccato",
"on": "Sbloccato"
},
"moisture": {
"off": "Asciutto",
"on": "Bagnato"
},
"motion": {
"off": "Assente",
"on": "Rilevato"
},
"occupancy": {
"off": "Vuoto",
"on": "Rilevato"
},
"opening": {
"off": "Chiuso",
"on": "Aperta"
},
"presence": {
"off": "Fuori casa",
"on": "A casa"
},
"problem": {
"off": "OK",
"on": "Problema"
},
"safety": {
"off": "Sicuro",
"on": "Non Sicuro"
},
"smoke": {
"off": "Assente",
"on": "Rilevato"
},
"sound": {
"off": "Assente",
"on": "Rilevato"
},
"vibration": {
"off": "Assente",
"on": "Rilevata"
},
"window": {
"off": "Chiusa",
"on": "Aperta"
}
},
"calendar": {
"off": "Disattivo",
"on": "Attivo"
},
"camera": {
"idle": "Inattiva",
"recording": "In registrazione",
"streaming": "Streaming"
},
"climate": {
"auto": "Auto",
"cool": "Freddo",
"dry": "Secco",
"fan_only": "Solo ventilatore",
"heat": "Caldo",
"heat_cool": "Caldo/Freddo",
"off": "Spento"
},
"configurator": {
"configure": "Configura",
"configured": "Configurato"
},
"cover": {
"closed": "Chiuso",
"closing": "In chiusura",
"open": "Aperto",
"opening": "In apertura",
"stopped": "Arrestato"
},
"default": {
"off": "Spento",
"on": "Acceso",
"unavailable": "Non disponibile",
"unknown": "Sconosciuto"
},
"device_tracker": {
"home": "A casa",
"not_home": "Fuori casa"
},
"fan": {
"off": "Spento",
"on": "Acceso"
},
"group": {
"closed": "Chiuso",
"closing": "Chiusura",
"home": "A casa",
"locked": "Bloccato",
"not_home": "Fuori casa",
"off": "Spento",
"ok": "OK",
"on": "Acceso",
"open": "Aperto",
"opening": "Apertura",
"problem": "Problema",
"stopped": "Fermato",
"unlocked": "Sbloccato"
},
"input_boolean": {
"off": "Spento",
"on": "Acceso"
},
"light": {
"off": "Spento",
"on": "Acceso"
},
"lock": {
"locked": "Bloccato",
"unlocked": "Sbloccato"
},
"media_player": {
"idle": "Inattivo",
"off": "Spento",
"on": "Acceso",
"paused": "In pausa",
"playing": "In riproduzione",
"standby": "Pausa"
},
"person": {
"home": "A casa",
"not_home": "Fuori casa"
},
"plant": {
"ok": "OK",
"problem": "Problema"
},
"remote": {
"off": "Spento",
"on": "Acceso"
},
"scene": {
"scening": "Sceneggiando"
},
"script": {
"off": "Spento",
"on": "Acceso"
},
"sensor": {
"off": "Spento",
"on": "Acceso"
},
"sun": {
"above_horizon": "Sopra l'orizzonte",
"below_horizon": "Sotto l'orizzonte"
},
"switch": {
"off": "Spento",
"on": "Acceso"
},
"timer": {
"active": "attivo",
"idle": "inattivo",
"paused": "in pausa"
},
"vacuum": {
"cleaning": "Pulendo",
"docked": "In base",
"error": "Errore",
"idle": "Inattivo",
"off": "Spento",
"on": "Acceso",
"paused": "In pausa",
"returning": "Ritorno alla base"
},
"weather": {
"clear-night": "Sereno, notte",
"cloudy": "Nuvoloso",
"exceptional": "Eccezionale",
"fog": "Nebbia",
"hail": "Grandine",
"lightning": "Temporale",
"lightning-rainy": "Temporale, piovoso",
"partlycloudy": "Parzialmente nuvoloso",
"pouring": "Piogge intense",
"rainy": "Piovoso",
"snowy": "Nevoso",
"snowy-rainy": "Nevoso, piovoso",
"sunny": "Soleggiato",
"windy": "Ventoso",
"windy-variant": "Ventoso"
},
"zwave": {
"default": {
"dead": "Disattivo",
"initializing": "Avvio",
"ready": "Pronto",
"sleeping": "In attesa"
},
"query_stage": {
"dead": "Disattivo ({query_stage})",
"initializing": "Avvio ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,207 @@
{
"state": {
"alarm_control_panel": {
"triggered": "\u30c8\u30ea\u30ac\u30fc"
},
"automation": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"binary_sensor": {
"battery": {
"off": "\u901a\u5e38",
"on": "\u4f4e"
},
"cold": {
"off": "\u901a\u5e38",
"on": "\u4f4e\u6e29"
},
"connectivity": {
"off": "\u5207\u65ad",
"on": "\u63a5\u7d9a\u6e08"
},
"default": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"door": {
"off": "\u9589\u9396",
"on": "\u958b\u653e"
},
"garage_door": {
"off": "\u9589\u9396",
"on": "\u958b\u653e"
},
"gas": {
"off": "\u672a\u691c\u51fa",
"on": "\u691c\u51fa"
},
"heat": {
"off": "\u6b63\u5e38",
"on": "\u9ad8\u6e29"
},
"lock": {
"off": "\u30ed\u30c3\u30af\u3055\u308c\u307e\u3057\u305f",
"on": "\u30ed\u30c3\u30af\u3055\u308c\u3066\u3044\u307e\u305b\u3093"
},
"moisture": {
"off": "\u30c9\u30e9\u30a4",
"on": "\u30a6\u30a7\u30c3\u30c8"
},
"motion": {
"off": "\u672a\u691c\u51fa",
"on": "\u691c\u51fa"
},
"occupancy": {
"off": "\u672a\u691c\u51fa",
"on": "\u691c\u51fa"
},
"opening": {
"off": "\u9589\u9396",
"on": "\u958b\u653e"
},
"presence": {
"off": "\u5916\u51fa",
"on": "\u5728\u5b85"
},
"problem": {
"off": "OK"
},
"safety": {
"off": "\u5b89\u5168",
"on": "\u5371\u967a"
},
"smoke": {
"off": "\u672a\u691c\u51fa",
"on": "\u691c\u51fa"
},
"sound": {
"off": "\u672a\u691c\u51fa",
"on": "\u691c\u51fa"
},
"vibration": {
"off": "\u672a\u691c\u51fa",
"on": "\u691c\u51fa"
},
"window": {
"off": "\u9589\u9396",
"on": "\u958b\u653e"
}
},
"calendar": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"camera": {
"idle": "\u30a2\u30a4\u30c9\u30eb"
},
"climate": {
"auto": "\u30aa\u30fc\u30c8",
"cool": "\u51b7\u623f",
"dry": "\u30c9\u30e9\u30a4",
"fan_only": "\u30d5\u30a1\u30f3\u306e\u307f",
"heat": "\u6696\u623f",
"off": "\u30aa\u30d5"
},
"configurator": {
"configure": "\u8a2d\u5b9a",
"configured": "\u8a2d\u5b9a\u6e08\u307f"
},
"cover": {
"closed": "\u9589\u9396",
"opening": "\u6249"
},
"default": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3",
"unavailable": "\u5229\u7528\u4e0d\u53ef",
"unknown": "\u4e0d\u660e"
},
"device_tracker": {
"home": "\u5728\u5b85",
"not_home": "\u5916\u51fa"
},
"fan": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"group": {
"closed": "\u9589\u9396",
"home": "\u5728\u5b85",
"locked": "\u30ed\u30c3\u30af\u3055\u308c\u307e\u3057\u305f",
"not_home": "\u5916\u51fa",
"off": "\u30aa\u30d5",
"ok": "OK",
"on": "\u30aa\u30f3",
"opening": "\u6249"
},
"input_boolean": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"light": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"media_player": {
"idle": "\u30a2\u30a4\u30c9\u30eb",
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3",
"paused": "\u4e00\u6642\u505c\u6b62",
"playing": "\u518d\u751f\u4e2d"
},
"person": {
"home": "\u5728\u5b85",
"not_home": "\u5916\u51fa"
},
"plant": {
"ok": "OK"
},
"remote": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"script": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"sensor": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"sun": {
"above_horizon": "\u5730\u5e73\u7dda\u306e\u4e0a",
"below_horizon": "\u5730\u5e73\u7dda\u3088\u308a\u4e0b"
},
"switch": {
"off": "\u30aa\u30d5",
"on": "\u30aa\u30f3"
},
"weather": {
"clear-night": "\u6674\u308c\u305f\u591c",
"cloudy": "\u66c7\u308a",
"fog": "\u9727",
"hail": "\u96f9",
"lightning": "\u96f7",
"lightning-rainy": "\u96f7\u96e8",
"partlycloudy": "\u6674\u308c\u6642\u3005\u66c7\u308a",
"pouring": "\u5927\u96e8",
"rainy": "\u96e8",
"snowy": "\u96ea",
"snowy-rainy": "\u307f\u305e\u308c",
"sunny": "\u6674\u308c",
"windy": "\u5f37\u98a8"
},
"zwave": {
"default": {
"initializing": "\u521d\u671f\u5316\u4e2d",
"ready": "\u6e96\u5099\u5b8c\u4e86",
"sleeping": "\u30b9\u30ea\u30fc\u30d7"
},
"query_stage": {
"dead": " ({query_stage})",
"initializing": "\u521d\u671f\u5316\u4e2d ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "\uacbd\ube44\uc911",
"armed_away": "\uacbd\ube44\uc911(\uc678\ucd9c)",
"armed_custom_bypass": "\uacbd\ube44\uc911(\uc0ac\uc6a9\uc790 \uc6b0\ud68c)",
"armed_home": "\uacbd\ube44\uc911(\uc7ac\uc2e4)",
"armed_night": "\uacbd\ube44\uc911(\uc57c\uac04)",
"arming": "\uacbd\ube44\uc911",
"disarmed": "\ud574\uc81c\ub428",
"disarming": "\ud574\uc81c\uc911",
"pending": "\ubcf4\ub958\uc911",
"triggered": "\uc791\ub3d9\ub428"
},
"automation": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"binary_sensor": {
"battery": {
"off": "\ubcf4\ud1b5",
"on": "\ub0ae\uc74c"
},
"cold": {
"off": "\ubcf4\ud1b5",
"on": "\uc800\uc628"
},
"connectivity": {
"off": "\uc5f0\uacb0\ud574\uc81c\ub428",
"on": "\uc5f0\uacb0\ub428"
},
"default": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"door": {
"off": "\ub2eb\ud798",
"on": "\uc5f4\ub9bc"
},
"garage_door": {
"off": "\ub2eb\ud798",
"on": "\uc5f4\ub9bc"
},
"gas": {
"off": "\uc774\uc0c1\uc5c6\uc74c",
"on": "\uac10\uc9c0\ub428"
},
"heat": {
"off": "\ubcf4\ud1b5",
"on": "\uace0\uc628"
},
"lock": {
"off": "\uc7a0\uae40",
"on": "\ud574\uc81c"
},
"moisture": {
"off": "\uac74\uc870\ud568",
"on": "\uc2b5\ud568"
},
"motion": {
"off": "\uc774\uc0c1\uc5c6\uc74c",
"on": "\uac10\uc9c0\ub428"
},
"occupancy": {
"off": "\uc774\uc0c1\uc5c6\uc74c",
"on": "\uac10\uc9c0\ub428"
},
"opening": {
"off": "\ub2eb\ud798",
"on": "\uc5f4\ub9bc"
},
"presence": {
"off": "\uc678\ucd9c",
"on": "\uc7ac\uc2e4"
},
"problem": {
"off": "\ubb38\uc81c\uc5c6\uc74c",
"on": "\ubb38\uc81c\uc788\uc74c"
},
"safety": {
"off": "\uc548\uc804",
"on": "\uc704\ud5d8"
},
"smoke": {
"off": "\uc774\uc0c1\uc5c6\uc74c",
"on": "\uac10\uc9c0\ub428"
},
"sound": {
"off": "\uc774\uc0c1\uc5c6\uc74c",
"on": "\uac10\uc9c0\ub428"
},
"vibration": {
"off": "\uc774\uc0c1\uc5c6\uc74c",
"on": "\uac10\uc9c0\ub428"
},
"window": {
"off": "\ub2eb\ud798",
"on": "\uc5f4\ub9bc"
}
},
"calendar": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"camera": {
"idle": "\ub300\uae30\uc911",
"recording": "\ub179\ud654\uc911",
"streaming": "\uc2a4\ud2b8\ub9ac\ubc0d"
},
"climate": {
"auto": "\uc790\ub3d9",
"cool": "\ub0c9\ubc29",
"dry": "\uc81c\uc2b5",
"fan_only": "\uc1a1\ud48d",
"heat": "\ub09c\ubc29",
"heat_cool": "\ub0c9\ub09c\ubc29",
"off": "\uaebc\uc9d0"
},
"configurator": {
"configure": "\uc124\uc815",
"configured": "\uc124\uc815\ub428"
},
"cover": {
"closed": "\ub2eb\ud798",
"closing": "\ub2eb\ub294\uc911",
"open": "\uc5f4\ub9bc",
"opening": "\uc5ec\ub294\uc911",
"stopped": "\uba48\ucda4"
},
"default": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0",
"unavailable": "\uc0ac\uc6a9\ubd88\uac00",
"unknown": "\uc54c\uc218\uc5c6\uc74c"
},
"device_tracker": {
"home": "\uc7ac\uc2e4",
"not_home": "\uc678\ucd9c"
},
"fan": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"group": {
"closed": "\ub2eb\ud798",
"closing": "\ub2eb\ub294\uc911",
"home": "\uc7ac\uc2e4",
"locked": "\uc7a0\uae40",
"not_home": "\uc678\ucd9c",
"off": "\uaebc\uc9d0",
"ok": "\ubb38\uc81c\uc5c6\uc74c",
"on": "\ucf1c\uc9d0",
"open": "\uc5f4\ub9bc",
"opening": "\uc5ec\ub294\uc911",
"problem": "\ubb38\uc81c\uc788\uc74c",
"stopped": "\uba48\ucda4",
"unlocked": "\ud574\uc81c"
},
"input_boolean": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"light": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"lock": {
"locked": "\uc7a0\uae40",
"unlocked": "\ud574\uc81c"
},
"media_player": {
"idle": "\ub300\uae30\uc911",
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0",
"paused": "\uc77c\uc2dc\uc911\uc9c0",
"playing": "\uc7ac\uc0dd\uc911",
"standby": "\uc900\ube44\uc911"
},
"person": {
"home": "\uc7ac\uc2e4",
"not_home": "\uc678\ucd9c"
},
"plant": {
"ok": "\ubb38\uc81c\uc5c6\uc74c",
"problem": "\ubb38\uc81c\uc788\uc74c"
},
"remote": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"scene": {
"scening": "\uc52c \uad6c\uc131\uc911"
},
"script": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"sensor": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"sun": {
"above_horizon": "\uc8fc\uac04",
"below_horizon": "\uc57c\uac04"
},
"switch": {
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0"
},
"timer": {
"active": "\ud65c\uc131\ud654",
"idle": "\ub300\uae30\uc911",
"paused": "\uc77c\uc2dc\uc911\uc9c0\ub428"
},
"vacuum": {
"cleaning": "\uccad\uc18c\uc911",
"docked": "\ucda9\uc804\uc911",
"error": "\uc791\ub3d9 \uc624\ub958",
"idle": "\ub300\uae30\uc911",
"off": "\uaebc\uc9d0",
"on": "\ucf1c\uc9d0",
"paused": "\uc77c\uc2dc\uc911\uc9c0\ub428",
"returning": "\ucda9\uc804 \ubcf5\uadc0 \uc911"
},
"weather": {
"clear-night": "\ub9d1\uc74c (\ubc24)",
"cloudy": "\ud750\ub9bc",
"exceptional": "\uc608\uc678\uc0ac\ud56d",
"fog": "\uc548\uac1c",
"hail": "\uc6b0\ubc15",
"lightning": "\ubc88\uac1c",
"lightning-rainy": "\ub1cc\uc6b0",
"partlycloudy": "\ub300\uccb4\ub85c \ud750\ub9bc",
"pouring": "\ud638\uc6b0",
"rainy": "\ube44",
"snowy": "\ub208",
"snowy-rainy": "\uc9c4\ub208\uac1c\ube44",
"sunny": "\ub9d1\uc74c",
"windy": "\ubc14\ub78c",
"windy-variant": "\ubc14\ub78c"
},
"zwave": {
"default": {
"dead": "\uc751\ub2f5\uc5c6\uc74c",
"initializing": "\ucd08\uae30\ud654\uc911",
"ready": "\uc900\ube44",
"sleeping": "\uc808\uc804\ubaa8\ub4dc"
},
"query_stage": {
"dead": "\uc751\ub2f5\uc5c6\uc74c ({query_stage})",
"initializing": "\ucd08\uae30\ud654\uc911 ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Aktiv\u00e9iert",
"armed_away": "Aktiv\u00e9iert \u00cbnnerwee",
"armed_custom_bypass": "Aktiv, Benotzerdefin\u00e9iert",
"armed_home": "Aktiv\u00e9iert Doheem",
"armed_night": "Aktiv\u00e9iert Nuecht",
"arming": "Aktiv\u00e9ieren",
"disarmed": "Desaktiv\u00e9iert",
"disarming": "Desaktiv\u00e9ieren",
"pending": "Ustoend",
"triggered": "Ausgel\u00e9ist"
},
"automation": {
"off": "Aus",
"on": "Un"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Niddreg"
},
"cold": {
"off": "Normal",
"on": "Kal"
},
"connectivity": {
"off": "Net Verbonnen",
"on": "Verbonnen"
},
"default": {
"off": "Aus",
"on": "Un"
},
"door": {
"off": "Zou",
"on": "Op"
},
"garage_door": {
"off": "Zou",
"on": "Op"
},
"gas": {
"off": "Kloer",
"on": "Detekt\u00e9iert"
},
"heat": {
"off": "Normal",
"on": "Waarm"
},
"lock": {
"off": "Gespaart",
"on": "Net gespaart"
},
"moisture": {
"off": "Dr\u00e9chen",
"on": "Naass"
},
"motion": {
"off": "Roueg",
"on": "Detekt\u00e9iert"
},
"occupancy": {
"off": "Roueg",
"on": "Detekt\u00e9iert"
},
"opening": {
"off": "Zou",
"on": "Op"
},
"presence": {
"off": "\u00cbnnerwee",
"on": "Doheem"
},
"problem": {
"off": "OK",
"on": "Problem"
},
"safety": {
"off": "S\u00e9cher",
"on": "Ons\u00e9cher"
},
"smoke": {
"off": "Kloer",
"on": "Detekt\u00e9iert"
},
"sound": {
"off": "Roueg",
"on": "Detekt\u00e9iert"
},
"vibration": {
"off": "Kloer",
"on": "Detekt\u00e9iert"
},
"window": {
"off": "Zou",
"on": "Op"
}
},
"calendar": {
"off": "Aus",
"on": "Un"
},
"camera": {
"idle": "Roueg",
"recording": "H\u00eblt Op",
"streaming": "Streamt"
},
"climate": {
"auto": "Auto",
"cool": "Kill",
"dry": "Dr\u00e9chen",
"fan_only": "N\u00ebmme Ventilator",
"heat": "Heizen",
"heat_cool": "H\u00ebtzen/Ofkillen",
"off": "Aus"
},
"configurator": {
"configure": "Astellen",
"configured": "Agestallt"
},
"cover": {
"closed": "Zou",
"closing": "G\u00ebtt zougemaach",
"open": "Op",
"opening": "G\u00ebtt opgemaach",
"stopped": "Gestoppt"
},
"default": {
"off": "Aus",
"on": "Un",
"unavailable": "Net erreechbar",
"unknown": "Onbekannt"
},
"device_tracker": {
"home": "Doheem",
"not_home": "\u00cbnnerwee"
},
"fan": {
"off": "Aus",
"on": "Un"
},
"group": {
"closed": "Zou",
"closing": "G\u00ebtt zougemaach",
"home": "Doheem",
"locked": "Gespaart",
"not_home": "\u00cbnnerwee",
"off": "Aus",
"ok": "OK",
"on": "Un",
"open": "Op",
"opening": "G\u00ebtt opgemaach",
"problem": "Problem",
"stopped": "Gestoppt",
"unlocked": "Net gespaart"
},
"input_boolean": {
"off": "Aus",
"on": "Un"
},
"light": {
"off": "Aus",
"on": "Un"
},
"lock": {
"locked": "Gespaart",
"unlocked": "Net gespaart"
},
"media_player": {
"idle": "Waart",
"off": "Aus",
"on": "Un",
"paused": "Pauseiert",
"playing": "Spillt",
"standby": "Standby"
},
"person": {
"home": "Doheem",
"not_home": "\u00cbnnerwee"
},
"plant": {
"ok": "OK",
"problem": "Problem"
},
"remote": {
"off": "Aus",
"on": "Un"
},
"scene": {
"scening": "Zeen"
},
"script": {
"off": "Aus",
"on": "Un"
},
"sensor": {
"off": "Aus",
"on": "Un"
},
"sun": {
"above_horizon": "Iwwert dem Horizont",
"below_horizon": "\u00cbnnert dem Horizont"
},
"switch": {
"off": "Aus",
"on": "Un"
},
"timer": {
"active": "Aktiv",
"idle": "Waart",
"paused": "Pauseiert"
},
"vacuum": {
"cleaning": "Botzt",
"docked": "Agedockt",
"error": "Feeler",
"idle": "Waart",
"off": "Aus",
"on": "Un",
"paused": "Pauseiert",
"returning": "K\u00ebnnt zur Statioun zer\u00e9ck"
},
"weather": {
"clear-night": "Kloer, Nuecht",
"cloudy": "Wollekeg",
"exceptional": "Aussergew\u00e9inlech",
"fog": "Niwwel",
"hail": "Kn\u00ebppelsteng",
"lightning": "Bl\u00ebtz",
"lightning-rainy": "Bl\u00ebtz, Reen",
"partlycloudy": "Liicht wollekeg",
"pouring": "Schloreen",
"rainy": "Reen",
"snowy": "Schn\u00e9i",
"snowy-rainy": "Schn\u00e9i, Reen",
"sunny": "Sonneg",
"windy": "L\u00ebfteg",
"windy-variant": "L\u00ebfteg"
},
"zwave": {
"default": {
"dead": "Net Ereechbar",
"initializing": "Initialis\u00e9iert",
"ready": "Bereet",
"sleeping": "Schl\u00e9ift"
},
"query_stage": {
"dead": "Net Ereechbar ({query_stage})",
"initializing": "Initialis\u00e9iert ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,138 @@
{
"state": {
"alarm_control_panel": {
"armed": "U\u017erakinta",
"armed_home": "Nam\u0173 apsauga \u012fjungta",
"arming": "Saugojimo re\u017eimo \u012fjungimas",
"disarmed": "Atrakinta",
"disarming": "Saugojimo re\u017eimo i\u0161jungimas",
"pending": "Laukiama",
"triggered": "Aktyvinta"
},
"automation": {
"off": "I\u0161jungta",
"on": "\u012ejungta"
},
"binary_sensor": {
"connectivity": {
"off": "Atsijung\u0119s",
"on": "Prisijung\u0119s"
},
"default": {
"off": "I\u0161jungta",
"on": "\u012ejungta"
},
"door": {
"off": "U\u017edaryta",
"on": "Atidaryta"
},
"garage_door": {
"off": "U\u017edaryta",
"on": "Atidaryta"
},
"gas": {
"off": "Neaptikta",
"on": "Aptikta"
},
"moisture": {
"off": "Sausa",
"on": "\u0160lapia"
},
"motion": {
"off": "Nejuda",
"on": "Aptiktas judesys"
},
"occupancy": {
"off": "Laisva",
"on": "U\u017eimta"
},
"opening": {
"off": "U\u017edaryta",
"on": "Atidaryta"
},
"safety": {
"off": "Saugu",
"on": "Nesaugu"
},
"smoke": {
"off": "Neaptikta",
"on": "Aptikta"
},
"sound": {
"off": "Tylu",
"on": "Aptikta"
},
"vibration": {
"off": "Neaptikta",
"on": "Aptikta"
},
"window": {
"off": "U\u017edaryta",
"on": "Atidaryta"
}
},
"calendar": {
"off": "I\u0161jungta",
"on": "\u012ejungta"
},
"camera": {
"idle": "Laukimo re\u017eimas",
"recording": "\u012era\u0161ymas",
"streaming": "Transliuojama"
},
"climate": {
"off": "I\u0161jungta"
},
"default": {
"off": "I\u0161jungta",
"on": "\u012ejungta",
"unavailable": "(nepasiekiamas)",
"unknown": "Ne\u017einoma"
},
"fan": {
"off": "I\u0161jungta",
"on": "\u012ejungta"
},
"group": {
"off": "I\u0161jungta",
"ok": "Ok",
"on": "\u012ejungta"
},
"input_boolean": {
"on": "\u012ejungta"
},
"media_player": {
"on": "\u012ejungta"
},
"person": {
"home": "Namuose",
"not_home": "I\u0161vyk\u0119s"
},
"remote": {
"off": "I\u0161jungta",
"on": "\u012ejungta"
},
"script": {
"off": "I\u0161jungta",
"on": "\u012ejungta"
},
"sensor": {
"off": "I\u0161jungta",
"on": "\u012ejungta"
},
"switch": {
"off": "I\u0161jungta",
"on": "\u012ejungta"
},
"timer": {
"active": "aktyvus",
"paused": "pristabdytas"
},
"zwave": {
"query_stage": {
"dead": " ({query_stage})",
"initializing": " ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Piesl\u0113gta",
"armed_away": "Piesl\u0113gta uz promb\u016btni",
"armed_custom_bypass": "Piesl\u0113gts piel\u0101gots apvedce\u013c\u0161",
"armed_home": "Piesl\u0113gta m\u0101j\u0101s",
"armed_night": "Piesl\u0113gta uz nakti",
"arming": "Piesl\u0113dzas",
"disarmed": "Atsl\u0113gta",
"disarming": "Atsl\u0113dzas",
"pending": "Gaida",
"triggered": "Aktiviz\u0113ta"
},
"automation": {
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts"
},
"binary_sensor": {
"battery": {
"off": "Norm\u0101ls",
"on": "Zems"
},
"cold": {
"off": "Norm\u0101ls",
"on": "Auksts"
},
"connectivity": {
"off": "Atvienots",
"on": "Piesl\u0113dzies"
},
"default": {
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts"
},
"door": {
"off": "Aizv\u0113rtas",
"on": "Atv\u0113rtas"
},
"garage_door": {
"off": "Aizv\u0113rtas",
"on": "Atv\u0113rtas"
},
"gas": {
"off": "Br\u012bvs",
"on": "Sajusta"
},
"heat": {
"off": "Norm\u0101ls",
"on": "Karsts"
},
"lock": {
"off": "Sl\u0113gts",
"on": "Atsl\u0113gts"
},
"moisture": {
"off": "Sauss",
"on": "Slapj\u0161"
},
"motion": {
"off": "Br\u012bvs",
"on": "Sajusta"
},
"occupancy": {
"off": "Br\u012bvs",
"on": "Aiz\u0146emts"
},
"opening": {
"off": "Aizv\u0113rts",
"on": "Atv\u0113rts"
},
"presence": {
"off": "Promb\u016btne",
"on": "M\u0101j\u0101s"
},
"problem": {
"off": "OK",
"on": "Probl\u0113ma"
},
"safety": {
"off": "Dro\u0161i",
"on": "Nedro\u0161i"
},
"smoke": {
"off": "Br\u012bvs",
"on": "Sajusta"
},
"sound": {
"off": "Br\u012bvs",
"on": "Sajusts"
},
"vibration": {
"off": "Br\u012bvs",
"on": "Sajusts"
},
"window": {
"off": "Aizv\u0113rts",
"on": "Atv\u0113rts"
}
},
"calendar": {
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts"
},
"camera": {
"idle": "D\u012bkst\u0101ve",
"recording": "Ieraksta",
"streaming": "Straum\u0113"
},
"climate": {
"auto": "Auto",
"cool": "Dzes\u0113\u0161ana",
"dry": "Sauss",
"fan_only": "Tikai ventilators",
"heat": "Sild\u012b\u0161ana",
"heat_cool": "Sild\u012bt / Atdzes\u0113t",
"off": "Izsl\u0113gts"
},
"configurator": {
"configure": "Konfigur\u0113t",
"configured": "Konfigur\u0113ts"
},
"cover": {
"closed": "Sl\u0113gts",
"closing": "Sl\u0113dzas",
"open": "Atv\u0113rts",
"opening": "Atveras",
"stopped": "Aptur\u0113ts"
},
"default": {
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts",
"unavailable": "Nepieejams",
"unknown": "Nezin\u0101ms"
},
"device_tracker": {
"home": "M\u0101j\u0101s",
"not_home": "Prom"
},
"fan": {
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts"
},
"group": {
"closed": "Sl\u0113gta",
"closing": "Sl\u0113dzas",
"home": "M\u0101j\u0101s",
"locked": "Blo\u0137\u0113ta",
"not_home": "Promb\u016btn\u0113",
"off": "Izsl\u0113gta",
"ok": "OK",
"on": "Iesl\u0113gta",
"open": "Atv\u0113rta",
"opening": "Atveras",
"problem": "Probl\u0113ma",
"stopped": "Aptur\u0113ta",
"unlocked": "Atblo\u0137\u0113ta"
},
"input_boolean": {
"off": "Izsl\u0113gta",
"on": "Iesl\u0113gta"
},
"light": {
"off": "Izsl\u0113gta",
"on": "Iesl\u0113gta"
},
"lock": {
"locked": "Aizsl\u0113gts",
"unlocked": "Atsl\u0113gts"
},
"media_player": {
"idle": "D\u012bkst\u0101v\u0113",
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts",
"paused": "Aptur\u0113ts",
"playing": "Atska\u0146o",
"standby": "Gaid\u012b\u0161anas re\u017e\u012bm\u0101"
},
"person": {
"home": "M\u0101j\u0101s",
"not_home": "Promb\u016btne"
},
"plant": {
"ok": "Labi",
"problem": "Probl\u0113ma"
},
"remote": {
"off": "Izsl\u0113gta",
"on": "Iesl\u0113gts"
},
"scene": {
"scening": "Ainas rad\u012b\u0161ana"
},
"script": {
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts"
},
"sensor": {
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts"
},
"sun": {
"above_horizon": "Virs horizonta",
"below_horizon": "Zem horizonta"
},
"switch": {
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts"
},
"timer": {
"active": "akt\u012bvs",
"idle": "d\u012bkst\u0101ve",
"paused": "aptur\u0113ts"
},
"vacuum": {
"cleaning": "Notiek uzkop\u0161ana",
"docked": "Pie doka",
"error": "K\u013c\u016bda",
"idle": "D\u012bkst\u0101v\u0113",
"off": "Izsl\u0113gts",
"on": "Iesl\u0113gts",
"paused": "Aptur\u0113ts",
"returning": "Ce\u013c\u0101 pie doka"
},
"weather": {
"clear-night": "Skaidrs, nakts",
"cloudy": "M\u0101ko\u0146ains",
"exceptional": "Iz\u0146\u0113muma k\u0101rt\u0101",
"fog": "Migla",
"hail": "Krusa",
"lightning": "Zibens",
"lightning-rainy": "Zibens, lietus",
"partlycloudy": "Da\u013c\u0113ji apm\u0101cies",
"pouring": "Lietusg\u0101ze",
"rainy": "Lietains",
"snowy": "Sniegs",
"snowy-rainy": "Sniegs, lietus",
"sunny": "Saulains",
"windy": "V\u0113jains",
"windy-variant": "V\u0113jains"
},
"zwave": {
"default": {
"dead": "Beigta",
"initializing": "Inicializ\u0113",
"ready": "Gatavs",
"sleeping": "Gu\u013c"
},
"query_stage": {
"dead": "Beigta ({query_stage})",
"initializing": "Inicializ\u0113 ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Armert",
"armed_away": "Armert borte",
"armed_custom_bypass": "Armert tilpasset unntak",
"armed_home": "Armert hjemme",
"armed_night": "Armert natt",
"arming": "Armerer",
"disarmed": "Avsl\u00e5tt",
"disarming": "Skrur av",
"pending": "Venter",
"triggered": "Utl\u00f8st"
},
"automation": {
"off": "Av",
"on": "P\u00e5"
},
"binary_sensor": {
"battery": {
"off": "Normalt",
"on": "Lavt"
},
"cold": {
"off": "",
"on": "Kald"
},
"connectivity": {
"off": "Frakoblet",
"on": "Tilkoblet"
},
"default": {
"off": "Av",
"on": "P\u00e5"
},
"door": {
"off": "Lukket",
"on": "\u00c5pen"
},
"garage_door": {
"off": "Lukket",
"on": "\u00c5pen"
},
"gas": {
"off": "Klar",
"on": "Oppdaget"
},
"heat": {
"off": "Normal",
"on": "Varm"
},
"lock": {
"off": "L\u00e5st",
"on": "Ul\u00e5st"
},
"moisture": {
"off": "T\u00f8rr",
"on": "Fuktig"
},
"motion": {
"off": "Klar",
"on": "Oppdaget"
},
"occupancy": {
"off": "Klar",
"on": "Oppdaget"
},
"opening": {
"off": "Lukket",
"on": "\u00c5pen"
},
"presence": {
"off": "Borte",
"on": "Hjemme"
},
"problem": {
"off": "",
"on": ""
},
"safety": {
"off": "Sikker",
"on": "Usikker"
},
"smoke": {
"off": "Klar",
"on": "Oppdaget"
},
"sound": {
"off": "Klar",
"on": "Oppdaget"
},
"vibration": {
"off": "Klar",
"on": "Oppdaget"
},
"window": {
"off": "Lukket",
"on": "\u00c5pent"
}
},
"calendar": {
"off": "Av",
"on": "P\u00e5"
},
"camera": {
"idle": "Inaktiv",
"recording": "Opptak",
"streaming": "Str\u00f8mmer"
},
"climate": {
"auto": "Auto",
"cool": "Kj\u00f8ling",
"dry": "T\u00f8rr",
"fan_only": "Kun vifte",
"heat": "Varme",
"heat_cool": "Varme/kj\u00f8ling",
"off": "Av"
},
"configurator": {
"configure": "Konfigurer",
"configured": "Konfigurert"
},
"cover": {
"closed": "Lukket",
"closing": "Lukker",
"open": "\u00c5pen",
"opening": "\u00c5pner",
"stopped": "Stoppet"
},
"default": {
"off": "Av",
"on": "P\u00e5",
"unavailable": "Utilgjengelig",
"unknown": "Ukjent"
},
"device_tracker": {
"home": "Hjemme",
"not_home": "Borte"
},
"fan": {
"off": "Av",
"on": "P\u00e5"
},
"group": {
"closed": "Lukket",
"closing": "Lukker",
"home": "Hjemme",
"locked": "L\u00e5st",
"not_home": "Borte",
"off": "Av",
"ok": "",
"on": "P\u00e5",
"open": "\u00c5pen",
"opening": "\u00c5pner",
"problem": "Problem",
"stopped": "Stoppet",
"unlocked": "Ul\u00e5st"
},
"input_boolean": {
"off": "Av",
"on": "P\u00e5"
},
"light": {
"off": "Av",
"on": "P\u00e5"
},
"lock": {
"locked": "L\u00e5st",
"unlocked": "Ul\u00e5st"
},
"media_player": {
"idle": "Inaktiv",
"off": "Av",
"on": "P\u00e5",
"paused": "Pauset",
"playing": "Spiller",
"standby": "Avventer"
},
"person": {
"home": "Hjemme",
"not_home": "Borte"
},
"plant": {
"ok": "",
"problem": "Problem"
},
"remote": {
"off": "Av",
"on": "P\u00e5"
},
"scene": {
"scening": "Scenende"
},
"script": {
"off": "Av",
"on": "P\u00e5"
},
"sensor": {
"off": "Av",
"on": "P\u00e5"
},
"sun": {
"above_horizon": "Over horisonten",
"below_horizon": "Under horisonten"
},
"switch": {
"off": "Av",
"on": "P\u00e5"
},
"timer": {
"active": "aktiv",
"idle": "inaktiv",
"paused": "pauset"
},
"vacuum": {
"cleaning": "Rengj\u00f8r",
"docked": "Dokket",
"error": "Feil",
"idle": "Inaktiv",
"off": "Av",
"on": "P\u00e5",
"paused": "Pauset",
"returning": "Returner til dokk"
},
"weather": {
"clear-night": "Klart, natt",
"cloudy": "Skyet",
"exceptional": "Eksepsjonell",
"fog": "T\u00e5ke",
"hail": "Hagl",
"lightning": "Lyn",
"lightning-rainy": "Lyn, regn",
"partlycloudy": "Delvis skyet",
"pouring": "Kraftig nedb\u00f8r",
"rainy": "Regn",
"snowy": "Sn\u00f8",
"snowy-rainy": "Sludd",
"sunny": "Solfylt",
"windy": "Vind",
"windy-variant": "Vind"
},
"zwave": {
"default": {
"dead": "D\u00f8d",
"initializing": "Initialiserer",
"ready": "Klar",
"sleeping": "Sover"
},
"query_stage": {
"dead": "D\u00f8d ({query_stage})",
"initializing": "Initialiserer ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Ingeschakeld",
"armed_away": "Ingeschakeld afwezig",
"armed_custom_bypass": "Ingeschakeld met overbrugging(en)",
"armed_home": "Ingeschakeld thuis",
"armed_night": "Ingeschakeld nacht",
"arming": "Schakelt in",
"disarmed": "Uitgeschakeld",
"disarming": "Schakelt uit",
"pending": "In wacht",
"triggered": "Geactiveerd"
},
"automation": {
"off": "Uit",
"on": "Aan"
},
"binary_sensor": {
"battery": {
"off": "Normaal",
"on": "Laag"
},
"cold": {
"off": "Normaal",
"on": "Koud"
},
"connectivity": {
"off": "Verbroken",
"on": "Verbonden"
},
"default": {
"off": "Uit",
"on": "Aan"
},
"door": {
"off": "Dicht",
"on": "Open"
},
"garage_door": {
"off": "Dicht",
"on": "Open"
},
"gas": {
"off": "Niet gedetecteerd",
"on": "Gedetecteerd"
},
"heat": {
"off": "Normaal",
"on": "Heet"
},
"lock": {
"off": "Vergrendeld",
"on": "Ontgrendeld"
},
"moisture": {
"off": "Droog",
"on": "Vochtig"
},
"motion": {
"off": "Niet gedetecteerd",
"on": "Gedetecteerd"
},
"occupancy": {
"off": "Niet gedetecteerd",
"on": "Gedetecteerd"
},
"opening": {
"off": "Gesloten",
"on": "Open"
},
"presence": {
"off": "Afwezig",
"on": "Thuis"
},
"problem": {
"off": "OK",
"on": "Probleem"
},
"safety": {
"off": "Veilig",
"on": "Onveilig"
},
"smoke": {
"off": "Niet gedetecteerd",
"on": "Gedetecteerd"
},
"sound": {
"off": "Niet gedetecteerd",
"on": "Gedetecteerd"
},
"vibration": {
"off": "Niet gedetecteerd",
"on": "Gedetecteerd"
},
"window": {
"off": "Dicht",
"on": "Open"
}
},
"calendar": {
"off": "Uit",
"on": "Aan"
},
"camera": {
"idle": "Inactief",
"recording": "Opnemen",
"streaming": "Streamen"
},
"climate": {
"auto": "Auto",
"cool": "Koelen",
"dry": "Droog",
"fan_only": "Alleen ventilatie",
"heat": "Verwarmen",
"heat_cool": "Verwarmen/Koelen",
"off": "Uit"
},
"configurator": {
"configure": "Configureer",
"configured": "Geconfigureerd"
},
"cover": {
"closed": "Gesloten",
"closing": "Sluit",
"open": "Open",
"opening": "Opent",
"stopped": "Gestopt"
},
"default": {
"off": "Uit",
"on": "Aan",
"unavailable": "Niet beschikbaar",
"unknown": "Onbekend"
},
"device_tracker": {
"home": "Thuis",
"not_home": "Afwezig"
},
"fan": {
"off": "Uit",
"on": "Aan"
},
"group": {
"closed": "Gesloten",
"closing": "Sluiten",
"home": "Thuis",
"locked": "Vergrendeld",
"not_home": "Afwezig",
"off": "Uit",
"ok": "OK",
"on": "Aan",
"open": "Open",
"opening": "Openen",
"problem": "Probleem",
"stopped": "Gestopt",
"unlocked": "Ontgrendeld"
},
"input_boolean": {
"off": "Uit",
"on": "Aan"
},
"light": {
"off": "Uit",
"on": "Aan"
},
"lock": {
"locked": "Vergrendeld",
"unlocked": "Ontgrendeld"
},
"media_player": {
"idle": "Inactief",
"off": "Uit",
"on": "Aan",
"paused": "Gepauzeerd",
"playing": "Afspelen",
"standby": "Standby"
},
"person": {
"home": "Thuis",
"not_home": "Afwezig"
},
"plant": {
"ok": "OK",
"problem": "Probleem"
},
"remote": {
"off": "Uit",
"on": "Aan"
},
"scene": {
"scening": "Sc\u00e8nes"
},
"script": {
"off": "Uit",
"on": "Aan"
},
"sensor": {
"off": "Uit",
"on": "Aan"
},
"sun": {
"above_horizon": "Boven de horizon",
"below_horizon": "Onder de horizon"
},
"switch": {
"off": "Uit",
"on": "Aan"
},
"timer": {
"active": "actief",
"idle": "inactief",
"paused": "gepauzeerd"
},
"vacuum": {
"cleaning": "Reinigen",
"docked": "Gedockt",
"error": "Fout",
"idle": "Inactief",
"off": "Uit",
"on": "Aan",
"paused": "Gepauseerd",
"returning": "Terugkeren naar dock"
},
"weather": {
"clear-night": "Helder, nacht",
"cloudy": "Bewolkt",
"exceptional": "Uitzonderlijk",
"fog": "Mist",
"hail": "Hagel",
"lightning": "Bliksem",
"lightning-rainy": "Bliksem, regenachtig",
"partlycloudy": "Gedeeltelijk bewolkt",
"pouring": "Regen",
"rainy": "Regenachtig",
"snowy": "Sneeuwachtig",
"snowy-rainy": "Sneeuw-, regenachtig",
"sunny": "Zonnig",
"windy": "Winderig",
"windy-variant": "Winderig"
},
"zwave": {
"default": {
"dead": "Onbereikbaar",
"initializing": "Initialiseren",
"ready": "Gereed",
"sleeping": "Slaapt"
},
"query_stage": {
"dead": "Onbereikbaar ({query_stage})",
"initializing": "Initialiseren ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "P\u00e5sl\u00e5tt",
"armed_away": "P\u00e5 for borte",
"armed_custom_bypass": "Armert tilpassa unntak",
"armed_home": "P\u00e5 for heime",
"armed_night": "P\u00e5 for natta",
"arming": "Skrur p\u00e5",
"disarmed": "Avsl\u00e5tt",
"disarming": "Skrur av",
"pending": "I vente av",
"triggered": "Utl\u00f8yst"
},
"automation": {
"off": "Av",
"on": "P\u00e5"
},
"binary_sensor": {
"battery": {
"off": "Normalt",
"on": "L\u00e5gt"
},
"cold": {
"off": "Normal",
"on": "Kald"
},
"connectivity": {
"off": "Fr\u00e5kopla",
"on": "Tilkopla"
},
"default": {
"off": "Av",
"on": "P\u00e5"
},
"door": {
"off": "Lukka",
"on": "Open"
},
"garage_door": {
"off": "Lukka",
"on": "Open"
},
"gas": {
"off": "Ikkje oppdaga",
"on": "Oppdaga"
},
"heat": {
"off": "Normal",
"on": "Varm"
},
"lock": {
"off": "L\u00e5st",
"on": "Ul\u00e5st"
},
"moisture": {
"off": "T\u00f8rr",
"on": "V\u00e5t"
},
"motion": {
"off": "Ikkje oppdaga",
"on": "Oppdaga"
},
"occupancy": {
"off": "Ikkje oppdaga",
"on": "Oppdaga"
},
"opening": {
"off": "Lukka",
"on": "Open"
},
"presence": {
"off": "Borte",
"on": "Heime"
},
"problem": {
"off": "Ok",
"on": "Problem"
},
"safety": {
"off": "Sikker",
"on": "Usikker"
},
"smoke": {
"off": "Ikkje oppdaga",
"on": "Oppdaga"
},
"sound": {
"off": "Ikkje oppdaga",
"on": "Oppdaga"
},
"vibration": {
"off": "Ikkje oppdaga",
"on": "Oppdaga"
},
"window": {
"off": "Lukka",
"on": "Open"
}
},
"calendar": {
"off": "Av",
"on": "P\u00e5"
},
"camera": {
"idle": "Inaktiv",
"recording": "Opptak",
"streaming": "Str\u00f8ymer"
},
"climate": {
"auto": "Auto",
"cool": "Kj\u00f8le",
"dry": "T\u00f8rr",
"fan_only": "Berre vifte",
"heat": "Varme",
"heat_cool": "Oppvarming/Nedkj\u00f8ling",
"off": "Av"
},
"configurator": {
"configure": "Konfigurerer",
"configured": "Konfigurert"
},
"cover": {
"closed": "Lukka",
"closing": "Lukkar",
"open": "Open",
"opening": "Opnar",
"stopped": "Stoppa"
},
"default": {
"off": "Av",
"on": "P\u00e5",
"unavailable": "Utilgjengelig",
"unknown": "Ukjent"
},
"device_tracker": {
"home": "Heime",
"not_home": "Borte"
},
"fan": {
"off": "Av",
"on": "P\u00e5"
},
"group": {
"closed": "Lukka",
"closing": "Lukkar",
"home": "Heime",
"locked": "L\u00e5st",
"not_home": "Borte",
"off": "Av",
"ok": "Ok",
"on": "P\u00e5",
"open": "Open",
"opening": "Opnar",
"problem": "Problem",
"stopped": "Stoppa",
"unlocked": "Ul\u00e5st"
},
"input_boolean": {
"off": "Av",
"on": "P\u00e5"
},
"light": {
"off": "Av",
"on": "P\u00e5"
},
"lock": {
"locked": "L\u00e5st",
"unlocked": "Ul\u00e5st"
},
"media_player": {
"idle": "Inaktiv",
"off": "Av",
"on": "P\u00e5",
"paused": "Pausa",
"playing": "Spelar",
"standby": "Avventer"
},
"person": {
"home": "Heime",
"not_home": "Borte "
},
"plant": {
"ok": "Ok",
"problem": "Problem"
},
"remote": {
"off": "Av",
"on": "P\u00e5"
},
"scene": {
"scening": "Scenande"
},
"script": {
"off": "Av",
"on": "P\u00e5"
},
"sensor": {
"off": "Av",
"on": "P\u00e5"
},
"sun": {
"above_horizon": "Over horisonten",
"below_horizon": "Under horisonten"
},
"switch": {
"off": "Av",
"on": "P\u00e5"
},
"timer": {
"active": "aktiv",
"idle": "tomgang",
"paused": "pausa"
},
"vacuum": {
"cleaning": "Reingjer",
"docked": "Parkert",
"error": "Feil",
"idle": "Tomgang",
"off": "Av",
"on": "P\u00e5",
"paused": "Pausa",
"returning": "G\u00e5 tilbake til ladestasjonen"
},
"weather": {
"clear-night": "Klart, natt",
"cloudy": "Overskya",
"exceptional": "Utmerka",
"fog": "T\u00e5ke",
"hail": "Hagl",
"lightning": "Lyn",
"lightning-rainy": "Lyn, regn",
"partlycloudy": "Delvis overskya",
"pouring": "P\u00f8sande",
"rainy": "Regn",
"snowy": "Sn\u00f8",
"snowy-rainy": "Sn\u00f8, regn",
"sunny": "Mykje sol",
"windy": "Vind",
"windy-variant": "Vind"
},
"zwave": {
"default": {
"dead": "D\u00f8d",
"initializing": "Initialiserer",
"ready": "Klar",
"sleeping": "S\u00f8v"
},
"query_stage": {
"dead": "D\u00f8d ({query_stage})",
"initializing": "Initialiserer ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "uzbrojony",
"armed_away": "uzbrojony (poza domem)",
"armed_custom_bypass": "uzbrojony (cz\u0119\u015bciowo)",
"armed_home": "uzbrojony (w domu)",
"armed_night": "uzbrojony (noc)",
"arming": "uzbrajanie",
"disarmed": "rozbrojony",
"disarming": "rozbrajanie",
"pending": "oczekuje",
"triggered": "wyzwolony"
},
"automation": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"binary_sensor": {
"battery": {
"off": "na\u0142adowana",
"on": "roz\u0142adowana"
},
"cold": {
"off": "normalnie",
"on": "zimno"
},
"connectivity": {
"off": "offline",
"on": "online"
},
"default": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"door": {
"off": "zamkni\u0119te",
"on": "otwarte"
},
"garage_door": {
"off": "zamkni\u0119ta",
"on": "otwarta"
},
"gas": {
"off": "brak",
"on": "wykryto"
},
"heat": {
"off": "normalnie",
"on": "gor\u0105co"
},
"lock": {
"off": "zamkni\u0119ty",
"on": "otwarty"
},
"moisture": {
"off": "brak wilgoci",
"on": "wilgo\u0107"
},
"motion": {
"off": "brak",
"on": "wykryto"
},
"occupancy": {
"off": "brak",
"on": "wykryto"
},
"opening": {
"off": "zamkni\u0119te",
"on": "otwarte"
},
"presence": {
"off": "poza domem",
"on": "w domu"
},
"problem": {
"off": "ok",
"on": "problem"
},
"safety": {
"off": "brak zagro\u017cenia",
"on": "zagro\u017cenie"
},
"smoke": {
"off": "brak",
"on": "wykryto"
},
"sound": {
"off": "brak",
"on": "wykryto"
},
"vibration": {
"off": "brak",
"on": "wykryto"
},
"window": {
"off": "zamkni\u0119te",
"on": "otwarte"
}
},
"calendar": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"camera": {
"idle": "nieaktywna",
"recording": "nagrywanie",
"streaming": "strumieniowanie"
},
"climate": {
"auto": "automatyczny",
"cool": "ch\u0142odzenie",
"dry": "osuszanie",
"fan_only": "tylko wentylator",
"heat": "grzanie",
"heat_cool": "grzanie/ch\u0142odzenie",
"off": "wy\u0142\u0105czony"
},
"configurator": {
"configure": "Skonfiguruj",
"configured": "skonfigurowany"
},
"cover": {
"closed": "zamkni\u0119ta",
"closing": "zamykanie",
"open": "otwarta",
"opening": "otwieranie",
"stopped": "zatrzymany"
},
"default": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony",
"unavailable": "niedost\u0119pny",
"unknown": "nieznany"
},
"device_tracker": {
"home": "w domu",
"not_home": "poza domem"
},
"fan": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"group": {
"closed": "zamkni\u0119te",
"closing": "zamykanie",
"home": "w domu",
"locked": "zamkni\u0119ty",
"not_home": "poza domem",
"off": "wy\u0142\u0105czony",
"ok": "ok",
"on": "w\u0142\u0105czony",
"open": "otwarte",
"opening": "otwieranie",
"problem": "problem",
"stopped": "zatrzymany",
"unlocked": "otwarty"
},
"input_boolean": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"light": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"lock": {
"locked": "zamkni\u0119ty",
"unlocked": "otwarty"
},
"media_player": {
"idle": "nieaktywny",
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony",
"paused": "wstrzymany",
"playing": "odtwarzanie",
"standby": "tryb czuwania"
},
"person": {
"home": "w domu",
"not_home": "poza domem"
},
"plant": {
"ok": "ok",
"problem": "problem"
},
"remote": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"scene": {
"scening": "sceny"
},
"script": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"sensor": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"sun": {
"above_horizon": "powy\u017cej horyzontu",
"below_horizon": "poni\u017cej horyzontu"
},
"switch": {
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony"
},
"timer": {
"active": "aktywny",
"idle": "nieaktywny",
"paused": "wstrzymany"
},
"vacuum": {
"cleaning": "sprz\u0105tanie",
"docked": "w stacji dokuj\u0105cej",
"error": "b\u0142\u0105d",
"idle": "nieaktywny",
"off": "wy\u0142\u0105czony",
"on": "w\u0142\u0105czony",
"paused": "wstrzymany",
"returning": "powr\u00f3t do stacji dokuj\u0105cej"
},
"weather": {
"clear-night": "pogodnie, noc",
"cloudy": "pochmurno",
"exceptional": "wyj\u0105tkowy",
"fog": "mg\u0142a",
"hail": "grad",
"lightning": "b\u0142yskawice",
"lightning-rainy": "burza",
"partlycloudy": "cz\u0119\u015bciowe zachmurzenie",
"pouring": "ulewa",
"rainy": "deszczowo",
"snowy": "\u015bnie\u017cnie",
"snowy-rainy": "\u015bnie\u017cnie, deszczowo",
"sunny": "s\u0142onecznie",
"windy": "wietrznie",
"windy-variant": "wietrznie"
},
"zwave": {
"default": {
"dead": "martwy",
"initializing": "inicjalizacja",
"ready": "gotowy",
"sleeping": "u\u015bpiony"
},
"query_stage": {
"dead": "martwy ({query_stage})",
"initializing": "inicjalizacja ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Armado",
"armed_away": "Armado ausente",
"armed_custom_bypass": "Armado em \u00e1reas espec\u00edficas",
"armed_home": "Armado casa",
"armed_night": "Armado noite",
"arming": "Armando",
"disarmed": "Desarmado",
"disarming": "Desarmando",
"pending": "Pendente",
"triggered": "Acionado"
},
"automation": {
"off": "Desligado",
"on": "Ativa"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Fraca"
},
"cold": {
"off": "Normal",
"on": "Frio"
},
"connectivity": {
"off": "Desconectado",
"on": "Conectado"
},
"default": {
"off": "Desligado",
"on": "Ligado"
},
"door": {
"off": "Fechado",
"on": "Aberto"
},
"garage_door": {
"off": "Fechado",
"on": "Aberto"
},
"gas": {
"off": "Limpo",
"on": "Detectado"
},
"heat": {
"off": "Normal",
"on": "Quente"
},
"lock": {
"off": "Trancado",
"on": "Desbloqueado"
},
"moisture": {
"off": "Seco",
"on": "Molhado"
},
"motion": {
"off": "Desligado",
"on": "Detectado"
},
"occupancy": {
"off": "Desocupado",
"on": "Detectado"
},
"opening": {
"off": "Fechado",
"on": "Aberto"
},
"presence": {
"off": "Ausente",
"on": "Em casa"
},
"problem": {
"off": "OK",
"on": "Problema"
},
"safety": {
"off": "Seguro",
"on": "N\u00e3o seguro"
},
"smoke": {
"off": "Limpo",
"on": "Detectado"
},
"sound": {
"off": "Limpo",
"on": "Detectado"
},
"vibration": {
"off": "Limpo",
"on": "Detectado"
},
"window": {
"off": "Fechado",
"on": "Aberto"
}
},
"calendar": {
"off": "Inativo",
"on": "Ativo"
},
"camera": {
"idle": "Ocioso",
"recording": "Gravando",
"streaming": "Transmitindo"
},
"climate": {
"auto": "Autom\u00e1tico",
"cool": "Frio",
"dry": "Seco",
"fan_only": "Apenas ventilador",
"heat": "Quente",
"heat_cool": "Quente/Frio",
"off": "Desligado"
},
"configurator": {
"configure": "Configurar",
"configured": "Configurado"
},
"cover": {
"closed": "Fechado",
"closing": "Fechando",
"open": "Aberto",
"opening": "Abrindo",
"stopped": "Parado"
},
"default": {
"off": "Desligado",
"on": "Ligado",
"unavailable": "Indispon\u00edvel",
"unknown": "Desconhecido"
},
"device_tracker": {
"home": "Em casa",
"not_home": "Ausente"
},
"fan": {
"off": "Desligado",
"on": "Ligado"
},
"group": {
"closed": "Fechado",
"closing": "Fechando",
"home": "Em casa",
"locked": "Trancado",
"not_home": "Ausente",
"off": "Desligado",
"ok": "OK",
"on": "Ligado",
"open": "Aberto",
"opening": "Abrindo",
"problem": "Problema",
"stopped": "Parado",
"unlocked": "Destrancado"
},
"input_boolean": {
"off": "Desligado",
"on": "Ligado"
},
"light": {
"off": "Desligada",
"on": "Ligada"
},
"lock": {
"locked": "Trancado",
"unlocked": "Destrancado"
},
"media_player": {
"idle": "Ocioso",
"off": "Desligado",
"on": "Ligado",
"paused": "Pausado",
"playing": "Tocando",
"standby": "Em espera"
},
"person": {
"home": "Em casa",
"not_home": "Ausente"
},
"plant": {
"ok": "Ok",
"problem": "Problema"
},
"remote": {
"off": "Desligado",
"on": "Ligado"
},
"scene": {
"scening": "Ativa"
},
"script": {
"off": "Desligado",
"on": "Ligado"
},
"sensor": {
"off": "Desligado",
"on": "Ligado"
},
"sun": {
"above_horizon": "Acima do horizonte",
"below_horizon": "Abaixo do horizonte"
},
"switch": {
"off": "Desligado",
"on": "Ligado"
},
"timer": {
"active": "ativo",
"idle": "ocioso",
"paused": "Pausado"
},
"vacuum": {
"cleaning": "Limpando",
"docked": "Baseado",
"error": "Erro",
"idle": "Em espera",
"off": "Desligado",
"on": "Ligado",
"paused": "Pausado",
"returning": "Retornando para base"
},
"weather": {
"clear-night": "Noite clara",
"cloudy": "Nublado",
"exceptional": "Excepcional",
"fog": "Nevoeiro",
"hail": "Granizo",
"lightning": "Raios",
"lightning-rainy": "Raios, chuvoso",
"partlycloudy": "Parcialmente nublado",
"pouring": "Torrencial",
"rainy": "Chuvoso",
"snowy": "Neve",
"snowy-rainy": "Neve, chuva",
"sunny": "Ensolarado",
"windy": "Ventoso",
"windy-variant": "Ventoso"
},
"zwave": {
"default": {
"dead": "Morto",
"initializing": "Iniciando",
"ready": "Pronto",
"sleeping": "Dormindo"
},
"query_stage": {
"dead": "Morto ({query_stage})",
"initializing": "Iniciando ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Armado",
"armed_away": "Armado ausente",
"armed_custom_bypass": "Armado com desvio personalizado",
"armed_home": "Armado Casa",
"armed_night": "Armado noite",
"arming": "A armar",
"disarmed": "Desarmado",
"disarming": "A desarmar",
"pending": "Pendente",
"triggered": "Despoletado"
},
"automation": {
"off": "Desligado",
"on": "Ligado"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Baixo"
},
"cold": {
"off": "Normal",
"on": "Frio"
},
"connectivity": {
"off": "Desligado",
"on": "Ligado"
},
"default": {
"off": "Desligado",
"on": "Ligado"
},
"door": {
"off": "Fechada",
"on": "Aberta"
},
"garage_door": {
"off": "Fechada",
"on": "Aberta"
},
"gas": {
"off": "Limpo",
"on": "Detectado"
},
"heat": {
"off": "Normal",
"on": "Quente"
},
"lock": {
"off": "Trancada",
"on": "Destrancada"
},
"moisture": {
"off": "Seco",
"on": "H\u00famido"
},
"motion": {
"off": "Limpo",
"on": "Detectado"
},
"occupancy": {
"off": "Limpo",
"on": "Detectado"
},
"opening": {
"off": "Fechado",
"on": "Aberto"
},
"presence": {
"off": "Fora",
"on": "Casa"
},
"problem": {
"off": "OK",
"on": "Problema"
},
"safety": {
"off": "Seguro",
"on": "Inseguro"
},
"smoke": {
"off": "Limpo",
"on": "Detectado"
},
"sound": {
"off": "Limpo",
"on": "Detectado"
},
"vibration": {
"off": "Limpo",
"on": "Detetado"
},
"window": {
"off": "Fechada",
"on": "Aberta"
}
},
"calendar": {
"off": "Desligado",
"on": "Ligado"
},
"camera": {
"idle": "Em espera",
"recording": "A gravar",
"streaming": "A enviar"
},
"climate": {
"auto": "Auto",
"cool": "Frio",
"dry": "Desumidificar",
"fan_only": "Apenas ventilar",
"heat": "Quente",
"heat_cool": "Calor / Frio",
"off": "Desligado"
},
"configurator": {
"configure": "Configurar",
"configured": "Configurado"
},
"cover": {
"closed": "Fechada",
"closing": "A fechar",
"open": "Aberta",
"opening": "A abrir",
"stopped": "Parado"
},
"default": {
"off": "Desligado",
"on": "Ligado",
"unavailable": "Indispon\u00edvel",
"unknown": "Desconhecido"
},
"device_tracker": {
"home": "Casa",
"not_home": "Fora"
},
"fan": {
"off": "Desligada",
"on": "Ligado"
},
"group": {
"closed": "Fechada",
"closing": "A fechar",
"home": "Casa",
"locked": "Bloqueado",
"not_home": "Fora",
"off": "Desligado",
"ok": "OK",
"on": "Ligado",
"open": "Aberta",
"opening": "A abrir",
"problem": "Problema",
"stopped": "Parado",
"unlocked": "Desbloqueado"
},
"input_boolean": {
"off": "Desligado",
"on": "Ligado"
},
"light": {
"off": "Desligada",
"on": "Ligada"
},
"lock": {
"locked": "Trancada",
"unlocked": "Destrancada"
},
"media_player": {
"idle": "Em espera",
"off": "Desligado",
"on": "Ligado",
"paused": "Em pausa",
"playing": "A reproduzir",
"standby": "Em espera"
},
"person": {
"home": "Casa",
"not_home": "Ausente"
},
"plant": {
"ok": "OK",
"problem": "Problema"
},
"remote": {
"off": "Desativado",
"on": "Ligado"
},
"scene": {
"scening": "Cenas"
},
"script": {
"off": "Desativado",
"on": "Ligado"
},
"sensor": {
"off": "Desligado",
"on": "Ligado"
},
"sun": {
"above_horizon": "Acima do horizonte",
"below_horizon": "Abaixo do horizonte"
},
"switch": {
"off": "Desligado",
"on": "Ligado"
},
"timer": {
"active": "ativo",
"idle": "Em espera",
"paused": "Em pausa"
},
"vacuum": {
"cleaning": "A limpar",
"docked": "Encaixado",
"error": "Erro",
"idle": "Em espera",
"off": "Desligado",
"on": "Ligado",
"paused": "Em pausa",
"returning": "A regressar \u00e0 doca"
},
"weather": {
"clear-night": "Limpo, Noite",
"cloudy": "Nublado",
"exceptional": "Excepcional",
"fog": "Nevoeiro",
"hail": "Granizo",
"lightning": "Rel\u00e2mpago",
"lightning-rainy": "Rel\u00e2mpagos, chuva",
"partlycloudy": "Parcialmente nublado",
"pouring": "Chuva forte",
"rainy": "Chuva",
"snowy": "Neve",
"snowy-rainy": "Neve, chuva",
"sunny": "Sol",
"windy": "Vento fraco",
"windy-variant": "Vento fraco"
},
"zwave": {
"default": {
"dead": "Morto",
"initializing": "A inicializar",
"ready": "Pronto",
"sleeping": "Adormecido"
},
"query_stage": {
"dead": "Morto ({query_stage})",
"initializing": "A inicializar ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Armat",
"armed_away": "Armat plecat",
"armed_custom_bypass": "Armare personalizat\u0103",
"armed_home": "Armat acas\u0103",
"armed_night": "Armat noaptea",
"arming": "Armare",
"disarmed": "Dezarmat",
"disarming": "Dezarmare",
"pending": "\u00cen a\u0219teptare",
"triggered": "Declan\u0219at"
},
"automation": {
"off": "Oprit",
"on": "Pornit"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "Sc\u0103zuta"
},
"cold": {
"off": "Normal",
"on": "Rece"
},
"connectivity": {
"off": "Deconectat",
"on": "Conectat"
},
"default": {
"off": "Oprit",
"on": "Pornit"
},
"door": {
"off": "\u00cenchis",
"on": "Deschis"
},
"garage_door": {
"off": "\u00cenchis",
"on": "Deschis"
},
"gas": {
"off": "Liber",
"on": "Detec\u021bie"
},
"heat": {
"off": "Normal",
"on": "Fierbinte"
},
"lock": {
"off": "Blocat",
"on": "Deblocat"
},
"moisture": {
"off": "Uscat",
"on": "Umed"
},
"motion": {
"off": "Liber",
"on": "Detec\u021bie"
},
"occupancy": {
"off": "Liber",
"on": "Detec\u021bie"
},
"opening": {
"off": "\u00cenchis",
"on": "Deschis"
},
"presence": {
"off": "Plecat",
"on": "Acas\u0103"
},
"problem": {
"off": "OK",
"on": "Problem\u0103"
},
"safety": {
"off": "Sigur",
"on": "Nesigur"
},
"smoke": {
"off": "Liber",
"on": "Detec\u021bie"
},
"sound": {
"off": "Liber",
"on": "Detec\u021bie"
},
"vibration": {
"off": "Liber",
"on": "Detec\u021bie"
},
"window": {
"off": "\u00cenchis",
"on": "Deschis"
}
},
"calendar": {
"off": "Oprit",
"on": "Pornit"
},
"camera": {
"idle": "Inactiv",
"recording": "\u00cenregistrare",
"streaming": "Streaming"
},
"climate": {
"auto": "Auto",
"cool": "Rece",
"dry": "Uscat",
"fan_only": "Numai ventilator",
"heat": "C\u0103ldur\u0103",
"heat_cool": "\u00cenc\u0103lzire / R\u0103cire",
"off": "Oprit"
},
"configurator": {
"configure": "Configureaz\u0103",
"configured": "Configurat"
},
"cover": {
"closed": "\u00cenchis",
"closing": "\u00cenchidere",
"open": "Deschis",
"opening": "Deschidere",
"stopped": "Oprit"
},
"default": {
"off": "Oprit",
"on": "Pornit",
"unavailable": "Indisponibil",
"unknown": "Necunoscut"
},
"device_tracker": {
"home": "Acas\u0103",
"not_home": "Plecat"
},
"fan": {
"off": "Oprit",
"on": "Pornit"
},
"group": {
"closed": "\u00cenchis",
"closing": "\u00cenchidere",
"home": "Acas\u0103",
"locked": "Blocat",
"not_home": "Plecat",
"off": "Oprit",
"ok": "OK",
"on": "Pornit",
"open": "Deschis",
"opening": "Deschidere",
"problem": "Problem\u0103",
"stopped": "Oprit",
"unlocked": "Deblocat"
},
"input_boolean": {
"off": "Oprit",
"on": "Pornit"
},
"light": {
"off": "Oprit",
"on": "Pornit"
},
"lock": {
"locked": "Blocat",
"unlocked": "Deblocat"
},
"media_player": {
"idle": "Inactiv",
"off": "Oprit",
"on": "Pornit",
"paused": "\u00cen pauz\u0103",
"playing": "Ruleaz\u0103",
"standby": "\u00cen a\u0219teptare"
},
"person": {
"home": "Acas\u0103",
"not_home": "Plecat"
},
"plant": {
"ok": "OK",
"problem": "Problem\u0103"
},
"remote": {
"off": "Oprit",
"on": "Pornit"
},
"scene": {
"scening": "Scen\u0103"
},
"script": {
"off": "Oprit",
"on": "Pornit"
},
"sensor": {
"off": "Oprit",
"on": "Pornit"
},
"sun": {
"above_horizon": "Deasupra orizontului",
"below_horizon": "Sub orizont"
},
"switch": {
"off": "Oprit",
"on": "Pornit"
},
"timer": {
"active": "activ",
"idle": "inactiv",
"paused": "\u00cen pauz\u0103"
},
"vacuum": {
"cleaning": "Cur\u0103\u021bare",
"docked": "Andocat",
"error": "Eroare",
"idle": "Inactiv",
"off": "Oprit",
"on": "Pornit",
"paused": "\u00centrerupt",
"returning": "\u00cen curs de \u00eentoarcere la doc"
},
"weather": {
"clear-night": "Noapte senin\u0103",
"cloudy": "Noros",
"exceptional": "Excep\u0163ional",
"fog": "Cea\u0163\u0103",
"hail": "Grindin\u0103",
"lightning": "Des\u0103rc\u0103ri electrice",
"lightning-rainy": "Ploaie cu desc\u0103rc\u0103ri electrice",
"partlycloudy": "Par\u021bial noros",
"pouring": "Avers\u0103",
"rainy": "Ploios",
"snowy": "Z\u0103pad\u0103",
"snowy-rainy": "Lapovi\u021b\u0103 \u0219i ninsoare",
"sunny": "\u00eensorit",
"windy": "Vant",
"windy-variant": "Vant"
},
"zwave": {
"default": {
"dead": "Inactiv",
"initializing": "Se ini\u021bializeaz\u0103",
"ready": "Disponibil",
"sleeping": "Adormit"
},
"query_stage": {
"dead": "Inactiv ({query_stage})",
"initializing": "Se ini\u021bializeaz\u0103 ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u041f\u043e\u0434 \u043e\u0445\u0440\u0430\u043d\u043e\u0439",
"armed_away": "\u041e\u0445\u0440\u0430\u043d\u0430 (\u043d\u0435 \u0434\u043e\u043c\u0430)",
"armed_custom_bypass": "\u041e\u0445\u0440\u0430\u043d\u0430 \u0441 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438",
"armed_home": "\u041e\u0445\u0440\u0430\u043d\u0430 (\u0434\u043e\u043c\u0430)",
"armed_night": "\u041e\u0445\u0440\u0430\u043d\u0430 (\u043d\u043e\u0447\u044c)",
"arming": "\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043d\u0430 \u043e\u0445\u0440\u0430\u043d\u0443",
"disarmed": "\u0421\u043d\u044f\u0442\u043e \u0441 \u043e\u0445\u0440\u0430\u043d\u044b",
"disarming": "\u0421\u043d\u044f\u0442\u0438\u0435 \u0441 \u043e\u0445\u0440\u0430\u043d\u044b",
"pending": "\u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043e\u0445\u0440\u0430\u043d\u0443",
"triggered": "\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0435"
},
"automation": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"binary_sensor": {
"battery": {
"off": "\u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439",
"on": "\u041d\u0438\u0437\u043a\u0438\u0439"
},
"cold": {
"off": "\u041d\u043e\u0440\u043c\u0430",
"on": "\u041e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435"
},
"connectivity": {
"off": "\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
"on": "\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e"
},
"default": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"door": {
"off": "\u0417\u0430\u043a\u0440\u044b\u0442\u0430",
"on": "\u041e\u0442\u043a\u0440\u044b\u0442\u0430"
},
"garage_door": {
"off": "\u0417\u0430\u043a\u0440\u044b\u0442\u044b",
"on": "\u041e\u0442\u043a\u0440\u044b\u0442\u044b"
},
"gas": {
"off": "\u041d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d",
"on": "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d"
},
"heat": {
"off": "\u041d\u043e\u0440\u043c\u0430",
"on": "\u041d\u0430\u0433\u0440\u0435\u0432"
},
"lock": {
"off": "\u0417\u0430\u043a\u0440\u044b\u0442",
"on": "\u041e\u0442\u043a\u0440\u044b\u0442"
},
"moisture": {
"off": "\u0421\u0443\u0445\u043e",
"on": "\u0412\u043b\u0430\u0436\u043d\u043e"
},
"motion": {
"off": "\u041d\u0435\u0442 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f ",
"on": "\u0414\u0432\u0438\u0436\u0435\u043d\u0438\u0435"
},
"occupancy": {
"off": "\u041d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e",
"on": "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e"
},
"opening": {
"off": "\u0417\u0430\u043a\u0440\u044b\u0442\u043e",
"on": "\u041e\u0442\u043a\u0440\u044b\u0442\u043e"
},
"presence": {
"off": "\u041d\u0435 \u0434\u043e\u043c\u0430",
"on": "\u0414\u043e\u043c\u0430"
},
"problem": {
"off": "\u041e\u041a",
"on": "\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430"
},
"safety": {
"off": "\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e",
"on": "\u041d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e"
},
"smoke": {
"off": "\u041d\u0435\u0442 \u0434\u044b\u043c\u0430",
"on": "\u0414\u044b\u043c"
},
"sound": {
"off": "\u041d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d",
"on": "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d"
},
"vibration": {
"off": "\u041d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430",
"on": "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430"
},
"window": {
"off": "\u0417\u0430\u043a\u0440\u044b\u0442\u043e",
"on": "\u041e\u0442\u043a\u0440\u044b\u0442\u043e"
}
},
"calendar": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"camera": {
"idle": "\u0411\u0435\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435",
"recording": "\u0417\u0430\u043f\u0438\u0441\u044c",
"streaming": "\u0422\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u044f"
},
"climate": {
"auto": "\u0410\u0432\u0442\u043e",
"cool": "\u041e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435",
"dry": "\u041e\u0441\u0443\u0448\u0435\u043d\u0438\u0435",
"fan_only": "\u0412\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u044f",
"heat": "\u041e\u0431\u043e\u0433\u0440\u0435\u0432",
"heat_cool": "\u041e\u0431\u043e\u0433\u0440\u0435\u0432 / \u041e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435",
"off": "\u0412\u044b\u043a\u043b"
},
"configurator": {
"configure": "\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c",
"configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e"
},
"cover": {
"closed": "\u0417\u0430\u043a\u0440\u044b\u0442\u043e",
"closing": "\u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f",
"open": "\u041e\u0442\u043a\u0440\u044b\u0442\u043e",
"opening": "\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f",
"stopped": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e"
},
"default": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b",
"unavailable": "\u041d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e",
"unknown": "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e"
},
"device_tracker": {
"home": "\u0414\u043e\u043c\u0430",
"not_home": "\u041d\u0435 \u0434\u043e\u043c\u0430"
},
"fan": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"group": {
"closed": "\u0417\u0430\u043a\u0440\u044b\u0442\u043e",
"closing": "\u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f",
"home": "\u0414\u043e\u043c\u0430",
"locked": "\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430",
"not_home": "\u041d\u0435 \u0434\u043e\u043c\u0430",
"off": "\u0412\u044b\u043a\u043b",
"ok": "\u041e\u041a",
"on": "\u0412\u043a\u043b",
"open": "\u041e\u0442\u043a\u0440\u044b\u0442\u043e",
"opening": "\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f",
"problem": "\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430",
"stopped": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"unlocked": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430"
},
"input_boolean": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"light": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"lock": {
"locked": "\u0417\u0430\u043a\u0440\u044b\u0442",
"unlocked": "\u041e\u0442\u043a\u0440\u044b\u0442"
},
"media_player": {
"idle": "\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435",
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b",
"paused": "\u041f\u0430\u0443\u0437\u0430",
"playing": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435",
"standby": "\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435"
},
"person": {
"home": "\u0414\u043e\u043c\u0430",
"not_home": "\u041d\u0435 \u0434\u043e\u043c\u0430"
},
"plant": {
"ok": "\u041e\u041a",
"problem": "\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430"
},
"remote": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"scene": {
"scening": "\u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0441\u0446\u0435\u043d\u0435"
},
"script": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"sensor": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"sun": {
"above_horizon": "\u041d\u0430\u0434 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u043e\u043c",
"below_horizon": "\u0417\u0430 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u043e\u043c"
},
"switch": {
"off": "\u0412\u044b\u043a\u043b",
"on": "\u0412\u043a\u043b"
},
"timer": {
"active": "\u041e\u0442\u0441\u0447\u0451\u0442",
"idle": "\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435",
"paused": "\u041f\u0430\u0443\u0437\u0430"
},
"vacuum": {
"cleaning": "\u0423\u0431\u043e\u0440\u043a\u0430",
"docked": "\u0423 \u0434\u043e\u043a-\u0441\u0442\u0430\u043d\u0446\u0438\u0438",
"error": "\u041e\u0448\u0438\u0431\u043a\u0430",
"idle": "\u0411\u0435\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435",
"off": "\u0412\u044b\u043a\u043b\u044e\u0447\u0435\u043d",
"on": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d",
"paused": "\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d",
"returning": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u0434\u043e\u043a-\u0441\u0442\u0430\u043d\u0446\u0438\u0438"
},
"weather": {
"clear-night": "\u042f\u0441\u043d\u043e, \u043d\u043e\u0447\u044c",
"cloudy": "\u041e\u0431\u043b\u0430\u0447\u043d\u043e",
"exceptional": "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435",
"fog": "\u0422\u0443\u043c\u0430\u043d",
"hail": "\u0413\u0440\u0430\u0434",
"lightning": "\u041c\u043e\u043b\u043d\u0438\u044f",
"lightning-rainy": "\u041c\u043e\u043b\u043d\u0438\u044f, \u0434\u043e\u0436\u0434\u044c",
"partlycloudy": "\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0441\u0442\u044c",
"pouring": "\u041b\u0438\u0432\u0435\u043d\u044c",
"rainy": "\u0414\u043e\u0436\u0434\u044c",
"snowy": "\u0421\u043d\u0435\u0433",
"snowy-rainy": "\u0421\u043d\u0435\u0433 \u0441 \u0434\u043e\u0436\u0434\u0435\u043c",
"sunny": "\u042f\u0441\u043d\u043e",
"windy": "\u0412\u0435\u0442\u0440\u0435\u043d\u043e",
"windy-variant": "\u0412\u0435\u0442\u0440\u0435\u043d\u043e"
},
"zwave": {
"default": {
"dead": "\u041d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e",
"initializing": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f",
"ready": "\u0413\u043e\u0442\u043e\u0432",
"sleeping": "\u0420\u0435\u0436\u0438\u043c \u0441\u043d\u0430"
},
"query_stage": {
"dead": "\u041d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e ({query_stage})",
"initializing": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Akt\u00edvny",
"armed_away": "Akt\u00edvny v nepr\u00edtomnosti",
"armed_custom_bypass": "Zak\u00f3dovan\u00e9 prisp\u00f4soben\u00e9 vyl\u00fa\u010denie",
"armed_home": "Akt\u00edvny doma",
"armed_night": "Akt\u00edvny v noci",
"arming": "Aktivuje sa",
"disarmed": "Neakt\u00edvny",
"disarming": "Deaktivuje sa",
"pending": "\u010cak\u00e1 sa",
"triggered": "Spusten\u00fd"
},
"automation": {
"off": "Neakt\u00edvny",
"on": "Akt\u00edvna"
},
"binary_sensor": {
"battery": {
"off": "Norm\u00e1lna",
"on": "Slab\u00e1"
},
"cold": {
"off": "Norm\u00e1lny",
"on": "Studen\u00fd"
},
"connectivity": {
"off": "Odpojen\u00fd",
"on": "Pripojen\u00fd"
},
"default": {
"off": "Neakt\u00edvny",
"on": "Akt\u00edvny"
},
"door": {
"off": "Zatvoren\u00e9",
"on": "Otvoren\u00e9"
},
"garage_door": {
"off": "Zatvoren\u00e9",
"on": "Otvoren\u00e9"
},
"gas": {
"off": "\u017diadny plyn",
"on": "Zachyten\u00fd plyn"
},
"heat": {
"off": "Norm\u00e1lny",
"on": "Hor\u00faci"
},
"lock": {
"off": "Zamknut\u00fd",
"on": "Odomknut\u00fd"
},
"moisture": {
"off": "Sucho",
"on": "Vlhko"
},
"motion": {
"off": "K\u013eud",
"on": "Pohyb"
},
"occupancy": {
"off": "Vo\u013en\u00e9",
"on": "Obsaden\u00e9"
},
"opening": {
"off": "Zatvoren\u00e9",
"on": "Otvoren\u00e9"
},
"presence": {
"off": "Pre\u010d",
"on": "Doma"
},
"problem": {
"off": "OK",
"on": "Probl\u00e9m"
},
"safety": {
"off": "Zabezpe\u010den\u00e9",
"on": "Nezabezpe\u010den\u00e9"
},
"smoke": {
"off": "\u017diadny dym",
"on": "Zachyten\u00fd dym"
},
"sound": {
"off": "Ticho",
"on": "Zachyten\u00fd zvuk"
},
"vibration": {
"off": "K\u013eud",
"on": "Zachyten\u00e9 vibr\u00e1cie"
},
"window": {
"off": "Zatvoren\u00e9",
"on": "Otvoren\u00e9"
}
},
"calendar": {
"off": "Neakt\u00edvny",
"on": "Akt\u00edvny"
},
"camera": {
"idle": "Ne\u010dinn\u00e1",
"recording": "Z\u00e1znam",
"streaming": "Streamovanie"
},
"climate": {
"auto": "Automatika",
"cool": "Chladenie",
"dry": "Su\u0161enie",
"fan_only": "Iba ventil\u00e1tor",
"heat": "K\u00farenie",
"heat_cool": "Vykurovanie / Chladenie",
"off": "Vypnut\u00e9"
},
"configurator": {
"configure": "Konfigurova\u0165",
"configured": "Nakonfigurovan\u00e9"
},
"cover": {
"closed": "Zatvoren\u00e9",
"closing": "Zatv\u00e1ra sa",
"open": "Otvoren\u00e9",
"opening": "Otv\u00e1ra sa",
"stopped": "Zastaven\u00e9"
},
"default": {
"off": "Neakt\u00edvny",
"on": "Akt\u00edvny",
"unavailable": "Nedostupn\u00fd",
"unknown": "Nezn\u00e1my"
},
"device_tracker": {
"home": "Doma",
"not_home": "Pre\u010d"
},
"fan": {
"off": "Neakt\u00edvny",
"on": "Zapnut\u00fd"
},
"group": {
"closed": "Zatvoren\u00e1",
"closing": "Zatv\u00e1ra sa",
"home": "Doma",
"locked": "Zamknut\u00e1",
"not_home": "Pre\u010d",
"off": "Vypnut\u00e1",
"ok": "OK",
"on": "Zapnut\u00e1",
"open": "Otvoren\u00e1",
"opening": "Otv\u00e1ra sa",
"problem": "Probl\u00e9m",
"stopped": "Zastaven\u00e9",
"unlocked": "Odomknut\u00e1"
},
"input_boolean": {
"off": "Vypnut\u00e9",
"on": "Zapnut\u00e9"
},
"light": {
"off": "Vypnut\u00e9",
"on": "Zapnut\u00e9"
},
"lock": {
"locked": "Zamknut\u00fd",
"unlocked": "Odomknut\u00fd"
},
"media_player": {
"idle": "Ne\u010dinn\u00fd",
"off": "Vypnut\u00fd",
"on": "Zapnut\u00fd",
"paused": "Pozastaven\u00fd",
"playing": "Prehr\u00e1vanie",
"standby": "Pohotovostn\u00fd re\u017eim"
},
"person": {
"home": "Doma",
"not_home": "Pre\u010d"
},
"plant": {
"ok": "OK",
"problem": "Probl\u00e9m"
},
"remote": {
"off": "Vypnut\u00fd",
"on": "Zapnut\u00fd"
},
"scene": {
"scening": "Sc\u00e9novanie"
},
"script": {
"off": "Vypnut\u00fd",
"on": "Zapnut\u00fd"
},
"sensor": {
"off": "Neakt\u00edvny",
"on": "Akt\u00edvny"
},
"sun": {
"above_horizon": "Nad horizontom",
"below_horizon": "Za horizontom"
},
"switch": {
"off": "Vypnut\u00fd",
"on": "Zapnut\u00fd"
},
"timer": {
"active": "akt\u00edvny",
"idle": "ne\u010dinn\u00fd",
"paused": "pozastaven\u00fd"
},
"vacuum": {
"cleaning": "\u010cist\u00ed",
"docked": "V doku",
"error": "Chyba",
"idle": "Ne\u010dinn\u00fd",
"off": "Vypnut\u00fd",
"on": "Zapnut\u00fd",
"paused": "Pozastaven\u00fd",
"returning": "Vracia sa do doku"
},
"weather": {
"clear-night": "Jasno, v noci",
"cloudy": "Zamra\u010den\u00e9",
"exceptional": "V\u00fdnimo\u010dn\u00e9",
"fog": "Hmla",
"hail": "Krupobitie",
"lightning": "Blesky",
"lightning-rainy": "Blesky, da\u017edivo",
"partlycloudy": "\u010ciasto\u010dne zamra\u010den\u00e9",
"pouring": "Lej\u00faco",
"rainy": "Da\u017edivo",
"snowy": "Zasne\u017eeno",
"snowy-rainy": "Zasne\u017eeno, da\u017edivo",
"sunny": "slne\u010dno",
"windy": "Veterno",
"windy-variant": "Veterno"
},
"zwave": {
"default": {
"dead": "Nereaguje",
"initializing": "Inicializ\u00e1cia",
"ready": "Pripraven\u00e9",
"sleeping": "\u00dasporn\u00fd re\u017eim"
},
"query_stage": {
"dead": "Nereaguje ({query_stage})",
"initializing": "Inicializ\u00e1cia ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Omogo\u010den",
"armed_away": "Omogo\u010den-zunaj",
"armed_custom_bypass": "Vklopljen izjeme po meri",
"armed_home": "Omogo\u010den-doma",
"armed_night": "Omogo\u010den-no\u010d",
"arming": "Omogo\u010danje",
"disarmed": "Onemogo\u010den",
"disarming": "Onemogo\u010danje",
"pending": "V teku",
"triggered": "Spro\u017een"
},
"automation": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"binary_sensor": {
"battery": {
"off": "Normalno",
"on": "Nizko"
},
"cold": {
"off": "Normalno",
"on": "Hladno"
},
"connectivity": {
"off": "Povezava prekinjena",
"on": "Povezan"
},
"default": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"door": {
"off": "Zaprto",
"on": "Odprto"
},
"garage_door": {
"off": "Zaprto",
"on": "Odprto"
},
"gas": {
"off": "\u010cisto",
"on": "Zaznano"
},
"heat": {
"off": "Normalno",
"on": "Vro\u010de"
},
"lock": {
"off": "Zaklenjeno",
"on": "Odklenjeno"
},
"moisture": {
"off": "Suho",
"on": "Mokro"
},
"motion": {
"off": "\u010cisto",
"on": "Zaznano"
},
"occupancy": {
"off": "\u010cisto",
"on": "Zaznano"
},
"opening": {
"off": "Zaprto",
"on": "Odprto"
},
"presence": {
"off": "Odsoten",
"on": "Doma"
},
"problem": {
"off": "OK",
"on": "Te\u017eava"
},
"safety": {
"off": "Varno",
"on": "Nevarno"
},
"smoke": {
"off": "\u010cisto",
"on": "Zaznano"
},
"sound": {
"off": "\u010cisto",
"on": "Zaznano"
},
"vibration": {
"off": "\u010cisto",
"on": "Zaznano"
},
"window": {
"off": "Zaprto",
"on": "Odprto"
}
},
"calendar": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"camera": {
"idle": "V pripravljenosti",
"recording": "Snemanje",
"streaming": "Pretakanje"
},
"climate": {
"auto": "Samodejno",
"cool": "Mrzlo",
"dry": "Suho",
"fan_only": "Samo ventilator",
"heat": "Toplo",
"heat_cool": "Gretje/Hlajenje",
"off": "Izklju\u010den"
},
"configurator": {
"configure": "Konfiguriraj",
"configured": "Konfigurirano"
},
"cover": {
"closed": "Zaprto",
"closing": "Zapiranje",
"open": "Odprto",
"opening": "Odpiranje",
"stopped": "Ustavljeno"
},
"default": {
"off": "Izklju\u010den",
"on": "Vklopljen",
"unavailable": "Ni na voljo",
"unknown": "Neznano"
},
"device_tracker": {
"home": "Doma",
"not_home": "Odsoten"
},
"fan": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"group": {
"closed": "Zaprto",
"closing": "Zapiranje",
"home": "Doma",
"locked": "Zaklenjeno",
"not_home": "Odsoten",
"off": "Izklju\u010den",
"ok": "OK",
"on": "Vklopljen",
"open": "Odprto",
"opening": "Odpiranje",
"problem": "Te\u017eava",
"stopped": "Ustavljeno",
"unlocked": "Odklenjeno"
},
"input_boolean": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"light": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"lock": {
"locked": "Zaklenjeno",
"unlocked": "Odklenjeno"
},
"media_player": {
"idle": "V pripravljenosti",
"off": "Izklju\u010den",
"on": "Vklopljen",
"paused": "Na pavzi",
"playing": "Predvaja",
"standby": "V pripravljenosti"
},
"person": {
"home": "Doma",
"not_home": "Odsoten"
},
"plant": {
"ok": "OK",
"problem": "Te\u017eava"
},
"remote": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"scene": {
"scening": "Nastavitev scene"
},
"script": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"sensor": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"sun": {
"above_horizon": "Nad obzorjem",
"below_horizon": "Pod obzorjem"
},
"switch": {
"off": "Izklju\u010den",
"on": "Vklopljen"
},
"timer": {
"active": "aktiven",
"idle": "V pripravljenosti",
"paused": "Na pavzi"
},
"vacuum": {
"cleaning": "\u010cistim",
"docked": "Priklju\u010den",
"error": "Napaka",
"idle": "V pripravljenosti",
"off": "Izklju\u010den",
"on": "Vklju\u010den",
"paused": "Zaustavljeno",
"returning": "Vra\u010dam se na postajo"
},
"weather": {
"clear-night": "Jasna, no\u010d",
"cloudy": "Obla\u010dno",
"exceptional": "Izjemno",
"fog": "Megla",
"hail": "To\u010da",
"lightning": "Grmenje",
"lightning-rainy": "Grmenje, de\u017eevno",
"partlycloudy": "Delno obla\u010dno",
"pouring": "Mo\u010dan de\u017e",
"rainy": "De\u017eevno",
"snowy": "Sne\u017eno",
"snowy-rainy": "Sne\u017eno, de\u017eevno",
"sunny": "Son\u010dno",
"windy": "Vetrovno",
"windy-variant": "Vetrovno"
},
"zwave": {
"default": {
"dead": "Mrtev",
"initializing": "Inicializacija",
"ready": "Pripravljen",
"sleeping": "Spanje"
},
"query_stage": {
"dead": "Mrtev ({query_stage})",
"initializing": "Inicializacija ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,26 @@
{
"state": {
"weather": {
"clear-night": "Vedra no\u0107",
"cloudy": "Obla\u010dno",
"fog": "Magla",
"hail": "Grad",
"lightning": "Grmljavina",
"lightning-rainy": "Grmljavina sa ki\u0161om",
"partlycloudy": "Delimi\u010dno obla\u010dno",
"pouring": "Pljusak",
"rainy": "Ki\u0161a",
"snowy": "Sneg",
"snowy-rainy": "Sneg i ki\u0161a",
"sunny": "Sun\u010dano",
"windy": "Vetrovito",
"windy-variant": "Vetrovito"
},
"zwave": {
"query_stage": {
"dead": " ({query_stage})",
"initializing": " ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,25 @@
{
"state": {
"sun": {
"above_horizon": "Iznad horizonta",
"below_horizon": "Ispod horizonta"
},
"switch": {
"off": "Isklju\u010den",
"on": "Uklju\u010den"
},
"timer": {
"active": "\u0443\u043a\u0459\u0443\u0447\u0435\u043d",
"idle": "\u043d\u0435\u0430\u043a\u0442\u043d\u0430 \u0447\u0435\u043a\u0430\u045a\u0443"
},
"zwave": {
"default": {
"ready": "Spreman"
},
"query_stage": {
"dead": " ({query_stage})",
"initializing": " ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Larmat",
"armed_away": "Larmat",
"armed_custom_bypass": "Larm f\u00f6rbikopplat",
"armed_home": "Hemmalarmat",
"armed_night": "Nattlarmat",
"arming": "Tillkopplar",
"disarmed": "Avlarmat",
"disarming": "Fr\u00e5nkopplar",
"pending": "V\u00e4ntande",
"triggered": "Utl\u00f6st"
},
"automation": {
"off": "Av",
"on": "P\u00e5"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "L\u00e5g"
},
"cold": {
"off": "Normal",
"on": "Kallt"
},
"connectivity": {
"off": "Fr\u00e5nkopplad",
"on": "Ansluten"
},
"default": {
"off": "Av",
"on": "P\u00e5"
},
"door": {
"off": "St\u00e4ngd",
"on": "\u00d6ppen"
},
"garage_door": {
"off": "St\u00e4ngd",
"on": "\u00d6ppen"
},
"gas": {
"off": "Klart",
"on": "Detekterad"
},
"heat": {
"off": "Normal",
"on": "Varmt"
},
"lock": {
"off": "L\u00e5st",
"on": "Ol\u00e5st"
},
"moisture": {
"off": "Torr",
"on": "Bl\u00f6t"
},
"motion": {
"off": "Klart",
"on": "Detekterad"
},
"occupancy": {
"off": "Tomt",
"on": "Detekterad"
},
"opening": {
"off": "St\u00e4ngd",
"on": "\u00d6ppen"
},
"presence": {
"off": "Borta",
"on": "Hemma"
},
"problem": {
"off": "Ok",
"on": "Problem"
},
"safety": {
"off": "S\u00e4ker",
"on": "Os\u00e4ker"
},
"smoke": {
"off": "Klart",
"on": "Detekterad"
},
"sound": {
"off": "Klart",
"on": "Detekterad"
},
"vibration": {
"off": "Klart",
"on": "Detekterad"
},
"window": {
"off": "St\u00e4ngt",
"on": "\u00d6ppet"
}
},
"calendar": {
"off": "Av",
"on": "P\u00e5"
},
"camera": {
"idle": "Inaktiv",
"recording": "Spelar in",
"streaming": "Str\u00f6mmar"
},
"climate": {
"auto": "Automatisk",
"cool": "Kyla",
"dry": "Avfuktning",
"fan_only": "Endast fl\u00e4kt",
"heat": "V\u00e4rme",
"heat_cool": "V\u00e4rme/Kyla",
"off": "Av"
},
"configurator": {
"configure": "Konfigurera",
"configured": "Konfigurerad"
},
"cover": {
"closed": "St\u00e4ngd",
"closing": "St\u00e4nger",
"open": "\u00d6ppen",
"opening": "\u00d6ppnar",
"stopped": "Stoppad"
},
"default": {
"off": "Av",
"on": "P\u00e5",
"unavailable": "Otillg\u00e4nglig",
"unknown": "Ok\u00e4nd"
},
"device_tracker": {
"home": "Hemma",
"not_home": "Borta"
},
"fan": {
"off": "Av",
"on": "P\u00e5"
},
"group": {
"closed": "St\u00e4ngd",
"closing": "St\u00e4nger",
"home": "Hemma",
"locked": "L\u00e5st",
"not_home": "Borta",
"off": "Av",
"ok": "Ok",
"on": "P\u00e5",
"open": "\u00d6ppen",
"opening": "\u00d6ppnar",
"problem": "Problem",
"stopped": "Stoppad",
"unlocked": "Ol\u00e5st"
},
"input_boolean": {
"off": "Av",
"on": "P\u00e5"
},
"light": {
"off": "Av",
"on": "P\u00e5"
},
"lock": {
"locked": "L\u00e5st",
"unlocked": "Ol\u00e5st"
},
"media_player": {
"idle": "Inaktiv",
"off": "Av",
"on": "P\u00e5",
"paused": "Pausad",
"playing": "Spelar",
"standby": "Vilol\u00e4ge"
},
"person": {
"home": "Hemma",
"not_home": "Borta"
},
"plant": {
"ok": "Ok",
"problem": "Problem"
},
"remote": {
"off": "Av",
"on": "P\u00e5"
},
"scene": {
"scening": "Scenario"
},
"script": {
"off": "Av",
"on": "P\u00e5"
},
"sensor": {
"off": "Av",
"on": "P\u00e5"
},
"sun": {
"above_horizon": "Ovanf\u00f6r horisonten",
"below_horizon": "Nedanf\u00f6r horisonten"
},
"switch": {
"off": "Av",
"on": "P\u00e5"
},
"timer": {
"active": "aktiv",
"idle": "inaktiv",
"paused": "pausad"
},
"vacuum": {
"cleaning": "St\u00e4dar",
"docked": "Dockad",
"error": "Fel",
"idle": "Inaktiv",
"off": "Av",
"on": "P\u00e5",
"paused": "Pausad",
"returning": "\u00c5terg\u00e5r till docka"
},
"weather": {
"clear-night": "Klart, natt",
"cloudy": "Molnigt",
"exceptional": "Exceptionellt",
"fog": "Dimma",
"hail": "Hagel",
"lightning": "\u00c5ska",
"lightning-rainy": "\u00c5ska, regnigt",
"partlycloudy": "Delvis molnigt",
"pouring": "\u00d6sregn",
"rainy": "Regnigt",
"snowy": "Sn\u00f6igt",
"snowy-rainy": "Sn\u00f6igt, regnigt",
"sunny": "Soligt",
"windy": "Bl\u00e5sigt",
"windy-variant": "Bl\u00e5sigt"
},
"zwave": {
"default": {
"dead": "D\u00f6d",
"initializing": "Initierar",
"ready": "Redo",
"sleeping": "Sovande"
},
"query_stage": {
"dead": "D\u00f6d ({query_stage})",
"initializing": "Initierar ({query_stage})"
}
}
}
}

View File

@@ -0,0 +1,194 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u0b8e\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bc8 \u0b92\u0bb2\u0bbf \u0b85\u0bae\u0bc8\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1",
"armed_away": "\u0b8e\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bc8 \u0b92\u0bb2\u0bbf \u0bb5\u0bc6\u0bb3\u0bbf\u0baf\u0bc7",
"armed_custom_bypass": "\u0bb5\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa \u0b8e\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bc8 \u0b92\u0bb2\u0bbf",
"armed_home": "\u0b8e\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bc8 \u0b92\u0bb2\u0bbf \u0bae\u0bc1\u0b95\u0baa\u0bcd\u0baa\u0bc1",
"armed_night": "\u0b8e\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bc8 \u0b92\u0bb2\u0bbf \u0b87\u0bb0\u0bb5\u0bbf\u0bb2\u0bcd",
"arming": "\u0b8e\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bc8 \u0b92\u0bb2\u0bbf \u0b85\u0bae\u0bc8\u0b95\u0bcd\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
"disarmed": "\u0b8e\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bc8 \u0b92\u0bb2\u0bbf \u0b85\u0bae\u0bc8\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8",
"disarming": "\u0b8e\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bc8 \u0b92\u0bb2\u0bbf \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bae\u0bcd",
"pending": "\u0ba8\u0bbf\u0bb2\u0bc1\u0bb5\u0bc8\u0baf\u0bbf\u0bb2\u0bcd",
"triggered": "\u0ba4\u0bc2\u0ba3\u0bcd\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1"
},
"automation": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd "
},
"binary_sensor": {
"default": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd "
},
"gas": {
"off": "\u0ba4\u0bc6\u0bb3\u0bbf\u0bb5\u0bc1",
"on": "\u0b95\u0ba3\u0bcd\u0b9f\u0bb1\u0bbf\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"heat": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b9a\u0bc2\u0b9f\u0bbe\u0ba9"
},
"moisture": {
"off": "\u0b89\u0bb2\u0bb0\u0bcd",
"on": "\u0b88\u0bb0\u0bae\u0bcd"
},
"motion": {
"off": "\u0ba4\u0bc6\u0bb3\u0bbf\u0bb5\u0bc1 ",
"on": "\u0b95\u0ba3\u0bcd\u0b9f\u0bb1\u0bbf\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"occupancy": {
"off": "\u0ba4\u0bc6\u0bb3\u0bbf\u0bb5\u0bc1 ",
"on": "\u0b95\u0ba3\u0bcd\u0b9f\u0bb1\u0bbf\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"opening": {
"off": "\u0bae\u0bc2\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
"on": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1"
},
"presence": {
"off": "\u0ba4\u0bca\u0bb2\u0bc8\u0bb5\u0bbf\u0bb2\u0bcd",
"on": "\u0bae\u0bc1\u0b95\u0baa\u0bcd\u0baa\u0bc1"
},
"problem": {
"off": "\u0b9a\u0bb0\u0bbf",
"on": "\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb2\u0bcd"
},
"safety": {
"off": "\u0baa\u0bbe\u0ba4\u0bc1\u0b95\u0bbe\u0baa\u0bcd\u0baa\u0bbe\u0ba9",
"on": "\u0baa\u0bbe\u0ba4\u0bc1\u0b95\u0bbe\u0baa\u0bcd\u0baa\u0bb1\u0bcd\u0bb1"
},
"smoke": {
"off": "\u0ba4\u0bc6\u0bb3\u0bbf\u0bb5\u0bc1 ",
"on": "\u0b95\u0ba3\u0bcd\u0b9f\u0bb1\u0bbf\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"sound": {
"off": "\u0ba4\u0bc6\u0bb3\u0bbf\u0bb5\u0bc1 ",
"on": "\u0b95\u0ba3\u0bcd\u0b9f\u0bb1\u0bbf\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"vibration": {
"off": "\u0ba4\u0bc6\u0bb3\u0bbf\u0bb5\u0bc1 ",
"on": "\u0b95\u0ba3\u0bcd\u0b9f\u0bb1\u0bbf\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"window": {
"off": "\u0bae\u0bc2\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1",
"on": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1"
}
},
"calendar": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd "
},
"camera": {
"idle": "\u0baa\u0ba3\u0bbf\u0baf\u0bbf\u0ba9\u0bcd\u0bb1\u0bbf",
"recording": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc1",
"streaming": "\u0bb8\u0bcd\u0b9f\u0bcd\u0bb0\u0bc0\u0bae\u0bbf\u0b99\u0bcd"
},
"climate": {
"auto": "\u0ba4\u0bbe\u0ba9\u0bbe\u0b95 \u0b87\u0baf\u0b99\u0bcd\u0b95\u0bc1\u0ba4\u0bb2\u0bcd",
"cool": "\u0b95\u0bc1\u0bb3\u0bbf\u0bb0\u0bcd",
"dry": "\u0b89\u0bb2\u0bb0\u0bcd\u0ba8\u0bcd\u0ba4",
"fan_only": "\u0bb5\u0bbf\u0b9a\u0bbf\u0bb1\u0bbf \u0bae\u0b9f\u0bcd\u0b9f\u0bc1\u0bae\u0bcd",
"heat": "\u0bb5\u0bc6\u0baa\u0bcd\u0baa\u0bae\u0bcd",
"off": "\u0b86\u0b83\u0baa\u0bcd"
},
"configurator": {
"configure": "\u0b89\u0bb3\u0bcd\u0bb3\u0bae\u0bc8",
"configured": "\u0b89\u0bb3\u0bcd\u0bb3\u0bae\u0bc8\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"cover": {
"closed": "\u0bae\u0bc2\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
"closing": "\u0bae\u0bc2\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
"open": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1",
"opening": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
"stopped": "\u0ba8\u0bbf\u0bb1\u0bc1\u0ba4\u0bcd\u0ba4\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"default": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd",
"unavailable": "\u0b95\u0bbf\u0b9f\u0bc8\u0b95\u0bcd\u0b95\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8",
"unknown": "\u0ba4\u0bc6\u0bb0\u0bbf\u0baf\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8"
},
"device_tracker": {
"home": "\u0bae\u0bc1\u0b95\u0baa\u0bcd\u0baa\u0bc1",
"not_home": "\u0ba4\u0bca\u0bb2\u0bc8\u0bb5\u0bbf\u0bb2\u0bcd"
},
"fan": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0bb5\u0bbf\u0b9a\u0bbf\u0bb1\u0bbf \u0b86\u0ba9\u0bcd"
},
"group": {
"closed": "\u0bae\u0bc2\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1 ",
"closing": "\u0bae\u0bc2\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1 ",
"home": "\u0bb5\u0bc0\u0b9f\u0bcd\u0b9f\u0bbf\u0bb2\u0bcd",
"locked": "\u0baa\u0bc2\u0b9f\u0bcd\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1 ",
"not_home": "\u0ba4\u0bca\u0bb2\u0bc8\u0bb5\u0bbf\u0bb2\u0bcd",
"off": "\u0b86\u0b83\u0baa\u0bcd",
"ok": "\u0b9a\u0bb0\u0bbf",
"on": "\u0b86\u0ba9\u0bcd",
"open": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1 ",
"opening": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0bbf\u0bb1\u0ba4\u0bc1 ",
"problem": "\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb2\u0bcd",
"stopped": "\u0ba8\u0bbf\u0bb1\u0bc1\u0ba4\u0bcd\u0ba4\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1 ",
"unlocked": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1 "
},
"input_boolean": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd"
},
"light": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd"
},
"lock": {
"locked": "\u0baa\u0bc2\u0b9f\u0bcd\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
"unlocked": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
},
"media_player": {
"idle": "\u0baa\u0ba3\u0bbf\u0baf\u0bbf\u0ba9\u0bcd\u0bb1\u0bbf",
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd",
"paused": "\u0b87\u0b9f\u0bc8\u0ba8\u0bbf\u0bb1\u0bc1\u0ba4\u0bcd\u0ba4\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1",
"playing": "\u0bb5\u0bbf\u0bb3\u0bc8\u0baf\u0bbe\u0b9f\u0bc1\u0ba4\u0bb2\u0bcd",
"standby": "\u0b95\u0bbe\u0ba4\u0bcd\u0ba4\u0bbf\u0bb0\u0bc1"
},
"plant": {
"ok": "\u0b9a\u0bb0\u0bbf",
"problem": "\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb2\u0bcd"
},
"remote": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd"
},
"scene": {
"scening": "\u0b95\u0bbe\u0b9f\u0bcd\u0b9a\u0bbf"
},
"script": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd"
},
"sensor": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd"
},
"sun": {
"above_horizon": "\u0ba4\u0bca\u0b9f\u0bc1\u0bb5\u0bbe\u0ba9\u0ba4\u0bcd\u0ba4\u0bbf\u0bb1\u0bcd\u0b95\u0bc1 \u0bae\u0bc7\u0bb2\u0bc7",
"below_horizon": "\u0ba4\u0bca\u0b9f\u0bc1\u0bb5\u0bbe\u0ba9\u0ba4\u0bcd\u0ba4\u0bbf\u0bb1\u0bcd\u0b95\u0bc1\u0b95\u0bcd \u0b95\u0bc0\u0bb4\u0bc7"
},
"switch": {
"off": "\u0b86\u0b83\u0baa\u0bcd",
"on": "\u0b86\u0ba9\u0bcd"
},
"zwave": {
"default": {
"dead": "\u0b87\u0bb1\u0ba8\u0bcd\u0ba4\u0bc1\u0bb5\u0bbf\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
"initializing": "\u0ba4\u0bc1\u0bb5\u0b95\u0bcd\u0b95\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
"ready": "\u0ba4\u0baf\u0bbe\u0bb0\u0bcd",
"sleeping": "\u0ba4\u0bc2\u0b99\u0bcd\u0b95\u0bc1\u0b95\u0bbf\u0ba9\u0bcd\u0bb1\u0ba4\u0bc1"
},
"query_stage": {
"dead": "\u0b87\u0bb1\u0ba8\u0bcd\u0ba4\u0bc1\u0bb5\u0bbf\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1 ({query_stage})",
"initializing": "\u0ba4\u0bc1\u0bb5\u0b95\u0bcd\u0b95\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1 ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,235 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u0c2d\u0c26\u0c4d\u0c30\u0c24 \u0c35\u0c41\u0c02\u0c26\u0c3f",
"armed_away": "\u0c07\u0c02\u0c1f \u0c2c\u0c2f\u0c1f \u0c2d\u0c26\u0c4d\u0c30\u0c24",
"armed_custom_bypass": "\u0c2d\u0c26\u0c4d\u0c30\u0c24 \u0c15\u0c38\u0c4d\u0c1f\u0c2e\u0c4d \u0c2c\u0c48\u0c2a\u0c3e\u0c38\u0c4d",
"armed_home": "\u0c38\u0c46\u0c15\u0c4d\u0c2f\u0c42\u0c30\u0c3f\u0c1f\u0c40 \u0c38\u0c3f\u0c38\u0c4d\u0c1f\u0c2e\u0c4d \u0c06\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f",
"armed_night": "\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f \u0c2a\u0c42\u0c1f \u0c2d\u0c26\u0c4d\u0c30\u0c24",
"arming": "\u0c2d\u0c26\u0c4d\u0c30\u0c3f\u0c02\u0c1a\u0c41\u0c1f",
"disarmed": "\u0c2d\u0c26\u0c4d\u0c30\u0c24 \u0c32\u0c47\u0c26\u0c41",
"disarming": "\u0c2d\u0c26\u0c4d\u0c30\u0c24 \u0c24\u0c40\u0c38\u0c3f\u0c35\u0c47\u0c2f\u0c41\u0c1f",
"pending": "\u0c2a\u0c46\u0c02\u0c21\u0c3f\u0c02\u0c17\u0c4d",
"triggered": "\u0c0a\u0c2a\u0c02\u0c26\u0c41\u0c15\u0c41\u0c02\u0c26\u0c3f"
},
"automation": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"binary_sensor": {
"battery": {
"off": "\u0c38\u0c3e\u0c27\u0c3e\u0c30\u0c23",
"on": "\u0c24\u0c15\u0c4d\u0c15\u0c41\u0c35"
},
"cold": {
"on": "\u0c1a\u0c32\u0c4d\u0c32\u0c28\u0c3f"
},
"connectivity": {
"off": "\u0c21\u0c3f\u0c38\u0c4d\u0c15\u0c28\u0c46\u0c15\u0c4d\u0c1f\u0c4d",
"on": "\u0c15\u0c28\u0c46\u0c15\u0c4d\u0c1f\u0c4d"
},
"default": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"door": {
"off": "\u0c2e\u0c42\u0c38\u0c41\u0c15\u0c41\u0c02\u0c26\u0c3f",
"on": "\u0c24\u0c46\u0c30\u0c3f\u0c1a\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f"
},
"garage_door": {
"off": "\u0c2e\u0c42\u0c38\u0c41\u0c15\u0c41\u0c02\u0c26\u0c3f",
"on": "\u0c24\u0c46\u0c30\u0c3f\u0c1a\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f"
},
"gas": {
"off": "\u0c17\u0c4d\u0c2f\u0c3e\u0c38\u0c4d \u0c06\u0c2b\u0c4d",
"on": "\u0c17\u0c4d\u0c2f\u0c3e\u0c38\u0c4d \u0c06\u0c28\u0c4d"
},
"heat": {
"off": "\u0c38\u0c3e\u0c27\u0c3e\u0c30\u0c23",
"on": "\u0c35\u0c47\u0c21\u0c3f"
},
"lock": {
"off": "\u0c32\u0c3e\u0c15\u0c4d \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f",
"on": "\u0c32\u0c3e\u0c15\u0c4d \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c32\u0c47\u0c26\u0c41"
},
"moisture": {
"off": "\u0c2a\u0c4a\u0c21\u0c3f",
"on": "\u0c24\u0c21\u0c3f"
},
"motion": {
"off": "\u0c15\u0c26\u0c32\u0c3f\u0c15 \u0c32\u0c47\u0c26\u0c41",
"on": "\u0c15\u0c26\u0c32\u0c3f\u0c15 \u0c35\u0c41\u0c02\u0c26\u0c3f"
},
"occupancy": {
"off": "\u0c09\u0c28\u0c3f\u0c15\u0c3f\u0c21\u0c3f \u0c32\u0c47\u0c26\u0c41",
"on": "\u0c09\u0c28\u0c3f\u0c15\u0c3f\u0c21\u0c3f \u0c09\u0c02\u0c26\u0c3f"
},
"opening": {
"off": "\u0c2e\u0c42\u0c38\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f",
"on": "\u0c24\u0c46\u0c30\u0c41\u0c1a\u0c41\u0c15\u0c41\u0c02\u0c1f\u0c4b\u0c02\u0c26\u0c3f"
},
"presence": {
"off": "\u0c2c\u0c2f\u0c1f",
"on": "\u0c07\u0c02\u0c1f"
},
"problem": {
"off": "OK",
"on": "\u0c38\u0c2e\u0c38\u0c4d\u0c2f"
},
"safety": {
"off": "\u0c15\u0c4d\u0c37\u0c47\u0c2e\u0c02",
"on": "\u0c15\u0c4d\u0c37\u0c47\u0c2e\u0c02 \u0c15\u0c3e\u0c26\u0c41"
},
"smoke": {
"off": "\u0c2a\u0c4a\u0c17 \u0c32\u0c47\u0c26\u0c41",
"on": "\u0c2a\u0c4a\u0c17 \u0c35\u0c41\u0c02\u0c26\u0c3f"
},
"sound": {
"off": "\u0c36\u0c2c\u0c4d\u0c27\u0c02 \u0c32\u0c47\u0c26\u0c41",
"on": "\u0c36\u0c2c\u0c4d\u0c27\u0c02 \u0c35\u0c41\u0c02\u0c26\u0c3f"
},
"vibration": {
"off": "\u0c15\u0c26\u0c32\u0c1f\u0c4d\u0c32\u0c47\u0c26\u0c41",
"on": "\u0c15\u0c26\u0c41\u0c32\u0c41\u0c24\u0c4b\u0c02\u0c26\u0c3f"
},
"window": {
"off": "\u0c2e\u0c42\u0c38\u0c41\u0c15\u0c41\u0c02\u0c26\u0c3f",
"on": "\u0c24\u0c46\u0c30\u0c3f\u0c1a\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f"
}
},
"calendar": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"camera": {
"idle": "\u0c10\u0c21\u0c3f\u0c32\u0c4d",
"recording": "\u0c30\u0c3f\u0c15\u0c3e\u0c30\u0c4d\u0c21\u0c3f\u0c02\u0c17\u0c4d",
"streaming": "\u0c2a\u0c4d\u0c30\u0c38\u0c3e\u0c30\u0c02"
},
"climate": {
"auto": "\u0c26\u0c3e\u0c28\u0c02\u0c24\u0c1f \u0c05\u0c26\u0c47",
"cool": "\u0c1a\u0c32\u0c4d\u0c32\u0c17\u0c3e",
"dry": "\u0c2a\u0c4a\u0c21\u0c3f",
"fan_only": "\u0c2b\u0c4d\u0c2f\u0c3e\u0c28\u0c4d \u0c2e\u0c3e\u0c24\u0c4d\u0c30\u0c2e\u0c47",
"heat": "\u0c35\u0c46\u0c1a\u0c4d\u0c1a\u0c17\u0c3e",
"off": "\u0c06\u0c2b\u0c4d"
},
"configurator": {
"configure": "\u0c15\u0c3e\u0c28\u0c4d\u0c2b\u0c3f\u0c17\u0c30\u0c4d",
"configured": "\u0c15\u0c3e\u0c28\u0c4d\u0c2b\u0c3f\u0c17\u0c30\u0c4d"
},
"cover": {
"closed": "\u0c2e\u0c42\u0c38\u0c41\u0c15\u0c41\u0c02\u0c26\u0c3f",
"closing": "\u0c2e\u0c42\u0c38\u0c41\u0c15\u0c41\u0c02\u0c1f\u0c4b\u0c02\u0c26\u0c3f",
"open": "\u0c24\u0c46\u0c30\u0c3f\u0c1a\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f",
"opening": "\u0c24\u0c46\u0c30\u0c41\u0c1a\u0c41\u0c15\u0c41\u0c02\u0c1f\u0c4b\u0c02\u0c26\u0c3f",
"stopped": "\u0c06\u0c17\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f"
},
"default": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d",
"unavailable": "\u0c05\u0c02\u0c26\u0c41\u0c2c\u0c3e\u0c1f\u0c41\u0c32\u0c4b \u0c32\u0c47\u0c26\u0c41",
"unknown": "\u0c24\u0c46\u0c32\u0c3f\u0c2f\u0c26\u0c41"
},
"device_tracker": {
"home": "\u0c07\u0c02\u0c1f",
"not_home": "\u0c2c\u0c2f\u0c1f"
},
"fan": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"group": {
"closed": "\u0c2e\u0c42\u0c38\u0c41\u0c15\u0c41\u0c02\u0c26\u0c3f",
"closing": "\u0c2e\u0c42\u0c38\u0c41\u0c15\u0c41\u0c02\u0c1f\u0c4b\u0c02\u0c26\u0c3f",
"home": "\u0c07\u0c02\u0c1f",
"locked": "\u0c2e\u0c42\u0c38\u0c3f \u0c35\u0c41\u0c02\u0c21\u0c41",
"not_home": "\u0c2c\u0c2f\u0c1f",
"off": "\u0c06\u0c2b\u0c4d",
"ok": "\u0c05\u0c32\u0c3e\u0c17\u0c47",
"on": "\u0c06\u0c28\u0c4d",
"open": "\u0c24\u0c46\u0c30\u0c3f\u0c1a\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f",
"opening": "\u0c24\u0c46\u0c30\u0c41\u0c1a\u0c41\u0c15\u0c41\u0c02\u0c1f\u0c4b\u0c02\u0c26\u0c3f",
"problem": "\u0c38\u0c2e\u0c38\u0c4d\u0c2f",
"stopped": "\u0c06\u0c2a\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f",
"unlocked": "\u0c24\u0c46\u0c30\u0c41\u0c1a\u0c3f \u0c35\u0c41\u0c02\u0c21\u0c41"
},
"input_boolean": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"light": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"lock": {
"locked": "\u0c2e\u0c42\u0c38\u0c3f \u0c35\u0c41\u0c02\u0c21\u0c41",
"unlocked": "\u0c24\u0c46\u0c30\u0c41\u0c1a\u0c3f \u0c35\u0c41\u0c02\u0c21\u0c41"
},
"media_player": {
"idle": "\u0c10\u0c21\u0c3f\u0c32\u0c4d",
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d",
"paused": "\u0c06\u0c2a\u0c3f\u0c35\u0c41\u0c02\u0c26\u0c3f",
"playing": "\u0c06\u0c21\u0c41\u0c24\u0c4b\u0c02\u0c26\u0c3f",
"standby": "\u0c28\u0c3f\u0c32\u0c15\u0c21"
},
"plant": {
"ok": "\u0c05\u0c32\u0c3e\u0c17\u0c47",
"problem": "\u0c38\u0c2e\u0c38\u0c4d\u0c2f"
},
"remote": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"scene": {
"scening": "\u0c38\u0c40\u0c28\u0c3f\u0c02\u0c17\u0c4d"
},
"script": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"sensor": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"sun": {
"above_horizon": "\u0c39\u0c4b\u0c30\u0c3f\u0c1c\u0c4b\u0c28\u0c4d \u0c2a\u0c48\u0c28",
"below_horizon": "\u0c39\u0c4b\u0c30\u0c3f\u0c1c\u0c4b\u0c28\u0c4d \u0c15\u0c4d\u0c30\u0c3f\u0c02\u0c26"
},
"switch": {
"off": "\u0c06\u0c2b\u0c4d",
"on": "\u0c06\u0c28\u0c4d"
},
"vacuum": {
"cleaning": "\u0c36\u0c41\u0c2d\u0c4d\u0c30\u0c2a\u0c30\u0c41\u0c1a\u0c41\u0c24\u0c4b\u0c02\u0c26\u0c3f"
},
"weather": {
"cloudy": "\u0c2e\u0c47\u0c18\u0c3e\u0c35\u0c43\u0c24\u0c02",
"fog": "\u0c2a\u0c4a\u0c17\u0c2e\u0c02\u0c1a\u0c41",
"hail": "\u0c35\u0c21\u0c17\u0c33\u0c4d\u0c33\u0c41",
"lightning": "\u0c2e\u0c46\u0c30\u0c41\u0c2a\u0c41\u0c32\u0c41",
"lightning-rainy": "\u0c2e\u0c46\u0c30\u0c41\u0c2a\u0c41, \u0c35\u0c30\u0c4d\u0c37\u0c02",
"partlycloudy": "\u0c2a\u0c3e\u0c15\u0c4d\u0c37\u0c3f\u0c15\u0c02\u0c17\u0c3e \u0c2e\u0c47\u0c18\u0c3e\u0c35\u0c43\u0c24\u0c02",
"pouring": "\u0c15\u0c41\u0c02\u0c2d\u0c35\u0c43\u0c37\u0c4d\u0c1f\u0c3f",
"rainy": "\u0c35\u0c30\u0c4d\u0c37\u0c02",
"snowy": "\u0c2e\u0c02\u0c1a\u0c41",
"snowy-rainy": "\u0c2e\u0c02\u0c1a\u0c41, \u0c35\u0c30\u0c4d\u0c37\u0c02",
"sunny": "\u0c0e\u0c02\u0c21",
"windy": "\u0c17\u0c3e\u0c32\u0c41\u0c32\u0c24\u0c4b",
"windy-variant": "\u0c17\u0c3e\u0c32\u0c41\u0c32\u0c24\u0c4b"
},
"zwave": {
"default": {
"dead": "\u0c2e\u0c43\u0c24 \u0c2a\u0c30\u0c3f\u0c15\u0c30\u0c02",
"initializing": "\u0c38\u0c3f\u0c26\u0c4d\u0c27\u0c02 \u0c05\u0c35\u0c41\u0c24\u0c4b\u0c02\u0c26\u0c3f",
"ready": "\u0c30\u0c46\u0c21\u0c40",
"sleeping": "\u0c28\u0c3f\u0c26\u0c4d\u0c30\u0c3f\u0c38\u0c4d\u0c24\u0c4b\u0c02\u0c26\u0c3f"
},
"query_stage": {
"dead": "\u0c2e\u0c43\u0c24 \u0c2a\u0c30\u0c3f\u0c15\u0c30\u0c02 ({query_stage})",
"initializing": "\u0c38\u0c3f\u0c26\u0c4d\u0c27\u0c02 \u0c05\u0c35\u0c41\u0c24\u0c4b\u0c02\u0c26\u0c3f ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,254 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u0e40\u0e1b\u0e34\u0e14\u0e01\u0e32\u0e23\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19",
"armed_away": "\u0e40\u0e1b\u0e34\u0e14\u0e01\u0e32\u0e23\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19-\u0e42\u0e2b\u0e21\u0e14\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19",
"armed_custom_bypass": "\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e42\u0e14\u0e22\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e2d\u0e07",
"armed_home": "\u0e40\u0e1b\u0e34\u0e14\u0e01\u0e32\u0e23\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19-\u0e42\u0e2b\u0e21\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19",
"armed_night": "\u0e40\u0e1b\u0e34\u0e14\u0e01\u0e32\u0e23\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19-\u0e42\u0e2b\u0e21\u0e14\u0e01\u0e25\u0e32\u0e07\u0e04\u0e37\u0e19",
"arming": "\u0e40\u0e1b\u0e34\u0e14\u0e01\u0e32\u0e23\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19",
"disarmed": "\u0e1b\u0e25\u0e14\u0e01\u0e32\u0e23\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19",
"disarming": "\u0e1b\u0e25\u0e14\u0e01\u0e32\u0e23\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19",
"pending": "\u0e04\u0e49\u0e32\u0e07\u0e2d\u0e22\u0e39\u0e48",
"triggered": "\u0e16\u0e39\u0e01\u0e01\u0e23\u0e30\u0e15\u0e38\u0e49\u0e19"
},
"automation": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"binary_sensor": {
"battery": {
"off": "\u0e1b\u0e01\u0e15\u0e34",
"on": "\u0e15\u0e48\u0e33"
},
"cold": {
"off": "\u0e1b\u0e01\u0e15\u0e34",
"on": "\u0e2b\u0e19\u0e32\u0e27"
},
"connectivity": {
"off": "\u0e15\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d",
"on": "\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e41\u0e25\u0e49\u0e27"
},
"default": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"door": {
"off": "\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"garage_door": {
"off": "\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"gas": {
"off": "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e41\u0e01\u0e4a\u0e2a",
"on": "\u0e15\u0e23\u0e27\u0e08\u0e1e\u0e1a\u0e41\u0e01\u0e4a\u0e2a"
},
"heat": {
"off": "\u0e1b\u0e01\u0e15\u0e34",
"on": "\u0e23\u0e49\u0e2d\u0e19"
},
"lock": {
"off": "\u0e25\u0e47\u0e2d\u0e04\u0e2d\u0e22\u0e39\u0e48",
"on": "\u0e1b\u0e25\u0e14\u0e25\u0e47\u0e2d\u0e04\u0e41\u0e25\u0e49\u0e27"
},
"moisture": {
"off": "\u0e41\u0e2b\u0e49\u0e07",
"on": "\u0e40\u0e1b\u0e35\u0e22\u0e01"
},
"motion": {
"off": "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e04\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e2b\u0e27",
"on": "\u0e1e\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e04\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e2b\u0e27"
},
"occupancy": {
"off": "\u0e44\u0e21\u0e48\u0e1e\u0e1a",
"on": "\u0e1e\u0e1a"
},
"opening": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"presence": {
"off": "\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e39\u0e48",
"on": "\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19"
},
"problem": {
"off": "\u0e15\u0e01\u0e25\u0e07",
"on": "\u0e1b\u0e31\u0e0d\u0e2b\u0e32"
},
"safety": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"smoke": {
"off": "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e04\u0e27\u0e31\u0e19",
"on": "\u0e1e\u0e1a\u0e04\u0e27\u0e31\u0e19"
},
"sound": {
"off": "\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e22\u0e34\u0e19",
"on": "\u0e44\u0e14\u0e49\u0e22\u0e34\u0e19"
},
"vibration": {
"off": "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e19",
"on": "\u0e1e\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e19"
},
"window": {
"off": "\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
"on": "\u0e40\u0e1b\u0e34\u0e14"
}
},
"calendar": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"camera": {
"idle": "\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19",
"recording": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01",
"streaming": "\u0e2a\u0e15\u0e23\u0e35\u0e21\u0e21\u0e34\u0e48\u0e07"
},
"climate": {
"auto": "\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34",
"cool": "\u0e40\u0e22\u0e47\u0e19",
"dry": "\u0e41\u0e2b\u0e49\u0e07",
"fan_only": "\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e1e\u0e31\u0e14\u0e25\u0e21",
"heat": "\u0e23\u0e49\u0e2d\u0e19",
"heat_cool": "\u0e23\u0e49\u0e2d\u0e19/\u0e40\u0e22\u0e47\u0e19",
"off": "\u0e1b\u0e34\u0e14"
},
"configurator": {
"configure": "\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32",
"configured": "\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e41\u0e25\u0e49\u0e27"
},
"cover": {
"closed": "\u0e1b\u0e34\u0e14",
"closing": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1b\u0e34\u0e14",
"open": "\u0e40\u0e1b\u0e34\u0e14",
"opening": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e1b\u0e34\u0e14",
"stopped": "\u0e2b\u0e22\u0e38\u0e14"
},
"default": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14",
"unavailable": "\u0e44\u0e21\u0e48\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19",
"unknown": "\u0e44\u0e21\u0e48\u0e17\u0e23\u0e32\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30"
},
"device_tracker": {
"home": "\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19",
"not_home": "\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e39\u0e48"
},
"fan": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"group": {
"closed": "\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27",
"closing": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1b\u0e34\u0e14",
"home": "\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19",
"locked": "\u0e25\u0e47\u0e2d\u0e04\u0e41\u0e25\u0e49\u0e27",
"not_home": "\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19",
"off": "\u0e1b\u0e34\u0e14",
"ok": "\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19",
"on": "\u0e40\u0e1b\u0e34\u0e14",
"open": "\u0e40\u0e1b\u0e34\u0e14",
"opening": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e1b\u0e34\u0e14",
"problem": "\u0e21\u0e35\u0e1b\u0e31\u0e0d\u0e2b\u0e32",
"stopped": "\u0e2b\u0e22\u0e38\u0e14\u0e41\u0e25\u0e49\u0e27",
"unlocked": "\u0e1b\u0e25\u0e14\u0e25\u0e47\u0e2d\u0e04\u0e41\u0e25\u0e49\u0e27"
},
"input_boolean": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"light": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"lock": {
"locked": "\u0e25\u0e47\u0e2d\u0e04",
"unlocked": "\u0e1b\u0e25\u0e14\u0e25\u0e47\u0e2d\u0e04"
},
"media_player": {
"idle": "\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19",
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14",
"paused": "\u0e2b\u0e22\u0e38\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27",
"playing": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e25\u0e48\u0e19",
"standby": "\u0e41\u0e2a\u0e15\u0e19\u0e14\u0e4c\u0e1a\u0e32\u0e22"
},
"person": {
"home": "\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19",
"not_home": "\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19"
},
"plant": {
"ok": "\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19",
"problem": "\u0e21\u0e35\u0e1b\u0e31\u0e0d\u0e2b\u0e32"
},
"remote": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"scene": {
"scening": "\u0e0b\u0e35\u0e19"
},
"script": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"sensor": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"sun": {
"above_horizon": "\u0e40\u0e2b\u0e19\u0e37\u0e2d\u0e02\u0e2d\u0e1a\u0e1f\u0e49\u0e32",
"below_horizon": "\u0e15\u0e01\u0e14\u0e34\u0e19"
},
"switch": {
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14"
},
"timer": {
"active": "\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48",
"idle": "\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19",
"paused": "\u0e2b\u0e22\u0e38\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27"
},
"vacuum": {
"cleaning": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e17\u0e33\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e30\u0e2d\u0e32\u0e14",
"docked": "\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d",
"error": "\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14",
"idle": "\u0e27\u0e48\u0e32\u0e07",
"off": "\u0e1b\u0e34\u0e14",
"on": "\u0e40\u0e1b\u0e34\u0e14",
"paused": "\u0e2b\u0e22\u0e38\u0e14\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27",
"returning": "\u0e01\u0e25\u0e31\u0e1a\u0e44\u0e1b\u0e08\u0e38\u0e14\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d"
},
"weather": {
"clear-night": "\u0e1f\u0e49\u0e32\u0e42\u0e1b\u0e23\u0e48\u0e07, \u0e01\u0e25\u0e32\u0e07\u0e04\u0e37\u0e19",
"cloudy": "\u0e21\u0e35\u0e40\u0e21\u0e06\u0e21\u0e32\u0e01",
"fog": "\u0e2b\u0e21\u0e2d\u0e01",
"hail": "\u0e25\u0e39\u0e01\u0e40\u0e2b\u0e47\u0e1a",
"lightning": "\u0e1f\u0e49\u0e32\u0e41\u0e25\u0e1a",
"lightning-rainy": "\u0e1f\u0e49\u0e32\u0e41\u0e25\u0e1a, \u0e1d\u0e19\u0e15\u0e01",
"partlycloudy": "\u0e21\u0e35\u0e40\u0e21\u0e06\u0e1a\u0e32\u0e07\u0e2a\u0e48\u0e27\u0e19",
"pouring": "\u0e40\u0e17",
"rainy": "\u0e1d\u0e19",
"snowy": "\u0e2b\u0e34\u0e21\u0e30",
"snowy-rainy": "\u0e2b\u0e34\u0e21\u0e30, \u0e1d\u0e19",
"sunny": "\u0e41\u0e14\u0e14\u0e08\u0e31\u0e14",
"windy": "\u0e25\u0e21\u0e41\u0e23\u0e07",
"windy-variant": "\u0e25\u0e21\u0e41\u0e23\u0e07"
},
"zwave": {
"default": {
"dead": "\u0e44\u0e21\u0e48\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19",
"initializing": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19",
"ready": "\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19",
"sleeping": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2b\u0e25\u0e31\u0e1a"
},
"query_stage": {
"dead": "\u0e44\u0e21\u0e48\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 ({query_stage})",
"initializing": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19 ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "Etkin",
"armed_away": "Etkin d\u0131\u015far\u0131da",
"armed_custom_bypass": "\u00d6zel alarm atlatmas\u0131",
"armed_home": "Etkin evde",
"armed_night": "Etkin gece",
"arming": "Etkinle\u015fiyor",
"disarmed": "Etkisiz",
"disarming": "Etkisizle\u015ftiriliyor",
"pending": "Beklemede",
"triggered": "Tetiklendi"
},
"automation": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"binary_sensor": {
"battery": {
"off": "Normal",
"on": "D\u00fc\u015f\u00fck"
},
"cold": {
"off": "Normal",
"on": "So\u011fuk"
},
"connectivity": {
"off": "Ba\u011flant\u0131 kesildi",
"on": "Ba\u011fl\u0131"
},
"default": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"door": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"garage_door": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"gas": {
"off": "Temiz",
"on": "Alg\u0131land\u0131"
},
"heat": {
"off": "Normal",
"on": "S\u0131cak"
},
"lock": {
"off": "Kilit kapal\u0131",
"on": "Kilit a\u00e7\u0131k"
},
"moisture": {
"off": "Kuru",
"on": "Islak"
},
"motion": {
"off": "Temiz",
"on": "Alg\u0131land\u0131"
},
"occupancy": {
"off": "Temiz",
"on": "Alg\u0131land\u0131"
},
"opening": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"presence": {
"off": "D\u0131\u015farda",
"on": "Evde"
},
"problem": {
"off": "Tamam",
"on": "Sorun"
},
"safety": {
"off": "G\u00fcvenli",
"on": "G\u00fcvensiz"
},
"smoke": {
"off": "Temiz",
"on": "Alg\u0131land\u0131"
},
"sound": {
"off": "Temiz",
"on": "Alg\u0131land\u0131"
},
"vibration": {
"off": "Temiz",
"on": "Alg\u0131land\u0131"
},
"window": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
}
},
"calendar": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"camera": {
"idle": "Bo\u015fta",
"recording": "Kaydediliyor",
"streaming": "Yay\u0131n ak\u0131\u015f\u0131"
},
"climate": {
"auto": "Otomatik",
"cool": "Serin",
"dry": "Kuru",
"fan_only": "Sadece fan",
"heat": "S\u0131cak",
"heat_cool": "Is\u0131tma / So\u011futma",
"off": "Kapal\u0131"
},
"configurator": {
"configure": "Ayarla",
"configured": "Ayarland\u0131"
},
"cover": {
"closed": "Kapal\u0131",
"closing": "Kapan\u0131yor",
"open": "A\u00e7\u0131k",
"opening": "A\u00e7\u0131l\u0131yor",
"stopped": "Durduruldu"
},
"default": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k",
"unavailable": "Mevcut de\u011fil",
"unknown": "Bilinmeyen"
},
"device_tracker": {
"home": "Evde",
"not_home": "D\u0131\u015far\u0131da"
},
"fan": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"group": {
"closed": "Kapand\u0131",
"closing": "Kapan\u0131yor",
"home": "Evde",
"locked": "Kilitli",
"not_home": "D\u0131\u015far\u0131da",
"off": "Kapal\u0131",
"ok": "Tamam",
"on": "A\u00e7\u0131k",
"open": "A\u00e7\u0131k",
"opening": "A\u00e7\u0131l\u0131yor",
"problem": "Problem",
"stopped": "Durduruldu",
"unlocked": "Kilitli de\u011fil"
},
"input_boolean": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"light": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"lock": {
"locked": "Kilitli",
"unlocked": "Kilitli de\u011fil"
},
"media_player": {
"idle": "Bo\u015fta",
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k",
"paused": "Durduruldu",
"playing": "Oynuyor",
"standby": "Bekleme modu"
},
"person": {
"home": "Evde",
"not_home": "D\u0131\u015far\u0131da"
},
"plant": {
"ok": "Tamam",
"problem": "Problem"
},
"remote": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"scene": {
"scening": "senaryolar"
},
"script": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"sensor": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"sun": {
"above_horizon": "Ufkun \u00fczerinde",
"below_horizon": "Ufkun alt\u0131nda"
},
"switch": {
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k"
},
"timer": {
"active": "Aktif",
"idle": "Bo\u015fta",
"paused": "Durduruldu"
},
"vacuum": {
"cleaning": "Temizleniyor",
"docked": "Dock'da",
"error": "Hata",
"idle": "Bo\u015fta",
"off": "Kapal\u0131",
"on": "A\u00e7\u0131k",
"paused": "Durduruldu",
"returning": "Dock'a geri d\u00f6n\u00fc\u015f"
},
"weather": {
"clear-night": "A\u00e7\u0131k, gece",
"cloudy": "Bulutlu",
"exceptional": "Ola\u011fan\u00fcst\u00fc",
"fog": "Sis",
"hail": "Selam",
"lightning": "Y\u0131ld\u0131r\u0131m",
"lightning-rainy": "Y\u0131ld\u0131r\u0131m, ya\u011fmurlu",
"partlycloudy": "Par\u00e7al\u0131 bulutlu",
"pouring": "D\u00f6kme",
"rainy": "Ya\u011fmurlu",
"snowy": "Karl\u0131",
"snowy-rainy": "Karl\u0131, ya\u011fmurlu",
"sunny": "G\u00fcne\u015fli",
"windy": "R\u00fczgarl\u0131",
"windy-variant": "R\u00fczgarl\u0131"
},
"zwave": {
"default": {
"dead": "\u00d6l\u00fc",
"initializing": "Ba\u015flat\u0131l\u0131yor",
"ready": "Haz\u0131r",
"sleeping": "Uyuyor"
},
"query_stage": {
"dead": "\u00d6l\u00fc ({query_stage})",
"initializing": "Ba\u015flat\u0131l\u0131yor ( {query_stage} )"
}
}
}
}

View File

@@ -0,0 +1,255 @@
{
"state": {
"alarm_control_panel": {
"armed": "\u041e\u0445\u043e\u0440\u043e\u043d\u0430",
"armed_away": "\u041e\u0445\u043e\u0440\u043e\u043d\u0430 (\u043d\u0435 \u0432\u0434\u043e\u043c\u0430)",
"armed_custom_bypass": "\u041e\u0445\u043e\u0440\u043e\u043d\u0430 \u0437 \u0432\u0438\u043d\u044f\u0442\u043a\u0430\u043c\u0438",
"armed_home": "\u0411\u0443\u0434\u0438\u043d\u043a\u043e\u0432\u0430 \u043e\u0445\u043e\u0440\u043e\u043d\u0430",
"armed_night": "\u041d\u0456\u0447\u043d\u0430 \u043e\u0445\u043e\u0440\u043e\u043d\u0430",
"arming": "\u0421\u0442\u0430\u0432\u043b\u044e \u043d\u0430 \u043e\u0445\u043e\u0440\u043e\u043d\u0443",
"disarmed": "\u0417\u043d\u044f\u0442\u043e",
"disarming": "\u0417\u043d\u044f\u0442\u0442\u044f",
"pending": "\u041e\u0447\u0456\u043a\u0443\u044e",
"triggered": "\u0422\u0440\u0438\u0432\u043e\u0433\u0430"
},
"automation": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"binary_sensor": {
"battery": {
"off": "\u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0438\u0439",
"on": "\u041d\u0438\u0437\u044c\u043a\u0438\u0439"
},
"cold": {
"off": "\u041d\u043e\u0440\u043c\u0430",
"on": "\u041e\u0445\u043e\u043b\u043e\u0434\u0436\u0435\u043d\u043d\u044f"
},
"connectivity": {
"off": "\u0412\u0456\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
"on": "\u041f\u0456\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e"
},
"default": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"door": {
"off": "\u0417\u0430\u0447\u0438\u043d\u0435\u043d\u0456",
"on": "\u0412\u0456\u0434\u0447\u0438\u043d\u0435\u043d\u0456"
},
"garage_door": {
"off": "\u0417\u0430\u0447\u0438\u043d\u0435\u043d\u0406",
"on": "\u0412\u0456\u0434\u043a\u0440\u0438\u0442\u0456"
},
"gas": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0412\u0438\u044f\u0432\u043b\u0435\u043d\u043e \u0433\u0430\u0437"
},
"heat": {
"off": "\u041d\u043e\u0440\u043c\u0430",
"on": "\u041d\u0430\u0433\u0440\u0456\u0432\u0430\u043d\u043d\u044f"
},
"lock": {
"off": "\u0417\u0430\u0431\u043b\u043e\u043a\u043e\u0432\u0430\u043d\u043e",
"on": "\u0420\u043e\u0437\u0431\u043b\u043e\u043a\u043e\u0432\u0430\u043d\u043e"
},
"moisture": {
"off": "\u0421\u0443\u0445\u043e",
"on": "\u0412\u043e\u043b\u043e\u0433\u043e"
},
"motion": {
"off": "\u041d\u0435\u043c\u0430\u0454 \u0440\u0443\u0445\u0443",
"on": "\u0412\u0438\u044f\u0432\u043b\u0435\u043d\u043e \u0440\u0443\u0445"
},
"occupancy": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0412\u0438\u044f\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u0438\u0441\u0443\u0442\u043d\u0456\u0441\u0442\u044c"
},
"opening": {
"off": "\u0417\u0430\u043a\u0440\u0438\u0442\u043e",
"on": "\u0412\u0456\u0434\u043a\u0440\u0438\u0442\u0438\u0439"
},
"presence": {
"off": "\u041d\u0435 \u0432\u0434\u043e\u043c\u0430",
"on": "\u0412\u0434\u043e\u043c\u0430"
},
"problem": {
"off": "\u041e\u041a",
"on": "\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430"
},
"safety": {
"off": "\u0411\u0435\u0437\u043f\u0435\u0447\u043d\u043e",
"on": "\u041d\u0435\u0431\u0435\u0437\u043f\u0435\u0447\u043d\u043e"
},
"smoke": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0412\u0438\u044f\u0432\u043b\u0435\u043d\u043e \u0434\u0438\u043c"
},
"sound": {
"off": "\u0427\u0438\u0441\u0442\u043e",
"on": "\u0412\u0438\u044f\u0432\u043b\u0435\u043d\u043e \u0437\u0432\u0443\u043a"
},
"vibration": {
"off": "\u041d\u0435 \u0432\u0438\u044f\u0432\u043b\u0435\u043d\u043e",
"on": "\u0412\u0438\u044f\u0432\u043b\u0435\u043d\u0430 \u0432\u0456\u0431\u0440\u0430\u0446\u0456\u044f"
},
"window": {
"off": "\u0417\u0430\u0447\u0438\u043d\u0435\u043d\u0435",
"on": "\u0412\u0456\u0434\u0447\u0438\u043d\u0435\u043d\u0435"
}
},
"calendar": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"camera": {
"idle": "\u041e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u043d\u044f",
"recording": "\u0417\u0430\u043f\u0438\u0441",
"streaming": "\u0422\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0456\u044f"
},
"climate": {
"auto": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0438\u0439",
"cool": "\u041e\u0445\u043e\u043b\u043e\u0434\u0436\u0435\u043d\u043d\u044f",
"dry": "\u041e\u0441\u0443\u0448\u0435\u043d\u043d\u044f",
"fan_only": "\u041b\u0438\u0448\u0435 \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440",
"heat": "\u041e\u0431\u0456\u0433\u0440\u0456\u0432\u0430\u043d\u043d\u044f",
"heat_cool": "\u041e\u043f\u0430\u043b\u0435\u043d\u043d\u044f/\u041e\u0445\u043e\u043b\u043e\u0434\u0436\u0435\u043d\u043d\u044f",
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e"
},
"configurator": {
"configure": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438",
"configured": "\u041d\u0430\u043b\u0430\u0448\u0442\u043e\u0432\u0430\u043d\u043e"
},
"cover": {
"closed": "\u0417\u0430\u0447\u0438\u043d\u0435\u043d\u043e",
"closing": "\u0417\u0430\u043a\u0440\u0438\u0432\u0430\u0454\u0442\u044c\u0441\u044f",
"open": "\u0412\u0456\u0434\u0447\u0438\u043d\u0435\u043d\u043e",
"opening": "\u0412\u0456\u0434\u043a\u0440\u0438\u0432\u0430\u0454\u0442\u044c\u0441\u044f",
"stopped": "\u041f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0435\u043d\u043e"
},
"default": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e",
"unavailable": "\u041d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0438\u0439",
"unknown": "\u041d\u0435\u0432\u0456\u0434\u043e\u043c\u043e"
},
"device_tracker": {
"home": "\u0412\u0434\u043e\u043c\u0430",
"not_home": "\u0412\u0456\u0434\u0441\u0443\u0442\u043d\u0456\u0439"
},
"fan": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"group": {
"closed": "\u0417\u0430\u0447\u0438\u043d\u0435\u043d\u043e",
"closing": "\u0417\u0430\u043a\u0440\u0438\u0432\u0430\u0454\u0442\u044c\u0441\u044f",
"home": "\u0412\u0434\u043e\u043c\u0430",
"locked": "\u0417\u0430\u0431\u043b\u043e\u043a\u043e\u0432\u0430\u043d\u043e",
"not_home": "\u041d\u0435 \u0432\u0434\u043e\u043c\u0430",
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"ok": "\u041e\u041a",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e",
"open": "\u0412\u0456\u0434\u0447\u0438\u043d\u0435\u043d\u043e",
"opening": "\u0412\u0456\u0434\u043a\u0440\u0438\u0432\u0430\u0454\u0442\u044c\u0441\u044f",
"problem": "\u0425\u0430\u043b\u0435\u043f\u0430",
"stopped": "\u041f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0435\u043d\u043e",
"unlocked": "\u0420\u043e\u0437\u0431\u043b\u043e\u043a\u043e\u0432\u0430\u043d\u043e"
},
"input_boolean": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"light": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"lock": {
"locked": "\u0417\u0430\u0431\u043b\u043e\u043a\u043e\u0432\u0430\u043d\u043e",
"unlocked": "\u0420\u043e\u0437\u0431\u043b\u043e\u043a\u043e\u0432\u0430\u043d\u043e"
},
"media_player": {
"idle": "\u0411\u0435\u0437\u0434\u0456\u044f\u043b\u044c\u043d\u0456\u0441\u0442\u044c",
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e",
"paused": "\u041f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0435\u043d\u043e",
"playing": "\u041f\u0440\u043e\u0433\u0440\u0430\u0432\u0430\u043d\u043d\u044f",
"standby": "\u041e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u043d\u044f"
},
"person": {
"home": "\u0412\u0434\u043e\u043c\u0430",
"not_home": "\u0412\u0456\u0434\u0441\u0443\u0442\u043d\u0456\u0439"
},
"plant": {
"ok": "\u0422\u0410\u041a",
"problem": "\u0425\u0430\u043b\u0435\u043f\u0430"
},
"remote": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"scene": {
"scening": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0441\u0446\u0435\u043d\u0438"
},
"script": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"sensor": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"sun": {
"above_horizon": "\u041d\u0430\u0434 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u043e\u043c",
"below_horizon": "\u0417\u0430 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u043e\u043c"
},
"switch": {
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e"
},
"timer": {
"active": "\u0430\u043a\u0442\u0438\u0432\u043d\u0438\u0439",
"idle": "\u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u043d\u044f",
"paused": "\u043d\u0430 \u043f\u0430\u0443\u0437\u0456"
},
"vacuum": {
"cleaning": "\u041f\u0440\u0438\u0431\u0438\u0440\u0430\u043d\u043d\u044f",
"docked": "\u041f\u0440\u0438\u0441\u0442\u0438\u043a\u043e\u0432\u0430\u043d\u043e",
"error": "\u041f\u043e\u043c\u0438\u043b\u043a\u0430",
"idle": "\u041e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u043d\u044f",
"off": "\u0412\u0438\u043c\u043a\u043d\u0435\u043d\u043e",
"on": "\u0423\u0432\u0456\u043c\u043a\u043d\u0435\u043d\u043e",
"paused": "\u041f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0435\u043d\u043e",
"returning": "\u041f\u043e\u0432\u0435\u0440\u043d\u0435\u043d\u043d\u044f \u0434\u043e \u0434\u043e\u043a\u0430"
},
"weather": {
"clear-night": "\u042f\u0441\u043d\u043e, \u043d\u0456\u0447",
"cloudy": "\u0425\u043c\u0430\u0440\u043d\u043e",
"exceptional": "\u041f\u043e\u043f\u0435\u0440\u0435\u0434\u0436\u0435\u043d\u043d\u044f",
"fog": "\u0422\u0443\u043c\u0430\u043d",
"hail": "\u0413\u0440\u0430\u0434",
"lightning": "\u0411\u043b\u0438\u0441\u043a\u0430\u0432\u043a\u0430",
"lightning-rainy": "\u0411\u043b\u0438\u0441\u043a\u0430\u0432\u043a\u0430, \u0434\u043e\u0449",
"partlycloudy": "\u041d\u0435\u0432\u0435\u043b\u0438\u043a\u0430 \u0445\u043c\u0430\u0440\u043d\u0456\u0441\u0442\u044c",
"pouring": "\u0417\u043b\u0438\u0432\u0430",
"rainy": "\u0414\u043e\u0449\u043e\u0432\u0430",
"snowy": "\u0421\u043d\u0456\u0436\u043d\u043e",
"snowy-rainy": "\u0421\u043d\u0456\u0433, \u0434\u043e\u0449",
"sunny": "\u0421\u043e\u043d\u044f\u0447\u043d\u043e",
"windy": "\u0412\u0456\u0442\u0440\u044f\u043d\u043e",
"windy-variant": "\u0412\u0456\u0442\u0440\u044f\u043d\u043e"
},
"zwave": {
"default": {
"dead": "\u041d\u0435\u0440\u043e\u0431\u043e\u0447\u0430",
"initializing": "\u0406\u043d\u0456\u0446\u0456\u0430\u043b\u0456\u0437\u0430\u0446\u0456\u044f",
"ready": "\u0413\u043e\u0442\u043e\u0432\u0438\u0439",
"sleeping": "\u0421\u043f\u043b\u044f\u0447\u043a\u0430"
},
"query_stage": {
"dead": "\u041d\u0435\u0440\u043e\u0431\u043e\u0447\u0430 ({query_stage})",
"initializing": "\u0406\u043d\u0456\u0446\u0456\u0430\u043b\u0456\u0437\u0430\u0446\u0456\u044f ( {query_stage} )"
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More