diff --git a/.HA_VERSION b/.HA_VERSION index 9a6dac6..eb06c4c 100644 --- a/.HA_VERSION +++ b/.HA_VERSION @@ -1 +1 @@ -2020.12.1 \ No newline at end of file +2020.12.2 \ No newline at end of file diff --git a/.storage/auth b/.storage/auth index 22c4a0c..1041ccf 100644 --- a/.storage/auth +++ b/.storage/auth @@ -52,6 +52,16 @@ "is_active": true, "name": "test", "system_generated": false + }, + { + "id": "66bf1f45db524de88f93b2b50fb0584f", + "group_ids": [ + "system-admin" + ], + "is_owner": false, + "is_active": true, + "name": "Hass.io", + "system_generated": true } ], "groups": [ @@ -127,7 +137,7 @@ "access_token_expiration": 1800.0, "token": "552d438c538636357742acea47d8a022fcaab47c74a20435614f69540088948934d66767b0348eeec4c4de979691f12f3ce28c20c3854dfd0b5b263efd07f40f", "jwt_key": "0ed3886ff667ce6e5f17c621f1c8b8c1f14fe258f2669022c078f14e5e5c3906a8b37ad6c949aa6c1af800a5fbc94fd6e581de258a01c884e368cf6d0d5c741f", - "last_used_at": "2020-12-18T05:17:58.556455+00:00", + "last_used_at": "2021-01-01T07:42:37.242225+00:00", "last_used_ip": "172.30.32.2" }, { @@ -267,7 +277,7 @@ "access_token_expiration": 1800.0, "token": "67154748b468ae62cff3021f566ce8f1d94d89f7e223b3dfb8432226347f1e1f0ba05674e2e089fa98ee08add0be40d38e70f3af9dc74cf9dbb5f9e93d358cb0", "jwt_key": "50e901c4783bb84711838442d27a1ea4d44213eea590113bb1154bd69efc18d98cc8892287520a35a5154b087996bdeba2e131697f28bade44e8f5cc75fa6235", - "last_used_at": "2020-12-18T05:17:57.852541+00:00", + "last_used_at": "2021-01-01T18:56:21.652776+00:00", "last_used_ip": "10.0.0.2" }, { @@ -897,7 +907,7 @@ "access_token_expiration": 1800.0, "token": "d9cce9fda43a1711dd7e09f7b3c2a80492c2561e5db7972aff31ceaf68e330126c233b361e1c7aca06b56ed3a50c9ed4f8e4688d9d4c279a0e1d3a8ce544644a", "jwt_key": "a4020e6b1ddeb3f600eae73269a4eb31c917ab837f93101a42b587160743808dba65395ee57a6d3dc2bb62bea4fd1e25b19b2e16e8267889398ae904412bd399", - "last_used_at": "2020-12-18T17:02:57.020487+00:00", + "last_used_at": "2020-12-20T21:11:52.408466+00:00", "last_used_ip": "10.0.0.2" }, { @@ -911,7 +921,175 @@ "access_token_expiration": 1800.0, "token": "b803b3516fbf26d72b6d33f0c70e45370123c1e97e404c021645ca9ff900691e77578b0bfd47211c17f1308bc976b33e25077995803c7c1b20c9d6bd08d553c2", "jwt_key": "f03cdead1812714da6513f6ab8cb98e3698c2c787ca40934035b258a052d3b7287ca5c521b8cc6f49e40c9812eba1c4be66cdb9835b6c409916e29a10d232533", - "last_used_at": "2020-12-18T17:12:13.343453+00:00", + "last_used_at": "2021-01-01T18:14:18.113574+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "691b36380d314981ad40451fd8844a00", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-20T21:12:26.759053+00:00", + "access_token_expiration": 1800.0, + "token": "fdbe22ad115b20ca6178dd2629cb77a65abc09244a558515004b1ca646917cef98a3f0c4754358cf3270dc45f06ca76ae92cfad368bb73604c0cf8cf6f07be84", + "jwt_key": "7e272d1eeb849a77c7cbfa1b50c26aaf579a4431e1da7e3b40740f1709707310ba44c9e503c5c675d673efcd81333a5ca2bc5b7d08713c5ff8cabf1ff6282157", + "last_used_at": "2020-12-20T21:12:26.759780+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "6ef255f2d1d14b37b024951febe7a7e7", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-20T21:17:25.583298+00:00", + "access_token_expiration": 1800.0, + "token": "34ca3aa3f3d0a636106c01290a112904422f6100ef9ca5a59747947db458fe6401f87feed63c10d296d595477f518a82133939d10ac095dab256bcc33e478245", + "jwt_key": "8e3812405bdf2b4e6dc1522cc722a650d48bf08f15f786c67154f38793d236fefb8d6d65bf599fa78a75fab95632576904262e40445922b73b2294d94483e36a", + "last_used_at": "2020-12-20T21:17:25.583457+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "4c8430e66a2a4afab3f37b6ed1b07960", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-20T21:17:50.507856+00:00", + "access_token_expiration": 1800.0, + "token": "2588494e600e3b6b8036d839b67e76a23c267dccf1dbc6c94d32be971acf126ff94804c0bec662b80c999d649b641a6b00848bf06e6e1cc410883477ba111b09", + "jwt_key": "2d4e721c593411d064f765f7ac35b4e721d60448616ecd2382cb5aed318685a5f8955126c9ff8152abdc65e9b89b1206eaacd6c9aad3349d5da3491cafa3eb9f", + "last_used_at": "2020-12-20T21:17:50.508087+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "aba7d59351de495f86a7143e5b4602ab", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-20T21:20:05.531940+00:00", + "access_token_expiration": 1800.0, + "token": "79b7522680f2a839d2e0e9168f30bc5f2fe75bdcf13c0c2ac9f18a99d55d4450aef3f0753d058eec59d4c973f8fbe937c121283c1fe347bee9fb6d6eba3f49a7", + "jwt_key": "1814c801056e01298f2b0c5bcea8bcff3a4308beaf34c504859ae702403137b2c5a4fe6a045a9b87782e049b2ffd48b600e1386b2333c2dc559627178f8b07c0", + "last_used_at": "2020-12-23T18:03:28.519054+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "aa9702d1dc504aa6ac2ce8fb5764808f", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-20T21:20:34.118239+00:00", + "access_token_expiration": 1800.0, + "token": "138b6adea1e8a3b487796da3163c83513d7c4269295dfd54edc53d12dcbea050cc584d9cf206dafcb4f0d6d905b96fc4f989fbcf42ea1ebaddae23e1c2de250c", + "jwt_key": "f7a0e8a8f0123ea3ce03876f6a960e94bb4c773090ca8f8b2a095b78b99e00b3f4039bceb48fa46f78bb770e20bda1542cab2d9d5530dc8dda9e4aa27b5cbff2", + "last_used_at": "2020-12-20T21:20:34.118448+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "80f506020b4e43e9abcb141cb4c93dd9", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-20T21:21:00.508989+00:00", + "access_token_expiration": 1800.0, + "token": "fc393f58762101982850d6e3d9f0317cfbcb284efce694c6da6095c7d23a3f01849b8cdf87457737d35f23fec0d9853d7754847e352d2f7245525bb4add4d7c9", + "jwt_key": "29492c7321194223cf9a99586577f8e5d309c48e51bd8912a67c0538835da7775839ac30698ac1ecd3a7abba0ccaac6d37cd5faebaefa4d570f46f2ca12ce6b7", + "last_used_at": "2020-12-20T21:21:00.509176+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "17129cd1209048d3830c5545473b16cf", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://home-assistant.io/android", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-22T01:28:11.834773+00:00", + "access_token_expiration": 1800.0, + "token": "757bc443f34e5be80517de8299b2da68ec611d7904657cf3274218a87c12d23eca51e75554adb7e8cc4975fbe77cf986d985e2ab4b8456c04cc0296ae63d7b9f", + "jwt_key": "3ab5c600c6bbfb3e1dedb8d82ed0ca3869f7b5ecea8484d6b1d11a3be13f358ac6d4e98a74d5e617e4231cf3979cdf844b8d439717d13bee2a8d6d2332c5b8eb", + "last_used_at": "2020-12-22T15:44:21.403029+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "1eb21cd141bb4e30819e684f9214280a", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-22T19:13:49.769255+00:00", + "access_token_expiration": 1800.0, + "token": "a0ee724d9ba26e90bfa47518326f9e873daeefeaadec10a76cef944f77e525c324be6fa622979aade32209762fba88cf970801ad62d6f733424c8ac77e2fd8d2", + "jwt_key": "0e4dfe9cfd6bfcda77cd28404d859fd6a1a77ab2385b6403f177a4bbec76a3693ff888a6fd0576fe8907195306a749f67610801cc40124ec9cd813e86d725fdf", + "last_used_at": "2021-01-01T18:56:21.854612+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "c2bf0d6d66d04ccc925a74e6d148e013", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-26T16:30:41.536291+00:00", + "access_token_expiration": 1800.0, + "token": "42b3c49d9b4576bc4e619b22246df92e14d6118a42cc763b065cc16bb89091881d4404e598d81e5f23279f1a8b9005daebf3abf7295105c4d67babcfdeef183a", + "jwt_key": "9bd9db49c3e6b042cf8cf381d4524d0925d01706e4cb59307a0ad30f0c720f38f3876846377ebfdae7af6f06847902349a013abecb0bc35a5d2d287a1207b06b", + "last_used_at": "2020-12-26T16:30:41.536615+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "5f49eb2fd00b49e881173c8b2dc42b91", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2020-12-26T17:33:03.187972+00:00", + "access_token_expiration": 1800.0, + "token": "4701b65970cf212718d7f0e8432c0e0f9db6a53d612ae8b1fcd4eec43d585d5e12811baedad69d1c98e490af6991e53dcce5166c2ac5eb1ddfec27b3c1539d50", + "jwt_key": "d1c5d7e6de5b87e8cda403921c1c91815329d15ac86bef57097e0ebffad5508af0aae029d2199fc4e9b85ba9ed34b9d90aa20a2576a5a578efba799be24f6fe1", + "last_used_at": "2020-12-26T17:33:03.188120+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "298b529cfaf749198dc5aebab2d710df", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2021-01-01T03:37:51.762108+00:00", + "access_token_expiration": 1800.0, + "token": "3bfc140f4ff55430c87e788fde1afd3c8cf246b08903801a3f0f175b3c79ca91c27b97f56493f9664cd664bf421c9bbc5aac599da77db2bfac4895d093fe0cc7", + "jwt_key": "c9ba69b03fac1f31fb90289fee8475dfcf3b06d911f18a064c632a1a546852eeb12914d5109c9379e815262ba7cebfb3b3f7dfac916893e23d946aa8e0c6eed4", + "last_used_at": "2021-01-01T03:37:51.762223+00:00", + "last_used_ip": "10.0.0.2" + }, + { + "id": "204f607544c44e63bd5ba06752a1b870", + "user_id": "99685dc45d9f40dc8183e11ce5128038", + "client_id": "https://ha.kebler.net/", + "client_name": null, + "client_icon": null, + "token_type": "normal", + "created_at": "2021-01-01T17:14:37.251834+00:00", + "access_token_expiration": 1800.0, + "token": "b8ddaba40e51ef24631b25a035825799a0dce6e8e6526b8c31c93b77af93dbed026af3a45982c4e3577f52cb13eccf36c101f3e54b1c0cf165ee80977442067c", + "jwt_key": "37934f3b5cc3447c7ad56f0c6dae7a8d6a0ceeef41b8a4e1920754e22ac695a07e3333f6b00a898e27046bf7223e2e61d5e4cfef792807e4c8a3e9622e5a075d", + "last_used_at": "2021-01-01T18:56:20.018108+00:00", "last_used_ip": "10.0.0.2" }, { @@ -1067,6 +1245,20 @@ "jwt_key": "f18a94dfa0270259bb9deb169599deef12e2a948fcced55337c5b40688e8b08a87287b4eddcf982f6ec4097eea25d1708f3029cb9a987400fb6d61272fe08b4d", "last_used_at": "2020-05-04T17:12:36.668523+00:00", "last_used_ip": "10.0.0.3" + }, + { + "id": "b46d5b3818ba4da782b4da9faee7a9b9", + "user_id": "66bf1f45db524de88f93b2b50fb0584f", + "client_id": null, + "client_name": null, + "client_icon": null, + "token_type": "system", + "created_at": "2021-01-01T16:31:24.421780+00:00", + "access_token_expiration": 1800.0, + "token": "f1b7e74705250996e46cbd6002591a8c829fb40405d766cfc55a8f3caed3aa29b5e1616d4960bac3a8e181bc04dd135a59096161448640e8d49fa393d0b2be7d", + "jwt_key": "fa10f02042ee89cdfce1f1d396a42b73b0500c5214b5ebd09f42e43f88551ccc934e84c925d9adb90f56d3d2eb158aa5e2676b0f6352711af65601fe815a31ce", + "last_used_at": "2021-01-01T17:06:47.089483+00:00", + "last_used_ip": "172.30.32.2" } ] } diff --git a/.storage/core.config_entries b/.storage/core.config_entries index ff2b658..74a13f3 100644 --- a/.storage/core.config_entries +++ b/.storage/core.config_entries @@ -52,42 +52,6 @@ "connection_class": "local_push", "unique_id": null }, - { - "entry_id": "9436e71647e64581a19a2cc8172f9a35", - "version": 1, - "domain": "esphome", - "title": "inside_temp_humd", - "data": { - "host": "10.0.0.180", - "password": "", - "port": 6053 - }, - "options": {}, - "system_options": { - "disable_new_entities": false - }, - "source": "zeroconf", - "connection_class": "local_push", - "unique_id": "inside_temp_humd" - }, - { - "entry_id": "cf5266d3fa4a4824850935818193ac48", - "version": 1, - "domain": "esphome", - "title": "outside_temp_humd", - "data": { - "host": "10.0.0.222", - "password": "", - "port": 6053 - }, - "options": {}, - "system_options": { - "disable_new_entities": false - }, - "source": "user", - "connection_class": "local_push", - "unique_id": "outside_temp_humd" - }, { "entry_id": "3ed789ad543542018f094a6d3d209d9a", "version": 1, @@ -215,6 +179,53 @@ "source": "user", "connection_class": "cloud_poll", "unique_id": null + }, + { + "entry_id": "e3331a90c176db53203e617de248ec9e", + "version": 1, + "domain": "mobile_app", + "title": "Lenovo TB-X606F", + "data": { + "app_id": "io.homeassistant.companion.android", + "app_name": "Home Assistant", + "app_version": "3.0.2-full (521)", + "device_name": "Lenovo TB-X606F", + "manufacturer": "LENOVO", + "model": "Lenovo TB-X606F", + "os_name": "Android", + "os_version": "29", + "supports_encryption": false, + "app_data": { + "push_url": "https://mobile-apps.home-assistant.io/api/sendPush/android/v1", + "push_token": "eYx84w81T5yJ9Q26-sMBWu:APA91bHEockNh6OSntVWD9rFGWU-g3NFkV-ULRPgjhRSp_O-i2FR4xFd-xg1z83TTn5Xx6Bo99oz0q-NEnNPmMF7g4apHEvkWbg38PxHI_nLArWv2ClDpqYIJ0sssI2it4lzP98Da1Nr" + }, + "device_id": "61f299924dae5227", + "webhook_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573", + "user_id": "99685dc45d9f40dc8183e11ce5128038" + }, + "options": {}, + "system_options": { + "disable_new_entities": false + }, + "source": "registration", + "connection_class": "cloud_push", + "unique_id": "io.homeassistant.companion.android-61f299924dae5227" + }, + { + "entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "version": 1, + "domain": "tasmota", + "title": "Tasmota", + "data": { + "discovery_prefix": "tasmota/discovery" + }, + "options": {}, + "system_options": { + "disable_new_entities": false + }, + "source": "mqtt", + "connection_class": "local_push", + "unique_id": "tasmota" } ] } diff --git a/.storage/core.device_registry b/.storage/core.device_registry index ff7a1b3..16d2658 100644 --- a/.storage/core.device_registry +++ b/.storage/core.device_registry @@ -47,50 +47,6 @@ "name_by_user": null, "disabled_by": null }, - { - "config_entries": [ - "9436e71647e64581a19a2cc8172f9a35" - ], - "connections": [ - [ - "mac", - "84:f3:eb:3b:77:30" - ] - ], - "identifiers": [], - "manufacturer": "espressif", - "model": "PLATFORMIO_D1_MINI", - "name": "inside_temp_humd", - "sw_version": "1.15.3 (Nov 15 2020, 07:10:38)", - "entry_type": null, - "id": "1883f8cbd6b548b992e9a1974008f81f", - "via_device_id": null, - "area_id": null, - "name_by_user": null, - "disabled_by": null - }, - { - "config_entries": [ - "cf5266d3fa4a4824850935818193ac48" - ], - "connections": [ - [ - "mac", - "84:f3:eb:3b:84:92" - ] - ], - "identifiers": [], - "manufacturer": "espressif", - "model": "PLATFORMIO_D1_MINI", - "name": "outside_temp_humd", - "sw_version": "1.15.3 (Dec 16 2020, 15:18:17)", - "entry_type": null, - "id": "207200b764c24bb2ac697f37d7c8b4e2", - "via_device_id": null, - "area_id": null, - "name_by_user": null, - "disabled_by": null - }, { "config_entries": [ "b7c6f2ecbb0d48ce83a92d218b4e129c" @@ -178,6 +134,50 @@ "area_id": null, "name_by_user": null, "disabled_by": null + }, + { + "config_entries": [ + "e3331a90c176db53203e617de248ec9e" + ], + "connections": [], + "identifiers": [ + [ + "mobile_app", + "61f299924dae5227" + ] + ], + "manufacturer": "LENOVO", + "model": "Lenovo TB-X606F", + "name": "Lenovo TB-X606F", + "sw_version": "29", + "entry_type": null, + "id": "156bac68252bf0e9b52c41c992b92676", + "via_device_id": null, + "area_id": null, + "name_by_user": null, + "disabled_by": null + }, + { + "config_entries": [ + "af77dd99c573b3a23fc24b2f1054b90c" + ], + "connections": [ + [ + "mac", + "84:f3:eb:3b:84:92" + ] + ], + "identifiers": [], + "manufacturer": "Tasmota", + "model": "Generic", + "name": "Tasmota", + "sw_version": "9.2.0", + "entry_type": null, + "id": "96f92e495500e6b51b8afbfe8544eb9a", + "via_device_id": null, + "area_id": null, + "name_by_user": null, + "disabled_by": null } ], "deleted_devices": [] diff --git a/.storage/core.entity_registry b/.storage/core.entity_registry index 1e18f25..6e1021b 100644 --- a/.storage/core.entity_registry +++ b/.storage/core.entity_registry @@ -258,23 +258,6 @@ "original_name": "700T1C", "original_icon": null }, - { - "entity_id": "sensor.outside_temperature_2", - "config_entry_id": "f2587c6a3ce34da5a1209b077a39d931", - "device_id": "93560a2f0c64414e8c1a69dbbf3bf97f", - "area_id": null, - "unique_id": "ESPsensoroutside_temperature", - "platform": "mqtt", - "name": null, - "icon": null, - "disabled_by": null, - "capabilities": {}, - "supported_features": 0, - "device_class": null, - "unit_of_measurement": "\u00b0C", - "original_name": "Outside Temperature", - "original_icon": "mdi:thermometer" - }, { "entity_id": "sensor.outside_humidity_2", "config_entry_id": "f2587c6a3ce34da5a1209b077a39d931", @@ -292,74 +275,6 @@ "original_name": "Outside Humidity", "original_icon": "mdi:water-percent" }, - { - "entity_id": "sensor.inside_temperature", - "config_entry_id": "9436e71647e64581a19a2cc8172f9a35", - "device_id": "1883f8cbd6b548b992e9a1974008f81f", - "area_id": null, - "unique_id": "inside_temp_humdsensorinside_temperature", - "platform": "esphome", - "name": null, - "icon": null, - "disabled_by": null, - "capabilities": {}, - "supported_features": 0, - "device_class": null, - "unit_of_measurement": "\u00b0C", - "original_name": "Inside Temperature", - "original_icon": "mdi:thermometer" - }, - { - "entity_id": "sensor.inside_humidity", - "config_entry_id": "9436e71647e64581a19a2cc8172f9a35", - "device_id": "1883f8cbd6b548b992e9a1974008f81f", - "area_id": null, - "unique_id": "inside_temp_humdsensorinside_humidity", - "platform": "esphome", - "name": null, - "icon": null, - "disabled_by": null, - "capabilities": {}, - "supported_features": 0, - "device_class": null, - "unit_of_measurement": "%", - "original_name": "Inside Humidity", - "original_icon": "mdi:water-percent" - }, - { - "entity_id": "sensor.outside_temperature", - "config_entry_id": "cf5266d3fa4a4824850935818193ac48", - "device_id": "207200b764c24bb2ac697f37d7c8b4e2", - "area_id": null, - "unique_id": "outside_temp_humdsensoroutside_temperature", - "platform": "esphome", - "name": null, - "icon": null, - "disabled_by": null, - "capabilities": {}, - "supported_features": 0, - "device_class": null, - "unit_of_measurement": "\u00b0C", - "original_name": "Outside Temperature", - "original_icon": "mdi:thermometer" - }, - { - "entity_id": "sensor.outside_humidity", - "config_entry_id": "cf5266d3fa4a4824850935818193ac48", - "device_id": "207200b764c24bb2ac697f37d7c8b4e2", - "area_id": null, - "unique_id": "outside_temp_humdsensoroutside_humidity", - "platform": "esphome", - "name": null, - "icon": null, - "disabled_by": null, - "capabilities": {}, - "supported_features": 0, - "device_class": null, - "unit_of_measurement": "%", - "original_name": "Outside Humidity", - "original_icon": "mdi:water-percent" - }, { "entity_id": "sensor.700t1c_battery_level", "config_entry_id": "2872c3dbbf1246c2b7aab8c616984183", @@ -1770,6 +1685,329 @@ "unit_of_measurement": "pending update(s)", "original_name": "hacs", "original_icon": "hacs:hacs" + }, + { + "entity_id": "device_tracker.lenovo_tb_x606f", + "config_entry_id": "e3331a90c176db53203e617de248ec9e", + "device_id": "156bac68252bf0e9b52c41c992b92676", + "area_id": null, + "unique_id": "61f299924dae5227", + "platform": "mobile_app", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": {}, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Lenovo TB-X606F", + "original_icon": null + }, + { + "entity_id": "sensor.lenovo_tb_x606f_battery_level", + "config_entry_id": "e3331a90c176db53203e617de248ec9e", + "device_id": "156bac68252bf0e9b52c41c992b92676", + "area_id": null, + "unique_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_battery_level", + "platform": "mobile_app", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": {}, + "supported_features": 0, + "device_class": "battery", + "unit_of_measurement": "%", + "original_name": "Lenovo TB-X606F Battery Level", + "original_icon": "mdi:battery-40" + }, + { + "entity_id": "sensor.lenovo_tb_x606f_battery_state", + "config_entry_id": "e3331a90c176db53203e617de248ec9e", + "device_id": "156bac68252bf0e9b52c41c992b92676", + "area_id": null, + "unique_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_battery_state", + "platform": "mobile_app", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": {}, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Lenovo TB-X606F Battery State", + "original_icon": "mdi:battery-minus" + }, + { + "entity_id": "binary_sensor.lenovo_tb_x606f_is_charging", + "config_entry_id": "e3331a90c176db53203e617de248ec9e", + "device_id": "156bac68252bf0e9b52c41c992b92676", + "area_id": null, + "unique_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_is_charging", + "platform": "mobile_app", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": {}, + "supported_features": 0, + "device_class": "plug", + "unit_of_measurement": null, + "original_name": "Lenovo TB-X606F Is Charging", + "original_icon": "mdi:power-plug-off" + }, + { + "entity_id": "sensor.lenovo_tb_x606f_charger_type", + "config_entry_id": "e3331a90c176db53203e617de248ec9e", + "device_id": "156bac68252bf0e9b52c41c992b92676", + "area_id": null, + "unique_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_charger_type", + "platform": "mobile_app", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": {}, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Lenovo TB-X606F Charger Type", + "original_icon": "mdi:power-plug" + }, + { + "entity_id": "sensor.lenovo_tb_x606f_battery_health", + "config_entry_id": "e3331a90c176db53203e617de248ec9e", + "device_id": "156bac68252bf0e9b52c41c992b92676", + "area_id": null, + "unique_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_battery_health", + "platform": "mobile_app", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": {}, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Lenovo TB-X606F Battery Health", + "original_icon": "mdi:battery-heart-variant" + }, + { + "entity_id": "input_number.stone_room_min_temp", + "config_entry_id": null, + "device_id": null, + "area_id": null, + "unique_id": "stone_room_min_temp", + "platform": "input_number", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": {}, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Stone Room Minimum Set Temperature", + "original_icon": null + }, + { + "entity_id": "sensor.tasmota_ip", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_status_sensor_status_sensor_status_ip", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Tasmota IP", + "original_icon": "mdi:ip-network" + }, + { + "entity_id": "sensor.tasmota_last_restart_time", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_status_sensor_status_sensor_last_restart_time", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": "timestamp", + "unit_of_measurement": null, + "original_name": "Tasmota Last Restart Time", + "original_icon": null + }, + { + "entity_id": "sensor.tasmota_wifi_connect_count", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_status_sensor_status_sensor_status_link_count", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Tasmota WiFi Connect Count", + "original_icon": "mdi:counter" + }, + { + "entity_id": "sensor.tasmota_mqtt_connect_count", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_status_sensor_status_sensor_status_mqtt_count", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Tasmota MQTT Connect Count", + "original_icon": "mdi:counter" + }, + { + "entity_id": "sensor.tasmota_restart_reason", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_status_sensor_status_sensor_status_restart_reason", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Tasmota Restart Reason", + "original_icon": "mdi:information-outline" + }, + { + "entity_id": "sensor.tasmota_rssi", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_status_sensor_status_sensor_status_rssi", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": "%", + "original_name": "Tasmota RSSI", + "original_icon": "mdi:access-point" + }, + { + "entity_id": "sensor.tasmota_signal", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_status_sensor_status_sensor_status_signal", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": "signal_strength", + "unit_of_measurement": "dB", + "original_name": "Tasmota Signal", + "original_icon": null + }, + { + "entity_id": "sensor.tasmota_ssid", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_status_sensor_status_sensor_status_ssid", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": "integration", + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "Tasmota SSID", + "original_icon": "mdi:access-point-network" + }, + { + "entity_id": "switch.wemosstoneroom", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_switch_relay_0", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": null, + "original_name": "wemosstoneroom", + "original_icon": null + }, + { + "entity_id": "sensor.tasmota_dht12_temperature", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_sensor_sensor_DHT12_Temperature", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": null, + "supported_features": 0, + "device_class": "temperature", + "unit_of_measurement": "\u00b0C", + "original_name": "Tasmota DHT12 Temperature", + "original_icon": null + }, + { + "entity_id": "sensor.tasmota_dht12_humidity", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_sensor_sensor_DHT12_Humidity", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": null, + "supported_features": 0, + "device_class": "humidity", + "unit_of_measurement": "%", + "original_name": "Tasmota DHT12 Humidity", + "original_icon": null + }, + { + "entity_id": "sensor.tasmota_dht12_dewpoint", + "config_entry_id": "af77dd99c573b3a23fc24b2f1054b90c", + "device_id": "96f92e495500e6b51b8afbfe8544eb9a", + "area_id": null, + "unique_id": "84F3EB3B8492_sensor_sensor_DHT12_DewPoint", + "platform": "tasmota", + "name": null, + "icon": null, + "disabled_by": null, + "capabilities": null, + "supported_features": 0, + "device_class": null, + "unit_of_measurement": "\u00b0C", + "original_name": "Tasmota DHT12 DewPoint", + "original_icon": "mdi:weather-rainy" } ] } diff --git a/.storage/core.restore_state b/.storage/core.restore_state index e1b4522..28be3f0 100644 --- a/.storage/core.restore_state +++ b/.storage/core.restore_state @@ -9,18 +9,361 @@ "attributes": { "editable": true, "id": "sysadmin", + "source": "person.sysadmin", "user_id": "99685dc45d9f40dc8183e11ce5128038", "friendly_name": "sysadmin" }, - "last_changed": "2020-12-18T05:17:54.331168+00:00", - "last_updated": "2020-12-18T05:17:56.976964+00:00", + "last_changed": "2021-01-01T18:56:18.793639+00:00", + "last_updated": "2021-01-01T18:56:18.793639+00:00", "context": { - "id": "17f6241f61119df207ebdedf9519647d", + "id": "99a95c3681f48633ddc13fc40adf626e", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_next_trigger", + "state": "00:00:00", + "attributes": { + "friendly_name": "Countdown to Next Scheduled Run", + "icon": "mdi:alarm" + }, + "last_changed": "2021-01-01T18:56:19.337254+00:00", + "last_updated": "2021-01-01T18:56:19.337254+00:00", + "context": { + "id": "4c16189beea03df5b0c56b322830c3e9", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_next_trigger_dt", + "state": "", + "attributes": { + "friendly_name": "Next Scheduled Run at", + "icon": "mdi:alarm" + }, + "last_changed": "2021-01-01T18:56:19.337317+00:00", + "last_updated": "2021-01-01T18:56:19.337317+00:00", + "context": { + "id": "9dbdf43e8cf5160adbb1d7772fd58540", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_next_schedule_name", + "state": "", + "attributes": { + "friendly_name": "Next Schedule to Run", + "icon": "mdi:calendar" + }, + "last_changed": "2021-01-01T18:56:19.337369+00:00", + "last_updated": "2021-01-01T18:56:19.337369+00:00", + "context": { + "id": "f52f400fcc063b49559444353a6e8e48", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_running_names", + "state": "", + "attributes": { + "friendly_name": "Zones Running Now", + "icon": "mdi:view-list" + }, + "last_changed": "2021-01-01T18:56:19.337464+00:00", + "last_updated": "2021-01-01T18:56:19.337464+00:00", + "context": { + "id": "1d0c5451b3573fbcc5b870675425300d", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_queue_names", + "state": "", + "attributes": { + "friendly_name": "Zones Queued to Run", + "icon": "mdi:view-list" + }, + "last_changed": "2021-01-01T18:56:19.337503+00:00", + "last_updated": "2021-01-01T18:56:19.337503+00:00", + "context": { + "id": "aaa24f9aa8b07ca4608090ba760d8c7d", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_1_schedule_countdown", + "state": "disabled", + "attributes": { + "icon": "mdi:timer-sand", + "friendly_name": "Countdown to Next Scheduled Run" + }, + "last_changed": "2021-01-01T18:56:19.337540+00:00", + "last_updated": "2021-01-01T18:56:19.337540+00:00", + "context": { + "id": "9104da4ba78963900409b75d253da569", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_1_schedule_next_dt", + "state": "disabled", + "attributes": { + "friendly_name": "Time of Next Scheduled Run", + "icon": "mdi:clock" + }, + "last_changed": "2021-01-01T18:56:19.337574+00:00", + "last_updated": "2021-01-01T18:56:19.337574+00:00", + "context": { + "id": "53ce04af67ca65a05d2039d74e2bc001", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_2_schedule_countdown", + "state": "disabled", + "attributes": { + "icon": "mdi:timer-sand", + "friendly_name": "Countdown to Next Scheduled Run" + }, + "last_changed": "2021-01-01T18:56:19.337609+00:00", + "last_updated": "2021-01-01T18:56:19.337609+00:00", + "context": { + "id": "31a3f1bb30341c49372c4fe9ab7bceb1", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_2_schedule_next_dt", + "state": "disabled", + "attributes": { + "friendly_name": "Time of Next Scheduled Run", + "icon": "mdi:clock" + }, + "last_changed": "2021-01-01T18:56:19.337641+00:00", + "last_updated": "2021-01-01T18:56:19.337641+00:00", + "context": { + "id": "952c0ec946ac66bf21ad6702a7a17e60", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_3_schedule_countdown", + "state": "disabled", + "attributes": { + "icon": "mdi:timer-sand", + "friendly_name": "Countdown to Next Scheduled Run" + }, + "last_changed": "2021-01-01T18:56:19.337674+00:00", + "last_updated": "2021-01-01T18:56:19.337674+00:00", + "context": { + "id": "332bdaa0d49489b633d87a36378085c1", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_3_schedule_next_dt", + "state": "disabled", + "attributes": { + "friendly_name": "Time of Next Scheduled Run", + "icon": "mdi:clock" + }, + "last_changed": "2021-01-01T18:56:19.337705+00:00", + "last_updated": "2021-01-01T18:56:19.337705+00:00", + "context": { + "id": "53be914a1a4b5b80b9d05cc3cf92e8e8", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_4_schedule_countdown", + "state": "disabled", + "attributes": { + "icon": "mdi:timer-sand", + "friendly_name": "Countdown to Next Scheduled Run" + }, + "last_changed": "2021-01-01T18:56:19.337744+00:00", + "last_updated": "2021-01-01T18:56:19.337744+00:00", + "context": { + "id": "25c5ec89f495be6d6cd671999767565b", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_4_schedule_next_dt", + "state": "disabled", + "attributes": { + "friendly_name": "Time of Next Scheduled Run", + "icon": "mdi:clock" + }, + "last_changed": "2021-01-01T18:56:19.337776+00:00", + "last_updated": "2021-01-01T18:56:19.337776+00:00", + "context": { + "id": "83ea8527272f150be89ce0c85247e9d8", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_5_schedule_countdown", + "state": "disabled", + "attributes": { + "icon": "mdi:timer-sand", + "friendly_name": "Countdown to Next Scheduled Run" + }, + "last_changed": "2021-01-01T18:56:19.337809+00:00", + "last_updated": "2021-01-01T18:56:19.337809+00:00", + "context": { + "id": "96c6fe221ed88f594accdf1dc2ee7eb6", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_5_schedule_next_dt", + "state": "disabled", + "attributes": { + "friendly_name": "Time of Next Scheduled Run", + "icon": "mdi:clock" + }, + "last_changed": "2021-01-01T18:56:19.337841+00:00", + "last_updated": "2021-01-01T18:56:19.337841+00:00", + "context": { + "id": "eb9ec7cb1104001e79ea52866facb4bc", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_6_schedule_countdown", + "state": "disabled", + "attributes": { + "icon": "mdi:timer-sand", + "friendly_name": "Countdown to Next Scheduled Run" + }, + "last_changed": "2021-01-01T18:56:19.337873+00:00", + "last_updated": "2021-01-01T18:56:19.337873+00:00", + "context": { + "id": "2b8a2976d7864fab988c971d3fc7a658", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_6_schedule_next_dt", + "state": "disabled", + "attributes": { + "friendly_name": "Time of Next Scheduled Run", + "icon": "mdi:clock" + }, + "last_changed": "2021-01-01T18:56:19.337905+00:00", + "last_updated": "2021-01-01T18:56:19.337905+00:00", + "context": { + "id": "43b89e7d61d820f5147458e2eb61e5f7", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_7_schedule_countdown", + "state": "disabled", + "attributes": { + "icon": "mdi:timer-sand", + "friendly_name": "Countdown to Next Scheduled Run" + }, + "last_changed": "2021-01-01T18:56:19.337938+00:00", + "last_updated": "2021-01-01T18:56:19.337938+00:00", + "context": { + "id": "db97b58e03221d3f954ad1d0a0b8134b", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "variable.irrigation_zone_7_schedule_next_dt", + "state": "disabled", + "attributes": { + "friendly_name": "Time of Next Scheduled Run", + "icon": "mdi:clock" + }, + "last_changed": "2021-01-01T18:56:19.337969+00:00", + "last_updated": "2021-01-01T18:56:19.337969+00:00", + "context": { + "id": "cd0acce849314d166d2145115cf4b20b", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -34,15 +377,15 @@ "friendly_name": "Repeat Every", "icon": "mdi:repeat" }, - "last_changed": "2020-12-18T05:17:54.949119+00:00", - "last_updated": "2020-12-18T05:17:54.949119+00:00", + "last_changed": "2021-01-01T18:56:19.338044+00:00", + "last_updated": "2021-01-01T18:56:19.338044+00:00", "context": { - "id": "2e32122c06e7444dfb872970ffa1bec0", + "id": "971995d6ec0375f2a23bdceae673d8a2", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -56,15 +399,15 @@ "friendly_name": "Repeat Every", "icon": "mdi:repeat" }, - "last_changed": "2020-12-18T05:17:54.949180+00:00", - "last_updated": "2020-12-18T05:17:54.949180+00:00", + "last_changed": "2021-01-01T18:56:19.338095+00:00", + "last_updated": "2021-01-01T18:56:19.338095+00:00", "context": { - "id": "578cd7dc7903f7900f82b9c41ad920c9", + "id": "63d7f76851a1806821985862aed25b7a", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -78,15 +421,15 @@ "friendly_name": "Repeat Every", "icon": "mdi:repeat" }, - "last_changed": "2020-12-18T05:17:54.949230+00:00", - "last_updated": "2020-12-18T05:17:54.949230+00:00", + "last_changed": "2021-01-01T18:56:19.338140+00:00", + "last_updated": "2021-01-01T18:56:19.338140+00:00", "context": { - "id": "283db67c0ca125a4d1bfd57907ad6468", + "id": "8ff39329c5323791e5deaa9a166555b8", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -100,15 +443,15 @@ "friendly_name": "Repeat Every", "icon": "mdi:repeat" }, - "last_changed": "2020-12-18T05:17:54.949277+00:00", - "last_updated": "2020-12-18T05:17:54.949277+00:00", + "last_changed": "2021-01-01T18:56:19.338232+00:00", + "last_updated": "2021-01-01T18:56:19.338232+00:00", "context": { - "id": "3ad9b93923b9e8b32901f799d6d4263c", + "id": "741f5c867973aa3d99c6ada5c277fe2f", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -122,15 +465,15 @@ "friendly_name": "Repeat Every", "icon": "mdi:repeat" }, - "last_changed": "2020-12-18T05:17:54.949322+00:00", - "last_updated": "2020-12-18T05:17:54.949322+00:00", + "last_changed": "2021-01-01T18:56:19.338277+00:00", + "last_updated": "2021-01-01T18:56:19.338277+00:00", "context": { - "id": "229ad9582151606637060eba8ee23f2f", + "id": "cb6f3f3366e393e4ac36773c073f6a78", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -144,15 +487,15 @@ "friendly_name": "Repeat Every", "icon": "mdi:repeat" }, - "last_changed": "2020-12-18T05:17:54.949367+00:00", - "last_updated": "2020-12-18T05:17:54.949367+00:00", + "last_changed": "2021-01-01T18:56:19.338320+00:00", + "last_updated": "2021-01-01T18:56:19.338320+00:00", "context": { - "id": "7ccd1a8b6b8c86be9e94032834ab11fe", + "id": "a25fcec661881d1e305c72aae749d607", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -166,670 +509,15 @@ "friendly_name": "Repeat Every", "icon": "mdi:repeat" }, - "last_changed": "2020-12-18T05:17:54.949411+00:00", - "last_updated": "2020-12-18T05:17:54.949411+00:00", + "last_changed": "2021-01-01T18:56:19.338362+00:00", + "last_updated": "2021-01-01T18:56:19.338362+00:00", "context": { - "id": "498ff249040f62d5049cd167d4d74ace", + "id": "2a353b7b3e2990980777c741fe3bda12", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_next_trigger", - "state": "00:00:00", - "attributes": { - "friendly_name": "Countdown to Next Scheduled Run", - "icon": "mdi:alarm" - }, - "last_changed": "2020-12-18T05:17:54.959231+00:00", - "last_updated": "2020-12-18T05:17:54.959231+00:00", - "context": { - "id": "725971c458b413a1095d32fed45b90e3", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_next_trigger_dt", - "state": "", - "attributes": { - "friendly_name": "Next Scheduled Run at", - "icon": "mdi:alarm" - }, - "last_changed": "2020-12-18T05:17:54.959293+00:00", - "last_updated": "2020-12-18T05:17:54.959293+00:00", - "context": { - "id": "14cacdbf5cffaf4967e94ca72398124b", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_next_schedule_name", - "state": "", - "attributes": { - "friendly_name": "Next Schedule to Run", - "icon": "mdi:calendar" - }, - "last_changed": "2020-12-18T05:17:54.959338+00:00", - "last_updated": "2020-12-18T05:17:54.959338+00:00", - "context": { - "id": "6a647cfa4d0c05c730c49d57a71e8deb", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_running_names", - "state": "", - "attributes": { - "friendly_name": "Zones Running Now", - "icon": "mdi:view-list" - }, - "last_changed": "2020-12-18T05:17:54.959392+00:00", - "last_updated": "2020-12-18T05:17:54.959392+00:00", - "context": { - "id": "2337d6132f74bc2860e32ea8cfc0e00e", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_queue_names", - "state": "", - "attributes": { - "friendly_name": "Zones Queued to Run", - "icon": "mdi:view-list" - }, - "last_changed": "2020-12-18T05:17:54.959443+00:00", - "last_updated": "2020-12-18T05:17:54.959443+00:00", - "context": { - "id": "fce29098ec41c086b95c39cc0df0fde7", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_1_schedule_countdown", - "state": "disabled", - "attributes": { - "icon": "mdi:timer-sand", - "friendly_name": "Countdown to Next Scheduled Run" - }, - "last_changed": "2020-12-18T05:17:54.959482+00:00", - "last_updated": "2020-12-18T05:17:54.959482+00:00", - "context": { - "id": "1b9e07f42a6f283baf9a87fa8e01e00e", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_1_schedule_next_dt", - "state": "disabled", - "attributes": { - "friendly_name": "Time of Next Scheduled Run", - "icon": "mdi:clock" - }, - "last_changed": "2020-12-18T05:17:54.959525+00:00", - "last_updated": "2020-12-18T05:17:54.959525+00:00", - "context": { - "id": "c7f2feb6fd6a42c649033940dcd25715", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_2_schedule_countdown", - "state": "disabled", - "attributes": { - "icon": "mdi:timer-sand", - "friendly_name": "Countdown to Next Scheduled Run" - }, - "last_changed": "2020-12-18T05:17:54.959564+00:00", - "last_updated": "2020-12-18T05:17:54.959564+00:00", - "context": { - "id": "156834a3be0ea9d51bbe41c1fa72dd62", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_2_schedule_next_dt", - "state": "disabled", - "attributes": { - "friendly_name": "Time of Next Scheduled Run", - "icon": "mdi:clock" - }, - "last_changed": "2020-12-18T05:17:54.959600+00:00", - "last_updated": "2020-12-18T05:17:54.959600+00:00", - "context": { - "id": "08fdc8eb1ea43412944ec15e8dbddac5", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_3_schedule_countdown", - "state": "disabled", - "attributes": { - "icon": "mdi:timer-sand", - "friendly_name": "Countdown to Next Scheduled Run" - }, - "last_changed": "2020-12-18T05:17:54.959637+00:00", - "last_updated": "2020-12-18T05:17:54.959637+00:00", - "context": { - "id": "8d899ea654151440e0db32f5861ea077", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_3_schedule_next_dt", - "state": "disabled", - "attributes": { - "friendly_name": "Time of Next Scheduled Run", - "icon": "mdi:clock" - }, - "last_changed": "2020-12-18T05:17:54.959674+00:00", - "last_updated": "2020-12-18T05:17:54.959674+00:00", - "context": { - "id": "3cd0b15c9cecd439a26a851f9f547cd5", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_4_schedule_countdown", - "state": "disabled", - "attributes": { - "icon": "mdi:timer-sand", - "friendly_name": "Countdown to Next Scheduled Run" - }, - "last_changed": "2020-12-18T05:17:54.959711+00:00", - "last_updated": "2020-12-18T05:17:54.959711+00:00", - "context": { - "id": "6d42ea9db1e89738199b3a860cd1cb63", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_4_schedule_next_dt", - "state": "disabled", - "attributes": { - "friendly_name": "Time of Next Scheduled Run", - "icon": "mdi:clock" - }, - "last_changed": "2020-12-18T05:17:54.959747+00:00", - "last_updated": "2020-12-18T05:17:54.959747+00:00", - "context": { - "id": "2ea1263efbada02421267e7a5737e1e2", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_5_schedule_countdown", - "state": "disabled", - "attributes": { - "icon": "mdi:timer-sand", - "friendly_name": "Countdown to Next Scheduled Run" - }, - "last_changed": "2020-12-18T05:17:54.959783+00:00", - "last_updated": "2020-12-18T05:17:54.959783+00:00", - "context": { - "id": "39c4269e109a79add400d1a9b59854af", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_5_schedule_next_dt", - "state": "disabled", - "attributes": { - "friendly_name": "Time of Next Scheduled Run", - "icon": "mdi:clock" - }, - "last_changed": "2020-12-18T05:17:54.959820+00:00", - "last_updated": "2020-12-18T05:17:54.959820+00:00", - "context": { - "id": "6c57e203884f16b18488346251950d59", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_6_schedule_countdown", - "state": "disabled", - "attributes": { - "icon": "mdi:timer-sand", - "friendly_name": "Countdown to Next Scheduled Run" - }, - "last_changed": "2020-12-18T05:17:54.959858+00:00", - "last_updated": "2020-12-18T05:17:54.959858+00:00", - "context": { - "id": "b019d74fd1add9e8b7c525bf3a58ef5f", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_6_schedule_next_dt", - "state": "disabled", - "attributes": { - "friendly_name": "Time of Next Scheduled Run", - "icon": "mdi:clock" - }, - "last_changed": "2020-12-18T05:17:54.959893+00:00", - "last_updated": "2020-12-18T05:17:54.959893+00:00", - "context": { - "id": "687021d24aabde4f1ae65f0c7dc78fc9", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_7_schedule_countdown", - "state": "disabled", - "attributes": { - "icon": "mdi:timer-sand", - "friendly_name": "Countdown to Next Scheduled Run" - }, - "last_changed": "2020-12-18T05:17:54.959930+00:00", - "last_updated": "2020-12-18T05:17:54.959930+00:00", - "context": { - "id": "aa5e04fab899c92ee8feae6ac161c5f3", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "variable.irrigation_zone_7_schedule_next_dt", - "state": "disabled", - "attributes": { - "friendly_name": "Time of Next Scheduled Run", - "icon": "mdi:clock" - }, - "last_changed": "2020-12-18T05:17:54.959969+00:00", - "last_updated": "2020-12-18T05:17:54.959969+00:00", - "context": { - "id": "af9361d20174b35f259fbab5cd80f0e4", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_pump", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Well Pump", - "icon": "mdi:water-pump" - }, - "last_changed": "2020-12-18T05:17:54.962316+00:00", - "last_updated": "2020-12-18T05:17:54.962316+00:00", - "context": { - "id": "0fd708a27b68e1e5995adde91a6abbb8", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_enabled", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Irrigation System Enabled", - "icon": "mdi:water" - }, - "last_changed": "2020-12-18T05:17:54.962399+00:00", - "last_updated": "2020-12-18T05:17:54.962399+00:00", - "context": { - "id": "2d6137085650f3bc302d1689f4b280a1", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_1_schedule_enabled", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Schedule (enabled/disabled)" - }, - "last_changed": "2020-12-18T05:17:54.962461+00:00", - "last_updated": "2020-12-18T05:17:54.962461+00:00", - "context": { - "id": "fe0a9d1a5b907794c523f69226a5882c", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_1_state", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Zone State (manual override)" - }, - "last_changed": "2020-12-18T05:17:54.962519+00:00", - "last_updated": "2020-12-18T05:17:54.962519+00:00", - "context": { - "id": "1037c945aeb41bbeb768790b50c5cc0d", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_2_schedule_enabled", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Schedule (enabled/disabled)" - }, - "last_changed": "2020-12-18T05:17:54.962580+00:00", - "last_updated": "2020-12-18T05:17:54.962580+00:00", - "context": { - "id": "dff6185ba690fa5f6aaaa98e2512b857", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_2_state", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Zone State (manual override)" - }, - "last_changed": "2020-12-18T05:17:54.962639+00:00", - "last_updated": "2020-12-18T05:17:54.962639+00:00", - "context": { - "id": "3c7f0f3bc2c937e4615adef81c3cd039", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_3_schedule_enabled", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Schedule (enabled/disabled)" - }, - "last_changed": "2020-12-18T05:17:54.962701+00:00", - "last_updated": "2020-12-18T05:17:54.962701+00:00", - "context": { - "id": "f9cb68623b255284f705b178a9e5ce8a", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_3_state", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Zone State (manual override)" - }, - "last_changed": "2020-12-18T05:17:54.962756+00:00", - "last_updated": "2020-12-18T05:17:54.962756+00:00", - "context": { - "id": "b620935bca56cb766cbe15fbb11483bb", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_4_schedule_enabled", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Schedule (enabled/disabled)" - }, - "last_changed": "2020-12-18T05:17:54.962810+00:00", - "last_updated": "2020-12-18T05:17:54.962810+00:00", - "context": { - "id": "02099eef5b96b8c8179c6a1dd05dcdfc", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_4_state", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Zone State (manual override)" - }, - "last_changed": "2020-12-18T05:17:54.962864+00:00", - "last_updated": "2020-12-18T05:17:54.962864+00:00", - "context": { - "id": "566777e368ebd2161989500148f5c80f", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_5_schedule_enabled", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Schedule (enabled/disabled)" - }, - "last_changed": "2020-12-18T05:17:54.962917+00:00", - "last_updated": "2020-12-18T05:17:54.962917+00:00", - "context": { - "id": "cc10fcb93b91da345163a68e2dbd1df4", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_5_state", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Zone State (manual override)" - }, - "last_changed": "2020-12-18T05:17:54.962969+00:00", - "last_updated": "2020-12-18T05:17:54.962969+00:00", - "context": { - "id": "d4d028e1813bd93ee43b94275d5d83bc", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_6_schedule_enabled", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Schedule (enabled/disabled)" - }, - "last_changed": "2020-12-18T05:17:54.963023+00:00", - "last_updated": "2020-12-18T05:17:54.963023+00:00", - "context": { - "id": "e9c30505728cc9e0dbaaf13958017961", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_6_state", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Zone State (manual override)" - }, - "last_changed": "2020-12-18T05:17:54.963078+00:00", - "last_updated": "2020-12-18T05:17:54.963078+00:00", - "context": { - "id": "0026d3cbc4a2bafba8807f53820818ca", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_7_schedule_enabled", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Schedule (enabled/disabled)" - }, - "last_changed": "2020-12-18T05:17:54.963133+00:00", - "last_updated": "2020-12-18T05:17:54.963133+00:00", - "context": { - "id": "07e1430b970f901932a4e752e8c1b5f6", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_boolean.irrigation_zone_7_state", - "state": "off", - "attributes": { - "editable": false, - "friendly_name": "Zone State (manual override)" - }, - "last_changed": "2020-12-18T05:17:54.963187+00:00", - "last_updated": "2020-12-18T05:17:54.963187+00:00", - "context": { - "id": "8b30df43d94fcc5d94bfad23ade095d9", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" - }, - { - "state": { - "entity_id": "input_datetime.security_lights_interior_time_off", - "state": "22:30:00", - "attributes": { - "editable": false, - "has_date": false, - "has_time": true, - "hour": 22, - "minute": 30, - "second": 0, - "timestamp": 81000 - }, - "last_changed": "2020-12-18T05:17:54.970235+00:00", - "last_updated": "2020-12-18T05:17:54.970235+00:00", - "context": { - "id": "de72231b35d5400c8b53d561bd18c3b8", - "parent_id": null, - "user_id": null - } - }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -846,15 +534,38 @@ "friendly_name": "Fan On Set Temperature (C)", "icon": "mdi:target" }, - "last_changed": "2020-12-18T05:17:54.970928+00:00", - "last_updated": "2020-12-18T05:17:54.970928+00:00", + "last_changed": "2021-01-01T18:56:19.380302+00:00", + "last_updated": "2021-01-01T18:56:19.380302+00:00", "context": { - "id": "fbb9fe312c1d46e50fbc6ffdcd35a825", + "id": "514230ace07cc7cdd6b38971f8810616", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_number.stone_room_min_temp", + "state": "37.0", + "attributes": { + "initial": null, + "editable": false, + "min": 34.0, + "max": 50.0, + "step": 1.0, + "mode": "box", + "friendly_name": "Stone Room Minimum Set Temperature" + }, + "last_changed": "2021-01-01T18:56:19.380381+00:00", + "last_updated": "2021-01-01T18:56:19.380381+00:00", + "context": { + "id": "2a6dc90e4a9a60e7cbd023f5a52f77e4", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -870,15 +581,15 @@ "friendly_name": "Duration in minutes", "icon": "mdi:timer-sand" }, - "last_changed": "2020-12-18T05:17:54.971005+00:00", - "last_updated": "2020-12-18T05:17:54.971005+00:00", + "last_changed": "2021-01-01T18:56:19.380441+00:00", + "last_updated": "2021-01-01T18:56:19.380441+00:00", "context": { - "id": "9b3a7d5e7326e9da572f45f1a6369ac7", + "id": "b364d34c272a1fcfc4b61005431a6a35", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -894,15 +605,15 @@ "friendly_name": "Hour of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971048+00:00", - "last_updated": "2020-12-18T05:17:54.971048+00:00", + "last_changed": "2021-01-01T18:56:19.380482+00:00", + "last_updated": "2021-01-01T18:56:19.380482+00:00", "context": { - "id": "a2b5bd473f0c6c8f6c21f485079f6508", + "id": "39b9184e2c6a7cfbdf96294e827690ce", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -918,15 +629,15 @@ "friendly_name": "Minute of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971086+00:00", - "last_updated": "2020-12-18T05:17:54.971086+00:00", + "last_changed": "2021-01-01T18:56:19.380524+00:00", + "last_updated": "2021-01-01T18:56:19.380524+00:00", "context": { - "id": "ac54261fb31bb0799c20cea72ee64221", + "id": "853c5c021dfd36721ce8c4eeb8745f27", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -942,15 +653,15 @@ "friendly_name": "Duration in minutes", "icon": "mdi:timer-sand" }, - "last_changed": "2020-12-18T05:17:54.971139+00:00", - "last_updated": "2020-12-18T05:17:54.971139+00:00", + "last_changed": "2021-01-01T18:56:19.380576+00:00", + "last_updated": "2021-01-01T18:56:19.380576+00:00", "context": { - "id": "1641ea859ece283d4378c010aa24e69d", + "id": "4292da93a7271c2e13f433da42e6c6a6", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -966,15 +677,15 @@ "friendly_name": "Hour of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971176+00:00", - "last_updated": "2020-12-18T05:17:54.971176+00:00", + "last_changed": "2021-01-01T18:56:19.380613+00:00", + "last_updated": "2021-01-01T18:56:19.380613+00:00", "context": { - "id": "1f21bc86130517a142f062340ff1e75a", + "id": "3afa2669795f836cc7644b3239ac4fc6", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -990,15 +701,15 @@ "friendly_name": "Minute of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971210+00:00", - "last_updated": "2020-12-18T05:17:54.971210+00:00", + "last_changed": "2021-01-01T18:56:19.380647+00:00", + "last_updated": "2021-01-01T18:56:19.380647+00:00", "context": { - "id": "6cdff65eb12cebd03dc95e2056c9e87b", + "id": "79b09b33a264d32763a712ed59f94962", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1014,15 +725,15 @@ "friendly_name": "Duration in minutes", "icon": "mdi:timer-sand" }, - "last_changed": "2020-12-18T05:17:54.971259+00:00", - "last_updated": "2020-12-18T05:17:54.971259+00:00", + "last_changed": "2021-01-01T18:56:19.380695+00:00", + "last_updated": "2021-01-01T18:56:19.380695+00:00", "context": { - "id": "3595792adc14128855faded7f7b24ea8", + "id": "0aa31bb5bab164788d9650fdc544deaf", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1038,15 +749,15 @@ "friendly_name": "Hour of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971295+00:00", - "last_updated": "2020-12-18T05:17:54.971295+00:00", + "last_changed": "2021-01-01T18:56:19.380730+00:00", + "last_updated": "2021-01-01T18:56:19.380730+00:00", "context": { - "id": "c73e671d1c40e42550a2d13a6368742d", + "id": "f51c34e7a2fe3581249a5f45c08ae72b", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1062,15 +773,15 @@ "friendly_name": "Minute of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971329+00:00", - "last_updated": "2020-12-18T05:17:54.971329+00:00", + "last_changed": "2021-01-01T18:56:19.380763+00:00", + "last_updated": "2021-01-01T18:56:19.380763+00:00", "context": { - "id": "7c803c2bf81464ed1b3befaaa53d37d1", + "id": "eb36e59ec9b3d851fb652709c7f21e4d", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1086,15 +797,15 @@ "friendly_name": "Duration in minutes", "icon": "mdi:timer-sand" }, - "last_changed": "2020-12-18T05:17:54.971378+00:00", - "last_updated": "2020-12-18T05:17:54.971378+00:00", + "last_changed": "2021-01-01T18:56:19.380811+00:00", + "last_updated": "2021-01-01T18:56:19.380811+00:00", "context": { - "id": "5d2e87c8755e575f829babc978416219", + "id": "0ed264943c686e1e44fb86ba6454582d", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1110,15 +821,15 @@ "friendly_name": "Hour of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971421+00:00", - "last_updated": "2020-12-18T05:17:54.971421+00:00", + "last_changed": "2021-01-01T18:56:19.380847+00:00", + "last_updated": "2021-01-01T18:56:19.380847+00:00", "context": { - "id": "f1281f152c1673d06147b1c13b61f307", + "id": "c86aa6622bdd23678bf563cce5304c3a", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1134,15 +845,15 @@ "friendly_name": "Minute of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971456+00:00", - "last_updated": "2020-12-18T05:17:54.971456+00:00", + "last_changed": "2021-01-01T18:56:19.380880+00:00", + "last_updated": "2021-01-01T18:56:19.380880+00:00", "context": { - "id": "a1d690255230b79f60166d7635f84654", + "id": "22c1282b75671fdd2afa8d19bdc7c7ad", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1158,15 +869,15 @@ "friendly_name": "Duration in minutes", "icon": "mdi:timer-sand" }, - "last_changed": "2020-12-18T05:17:54.971505+00:00", - "last_updated": "2020-12-18T05:17:54.971505+00:00", + "last_changed": "2021-01-01T18:56:19.380927+00:00", + "last_updated": "2021-01-01T18:56:19.380927+00:00", "context": { - "id": "4a8bebbac744883b3399a430ab694037", + "id": "c7d1cce709e4f17d73028aaf9f74674f", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1182,15 +893,15 @@ "friendly_name": "Hour of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971541+00:00", - "last_updated": "2020-12-18T05:17:54.971541+00:00", + "last_changed": "2021-01-01T18:56:19.380962+00:00", + "last_updated": "2021-01-01T18:56:19.380962+00:00", "context": { - "id": "0b4e61f5d2c953800a1d731e8b4d72ec", + "id": "e7a2c6a14bca5cb1edf835d75270b073", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1206,15 +917,15 @@ "friendly_name": "Minute of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971576+00:00", - "last_updated": "2020-12-18T05:17:54.971576+00:00", + "last_changed": "2021-01-01T18:56:19.380995+00:00", + "last_updated": "2021-01-01T18:56:19.380995+00:00", "context": { - "id": "36c124917f969d8c9b38dd09e2efc9a3", + "id": "7bed6e9a13f1ee02905d2a8c51ef2c6e", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1230,15 +941,15 @@ "friendly_name": "Duration in minutes", "icon": "mdi:timer-sand" }, - "last_changed": "2020-12-18T05:17:54.971622+00:00", - "last_updated": "2020-12-18T05:17:54.971622+00:00", + "last_changed": "2021-01-01T18:56:19.381041+00:00", + "last_updated": "2021-01-01T18:56:19.381041+00:00", "context": { - "id": "b8d33d045ba20fcad969aa6c70355e81", + "id": "a75554290eb5c9156b1ba0ed9b1f584f", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1254,15 +965,15 @@ "friendly_name": "Hour of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971657+00:00", - "last_updated": "2020-12-18T05:17:54.971657+00:00", + "last_changed": "2021-01-01T18:56:19.381075+00:00", + "last_updated": "2021-01-01T18:56:19.381075+00:00", "context": { - "id": "4d742d40cfe8599819053e573e1425f9", + "id": "97f8f749fecc3a8a9536903818758681", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1278,15 +989,15 @@ "friendly_name": "Minute of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971690+00:00", - "last_updated": "2020-12-18T05:17:54.971690+00:00", + "last_changed": "2021-01-01T18:56:19.381108+00:00", + "last_updated": "2021-01-01T18:56:19.381108+00:00", "context": { - "id": "6c2d6a8e49367b7fdf9f7dc0246ba3cc", + "id": "2a3170b4e217716534750233db4b02b4", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1302,15 +1013,15 @@ "friendly_name": "Duration in minutes", "icon": "mdi:timer-sand" }, - "last_changed": "2020-12-18T05:17:54.971737+00:00", - "last_updated": "2020-12-18T05:17:54.971737+00:00", + "last_changed": "2021-01-01T18:56:19.381154+00:00", + "last_updated": "2021-01-01T18:56:19.381154+00:00", "context": { - "id": "3e7280d07d951128d8d71a1924a1301b", + "id": "e9e943c1b6da80709f29143b4f1a209d", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1326,15 +1037,15 @@ "friendly_name": "Hour of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971771+00:00", - "last_updated": "2020-12-18T05:17:54.971771+00:00", + "last_changed": "2021-01-01T18:56:19.381188+00:00", + "last_updated": "2021-01-01T18:56:19.381188+00:00", "context": { - "id": "523be4fee3e6e3bea4e4807fe9176aaa", + "id": "dd633a8148953c7ed7ba8c69e8275129", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1350,76 +1061,389 @@ "friendly_name": "Minute of Day", "icon": "mdi:clock" }, - "last_changed": "2020-12-18T05:17:54.971804+00:00", - "last_updated": "2020-12-18T05:17:54.971804+00:00", + "last_changed": "2021-01-01T18:56:19.381221+00:00", + "last_updated": "2021-01-01T18:56:19.381221+00:00", "context": { - "id": "431abf6f03ebdd22712b0dd3223cabfe", + "id": "e0e34901712fc039dacb1558d7b805df", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_pump", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Well Pump", + "icon": "mdi:water-pump" + }, + "last_changed": "2021-01-01T18:56:19.382085+00:00", + "last_updated": "2021-01-01T18:56:19.382085+00:00", + "context": { + "id": "7da77943bb36ad4a9d3ad7209c72d259", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_enabled", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Irrigation System Enabled", + "icon": "mdi:water" + }, + "last_changed": "2021-01-01T18:56:19.382150+00:00", + "last_updated": "2021-01-01T18:56:19.382150+00:00", + "context": { + "id": "fc129cd1b0c051284c03923b3221d3b4", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_1_schedule_enabled", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Schedule (enabled/disabled)" + }, + "last_changed": "2021-01-01T18:56:19.382260+00:00", + "last_updated": "2021-01-01T18:56:19.382260+00:00", + "context": { + "id": "2b206df20264b99131ce0cae0b6dac72", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_1_state", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Zone State (manual override)" + }, + "last_changed": "2021-01-01T18:56:19.382312+00:00", + "last_updated": "2021-01-01T18:56:19.382312+00:00", + "context": { + "id": "e137d0bb59a421ea509dcbb722bf34a9", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_2_schedule_enabled", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Schedule (enabled/disabled)" + }, + "last_changed": "2021-01-01T18:56:19.382370+00:00", + "last_updated": "2021-01-01T18:56:19.382370+00:00", + "context": { + "id": "30f57d63f51bd0a8f3a7d6feb1157a59", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_2_state", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Zone State (manual override)" + }, + "last_changed": "2021-01-01T18:56:19.382437+00:00", + "last_updated": "2021-01-01T18:56:19.382437+00:00", + "context": { + "id": "ab0a1084e20be804b5dfe7e410060058", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_3_schedule_enabled", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Schedule (enabled/disabled)" + }, + "last_changed": "2021-01-01T18:56:19.382496+00:00", + "last_updated": "2021-01-01T18:56:19.382496+00:00", + "context": { + "id": "407e135e14917aed43ccba3cbdf2d27b", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_3_state", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Zone State (manual override)" + }, + "last_changed": "2021-01-01T18:56:19.382569+00:00", + "last_updated": "2021-01-01T18:56:19.382569+00:00", + "context": { + "id": "2eadfd0ffadba50bcf2798ab8970ef62", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_4_schedule_enabled", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Schedule (enabled/disabled)" + }, + "last_changed": "2021-01-01T18:56:19.382625+00:00", + "last_updated": "2021-01-01T18:56:19.382625+00:00", + "context": { + "id": "a5f0b49e041c2613885ffcf66521e410", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_4_state", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Zone State (manual override)" + }, + "last_changed": "2021-01-01T18:56:19.382672+00:00", + "last_updated": "2021-01-01T18:56:19.382672+00:00", + "context": { + "id": "ece91ee61d2a7acb09728dffcee46279", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_5_schedule_enabled", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Schedule (enabled/disabled)" + }, + "last_changed": "2021-01-01T18:56:19.382718+00:00", + "last_updated": "2021-01-01T18:56:19.382718+00:00", + "context": { + "id": "123a7d872f5217bec8ba3866ebb46251", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_5_state", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Zone State (manual override)" + }, + "last_changed": "2021-01-01T18:56:19.382764+00:00", + "last_updated": "2021-01-01T18:56:19.382764+00:00", + "context": { + "id": "9b823b797654a2732a63559343e830d9", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_6_schedule_enabled", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Schedule (enabled/disabled)" + }, + "last_changed": "2021-01-01T18:56:19.382810+00:00", + "last_updated": "2021-01-01T18:56:19.382810+00:00", + "context": { + "id": "a98fe0b7f9a3920f3a5367c27b885fcd", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_6_state", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Zone State (manual override)" + }, + "last_changed": "2021-01-01T18:56:19.382856+00:00", + "last_updated": "2021-01-01T18:56:19.382856+00:00", + "context": { + "id": "d6618fdfb7a65d2feddb9befdad14a17", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_7_schedule_enabled", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Schedule (enabled/disabled)" + }, + "last_changed": "2021-01-01T18:56:19.382901+00:00", + "last_updated": "2021-01-01T18:56:19.382901+00:00", + "context": { + "id": "82d8036936787230e5593d66fe02d8e2", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_boolean.irrigation_zone_7_state", + "state": "off", + "attributes": { + "editable": false, + "friendly_name": "Zone State (manual override)" + }, + "last_changed": "2021-01-01T18:56:19.382951+00:00", + "last_updated": "2021-01-01T18:56:19.382951+00:00", + "context": { + "id": "74d52aef666a2b6e70708ee6572c9d3a", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "input_datetime.security_lights_interior_time_off", + "state": "22:30:00", + "attributes": { + "editable": false, + "has_date": false, + "has_time": true, + "hour": 22, + "minute": 30, + "second": 0, + "timestamp": 81000 + }, + "last_changed": "2021-01-01T18:56:19.383051+00:00", + "last_updated": "2021-01-01T18:56:19.383051+00:00", + "context": { + "id": "5c3c08f7387b0f3579056c03de4a8698", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { "entity_id": "automation.system_set_custom_theme_at_startup", "state": "on", "attributes": { - "last_triggered": "2020-12-18T05:17:57.026979+00:00", + "last_triggered": "2021-01-01T17:07:08.682628+00:00", "mode": "single", "current": 0, "id": "themestartup", "friendly_name": "System - Set Custom Theme at Startup" }, - "last_changed": "2020-12-18T05:17:55.242289+00:00", - "last_updated": "2020-12-18T05:17:57.028823+00:00", + "last_changed": "2021-01-01T18:56:19.536980+00:00", + "last_updated": "2021-01-01T18:56:19.536980+00:00", "context": { - "id": "62231eb719e1e214ab0e50c2670bdb07", + "id": "f10a267a5305844b50e01434e3755f11", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { "entity_id": "automation.restart_notification", "state": "on", "attributes": { - "last_triggered": "2020-12-18T05:17:57.027100+00:00", + "last_triggered": "2021-01-01T17:07:08.682755+00:00", "mode": "single", "current": 0, "friendly_name": "Restart Notification" }, - "last_changed": "2020-12-18T05:17:55.242894+00:00", - "last_updated": "2020-12-18T05:18:00.762974+00:00", + "last_changed": "2021-01-01T18:56:19.537091+00:00", + "last_updated": "2021-01-01T18:56:19.537091+00:00", "context": { - "id": "63bc6bfec1715b0f19cf4a3a4da50c40", + "id": "1aa23358b4852d0f42720102df135cd5", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { "entity_id": "automation.closet_fan_on_set_temperature_slider", "state": "on", "attributes": { - "last_triggered": "2020-12-18T17:17:56.911373+00:00", + "last_triggered": "2021-01-01T18:56:02.955127+00:00", "mode": "single", "current": 0, "friendly_name": "Closet Fan On Set Temperature slider" }, - "last_changed": "2020-12-18T05:17:55.243006+00:00", - "last_updated": "2020-12-18T17:17:56.913542+00:00", + "last_changed": "2021-01-01T18:56:19.537183+00:00", + "last_updated": "2021-01-01T18:56:19.537183+00:00", "context": { - "id": "f2b88552c8e439bb37ec2962ad27c71f", + "id": "a2e33add46909d5a6e5aec191ad77516", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1431,75 +1455,75 @@ "current": 0, "friendly_name": "Closet Fan Temp Slider Moved" }, - "last_changed": "2020-12-18T05:17:55.243104+00:00", - "last_updated": "2020-12-18T05:17:55.243104+00:00", + "last_changed": "2021-01-01T18:56:19.537284+00:00", + "last_updated": "2021-01-01T18:56:19.537284+00:00", "context": { - "id": "ae33f3da21c7845b7e599f6a795e6e47", + "id": "95e32d5daa49e11ada34633c100d765e", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { "entity_id": "automation.security_lights_interior_time_off", "state": "on", "attributes": { - "last_triggered": "2020-12-18T06:30:00.013043+00:00", + "last_triggered": "2021-01-01T06:30:00.011115+00:00", "mode": "single", "current": 0, "friendly_name": "security_lights_interior_time_off" }, - "last_changed": "2020-12-18T05:17:55.243204+00:00", - "last_updated": "2020-12-18T06:30:00.016998+00:00", + "last_changed": "2021-01-01T18:56:19.537372+00:00", + "last_updated": "2021-01-01T18:56:19.537372+00:00", "context": { - "id": "f04f90602160602038fc358f4a9f51fa", - "parent_id": "6a97937f16b939ba4bd4fd01f75fab41", + "id": "6c5434cec6911c244e53b599dc259108", + "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { "entity_id": "automation.security_lights_interior_time_on", "state": "on", "attributes": { - "last_triggered": null, + "last_triggered": "2020-12-31T23:39:30.005155+00:00", "mode": "single", "current": 0, "friendly_name": "security_lights_interior_time_on" }, - "last_changed": "2020-12-18T05:17:55.243294+00:00", - "last_updated": "2020-12-18T05:17:55.243294+00:00", + "last_changed": "2021-01-01T18:56:19.537457+00:00", + "last_updated": "2021-01-01T18:56:19.537457+00:00", "context": { - "id": "304099074057b4bfd739ad3c82c641f4", + "id": "121c40c3cb4b1aa4e60cd19701d85e45", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { "entity_id": "automation.power_state_on_ha_start_up", "state": "on", "attributes": { - "last_triggered": "2020-12-18T05:17:57.027191+00:00", + "last_triggered": "2021-01-01T17:07:08.683048+00:00", "mode": "single", "current": 0, "friendly_name": "\u201cPower state on HA start-up\u201d" }, - "last_changed": "2020-12-18T05:17:55.243384+00:00", - "last_updated": "2020-12-18T05:17:57.055609+00:00", + "last_changed": "2021-01-01T18:56:19.537542+00:00", + "last_updated": "2021-01-01T18:56:19.537542+00:00", "context": { - "id": "69d439defd2c90fa1e9f6ce72a8a90e9", + "id": "b4d6102d9c0c95571bedf87775b788ac", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1508,15 +1532,15 @@ "attributes": { "friendly_name": "All Sonoffs on Network" }, - "last_changed": "2020-12-18T05:17:55.256398+00:00", - "last_updated": "2020-12-18T05:17:55.256398+00:00", + "last_changed": "2021-01-01T18:56:19.583141+00:00", + "last_updated": "2021-01-01T18:56:19.583141+00:00", "context": { - "id": "fe176a01b80863dec4fb255ac9cdab2f", + "id": "87efb260332fb0ec1a435fa6b6aafb41", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1526,15 +1550,15 @@ "friendly_name": "Fan Automation Enabled", "icon": "mdi:fan" }, - "last_changed": "2020-12-18T05:17:57.394370+00:00", - "last_updated": "2020-12-18T05:17:57.394370+00:00", + "last_changed": "2021-01-01T18:56:22.974668+00:00", + "last_updated": "2021-01-01T18:56:22.974668+00:00", "context": { - "id": "f76ebc2c38eb8173f770cff13e670e83", + "id": "755ea7db536cb093beea6544d4204ce5", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1543,15 +1567,15 @@ "attributes": { "friendly_name": "Sonoff White" }, - "last_changed": "2020-12-18T05:17:55.309908+00:00", - "last_updated": "2020-12-18T05:17:55.309908+00:00", + "last_changed": "2021-01-01T18:56:19.603303+00:00", + "last_updated": "2021-01-01T18:56:19.603303+00:00", "context": { - "id": "e47494199aca2ca734a32933369750f5", + "id": "e79445eaedf2f4252cf4ca3708cb1ed4", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1560,15 +1584,32 @@ "attributes": { "friendly_name": "Sonoff Brown" }, - "last_changed": "2020-12-18T05:17:55.310622+00:00", - "last_updated": "2020-12-18T05:17:55.310622+00:00", + "last_changed": "2021-01-01T18:56:19.604148+00:00", + "last_updated": "2021-01-01T18:56:19.604148+00:00", "context": { - "id": "f34fd110094fd0783a2628b795690b4a", + "id": "ac3051d6d681cfea4a1448a56a78beba", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" + }, + { + "state": { + "entity_id": "switch.stone_room_heating", + "state": "off", + "attributes": { + "friendly_name": "Stone Room Heating" + }, + "last_changed": "2021-01-01T18:56:19.604279+00:00", + "last_updated": "2021-01-01T18:56:19.604279+00:00", + "context": { + "id": "1e4a1b815aad75ea2dfe3f70f8c2645c", + "parent_id": null, + "user_id": null + } + }, + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1577,15 +1618,15 @@ "attributes": { "friendly_name": "Outside North Circuit 1" }, - "last_changed": "2020-12-18T05:17:55.311313+00:00", - "last_updated": "2020-12-18T05:17:55.311313+00:00", + "last_changed": "2021-01-01T18:56:19.609946+00:00", + "last_updated": "2021-01-01T18:56:19.609946+00:00", "context": { - "id": "c521ff27221dc320840f3f08ab84a291", + "id": "d29890b242bcc73d08bf922d1eb2f0c3", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1594,15 +1635,15 @@ "attributes": { "friendly_name": "Outside North Circuit 2" }, - "last_changed": "2020-12-18T05:17:55.311530+00:00", - "last_updated": "2020-12-18T05:17:55.311530+00:00", + "last_changed": "2021-01-01T18:56:19.610669+00:00", + "last_updated": "2021-01-01T18:56:19.610669+00:00", "context": { - "id": "d6da2753f1b9f31eb6b7fb7db51dbfd5", + "id": "daf9751da8a0ecb65cc783ac22c2a40c", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1612,15 +1653,15 @@ "source_type": "gps", "friendly_name": "700T1C" }, - "last_changed": "2020-12-18T05:17:56.233631+00:00", - "last_updated": "2020-12-18T05:17:56.233631+00:00", + "last_changed": "2021-01-01T18:56:20.698738+00:00", + "last_updated": "2021-01-01T18:56:20.698738+00:00", "context": { - "id": "e183d9c6c0fcbe01aefe9f6fe0ba7495", + "id": "8b46184db6ce28600169d81cde45f2d5", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1630,15 +1671,15 @@ "source_type": "gps", "friendly_name": "SM-G935R4" }, - "last_changed": "2020-12-18T05:17:56.233718+00:00", - "last_updated": "2020-12-18T05:17:56.233718+00:00", + "last_changed": "2021-01-01T18:56:20.698843+00:00", + "last_updated": "2021-01-01T18:56:20.698843+00:00", "context": { - "id": "635cc18c5ca8eabdd87633d0e1bdce4d", + "id": "e996fe8d39d43006283b7011b743cdb1", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1648,15 +1689,15 @@ "source_type": "gps", "friendly_name": "White Moto G" }, - "last_changed": "2020-12-18T05:17:56.233794+00:00", - "last_updated": "2020-12-18T05:17:56.233794+00:00", + "last_changed": "2021-01-01T18:56:20.698929+00:00", + "last_updated": "2021-01-01T18:56:20.698929+00:00", "context": { - "id": "3149861aff8563679b0703ba254eb99e", + "id": "79300e5c4d0051f9b479f9fe51b1d9a1", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { @@ -1666,35 +1707,33 @@ "source_type": "gps", "friendly_name": "LGUS215" }, - "last_changed": "2020-12-18T05:17:56.233866+00:00", - "last_updated": "2020-12-18T05:17:56.233866+00:00", + "last_changed": "2021-01-01T18:56:20.699010+00:00", + "last_updated": "2021-01-01T18:56:20.699010+00:00", "context": { - "id": "25d702c9a620de35cf1eab16ac60be08", + "id": "d36ab73650b5e611fdf13aba3be6c0df", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T17:17:57.194872+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" }, { "state": { - "entity_id": "person.system_administrator", + "entity_id": "device_tracker.lenovo_tb_x606f", "state": "unknown", "attributes": { - "editable": true, - "id": "system_administrator", - "user_id": "66b148346e9c4c5483b8fcf107ebffe0", - "friendly_name": "system administrator" + "source_type": "gps", + "friendly_name": "Lenovo TB-X606F" }, - "last_changed": "2020-12-18T01:25:20.381784+00:00", - "last_updated": "2020-12-18T01:25:21.772122+00:00", + "last_changed": "2021-01-01T18:56:20.699087+00:00", + "last_updated": "2021-01-01T18:56:20.699087+00:00", "context": { - "id": "0d78be23854fa5e53acbf1bcf651ab33", + "id": "8643f8c2bab58be35f0f04866845179c", "parent_id": null, "user_id": null } }, - "last_seen": "2020-12-18T02:14:45.854054+00:00" + "last_seen": "2021-01-01T18:56:23.416488+00:00" } ] } \ No newline at end of file diff --git a/.storage/frontend.user_data_99685dc45d9f40dc8183e11ce5128038 b/.storage/frontend.user_data_99685dc45d9f40dc8183e11ce5128038 index 33c126a..d072052 100644 --- a/.storage/frontend.user_data_99685dc45d9f40dc8183e11ce5128038 +++ b/.storage/frontend.user_data_99685dc45d9f40dc8183e11ce5128038 @@ -1,9 +1,9 @@ { + "version": 1, + "key": "frontend.user_data_99685dc45d9f40dc8183e11ce5128038", "data": { "core": { "showAdvanced": true } - }, - "key": "frontend.user_data_99685dc45d9f40dc8183e11ce5128038", - "version": 1 + } } \ No newline at end of file diff --git a/.storage/hacs.repositories b/.storage/hacs.repositories index 7b05e8d..2b7a567 100644 --- a/.storage/hacs.repositories +++ b/.storage/hacs.repositories @@ -65,13 +65,13 @@ "installed": false, "last_commit": "875b940", "last_release_tag": "v0.8.9", - "last_updated": "2020-12-04T12:12:41Z", + "last_updated": "2020-12-11T01:55:10Z", "name": "atomic_calendar", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 95, + "stars": 96, "topics": [], "version_installed": null }, @@ -117,25 +117,27 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "fb85517", + "last_commit": "2c956b8", "last_release_tag": null, - "last_updated": "2020-09-12T18:12:50Z", + "last_updated": "2020-12-27T19:18:28Z", "name": "ozw-network-visualization-card", "new": false, "repository_manifest": { "name": "OZW Network Visualization Card", "content_in_root": true, "filename": "ozw-network-visualization-card.js", - "homeassistant": "0.114.0", + "homeassistant": "0.115.0", "render_readme": true }, "selected_tag": null, "show_beta": false, - "stars": 21, + "stars": 26, "topics": [ "home-automation", "homeassistant", - "zwave" + "ozw", + "zwave", + "zwave2mqtt" ], "version_installed": null }, @@ -151,7 +153,7 @@ "installed": false, "last_commit": "094a0fa", "last_release_tag": "v1.2.0", - "last_updated": "2020-11-05T01:31:49Z", + "last_updated": "2020-12-19T17:45:34Z", "name": "lovelace-battery-entity-row", "new": false, "repository_manifest": { @@ -161,7 +163,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 9, + "stars": 12, "topics": [ "attribute", "battery", @@ -202,7 +204,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 41, + "stars": 45, "topics": [ "automation", "climate", @@ -237,7 +239,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 68, + "stars": 71, "topics": [ "home-assistant", "home-assistant-custom", @@ -288,9 +290,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "df6395e", - "last_release_tag": "v2.2.7", - "last_updated": "2020-11-18T09:41:39Z", + "last_commit": "4560d91", + "last_release_tag": "v2.3.2", + "last_updated": "2020-12-22T19:06:16Z", "name": "mini-humidifier", "new": false, "repository_manifest": { @@ -303,7 +305,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 38, + "stars": 47, "topics": [ "automation", "custom", @@ -366,7 +368,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 92, + "stars": 94, "topics": [ "home-assistant", "zigbee2mqtt" @@ -394,7 +396,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 14, + "stars": 15, "topics": [], "version_installed": null }, @@ -408,9 +410,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "7523c53", - "last_release_tag": "1.16.2", - "last_updated": "2020-11-28T16:17:05Z", + "last_commit": "eb1eaea", + "last_release_tag": "1.17.1", + "last_updated": "2020-12-30T15:33:13Z", "name": "garbage-collection-card", "new": false, "repository_manifest": { @@ -420,7 +422,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 22, + "stars": 23, "topics": [ "garbage-collection", "homeassistant", @@ -452,7 +454,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 5, + "stars": 8, "topics": [ "home-assistant", "homeassistant", @@ -475,13 +477,13 @@ "installed": false, "last_commit": "c185504", "last_release_tag": "v1.5.0", - "last_updated": "2020-10-30T14:11:40Z", + "last_updated": "2020-12-22T13:15:22Z", "name": "weather-card", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 169, + "stars": 185, "topics": [], "version_installed": null }, @@ -566,7 +568,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 109, + "stars": 115, "topics": [ "card", "hacs", @@ -600,7 +602,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 33, + "stars": 35, "topics": [], "version_installed": null }, @@ -648,7 +650,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 212, + "stars": 223, "topics": [ "attribute", "card", @@ -688,7 +690,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 571, + "stars": 576, "topics": [ "custom-cards", "hacs", @@ -718,7 +720,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 26, + "stars": 27, "topics": [], "version_installed": null }, @@ -744,7 +746,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 24, + "stars": 25, "topics": [], "version_installed": null }, @@ -774,7 +776,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 111, + "stars": 120, "topics": [ "home-assistant", "lovelace", @@ -805,7 +807,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 151, + "stars": 152, "topics": [], "version_installed": null }, @@ -827,7 +829,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 67, + "stars": 69, "topics": [], "version_installed": null }, @@ -915,7 +917,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 6, + "stars": 8, "topics": [], "version_installed": null }, @@ -963,7 +965,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 63, + "stars": 65, "topics": [], "version_installed": null }, @@ -989,7 +991,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 85, + "stars": 86, "topics": [ "custom-cards", "home-assistant", @@ -1038,7 +1040,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 35, + "stars": 36, "topics": [], "version_installed": null }, @@ -1110,7 +1112,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 9, + "stars": 10, "topics": [], "version_installed": null }, @@ -1136,7 +1138,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 53, + "stars": 56, "topics": [ "data-table", "data-visualization", @@ -1261,7 +1263,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 19, + "stars": 20, "topics": [], "version_installed": null }, @@ -1275,9 +1277,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "5249309", - "last_release_tag": "v2.3.4", - "last_updated": "2020-12-06T11:53:55Z", + "last_commit": "4c7bef9", + "last_release_tag": "v2.3.5-testfix", + "last_updated": "2020-12-22T20:00:25Z", "name": "spotify-card", "new": false, "repository_manifest": { @@ -1287,7 +1289,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 137, + "stars": 142, "topics": [], "version_installed": null }, @@ -1309,7 +1311,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 9, + "stars": 10, "topics": [], "version_installed": null }, @@ -1369,7 +1371,7 @@ "installed": false, "last_commit": "6d8401d", "last_release_tag": "0.2.0", - "last_updated": "2020-11-09T16:18:14Z", + "last_updated": "2020-12-12T11:13:30Z", "name": "stack-in-card", "new": false, "repository_manifest": { @@ -1379,7 +1381,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 38, + "stars": 39, "topics": [], "version_installed": null }, @@ -1401,7 +1403,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 119, + "stars": 121, "topics": [], "version_installed": null }, @@ -1449,7 +1451,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 89, + "stars": 90, "topics": [], "version_installed": null }, @@ -1496,7 +1498,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 65, + "stars": 68, "topics": [], "version_installed": null }, @@ -1549,15 +1551,15 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "35f5397", - "last_release_tag": "0.85c", - "last_updated": "2020-12-08T23:25:35Z", + "last_commit": "9cdc637", + "last_release_tag": "0.86b", + "last_updated": "2020-12-29T00:56:11Z", "name": "bom-weather-card", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 33, + "stars": 34, "topics": [ "bom", "home-assistant", @@ -1737,7 +1739,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 34, + "stars": 37, "topics": [], "version_installed": null }, @@ -1763,7 +1765,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 60, + "stars": 65, "topics": [ "custom-cards", "hacs", @@ -1783,9 +1785,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "e89ce5e", - "last_release_tag": "v0.5.0", - "last_updated": "2020-12-08T09:57:40Z", + "last_commit": "42407e8", + "last_release_tag": "v0.6.1", + "last_updated": "2020-12-22T13:29:38Z", "name": "purifier-card", "new": false, "repository_manifest": { @@ -1795,7 +1797,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 28, + "stars": 30, "topics": [ "air-purifier", "custom-cards", @@ -1861,7 +1863,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 19, + "stars": 22, "topics": [], "version_installed": null }, @@ -1885,7 +1887,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 34, + "stars": 35, "topics": [ "air-quality", "air-visual", @@ -1904,9 +1906,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "4abb373", - "last_release_tag": "v1.12.0", - "last_updated": "2020-12-08T10:24:10Z", + "last_commit": "5d6a668", + "last_release_tag": "v1.13.0", + "last_updated": "2020-12-31T16:44:09Z", "name": "vacuum-card", "new": false, "repository_manifest": { @@ -1916,7 +1918,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 219, + "stars": 239, "topics": [ "custom-cards", "hacs", @@ -2014,7 +2016,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 9, + "stars": 10, "topics": [], "version_installed": null }, @@ -2075,7 +2077,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 1, + "stars": 2, "topics": [ "car", "hacs", @@ -2110,7 +2112,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 17, "topics": [], "version_installed": null }, @@ -2170,7 +2172,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 15, "topics": [], "version_installed": null }, @@ -2243,7 +2245,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 30, + "stars": 32, "topics": [], "version_installed": null }, @@ -2293,7 +2295,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 6, "topics": [ "cover", "lovelace-ui", @@ -2367,7 +2369,7 @@ "installed": false, "last_commit": "09d7b18", "last_release_tag": "0.0.5", - "last_updated": "2020-09-12T12:52:34Z", + "last_updated": "2020-12-12T09:48:17Z", "name": "lovelace-card-preloader", "new": false, "repository_manifest": { @@ -2392,7 +2394,7 @@ "installed": false, "last_commit": "c4554ec", "last_release_tag": "0.0.16", - "last_updated": "2020-11-27T15:50:08Z", + "last_updated": "2020-12-12T10:00:34Z", "name": "lovelace-card-templater", "new": false, "repository_manifest": { @@ -2439,7 +2441,7 @@ "installed": false, "last_commit": "5e38139", "last_release_tag": "0.5.0", - "last_updated": "2020-09-30T15:02:08Z", + "last_updated": "2020-12-12T09:24:20Z", "name": "lovelace-home-feed-card", "new": false, "repository_manifest": { @@ -2448,7 +2450,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 91, + "stars": 94, "topics": [], "version_installed": null }, @@ -2496,7 +2498,7 @@ "installed": false, "last_commit": "d136d6d", "last_release_tag": "v0.1.5", - "last_updated": "2020-11-05T15:05:31Z", + "last_updated": "2020-12-18T12:01:38Z", "name": "power-wheel-card", "new": false, "repository_manifest": { @@ -2504,7 +2506,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 79, + "stars": 82, "topics": [ "custom-card", "energy", @@ -2548,39 +2550,6 @@ ], "version_installed": null }, - "304967918": { - "authors": [], - "category": "plugin", - "description": "Replace input_number sliders with plus and minus buttons", - "domain": "", - "downloads": 0, - "full_name": "htmltiger/numberbox-card", - "first_install": true, - "installed_commit": null, - "installed": false, - "last_commit": "3b23009", - "last_release_tag": null, - "last_updated": "2020-12-07T12:37:41Z", - "name": "numberbox-card", - "new": false, - "repository_manifest": { - "name": "Number Box", - "filename": "numberbox-card.js", - "render_readme": true - }, - "selected_tag": null, - "show_beta": false, - "stars": 4, - "topics": [ - "hacs", - "input", - "lovelace", - "number", - "numberbox-card", - "slider" - ], - "version_installed": null - }, "220679530": { "authors": [], "category": "plugin", @@ -2625,9 +2594,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "3d0f815", - "last_release_tag": "1.2.1", - "last_updated": "2020-08-06T19:54:54Z", + "last_commit": "3fb1033", + "last_release_tag": "1.2.2", + "last_updated": "2020-12-27T12:42:12Z", "name": "aftership-card", "new": false, "repository_manifest": { @@ -2637,7 +2606,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 28, + "stars": 29, "topics": [], "version_installed": null }, @@ -2663,7 +2632,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 117, + "stars": 118, "topics": [], "version_installed": null }, @@ -2714,7 +2683,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 58, + "stars": 64, "topics": [ "custom-card", "home-assistant", @@ -2907,7 +2876,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 31, + "stars": 32, "topics": [ "hacktoberfest" ], @@ -2969,7 +2938,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 28, + "stars": 30, "topics": [ "hassio", "home-assistant", @@ -2991,9 +2960,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "369305b", + "last_commit": "859580d", "last_release_tag": null, - "last_updated": "2020-12-09T11:11:24Z", + "last_updated": "2020-12-11T04:28:15Z", "name": "ha-yandex-icons", "new": false, "repository_manifest": { @@ -3028,9 +2997,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "4711ad0", + "last_commit": "334a44e", "last_release_tag": "0.3.0", - "last_updated": "2020-07-31T14:36:33Z", + "last_updated": "2020-12-25T14:50:21Z", "name": "lovelace-paper-buttons-row", "new": false, "repository_manifest": { @@ -3038,7 +3007,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 41, + "stars": 45, "topics": [ "actions", "buttons", @@ -3098,7 +3067,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 14, + "stars": 16, "topics": [ "home-assistant", "home-assistant-frontend", @@ -3123,13 +3092,13 @@ "installed": false, "last_commit": "33f3a19", "last_release_tag": "v0.9.4", - "last_updated": "2020-12-08T15:11:26Z", + "last_updated": "2020-12-29T15:12:44Z", "name": "mini-graph-card", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 1182, + "stars": 1220, "topics": [ "automation", "custom", @@ -3154,13 +3123,13 @@ "installed": false, "last_commit": "2cb0845", "last_release_tag": "v1.11.0", - "last_updated": "2020-11-21T16:21:19Z", + "last_updated": "2020-12-31T12:06:32Z", "name": "mini-media-player", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 760, + "stars": 777, "topics": [ "automation", "custom", @@ -3195,7 +3164,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 32, + "stars": 33, "topics": [], "version_installed": null }, @@ -3211,13 +3180,13 @@ "installed": false, "last_commit": "b51750a", "last_release_tag": "v0.8.1", - "last_updated": "2020-10-07T19:19:29Z", + "last_updated": "2020-12-29T14:34:05Z", "name": "simple-weather-card", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 122, + "stars": 124, "topics": [ "home-assistant", "home-automation", @@ -3237,9 +3206,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "d8e04cf", - "last_release_tag": "v1.7", - "last_updated": "2020-12-09T00:48:17Z", + "last_commit": "98781a7", + "last_release_tag": "v2.0", + "last_updated": "2020-12-24T02:01:36Z", "name": "power-distribution-card", "new": false, "repository_manifest": { @@ -3250,7 +3219,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 17, + "stars": 20, "topics": [ "e3dc", "hacs", @@ -3335,7 +3304,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 2, + "stars": 3, "topics": [ "effect", "frosted-glass", @@ -3419,7 +3388,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 15, + "stars": 16, "topics": [ "card", "home-assistant", @@ -3470,7 +3439,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 12, "topics": [ "card", "custom-card", @@ -3527,7 +3496,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 93, + "stars": 94, "topics": [], "version_installed": null }, @@ -3572,7 +3541,7 @@ "installed": false, "last_commit": "ef15306", "last_release_tag": "1.1.3", - "last_updated": "2020-09-11T01:50:59Z", + "last_updated": "2020-12-11T17:33:36Z", "name": "travel-time-card", "new": false, "repository_manifest": { @@ -3666,7 +3635,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 80, + "stars": 83, "topics": [], "version_installed": null }, @@ -3757,9 +3726,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "49f0083", - "last_release_tag": "v2.5.5", - "last_updated": "2020-12-08T20:30:36Z", + "last_commit": "9fe32e6", + "last_release_tag": "v2.6.1", + "last_updated": "2020-12-30T10:33:09Z", "name": "atomic-calendar-revive", "new": false, "repository_manifest": { @@ -3772,7 +3741,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 42, + "stars": 46, "topics": [ "calendar", "card", @@ -3840,7 +3809,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 20, + "stars": 21, "topics": [ "custom-cards", "hassio", @@ -3867,7 +3836,7 @@ "installed": false, "last_commit": "9446704", "last_release_tag": "v1.2.0", - "last_updated": "2020-11-20T20:35:48Z", + "last_updated": "2020-12-13T00:41:06Z", "name": "select-list-card", "new": false, "repository_manifest": { @@ -3906,7 +3875,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 89, + "stars": 91, "topics": [], "version_installed": null }, @@ -3933,7 +3902,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 6, + "stars": 7, "topics": [ "card", "flexi", @@ -3953,9 +3922,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "f2a9c93", + "last_commit": "290b76d", "last_release_tag": "v1.6.2", - "last_updated": "2020-12-09T22:18:57Z", + "last_updated": "2020-12-29T17:56:37Z", "name": "battery-state-card", "new": false, "repository_manifest": { @@ -3966,7 +3935,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 134, + "stars": 140, "topics": [ "battery", "hassio", @@ -4011,9 +3980,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "c1e6daf", - "last_release_tag": "0.12.0", - "last_updated": "2020-11-15T20:59:26Z", + "last_commit": "5a74f15", + "last_release_tag": "0.13.0", + "last_updated": "2020-12-18T08:41:36Z", "name": "banner-card", "new": false, "repository_manifest": { @@ -4044,9 +4013,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "0654f88", - "last_release_tag": "0.40.0", - "last_updated": "2020-12-07T21:02:42Z", + "last_commit": "5847e5c", + "last_release_tag": "0.41.1", + "last_updated": "2020-12-30T23:19:09Z", "name": "simple-thermostat", "new": false, "repository_manifest": { @@ -4055,7 +4024,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 315, + "stars": 328, "topics": [ "hassio", "home-assistant", @@ -4076,9 +4045,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "83238ed", - "last_release_tag": "v1.9.7", - "last_updated": "2020-12-09T02:23:31Z", + "last_commit": "6ed8c5d", + "last_release_tag": "v2.0.1", + "last_updated": "2020-12-30T22:07:55Z", "name": "scheduler-card", "new": false, "repository_manifest": { @@ -4087,7 +4056,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 88, + "stars": 105, "topics": [ "assistant", "automation", @@ -4128,7 +4097,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 471, + "stars": 478, "topics": [ "hacktoberfest", "hacktoberfest2020", @@ -4156,7 +4125,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 17, "topics": [ "home-assistant", "lovelace-card" @@ -4206,7 +4175,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 351, + "stars": 370, "topics": [ "home-assistant", "lovelace-card", @@ -4227,9 +4196,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "8f140cc", + "last_commit": "5dea9aa", "last_release_tag": null, - "last_updated": "2020-10-23T11:13:51Z", + "last_updated": "2020-12-20T14:51:31Z", "name": "ztm-stop-card", "new": false, "repository_manifest": { @@ -4255,7 +4224,7 @@ "installed": false, "last_commit": "df53527", "last_release_tag": null, - "last_updated": "2020-07-01T05:25:43Z", + "last_updated": "2020-12-17T23:30:40Z", "name": "search-card", "new": false, "repository_manifest": {}, @@ -4376,7 +4345,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 18, + "stars": 19, "topics": [ "hacs", "home-assistant", @@ -4410,7 +4379,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 33, + "stars": 35, "topics": [ "card", "home-assistant", @@ -4438,7 +4407,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 5, + "stars": 7, "topics": [], "version_installed": null }, @@ -4452,9 +4421,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "90f9908", - "last_release_tag": "v9.1.2", - "last_updated": "2020-12-08T21:02:09Z", + "last_commit": "2b6265e", + "last_release_tag": "v9.2.2", + "last_updated": "2020-12-29T12:03:23Z", "name": "tesla-style-solar-power-card", "new": false, "repository_manifest": { @@ -4465,7 +4434,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 21, + "stars": 26, "topics": [ "battery", "card", @@ -4489,7 +4458,7 @@ "installed": false, "last_commit": "37268fd", "last_release_tag": "0.0.2", - "last_updated": "2020-09-13T02:10:31Z", + "last_updated": "2020-12-13T01:17:13Z", "name": "water-heater-card", "new": false, "repository_manifest": { @@ -4519,9 +4488,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "6f673ce", - "last_release_tag": "1.2.0", - "last_updated": "2020-05-29T20:25:28Z", + "last_commit": "443cc79", + "last_release_tag": "1.3.1", + "last_updated": "2020-12-29T22:47:58Z", "name": "logbook-card", "new": false, "repository_manifest": { @@ -4530,7 +4499,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 36, + "stars": 37, "topics": [ "custom-card", "hacs", @@ -4549,9 +4518,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "2ab6d69", + "last_commit": "426229c", "last_release_tag": null, - "last_updated": "2020-06-22T09:38:33Z", + "last_updated": "2020-12-17T08:00:02Z", "name": "button-text-card", "new": false, "repository_manifest": { @@ -4561,7 +4530,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 39, + "stars": 41, "topics": [ "home-assistant", "lovelace-card", @@ -4614,7 +4583,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 13, + "stars": 14, "topics": [ "home-assistant", "home-assistant-frontend", @@ -4679,7 +4648,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 46, + "stars": 47, "topics": [], "version_installed": null }, @@ -4756,9 +4725,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "a82e1e1", + "last_commit": "b4db14d", "last_release_tag": null, - "last_updated": "2020-12-05T13:56:25Z", + "last_updated": "2020-12-29T20:30:13Z", "name": "lovelace-valetudo-map-card", "new": false, "repository_manifest": { @@ -4769,7 +4738,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 72, + "stars": 75, "topics": [ "hacktoberfest" ], @@ -4814,7 +4783,7 @@ "installed": false, "last_commit": "477f3d4", "last_release_tag": "11", - "last_updated": "2020-10-28T12:01:32Z", + "last_updated": "2020-12-12T00:28:43Z", "name": "lovelace-card-tools", "new": false, "repository_manifest": { @@ -4823,7 +4792,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 135, + "stars": 138, "topics": [], "version_installed": null }, @@ -4914,7 +4883,7 @@ "installed": false, "last_commit": "96ce4d2", "last_release_tag": null, - "last_updated": "2020-09-11T22:40:51Z", + "last_updated": "2020-12-12T01:04:16Z", "name": "lovelace-more-info-card", "new": false, "repository_manifest": { @@ -4940,7 +4909,7 @@ "installed": false, "last_commit": "a8dce27", "last_release_tag": "1.1.1", - "last_updated": "2020-10-28T12:48:44Z", + "last_updated": "2020-12-20T22:01:06Z", "name": "lovelace-template-entity-row", "new": false, "repository_manifest": { @@ -4950,7 +4919,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 43, + "stars": 46, "topics": [], "version_installed": null }, @@ -4966,7 +4935,7 @@ "installed": false, "last_commit": "a0748e1", "last_release_tag": "16", - "last_updated": "2020-10-09T11:06:18Z", + "last_updated": "2020-12-12T00:50:41Z", "name": "lovelace-slider-entity-row", "new": false, "repository_manifest": { @@ -4975,7 +4944,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 382, + "stars": 393, "topics": [], "version_installed": null }, @@ -4991,7 +4960,7 @@ "installed": false, "last_commit": "35bd9c8", "last_release_tag": "8", - "last_updated": "2020-08-01T07:34:10Z", + "last_updated": "2020-12-12T03:18:16Z", "name": "lovelace-state-switch", "new": false, "repository_manifest": { @@ -5000,7 +4969,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 99, + "stars": 100, "topics": [], "version_installed": null }, @@ -5016,7 +4985,7 @@ "installed": false, "last_commit": "dd3f31f", "last_release_tag": null, - "last_updated": "2020-08-01T18:13:13Z", + "last_updated": "2020-12-12T11:40:14Z", "name": "lovelace-hui-element", "new": false, "repository_manifest": { @@ -5025,7 +4994,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 15, "topics": [], "version_installed": null }, @@ -5047,7 +5016,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 19, + "stars": 20, "topics": [ "arlo", "camera", @@ -5096,9 +5065,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "6f08fb3", - "last_release_tag": "v1.0.0", - "last_updated": "2020-12-10T04:10:26Z", + "last_commit": "cd9e149", + "last_release_tag": "v1.1.0", + "last_updated": "2020-12-29T19:39:24Z", "name": "compass-card", "new": false, "repository_manifest": { @@ -5108,7 +5077,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 22, + "stars": 24, "topics": [ "compass", "hacs", @@ -5138,7 +5107,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 73, + "stars": 78, "topics": [ "animated", "background", @@ -5197,7 +5166,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 17, + "stars": 16, "topics": [ "analog", "clock", @@ -5216,9 +5185,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "eace359", - "last_release_tag": "0.35.3", - "last_updated": "2020-12-09T10:47:02Z", + "last_commit": "538ab92", + "last_release_tag": "0.35.6", + "last_updated": "2020-12-31T19:06:52Z", "name": "ha-shellies-discovery", "new": false, "repository_manifest": { @@ -5229,7 +5198,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 81, + "stars": 86, "topics": [ "discovery", "home-assistant", @@ -5377,9 +5346,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "1432970", - "last_release_tag": "v1.3", - "last_updated": "2020-09-21T13:14:57Z", + "last_commit": "a9cf177", + "last_release_tag": "v1.4.0", + "last_updated": "2020-12-30T04:56:26Z", "name": "HA-FanSpeedControl", "new": false, "repository_manifest": { @@ -5408,9 +5377,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "5936117", - "last_release_tag": "1.0.4", - "last_updated": "2020-12-09T16:47:31Z", + "last_commit": "ed737c2", + "last_release_tag": "1.0.7", + "last_updated": "2020-12-20T21:07:41Z", "name": "ha-reminder", "new": false, "repository_manifest": { @@ -5583,7 +5552,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 66, + "stars": 68, "topics": [ "dark-theme", "hacs", @@ -5638,7 +5607,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 284, + "stars": 285, "topics": [ "dark-mode", "darkmode", @@ -5732,7 +5701,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 156, + "stars": 165, "topics": [], "version_installed": null }, @@ -5757,7 +5726,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 7, + "stars": 8, "topics": [ "hacs", "home-assistant", @@ -5834,9 +5803,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "08390fd", - "last_release_tag": "v1.2", - "last_updated": "2020-11-15T11:04:20Z", + "last_commit": "56a0834", + "last_release_tag": "v2.0", + "last_updated": "2020-12-16T10:19:50Z", "name": "github_dark_theme", "new": false, "repository_manifest": { @@ -5893,9 +5862,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "39cd0b5", - "last_release_tag": "1.8", - "last_updated": "2020-11-25T11:28:39Z", + "last_commit": "1ce5a21", + "last_release_tag": "1.8.1", + "last_updated": "2020-12-18T13:10:21Z", "name": "ux_goodie_theme", "new": false, "repository_manifest": { @@ -5982,9 +5951,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "e98fd4a", - "last_release_tag": "v1.2", - "last_updated": "2020-11-15T11:05:45Z", + "last_commit": "1c81b3b", + "last_release_tag": "v1.3", + "last_updated": "2020-12-16T13:49:52Z", "name": "github_light_theme", "new": false, "repository_manifest": { @@ -6273,7 +6242,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 44, + "stars": 45, "topics": [ "hacs", "home-assistant", @@ -6498,7 +6467,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 12, "topics": [ "hacs", "home-assistant", @@ -6562,7 +6531,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 92, + "stars": 94, "topics": [ "hacs", "home-assistant", @@ -6649,7 +6618,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 46, + "stars": 47, "topics": [ "assistant-theme", "hacs", @@ -6783,9 +6752,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "8a82fda", + "last_commit": "b1ee7c4", "last_release_tag": "v1.1.1", - "last_updated": "2020-12-08T03:22:48Z", + "last_updated": "2020-12-30T03:13:06Z", "name": "hass-kibibit-theme", "new": false, "repository_manifest": { @@ -6793,7 +6762,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 23, + "stars": 36, "topics": [], "version_installed": null }, @@ -6819,7 +6788,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 19, + "stars": 22, "topics": [ "dark-theme", "hacktoberfest", @@ -6857,7 +6826,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 26, + "stars": 33, "topics": [ "hacktoberfest", "hacktoberfest2020", @@ -7182,7 +7151,7 @@ "installed": false, "last_commit": "3667c54", "last_release_tag": "v1.0.8", - "last_updated": "2020-10-14T13:05:49Z", + "last_updated": "2020-12-18T08:26:45Z", "name": "sonos_alarm", "new": false, "repository_manifest": { @@ -7193,7 +7162,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 9, + "stars": 10, "topics": [], "version_installed": null }, @@ -7339,7 +7308,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 193, + "stars": 199, "topics": [ "homeassistant", "meross", @@ -7359,9 +7328,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "328cb6e", + "last_commit": "8011529", "last_release_tag": "v2.3.2", - "last_updated": "2020-12-07T20:43:44Z", + "last_updated": "2020-12-23T11:47:22Z", "name": "sonoff", "new": false, "repository_manifest": { @@ -7370,7 +7339,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 752, + "stars": 814, "topics": [ "ewelink", "home-assistant", @@ -7450,7 +7419,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 14, + "stars": 15, "topics": [ "consumption", "hekr", @@ -7570,7 +7539,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 3, + "stars": 4, "topics": [ "car-system", "custom-components", @@ -7694,9 +7663,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "1a731e0", + "last_commit": "10e8ef8", "last_release_tag": "1.9.7", - "last_updated": "2020-11-06T10:29:53Z", + "last_updated": "2020-12-28T17:15:32Z", "name": "deebot", "new": false, "repository_manifest": { @@ -7706,7 +7675,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 49, + "stars": 55, "topics": [ "deebot", "deebot920", @@ -7813,7 +7782,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 54, + "stars": 57, "topics": [ "audi", "audi-connect", @@ -7844,7 +7813,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 49, + "stars": 51, "topics": [ "drayton", "heating", @@ -7944,7 +7913,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 5, "topics": [], "version_installed": null }, @@ -7960,9 +7929,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "0e4ffd9", - "last_release_tag": "3.4", - "last_updated": "2020-11-23T18:40:08Z", + "last_commit": "ccf0993", + "last_release_tag": "3.5.1", + "last_updated": "2020-12-30T13:29:01Z", "name": "climate_ip", "new": false, "repository_manifest": { @@ -7976,7 +7945,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 13, + "stars": 14, "topics": [ "airconditioning", "homeassistant", @@ -8013,7 +7982,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 32, + "stars": 35, "topics": [], "version_installed": null }, @@ -8046,7 +8015,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 19, "topics": [], "version_installed": null }, @@ -8120,15 +8089,15 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "15999b7", - "last_release_tag": "v0.2.0", - "last_updated": "2020-11-05T11:08:40Z", + "last_commit": "7953d29", + "last_release_tag": "v0.3.0", + "last_updated": "2020-12-29T12:57:33Z", "name": "generic_hygrostat", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 21, + "stars": 22, "topics": [], "version_installed": null }, @@ -8193,7 +8162,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 5, + "stars": 6, "topics": [ "dehumidifier", "eva-ii-pro-wifi", @@ -8449,7 +8418,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 0, + "stars": 1, "topics": [ "hacs", "home-assistant", @@ -8591,7 +8560,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 11, + "stars": 13, "topics": [], "version_installed": null }, @@ -8666,7 +8635,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 11, + "stars": 12, "topics": [ "hacktoberfest" ], @@ -8799,9 +8768,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "3ed3d9f", - "last_release_tag": "0.9.1", - "last_updated": "2020-12-06T22:11:29Z", + "last_commit": "7c708ba", + "last_release_tag": "0.10.1", + "last_updated": "2020-12-27T04:24:53Z", "name": "bureau_of_meteorology", "new": false, "repository_manifest": { @@ -8836,9 +8805,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "d9ee1fc", - "last_release_tag": "0.3", - "last_updated": "2020-11-29T03:23:55Z", + "last_commit": "7be669e", + "last_release_tag": "0.3.1", + "last_updated": "2020-12-27T07:40:47Z", "name": "public_transport_victoria", "new": false, "repository_manifest": { @@ -8875,9 +8844,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "8f7f1ae", - "last_release_tag": "v2.0.5", - "last_updated": "2020-11-21T13:29:51Z", + "last_commit": "b2cde1b", + "last_release_tag": "v2.1", + "last_updated": "2020-12-19T07:28:11Z", "name": "smartweather", "new": false, "repository_manifest": { @@ -8894,7 +8863,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 61, + "stars": 63, "topics": [ "darksky", "home-assistant", @@ -8952,9 +8921,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "4cd2eb5", - "last_release_tag": "v0.6.6", - "last_updated": "2020-12-02T20:14:40Z", + "last_commit": "6cdd59d", + "last_release_tag": "v0.7.0", + "last_updated": "2020-12-30T04:07:52Z", "name": "unifiprotect", "new": false, "repository_manifest": { @@ -8972,7 +8941,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 225, + "stars": 236, "topics": [ "cloudkey", "home-assistant", @@ -9056,7 +9025,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 17, + "stars": 19, "topics": [ "home-assistant", "meteorological-data", @@ -9077,9 +9046,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "38ee001", - "last_release_tag": "3.10", - "last_updated": "2020-11-25T07:44:35Z", + "last_commit": "907846b", + "last_release_tag": "3.14", + "last_updated": "2020-12-31T11:20:56Z", "name": "garbage_collection", "new": false, "repository_manifest": { @@ -9095,7 +9064,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 114, + "stars": 118, "topics": [ "garbage-collection", "schedule", @@ -9379,7 +9348,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 2, + "stars": 4, "topics": [ "assistant", "geofisica", @@ -9405,13 +9374,13 @@ "installed": false, "last_commit": "6a919ae", "last_release_tag": "1.0.13", - "last_updated": "2020-10-07T16:31:14Z", + "last_updated": "2020-12-15T11:29:49Z", "name": "circadian_lighting", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 274, + "stars": 285, "topics": [ "circadian", "circadian-rhythms", @@ -9435,9 +9404,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "2e2954d", - "last_release_tag": "v0.1.7", - "last_updated": "2020-10-29T00:06:40Z", + "last_commit": "8e64237", + "last_release_tag": "v0.1.9", + "last_updated": "2021-01-01T02:43:01Z", "name": "neviweb130", "new": false, "repository_manifest": { @@ -9460,7 +9429,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 6, "topics": [], "version_installed": null }, @@ -9476,9 +9445,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "962daf5", - "last_release_tag": "v1.1.6", - "last_updated": "2020-12-01T01:43:58Z", + "last_commit": "c88f597", + "last_release_tag": "v1.2.1", + "last_updated": "2021-01-01T03:29:22Z", "name": "sinope", "new": false, "repository_manifest": { @@ -9524,7 +9493,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 53, + "stars": 55, "topics": [ "breaking-changes", "custom-component", @@ -9591,7 +9560,7 @@ "installed": false, "last_commit": "1666fc0", "last_release_tag": "1.2.5", - "last_updated": "2020-11-24T01:54:14Z", + "last_updated": "2021-01-01T03:43:28Z", "name": "neviweb", "new": false, "repository_manifest": { @@ -9691,9 +9660,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "5ce9c11", - "last_release_tag": "0.8.5", - "last_updated": "2020-12-09T18:30:42Z", + "last_commit": "a8e404b", + "last_release_tag": "0.9.4", + "last_updated": "2020-12-31T11:19:39Z", "name": "ble_monitor", "new": false, "repository_manifest": { @@ -9703,7 +9672,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 424, + "stars": 468, "topics": [ "custom-component", "hacs", @@ -9731,9 +9700,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "262ee5d", - "last_release_tag": "v3.4.0", - "last_updated": "2020-12-05T22:03:13Z", + "last_commit": "0d617e9", + "last_release_tag": "v3.4.3", + "last_updated": "2021-01-01T02:58:26Z", "name": "alexa_media", "new": false, "repository_manifest": { @@ -9752,7 +9721,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 563, + "stars": 578, "topics": [ "alexa", "hacktoberfest", @@ -9829,15 +9798,15 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "3098c95", - "last_release_tag": "7.2", - "last_updated": "2020-11-26T20:21:01Z", + "last_commit": "c588c24", + "last_release_tag": "7.4", + "last_updated": "2020-12-27T10:43:16Z", "name": "programmable_thermostat", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 45, + "stars": 47, "topics": [], "version_installed": null }, @@ -9855,7 +9824,7 @@ "installed": false, "last_commit": "bcaeacc", "last_release_tag": null, - "last_updated": "2019-10-22T08:35:09Z", + "last_updated": "2020-12-20T21:10:17Z", "name": "config_check", "new": false, "repository_manifest": {}, @@ -9917,7 +9886,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 38, + "stars": 39, "topics": [], "version_installed": null }, @@ -9961,15 +9930,15 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "7825575", + "last_commit": "c8cab57", "last_release_tag": null, - "last_updated": "2020-11-25T22:19:19Z", + "last_updated": "2020-12-27T12:14:01Z", "name": "nordpool", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 22, + "stars": 24, "topics": [], "version_installed": null }, @@ -9988,13 +9957,13 @@ "installed": false, "last_commit": "2325f23", "last_release_tag": "1.6", - "last_updated": "2020-09-18T18:08:39Z", + "last_updated": "2020-12-29T10:32:58Z", "name": "places", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 28, + "stars": 29, "topics": [], "version_installed": null }, @@ -10025,7 +9994,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 11, "topics": [], "version_installed": null }, @@ -10103,7 +10072,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 58, + "stars": 59, "topics": [ "bravia", "home-assistant", @@ -10154,9 +10123,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "e4971b0", - "last_release_tag": "v2.0.2", - "last_updated": "2020-11-18T12:38:34Z", + "last_commit": "edede29", + "last_release_tag": "v2.2.2", + "last_updated": "2020-12-27T22:23:11Z", "name": "grocy", "new": false, "repository_manifest": { @@ -10166,12 +10135,15 @@ "binary_sensor" ], "render_readme": true, + "zip_release": true, + "hide_default_branch": true, "iot_class": "Cloud Polling", - "homeassistant": "0.109.0" + "homeassistant": "0.109.0", + "filename": "grocy.zip" }, "selected_tag": null, "show_beta": false, - "stars": 29, + "stars": 30, "topics": [ "grocy", "hacktoberfest" @@ -10190,9 +10162,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "8fe16fe", + "last_commit": "878a8f8", "last_release_tag": "1.1.0", - "last_updated": "2020-12-10T09:36:09Z", + "last_updated": "2020-12-31T16:05:04Z", "name": "pyscript", "new": false, "repository_manifest": { @@ -10208,7 +10180,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 170, + "stars": 176, "topics": [ "custom-component", "custom-components", @@ -10233,14 +10205,14 @@ "installed_commit": null, "installed": false, "last_commit": "1e96d9b", - "last_release_tag": "v2.6", - "last_updated": "2020-11-26T17:42:27Z", + "last_release_tag": "v2.7", + "last_updated": "2020-12-21T23:00:35Z", "name": "airthings_wave", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 34, + "stars": 41, "topics": [ "airthings-wave", "bluetooth-low-energy", @@ -10327,9 +10299,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "828b1c4", - "last_release_tag": "3.2", - "last_updated": "2020-06-12T17:16:55Z", + "last_commit": "f20c822", + "last_release_tag": "3.3", + "last_updated": "2020-12-29T17:48:11Z", "name": "file_restore", "new": false, "repository_manifest": {}, @@ -10351,9 +10323,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "b529d1b", + "last_commit": "2c727ad", "last_release_tag": null, - "last_updated": "2020-12-09T17:23:46Z", + "last_updated": "2020-12-11T14:06:36Z", "name": "owlintuition", "new": false, "repository_manifest": {}, @@ -10407,7 +10379,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 39, + "stars": 42, "topics": [], "version_installed": null }, @@ -10423,9 +10395,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "d25e7a2", - "last_release_tag": "v3.1.3", - "last_updated": "2020-11-09T17:54:13Z", + "last_commit": "9d068b9", + "last_release_tag": "v3.1.4", + "last_updated": "2020-12-22T03:40:46Z", "name": "nintendo_wishlist", "new": false, "repository_manifest": { @@ -10520,7 +10492,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 17, "topics": [], "version_installed": null }, @@ -10569,7 +10541,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 22, + "stars": 23, "topics": [ "automations", "badges", @@ -10664,7 +10636,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 8, + "stars": 10, "topics": [], "version_installed": null }, @@ -10702,7 +10674,7 @@ "installed": false, "last_commit": "34afa6b", "last_release_tag": null, - "last_updated": "2019-09-20T18:28:33Z", + "last_updated": "2020-12-16T23:22:01Z", "name": "srp_energy", "new": false, "repository_manifest": { @@ -10784,13 +10756,13 @@ "installed": false, "last_commit": "332cb46", "last_release_tag": "0.3.3", - "last_updated": "2020-10-19T22:52:08Z", + "last_updated": "2020-12-11T23:00:51Z", "name": "youtube", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 11, "topics": [ "custom-components", "customcomponents", @@ -10945,9 +10917,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "19b7c2e", + "last_commit": "6071e1b", "last_release_tag": "1.0.5", - "last_updated": "2020-05-28T14:40:41Z", + "last_updated": "2020-12-23T21:49:19Z", "name": "hvcgroep", "new": false, "repository_manifest": { @@ -10982,9 +10954,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "eaf5e6f", - "last_release_tag": "1.0.3", - "last_updated": "2020-05-31T17:52:14Z", + "last_commit": "f4ed296", + "last_release_tag": "1.0.5", + "last_updated": "2020-12-28T16:15:09Z", "name": "arpscan_tracker", "new": false, "repository_manifest": { @@ -10997,7 +10969,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 7, + "stars": 9, "topics": [ "custom-component", "hacs", @@ -11034,7 +11006,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 21, + "stars": 24, "topics": [ "custom-component", "emergency", @@ -11174,7 +11146,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 5, "topics": [ "custom-component", "cv", @@ -11267,9 +11239,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "133cd9a", - "last_release_tag": "1.5.3", - "last_updated": "2020-10-26T16:13:55Z", + "last_commit": "404cf77", + "last_release_tag": "1.5.4", + "last_updated": "2020-12-21T10:57:57Z", "name": "livebox", "new": false, "repository_manifest": { @@ -11285,7 +11257,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 9, + "stars": 12, "topics": [ "hacs", "home-assistant", @@ -11404,9 +11376,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "fdd53fd", - "last_release_tag": "1.5.8", - "last_updated": "2020-10-06T14:40:37Z", + "last_commit": "25f697c", + "last_release_tag": "1.6.0", + "last_updated": "2020-12-21T10:57:06Z", "name": "cozytouch", "new": false, "repository_manifest": { @@ -11423,7 +11395,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 11, "topics": [], "version_installed": null }, @@ -11454,7 +11426,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 18, + "stars": 23, "topics": [], "version_installed": null }, @@ -11502,7 +11474,7 @@ "installed": false, "last_commit": "fedecd4", "last_release_tag": "v9.2.0", - "last_updated": "2020-12-10T09:13:20Z", + "last_updated": "2020-12-30T10:06:51Z", "name": "entity_controller", "new": false, "repository_manifest": { @@ -11511,7 +11483,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 143, + "stars": 145, "topics": [ "finite-state-machine", "hass", @@ -11572,9 +11544,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "3ad1cb2", + "last_commit": "1edc58d", "last_release_tag": null, - "last_updated": "2020-10-19T13:27:05Z", + "last_updated": "2020-12-29T09:12:45Z", "name": "uhomeuponor", "new": false, "repository_manifest": { @@ -11587,7 +11559,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 5, + "stars": 6, "topics": [ "customcomponents", "gateway", @@ -11666,7 +11638,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 11, "topics": [ "hacs", "home-assistant", @@ -11792,9 +11764,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "3a823f0", - "last_release_tag": "0.1.19", - "last_updated": "2020-12-07T22:17:45Z", + "last_commit": "299bedf", + "last_release_tag": "0.1.21", + "last_updated": "2020-12-28T12:15:23Z", "name": "googlewifi", "new": false, "repository_manifest": { @@ -11810,7 +11782,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 14, + "stars": 15, "topics": [ "custom-component", "google-wifi", @@ -11856,20 +11828,24 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "3cddc32", - "last_release_tag": null, - "last_updated": "2020-11-22T21:40:28Z", + "last_commit": "df41782", + "last_release_tag": "v1.0.2", + "last_updated": "2020-12-28T17:45:29Z", "name": "erse", "new": false, "repository_manifest": { "name": "Entidade Reguladora dos Servi\u00e7os Energ\u00e9ticos", "country": "PT", - "homeassistant": "0.87" + "homeassistant": "0.87", + "render_readme": true }, "selected_tag": null, "show_beta": false, - "stars": 5, - "topics": [], + "stars": 7, + "topics": [ + "home-assistant-component", + "utility-meters" + ], "version_installed": null }, "177469955": { @@ -11884,9 +11860,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "6b811ea", - "last_release_tag": "release-0.2.2", - "last_updated": "2020-11-23T02:39:55Z", + "last_commit": "adb6450", + "last_release_tag": "release-0.2.3", + "last_updated": "2020-12-22T20:20:42Z", "name": "kumo", "new": false, "repository_manifest": { @@ -11926,7 +11902,7 @@ "installed": false, "last_commit": "bf9e810", "last_release_tag": null, - "last_updated": "2020-12-05T12:06:20Z", + "last_updated": "2020-12-24T11:22:26Z", "name": "yandex_smart_home", "new": false, "repository_manifest": { @@ -11940,7 +11916,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 246, + "stars": 267, "topics": [ "alice", "home-assistant-component", @@ -11976,7 +11952,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 14, + "stars": 17, "topics": [], "version_installed": null }, @@ -11992,9 +11968,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "28de20c", + "last_commit": "da1534f", "last_release_tag": "025", - "last_updated": "2020-12-07T14:08:37Z", + "last_updated": "2020-12-11T16:00:19Z", "name": "spacex", "new": false, "repository_manifest": { @@ -12011,7 +11987,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 13, + "stars": 15, "topics": [ "home-assistant", "home-assistant-component", @@ -12048,7 +12024,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 5, + "stars": 6, "topics": [], "version_installed": null }, @@ -12181,9 +12157,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "5ffe731", + "last_commit": "be040f0", "last_release_tag": "0.3.0", - "last_updated": "2020-11-30T10:20:16Z", + "last_updated": "2020-12-22T12:32:25Z", "name": "gigasetelements", "new": false, "repository_manifest": { @@ -12230,7 +12206,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 27, + "stars": 28, "topics": [], "version_installed": null }, @@ -12293,9 +12269,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "ccc184e", + "last_commit": "86c9a4d", "last_release_tag": "v2.0.4", - "last_updated": "2020-11-23T08:10:03Z", + "last_updated": "2020-12-21T12:54:49Z", "name": "foldingathomecontrol", "new": false, "repository_manifest": { @@ -12324,9 +12300,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "ae6197d", + "last_commit": "88f55cf", "last_release_tag": "v1.1.0", - "last_updated": "2020-11-23T08:10:57Z", + "last_updated": "2020-12-21T12:54:25Z", "name": "open_route_service", "new": false, "repository_manifest": {}, @@ -12359,7 +12335,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 66, + "stars": 68, "topics": [], "version_installed": null }, @@ -12386,7 +12362,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 2, + "stars": 3, "topics": [], "version_installed": null }, @@ -12508,7 +12484,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 7, + "stars": 8, "topics": [ "custom-components", "hacs", @@ -12546,7 +12522,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 18, + "stars": 19, "topics": [ "custom-component", "hacs", @@ -12654,7 +12630,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 11, + "stars": 13, "topics": [ "camera", "custom-component", @@ -12694,7 +12670,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 13, "topics": [ "coco", "domotica", @@ -12808,7 +12784,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 15, + "stars": 18, "topics": [ "cloud", "hacs", @@ -12829,15 +12805,15 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "c3c60b3", + "last_commit": "1bbf160", "last_release_tag": "v3.4.6", - "last_updated": "2020-12-02T14:40:30Z", + "last_updated": "2020-12-17T19:01:38Z", "name": "spotcast", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 164, + "stars": 173, "topics": [], "version_installed": null }, @@ -13012,7 +12988,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 5, + "stars": 6, "topics": [ "balboa", "hacs", @@ -13048,7 +13024,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 30, + "stars": 37, "topics": [ "home-assistant", "home-automation", @@ -13141,7 +13117,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 5, + "stars": 6, "topics": [ "google-maps", "google-places-api", @@ -13176,7 +13152,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 6, + "stars": 7, "topics": [ "home-assistant", "home-assistant-component", @@ -13212,7 +13188,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 7, + "stars": 8, "topics": [], "version_installed": null }, @@ -13244,7 +13220,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 17, + "stars": 20, "topics": [ "ecowitt", "hacs", @@ -13266,9 +13242,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "6f3893f", + "last_commit": "aa0d962", "last_release_tag": "v2.2.1", - "last_updated": "2020-11-26T22:34:20Z", + "last_updated": "2020-12-23T17:37:30Z", "name": "icloud3", "new": false, "repository_manifest": { @@ -13282,7 +13258,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 94, + "stars": 99, "topics": [ "device-tracker", "icloud", @@ -13319,7 +13295,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 3, + "stars": 4, "topics": [ "alerts", "assistant", @@ -13407,9 +13383,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "26ff519", - "last_release_tag": "v0.2.0", - "last_updated": "2020-11-17T10:13:44Z", + "last_commit": "a2129fb", + "last_release_tag": "v0.2.1", + "last_updated": "2020-12-30T13:59:04Z", "name": "sector", "new": false, "repository_manifest": { @@ -13424,7 +13400,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 6, + "stars": 7, "topics": [ "alarm", "alarm-control", @@ -13457,7 +13433,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 5, "topics": [], "version_installed": null }, @@ -13510,9 +13486,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "fd5f5ed", - "last_release_tag": "v3.0.2", - "last_updated": "2020-12-10T09:12:33Z", + "last_commit": "17a1860", + "last_release_tag": "v3.0.3", + "last_updated": "2020-12-30T16:22:22Z", "name": "renault", "new": false, "repository_manifest": { @@ -13529,7 +13505,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 21, + "stars": 22, "topics": [ "custom-components", "home-assistant", @@ -13557,7 +13533,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 8, + "stars": 9, "topics": [ "home-assistant", "home-assistant-component", @@ -13696,9 +13672,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "ef913c8", - "last_release_tag": "v0.5.36", - "last_updated": "2020-12-09T20:51:15Z", + "last_commit": "937fe3f", + "last_release_tag": "v0.6.6", + "last_updated": "2020-12-24T22:05:45Z", "name": "afvalinfo", "new": false, "repository_manifest": { @@ -13715,7 +13691,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 34, + "stars": 36, "topics": [], "version_installed": null }, @@ -13747,7 +13723,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 6, + "stars": 8, "topics": [], "version_installed": null }, @@ -13763,9 +13739,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "d4af7e9", - "last_release_tag": "v0.7.1", - "last_updated": "2020-11-29T05:27:44Z", + "last_commit": "ea54deb", + "last_release_tag": "v0.8", + "last_updated": "2020-12-26T23:50:06Z", "name": "govee_ble_hci", "new": false, "repository_manifest": { @@ -13774,7 +13750,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 47, + "stars": 51, "topics": [ "ble", "govee", @@ -13805,9 +13781,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "70b339c", - "last_release_tag": "v2.3.7", - "last_updated": "2020-12-10T09:48:22Z", + "last_commit": "f8ae6e0", + "last_release_tag": "v2.3.8", + "last_updated": "2020-12-19T10:46:00Z", "name": "tahoma", "new": false, "repository_manifest": { @@ -13820,13 +13796,13 @@ "switch", "climate" ], - "homeassistant": "0.99.9", + "homeassistant": "0.115.0", "render_readme": "true", "iot_class": "Cloud Polling" }, "selected_tag": null, "show_beta": false, - "stars": 41, + "stars": 43, "topics": [ "hacktoberfest", "home-assistant", @@ -13847,9 +13823,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "467333b", - "last_release_tag": "v0.3", - "last_updated": "2020-12-09T01:05:18Z", + "last_commit": "95878fd", + "last_release_tag": "v0.4", + "last_updated": "2020-12-11T14:04:18Z", "name": "yahoofinance", "new": false, "repository_manifest": { @@ -13862,7 +13838,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 15, + "stars": 18, "topics": [ "hacs", "home-assistant", @@ -13911,9 +13887,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "cf8c3fd", - "last_release_tag": "1.0.9", - "last_updated": "2020-12-04T11:36:03Z", + "last_commit": "ce33015", + "last_release_tag": "1.12", + "last_updated": "2020-12-17T11:19:02Z", "name": "fordpass", "new": false, "repository_manifest": { @@ -13923,7 +13899,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 11, + "stars": 14, "topics": [ "assistant", "car", @@ -13993,7 +13969,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 11, "topics": [ "component", "home-assistant", @@ -14014,9 +13990,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "9965c12", - "last_release_tag": "v1.5.6", - "last_updated": "2020-12-08T20:35:18Z", + "last_commit": "9d1bc52", + "last_release_tag": "v1.5.7", + "last_updated": "2020-12-19T11:15:08Z", "name": "samsungtv_tizen", "new": false, "repository_manifest": { @@ -14027,7 +14003,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 110, + "stars": 117, "topics": [], "version_installed": null }, @@ -14053,7 +14029,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 14, + "stars": 15, "topics": [], "version_installed": null }, @@ -14069,9 +14045,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "ee64c7d", + "last_commit": "729f9ca", "last_release_tag": "v0.5.16", - "last_updated": "2020-12-08T01:41:10Z", + "last_updated": "2020-12-31T15:04:30Z", "name": "hubitat", "new": false, "repository_manifest": { @@ -14088,7 +14064,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 45, + "stars": 47, "topics": [ "hacs", "home-assistant", @@ -14154,7 +14130,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 60, + "stars": 61, "topics": [ "auto-purge", "generational-backups", @@ -14239,7 +14215,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 42, + "stars": 44, "topics": [ "crop", "evaporation", @@ -14288,7 +14264,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 2, + "stars": 3, "topics": [ "electric-vehicles", "ev", @@ -14342,7 +14318,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 11, + "stars": 12, "topics": [], "version_installed": null }, @@ -14482,9 +14458,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "a95a54f", + "last_commit": "be0a6ee", "last_release_tag": null, - "last_updated": "2020-02-10T20:54:07Z", + "last_updated": "2020-12-28T22:48:25Z", "name": "rad-afval", "new": false, "repository_manifest": { @@ -14525,7 +14501,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 15, + "stars": 17, "topics": [], "version_installed": null }, @@ -14550,7 +14526,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 33, + "stars": 34, "topics": [], "version_installed": null }, @@ -14673,7 +14649,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 53, + "stars": 59, "topics": [ "automation", "homeassistant", @@ -14741,17 +14717,18 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "d8b500a", - "last_release_tag": "2.3.2", - "last_updated": "2020-12-05T23:18:14Z", + "last_commit": "509c72b", + "last_release_tag": "2.3.3", + "last_updated": "2020-12-14T16:44:58Z", "name": "tapo_control", "new": false, "repository_manifest": { - "name": "Tapo: Cameras Control" + "name": "Tapo: Cameras Control", + "homeassistant": "2020.12.0" }, "selected_tag": null, "show_beta": false, - "stars": 45, + "stars": 52, "topics": [ "camera", "cameras", @@ -14833,14 +14810,14 @@ "installed_commit": null, "installed": false, "last_commit": "19b328b", - "last_release_tag": "v1.3.0", - "last_updated": "2020-08-25T14:29:45Z", + "last_release_tag": "v1.4.0", + "last_updated": "2020-12-19T15:39:23Z", "name": "aemet", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 17, "topics": [ "aemet", "hacs", @@ -14912,7 +14889,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 1, + "stars": 2, "topics": [ "chargeamps", "homeassistant-integration" @@ -15063,9 +15040,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "a7c2824", + "last_commit": "c90d3bc", "last_release_tag": "v0.5", - "last_updated": "2020-10-05T11:55:30Z", + "last_updated": "2020-12-17T09:36:42Z", "name": "ics", "new": false, "repository_manifest": { @@ -15208,9 +15185,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "d7d2725", - "last_release_tag": "2.3.1", - "last_updated": "2020-12-09T12:10:39Z", + "last_commit": "908d4a8", + "last_release_tag": "3.1.0", + "last_updated": "2020-12-21T22:56:27Z", "name": "jablotron100", "new": false, "repository_manifest": { @@ -15227,11 +15204,12 @@ "NB", "SK" ], + "homeassistant": "2020.12.0", "render_readme": true }, "selected_tag": null, "show_beta": false, - "stars": 9, + "stars": 12, "topics": [ "alarm", "custom-component", @@ -15288,9 +15266,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "29c0f48", - "last_release_tag": null, - "last_updated": "2020-07-21T10:54:40Z", + "last_commit": "a6af803", + "last_release_tag": "v0.1.1", + "last_updated": "2020-12-27T21:51:57Z", "name": "easycontrols", "new": false, "repository_manifest": { @@ -15324,13 +15302,13 @@ "installed": false, "last_commit": "9c7b3f1", "last_release_tag": "v0.3.0", - "last_updated": "2020-10-18T16:50:57Z", + "last_updated": "2020-12-31T18:26:27Z", "name": "elastic", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 56, + "stars": 57, "topics": [ "elasticsearch", "hacktoberfest", @@ -15441,7 +15419,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 58, + "stars": 61, "topics": [ "average", "home-assistant", @@ -15475,7 +15453,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 31, + "stars": 33, "topics": [ "forecast", "gismeteo", @@ -15513,7 +15491,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 28, + "stars": 34, "topics": [ "binary-sensor", "car", @@ -15573,9 +15551,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "6c8a6de", - "last_release_tag": "0.7.17", - "last_updated": "2020-12-09T16:56:13Z", + "last_commit": "08b4353", + "last_release_tag": "0.7.18", + "last_updated": "2020-12-22T10:23:15Z", "name": "jq300", "new": false, "repository_manifest": { @@ -15588,7 +15566,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 17, + "stars": 19, "topics": [ "air-quality", "air-quality-measurements", @@ -15622,7 +15600,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 11, "topics": [ "home-assistant", "homeassistant", @@ -15692,16 +15670,16 @@ "@ljmerza" ], "category": "integration", - "description": "Email Sensor for collecting tracking numbers from FedEx, UPS, USPS, Rockauto, Best Buy, Dollar Shave Club, Newegg, B&H Photo, Paypal, eBay, DHL, Philips Hue, Google Express, Monoprice, NuLeaf, Timeless, DSW, Wyze, Reolink, and Ali Express.", + "description": "Email Sensor for collecting tracking numbers from FedEx, UPS, USPS, Rockauto, Best Buy, Chewy, Dollar Shave Club, Newegg, B&H Photo, Paypal, eBay, DHL, Philips Hue, Google Express, Monoprice, NuLeaf, Timeless, DSW, Wyze, Reolink, Groupon, Zazzle, and Ali Express.", "domain": "email", "downloads": 0, "full_name": "ljmerza/ha-email-sensor", "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "3e17e79", - "last_release_tag": "2.7.0", - "last_updated": "2020-12-03T02:56:48Z", + "last_commit": "88b7218", + "last_release_tag": "2.11.0", + "last_updated": "2020-12-23T18:46:17Z", "name": "email", "new": false, "repository_manifest": { @@ -15710,7 +15688,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 30, + "stars": 34, "topics": [], "version_installed": null }, @@ -15790,7 +15768,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 5, "topics": [ "cc128", "current-cost", @@ -15800,34 +15778,6 @@ ], "version_installed": null }, - "152294445": { - "authors": [ - "@lukas-hetzenecker" - ], - "category": "integration", - "description": "Links multiple home-assistant instances together", - "domain": "remote_homeassistant", - "downloads": 0, - "full_name": "lukas-hetzenecker/home-assistant-remote", - "first_install": true, - "installed_commit": null, - "installed": false, - "last_commit": "5d70cd1", - "last_release_tag": "3.0", - "last_updated": "2020-12-10T09:41:57Z", - "name": "remote_homeassistant", - "new": false, - "repository_manifest": { - "name": "Remote Home-Assistant", - "render_readme": true, - "iot_class": "Local Polling" - }, - "selected_tag": null, - "show_beta": false, - "stars": 207, - "topics": [], - "version_installed": null - }, "257912976": { "authors": [], "category": "integration", @@ -15838,9 +15788,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "6a83bdf", - "last_release_tag": "2.0", - "last_updated": "2020-09-24T20:04:33Z", + "last_commit": "c68da72", + "last_release_tag": "2.1", + "last_updated": "2020-12-13T14:19:55Z", "name": "mqtt_template", "new": false, "repository_manifest": { @@ -15893,9 +15843,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "7d03ce8", + "last_commit": "51771fb", "last_release_tag": null, - "last_updated": "2020-12-06T09:10:11Z", + "last_updated": "2020-12-31T14:18:47Z", "name": "waste_collection_schedule", "new": false, "repository_manifest": { @@ -15907,7 +15857,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 37, + "stars": 40, "topics": [ "abfall", "abfallnavi", @@ -15986,7 +15936,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 60, + "stars": 64, "topics": [ "home-assistant", "home-automation", @@ -16039,44 +15989,6 @@ ], "version_installed": null }, - "186600448": { - "authors": [ - "@MatthewFlamm" - ], - "category": "integration", - "description": "Home assistant custom camera platform for NWS radar loops", - "domain": "nwsradar", - "downloads": 0, - "full_name": "MatthewFlamm/nwsradar", - "first_install": true, - "installed_commit": null, - "installed": false, - "last_commit": "740691a", - "last_release_tag": "0.5.1", - "last_updated": "2020-10-08T23:52:58Z", - "name": "nwsradar", - "new": false, - "repository_manifest": { - "name": "National Weather Service Radar", - "country": "US", - "domains": [ - "weather" - ], - "iot_class": "Cloud Polling", - "zip_release": true, - "filename": "nwsradar.zip" - }, - "selected_tag": null, - "show_beta": false, - "stars": 17, - "topics": [ - "custom-component", - "home-assistant", - "nws", - "weather-radar" - ], - "version_installed": null - }, "238446853": { "authors": [ "@maykar" @@ -16099,7 +16011,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 106, + "stars": 120, "topics": [], "version_installed": null }, @@ -16133,7 +16045,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 0, + "stars": 1, "topics": [ "custom-component", "fortnite", @@ -16174,7 +16086,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 10, + "stars": 11, "topics": [ "bigassfans", "fan", @@ -16223,9 +16135,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "49497c6", + "last_commit": "e75eba5", "last_release_tag": null, - "last_updated": "2020-12-08T22:16:31Z", + "last_updated": "2020-12-13T14:47:13Z", "name": "goodwe", "new": false, "repository_manifest": { @@ -16238,7 +16150,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 8, + "stars": 14, "topics": [ "goodwe", "hacs", @@ -16325,9 +16237,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "2ec50a8", + "last_commit": "81a82ac", "last_release_tag": "0.2.2", - "last_updated": "2020-12-09T18:13:38Z", + "last_updated": "2020-12-31T18:44:09Z", "name": "mail_and_packages", "new": false, "repository_manifest": { @@ -16340,7 +16252,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 123, + "stars": 135, "topics": [ "home-assistant", "home-assistant-config", @@ -16376,7 +16288,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 33, + "stars": 34, "topics": [ "blitzortung", "home-assistant", @@ -16410,7 +16322,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 15, + "stars": 16, "topics": [ "hacs", "homeassistant", @@ -16479,7 +16391,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 13, + "stars": 14, "topics": [ "hacs", "homeassistant-integration", @@ -16518,7 +16430,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 73, + "stars": 80, "topics": [ "custom-component", "hacs", @@ -16601,7 +16513,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 17, + "stars": 18, "topics": [ "arylic", "cvte", @@ -16642,7 +16554,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 3, + "stars": 4, "topics": [ "gateways", "isp", @@ -16704,9 +16616,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "f7c5380", - "last_release_tag": "v1.3.2", - "last_updated": "2020-12-10T05:37:08Z", + "last_commit": "9f9a87a", + "last_release_tag": "v1.4.1", + "last_updated": "2020-12-23T11:28:46Z", "name": "alarmo", "new": false, "repository_manifest": { @@ -16724,7 +16636,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 47, + "stars": 67, "topics": [ "alarm", "assistant", @@ -16775,9 +16687,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "d231268", - "last_release_tag": "v2.1.1", - "last_updated": "2020-12-08T15:56:08Z", + "last_commit": "16c8950", + "last_release_tag": "v3.0.1", + "last_updated": "2020-12-29T16:43:12Z", "name": "scheduler", "new": false, "repository_manifest": { @@ -16792,7 +16704,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 56, + "stars": 69, "topics": [ "custom-component", "hacs", @@ -16897,9 +16809,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "244dcdd", - "last_release_tag": "v0.3.15", - "last_updated": "2020-11-24T22:00:48Z", + "last_commit": "5eacbe8", + "last_release_tag": "v0.3.16", + "last_updated": "2020-12-31T23:34:51Z", "name": "samsungtv_smart", "new": false, "repository_manifest": { @@ -16911,7 +16823,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 51, + "stars": 58, "topics": [ "home-assistant", "homeassistant", @@ -16934,9 +16846,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "dc66795", - "last_release_tag": "v0.5.10", - "last_updated": "2020-11-07T02:09:03Z", + "last_commit": "be7b807", + "last_release_tag": "v0.5.14", + "last_updated": "2020-12-29T01:36:56Z", "name": "smartthinq_sensors", "new": false, "repository_manifest": { @@ -16949,7 +16861,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 121, + "stars": 130, "topics": [ "dishwasher", "dryer", @@ -17034,9 +16946,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "4e66be4", + "last_commit": "a7deada", "last_release_tag": "v0.6.1", - "last_updated": "2020-08-22T11:37:35Z", + "last_updated": "2020-12-27T17:46:41Z", "name": "jumbo", "new": false, "repository_manifest": {}, @@ -17131,15 +17043,21 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "5b264c1", - "last_release_tag": "v1.1.0", - "last_updated": "2020-10-04T16:28:34Z", + "last_commit": "50fdb90", + "last_release_tag": "v1.1.1", + "last_updated": "2020-12-28T10:22:13Z", "name": "attributes", "new": false, - "repository_manifest": {}, + "repository_manifest": { + "name": "Attributes extractor", + "homeassistant": "0.103.0", + "domains": [ + "sensor" + ] + }, "selected_tag": null, "show_beta": false, - "stars": 40, + "stars": 41, "topics": [ "attributes", "breakout", @@ -17162,12 +17080,19 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "85e72fc", - "last_release_tag": "v2.0.0", - "last_updated": "2020-08-16T11:22:54Z", + "last_commit": "896050a", + "last_release_tag": "v2.0.1", + "last_updated": "2020-12-28T11:35:05Z", "name": "clientraw", "new": false, - "repository_manifest": {}, + "repository_manifest": { + "name": "Clientraw weather parser", + "homeassistant": "0.103.0", + "domains": [ + "sensor" + ], + "iot_class": "cloud_poll" + }, "selected_tag": null, "show_beta": false, "stars": 4, @@ -17193,9 +17118,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "a6390e6", + "last_commit": "1c5725a", "last_release_tag": "1.2.0", - "last_updated": "2020-08-16T10:42:29Z", + "last_updated": "2020-12-28T11:27:26Z", "name": "mikrotik", "new": false, "repository_manifest": {}, @@ -17282,7 +17207,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 49, + "stars": 50, "topics": [ "anniversaries", "hacktoberfest", @@ -17312,7 +17237,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 17, "topics": [ "custom-component", "home-assistant", @@ -17526,7 +17451,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 18, + "stars": 19, "topics": [ "automation", "helper", @@ -17549,15 +17474,15 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "0b17acb", - "last_release_tag": "v4.7.4", - "last_updated": "2020-12-07T16:39:50Z", + "last_commit": "9d720ec", + "last_release_tag": "v4.7.7", + "last_updated": "2020-12-22T15:26:48Z", "name": "afvalbeheer", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 67, + "stars": 69, "topics": [ "belgium", "dutch", @@ -17581,9 +17506,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "de4d8b4", - "last_release_tag": "v1.1.1", - "last_updated": "2020-10-15T15:53:14Z", + "last_commit": "40d6044", + "last_release_tag": "v1.1.3", + "last_updated": "2020-12-30T00:17:40Z", "name": "tauron_amiplus", "new": false, "repository_manifest": { @@ -17595,7 +17520,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 15, + "stars": 17, "topics": [ "custom-component", "energy-monitor", @@ -17692,7 +17617,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 9, + "stars": 10, "topics": [ "custom-integration", "dlink", @@ -17722,7 +17647,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 5, "topics": [ "custom-component", "freebox", @@ -17867,7 +17792,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 31, + "stars": 33, "topics": [ "gardena", "gardena-api", @@ -17892,7 +17817,7 @@ "installed": false, "last_commit": "afce9f7", "last_release_tag": "2020.0", - "last_updated": "2020-12-09T08:45:57Z", + "last_updated": "2020-12-30T23:38:32Z", "name": "hive", "new": false, "repository_manifest": { @@ -17909,7 +17834,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 12, + "stars": 16, "topics": [ "hive" ], @@ -17927,20 +17852,23 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "33245e3", + "last_commit": "dc782a3", "last_release_tag": null, - "last_updated": "2020-07-31T19:35:29Z", + "last_updated": "2020-12-31T10:44:32Z", "name": "climacell", "new": false, "repository_manifest": { - "name": "Climacell weather provider", + "name": "ClimaCell Weather Provider", "domains": [ "sensor" + ], + "iot_class": [ + "Cloud Polling" ] }, "selected_tag": null, "show_beta": false, - "stars": 21, + "stars": 23, "topics": [ "climacell", "hacs", @@ -18235,7 +18163,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 67, + "stars": 69, "topics": [], "version_installed": null }, @@ -18259,7 +18187,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 73, + "stars": 75, "topics": [], "version_installed": null }, @@ -18300,15 +18228,15 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "7e56965", - "last_release_tag": "v0.6", - "last_updated": "2020-06-13T03:29:32Z", + "last_commit": "123c48f", + "last_release_tag": "v0.7", + "last_updated": "2020-12-21T03:45:11Z", "name": "deepstack_face", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 72, + "stars": 80, "topics": [ "computer-vision", "deep-learning", @@ -18328,9 +18256,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "c36caa3", - "last_release_tag": "v4.4.27", - "last_updated": "2020-11-30T17:49:40Z", + "last_commit": "0fa86c3", + "last_release_tag": "v4.4.29", + "last_updated": "2020-12-22T10:56:36Z", "name": "volkswagencarnet", "new": false, "repository_manifest": { @@ -18343,7 +18271,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 105, + "stars": 106, "topics": [ "custom-component", "hacs", @@ -18377,7 +18305,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 58, + "stars": 60, "topics": [ "home-assistant", "rekognition" @@ -18396,18 +18324,18 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "658d03c", - "last_release_tag": "v3.4", - "last_updated": "2020-11-04T05:40:17Z", + "last_commit": "294d9c5", + "last_release_tag": "v3.8", + "last_updated": "2020-12-31T06:05:08Z", "name": "deepstack_object", "new": false, "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 180, + "stars": 194, "topics": [ - "facial-recognition", - "home-assistant" + "home-assistant", + "object-detection" ], "version_installed": null }, @@ -18470,7 +18398,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 350, + "stars": 352, "topics": [ "home-assistant", "hue", @@ -18524,9 +18452,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "58c7a2d", - "last_release_tag": "0.1.5", - "last_updated": "2020-11-27T09:43:34Z", + "last_commit": "73f47f0", + "last_release_tag": "0.1.7", + "last_updated": "2020-12-21T19:10:03Z", "name": "adtpulse", "new": false, "repository_manifest": { @@ -18560,9 +18488,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "b50ee8b", - "last_release_tag": "v3.1.0", - "last_updated": "2020-12-09T08:31:56Z", + "last_commit": "9bfeb10", + "last_release_tag": "v3.2.0", + "last_updated": "2020-12-30T22:05:53Z", "name": "localtuya", "new": false, "repository_manifest": { @@ -18582,7 +18510,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 155, + "stars": 200, "topics": [ "localtuya", "tuya", @@ -18629,9 +18557,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "7889abf", + "last_commit": "1bf3a1e", "last_release_tag": "0.1.2", - "last_updated": "2020-12-08T09:49:48Z", + "last_updated": "2020-12-21T19:10:24Z", "name": "poolmath", "new": false, "repository_manifest": { @@ -18643,7 +18571,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 5, "topics": [ "hacktoberfest", "homeassistant" @@ -18662,9 +18590,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "9dc97a6", + "last_commit": "0ede706", "last_release_tag": "0.0.3", - "last_updated": "2020-08-23T15:24:04Z", + "last_updated": "2020-12-15T10:45:20Z", "name": "xantech", "new": false, "repository_manifest": { @@ -18766,7 +18694,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 11, + "stars": 13, "topics": [ "reversotts", "tts" @@ -18896,7 +18824,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 21, + "stars": 22, "topics": [], "version_installed": null }, @@ -18936,9 +18864,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "46a47e3", - "last_release_tag": "0.0.2", - "last_updated": "2020-11-05T14:55:05Z", + "last_commit": "9acd6ed", + "last_release_tag": "0.0.3", + "last_updated": "2020-12-29T04:57:41Z", "name": "tryfi", "new": false, "repository_manifest": { @@ -18957,7 +18885,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 2, + "stars": 3, "topics": [ "dog", "dog-collar", @@ -19028,7 +18956,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 51, + "stars": 52, "topics": [ "bhyve", "home-assistant", @@ -19053,7 +18981,7 @@ "installed": false, "last_commit": "40dad45", "last_release_tag": "2.2.2", - "last_updated": "2020-11-23T12:55:04Z", + "last_updated": "2020-12-30T13:28:00Z", "name": "climate_ip", "new": false, "repository_manifest": { @@ -19083,9 +19011,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "045a16d", - "last_release_tag": "0.0.6", - "last_updated": "2020-12-04T15:29:16Z", + "last_commit": "6d925fc", + "last_release_tag": "0.0.9", + "last_updated": "2020-12-31T14:50:36Z", "name": "media_player_template", "new": false, "repository_manifest": { @@ -19103,7 +19031,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 21, + "stars": 24, "topics": [ "custom-component", "home-assistant", @@ -19218,9 +19146,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "e3e6b11", - "last_release_tag": "v0.7.5", - "last_updated": "2020-12-08T11:02:44Z", + "last_commit": "c7e14e9", + "last_release_tag": "v0.7.7", + "last_updated": "2020-12-23T15:03:16Z", "name": "ziggonext", "new": false, "repository_manifest": { @@ -19399,7 +19327,7 @@ "installed": false, "last_commit": "e4cd147", "last_release_tag": "v0.9.3", - "last_updated": "2020-04-08T14:50:52Z", + "last_updated": "2020-12-22T16:43:18Z", "name": "var", "new": false, "repository_manifest": { @@ -19409,7 +19337,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 64, + "stars": 66, "topics": [], "version_installed": null }, @@ -19427,7 +19355,7 @@ "installed": false, "last_commit": "e3be36b", "last_release_tag": "v3.2", - "last_updated": "2020-07-09T21:49:45Z", + "last_updated": "2020-12-31T08:18:36Z", "name": "zwift", "new": false, "repository_manifest": { @@ -19454,9 +19382,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "7e322ef", - "last_release_tag": "v1.0.20", - "last_updated": "2020-11-04T19:20:04Z", + "last_commit": "c0a80dd", + "last_release_tag": "v1.0.22", + "last_updated": "2020-12-22T21:04:54Z", "name": "panasonic_cc", "new": false, "repository_manifest": { @@ -19464,7 +19392,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 8, + "stars": 10, "topics": [], "version_installed": null }, @@ -19520,7 +19448,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 8, + "stars": 10, "topics": [ "custom-component", "eskom", @@ -19587,9 +19515,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "cd6b4b5", + "last_commit": "637dded", "last_release_tag": "0.2.1", - "last_updated": "2020-12-07T08:03:41Z", + "last_updated": "2020-12-31T13:36:31Z", "name": "shelly", "new": false, "repository_manifest": { @@ -19601,7 +19529,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 408, + "stars": 416, "topics": [], "version_installed": null }, @@ -19630,7 +19558,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 1, + "stars": 2, "topics": [ "custom-component", "free-floating", @@ -19664,7 +19592,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 285, + "stars": 289, "topics": [ "acpartner", "airconditioning", @@ -19701,7 +19629,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 165, + "stars": 181, "topics": [ "airfresh", "airhumidifier", @@ -19741,7 +19669,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 34, + "stars": 36, "topics": [ "custom-component", "home-assistant", @@ -19778,7 +19706,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 72, + "stars": 75, "topics": [ "custom-component", "home-assistant", @@ -19883,9 +19811,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "dabc35d", - "last_release_tag": "0.0.4", - "last_updated": "2020-11-22T08:18:02Z", + "last_commit": "7960590", + "last_release_tag": "v0.0.5", + "last_updated": "2020-12-14T14:21:14Z", "name": "resrobot", "new": false, "repository_manifest": { @@ -20017,7 +19945,7 @@ "repository_manifest": {}, "selected_tag": null, "show_beta": false, - "stars": 35, + "stars": 37, "topics": [], "version_installed": null }, @@ -20033,7 +19961,7 @@ "installed": false, "last_commit": "73e51df", "last_release_tag": "1.2.0", - "last_updated": "2020-08-01T04:02:38Z", + "last_updated": "2020-12-12T01:16:19Z", "name": "fontawesome", "new": false, "repository_manifest": { @@ -20206,9 +20134,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "be59630", - "last_release_tag": "0.6", - "last_updated": "2020-12-08T13:15:09Z", + "last_commit": "2d02440", + "last_release_tag": "0.7", + "last_updated": "2020-12-27T22:30:49Z", "name": "clean_up_snapshots_service", "new": false, "repository_manifest": { @@ -20220,7 +20148,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 7, + "stars": 8, "topics": [], "version_installed": null }, @@ -20264,9 +20192,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "5aa6652", + "last_commit": "3d57c10", "last_release_tag": "v1.5.10", - "last_updated": "2020-12-08T23:27:53Z", + "last_updated": "2020-12-28T13:47:06Z", "name": "mikrotik_router", "new": false, "repository_manifest": { @@ -20285,7 +20213,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 39, + "stars": 42, "topics": [ "hacs", "homeassistant", @@ -20326,7 +20254,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 20, + "stars": 22, "topics": [ "hacs", "homeassistant", @@ -20366,7 +20294,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 4, + "stars": 5, "topics": [ "aidon", "ams", @@ -20513,9 +20441,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "11c7bd7", - "last_release_tag": "1.2", - "last_updated": "2020-11-02T16:21:32Z", + "last_commit": "c77c74c", + "last_release_tag": "1.4.1", + "last_updated": "2020-12-29T05:20:09Z", "name": "pandora_cas", "new": false, "repository_manifest": { @@ -20534,7 +20462,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 12, + "stars": 15, "topics": [ "hacs", "home-assistant", @@ -20612,7 +20540,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 15, + "stars": 17, "topics": [ "mbus-adapter", "meter", @@ -20632,9 +20560,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "7db3244", - "last_release_tag": "v0.7.0.3", - "last_updated": "2020-12-08T14:19:28Z", + "last_commit": "557bb00", + "last_release_tag": "v0.7.0.5", + "last_updated": "2020-12-26T14:57:28Z", "name": "aarlo", "new": false, "repository_manifest": { @@ -20643,7 +20571,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 143, + "stars": 144, "topics": [ "arlo", "homeassistant", @@ -20733,7 +20661,7 @@ "installed": false, "last_commit": "8492f20", "last_release_tag": "v0.5", - "last_updated": "2020-05-26T01:49:36Z", + "last_updated": "2020-12-15T07:23:59Z", "name": "virtual", "new": false, "repository_manifest": { @@ -20741,7 +20669,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 19, "topics": [], "version_installed": null }, @@ -20796,7 +20724,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 53, + "stars": 60, "topics": [ "custom-component", "docker", @@ -20819,9 +20747,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "a96ba92", - "last_release_tag": "0.4.1", - "last_updated": "2020-11-26T10:38:28Z", + "last_commit": "e6fc3a4", + "last_release_tag": "0.4.2", + "last_updated": "2020-12-30T15:41:07Z", "name": "homewizard_energy", "new": false, "repository_manifest": { @@ -20830,12 +20758,14 @@ "domains": [ "sensor" ], - "homeassistant": "0.116.0", - "iot_class": "Local Polling" + "homeassistant": "2020.12.0", + "iot_class": "Local Polling", + "zip_release": true, + "filename": "homewizard_energy.zip" }, "selected_tag": null, "show_beta": false, - "stars": 3, + "stars": 4, "topics": [ "custom-integration", "dsmr", @@ -20915,7 +20845,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 6, + "stars": 7, "topics": [ "hassio", "home-assistant", @@ -20935,9 +20865,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "70b9a15", - "last_release_tag": "v1.8.0", - "last_updated": "2020-12-07T05:22:07Z", + "last_commit": "0bc0e4d", + "last_release_tag": "v1.9.0", + "last_updated": "2020-12-28T05:12:41Z", "name": "simpleicons", "new": false, "repository_manifest": { @@ -21008,7 +20938,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 68, + "stars": 69, "topics": [ "hacktoberfest", "hacs", @@ -21074,7 +21004,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 28, + "stars": 30, "topics": [], "version_installed": null }, @@ -21105,7 +21035,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 6, + "stars": 7, "topics": [ "hacs", "hassio", @@ -21131,9 +21061,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "0a9fb5c", - "last_release_tag": "5.2.7", - "last_updated": "2020-12-09T12:32:13Z", + "last_commit": "2196ada", + "last_release_tag": "5.2.8", + "last_updated": "2020-12-10T14:26:24Z", "name": "afvalwijzer", "new": false, "repository_manifest": { @@ -21212,7 +21142,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 25, + "stars": 26, "topics": [], "version_installed": null }, @@ -21345,7 +21275,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 45, + "stars": 47, "topics": [ "zha", "zha-map" @@ -21364,9 +21294,9 @@ "first_install": true, "installed_commit": null, "installed": false, - "last_commit": "40ec477", - "last_release_tag": "0.2", - "last_updated": "2020-11-20T21:39:05Z", + "last_commit": "ee369f3", + "last_release_tag": "0.4", + "last_updated": "2020-12-16T06:17:26Z", "name": "cezdistribuce", "new": false, "repository_manifest": { @@ -21380,7 +21310,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 1, + "stars": 2, "topics": [ "cez", "hacs", @@ -21500,7 +21430,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 93, + "stars": 96, "topics": [ "home-assistant", "node-red" @@ -21529,7 +21459,743 @@ }, "selected_tag": null, "show_beta": false, - "stars": 60, + "stars": 63, + "topics": [], + "version_installed": null + }, + "321140869": { + "authors": [], + "category": "plugin", + "description": "Custom home assitant lovelace for UI auto reload", + "domain": "", + "downloads": 0, + "full_name": "ben8p/lovelace-auto-reload-card", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "e6a1387", + "last_release_tag": null, + "last_updated": "2020-12-13T19:43:50Z", + "name": "lovelace-auto-reload-card", + "new": true, + "repository_manifest": { + "name": "Auto Reload", + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 6, + "topics": [ + "home-assistant", + "lovelace-card" + ], + "version_installed": null + }, + "321773656": { + "authors": [], + "category": "plugin", + "description": "\ud83c\udc39 Lovelace responsive grid card that can be tweaked in your theme definition.", + "domain": "", + "downloads": 0, + "full_name": "nervetattoo/themable-grid", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "2f6f0f5", + "last_release_tag": "2.0.1", + "last_updated": "2020-12-22T21:54:09Z", + "name": "themable-grid", + "new": true, + "repository_manifest": { + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 4, + "topics": [ + "home-assistant", + "lovelace-card", + "lovelace-custom-card", + "lovelace-ui" + ], + "version_installed": null + }, + "320381430": { + "authors": [], + "category": "plugin", + "description": "An analog clock for Home Assistant Lovelace", + "domain": "", + "downloads": 0, + "full_name": "tomasrudh/analogclock", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "81e1015", + "last_release_tag": "1.4", + "last_updated": "2020-12-31T22:14:26Z", + "name": "analogclock", + "new": false, + "repository_manifest": { + "name": "Analog Clock", + "render_readme": true, + "filename": "analogclock.js" + }, + "selected_tag": null, + "show_beta": false, + "stars": 5, + "topics": [ + "analog", + "analog-clock", + "assistant-lovelace", + "clock", + "lovelace" + ], + "version_installed": null + }, + "320117484": { + "authors": [], + "category": "theme", + "description": "Vibrant (Dark) Version of Clear Theme", + "domain": "", + "downloads": 0, + "full_name": "myleskeeffe/clear-theme-dark-vibrant", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "167a173", + "last_release_tag": "v2.0.5", + "last_updated": "2020-12-10T07:04:39Z", + "name": "clear-theme-dark-vibrant", + "new": false, + "repository_manifest": { + "name": "Vibrant (Dark) Clear Theme", + "homeassistant": "0.109.0" + }, + "selected_tag": null, + "show_beta": false, + "stars": 1, + "topics": [ + "clear", + "dark", + "theme", + "vibrant" + ], + "version_installed": null + }, + "245694520": { + "authors": [ + "@asev" + ], + "category": "integration", + "description": "Custom component for Home Assistant to connect Helios ventilation system.", + "domain": "helios", + "downloads": 0, + "full_name": "asev/homeassistant-helios", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "742d540", + "last_release_tag": "v0.4", + "last_updated": "2020-11-23T10:01:30Z", + "name": "helios", + "new": true, + "repository_manifest": { + "name": "Helios ventilation", + "iot_class": "Local Polling", + "render_readme": "True" + }, + "selected_tag": null, + "show_beta": false, + "stars": 2, + "topics": [ + "helios", + "homeassistant", + "homeassistant-integration", + "ventilation" + ], + "version_installed": null + }, + "302145522": { + "authors": [ + "@djtimca" + ], + "category": "integration", + "description": "Home Assistant custom HACS integration to integrate the next 5 global rocket launches from https://rocketlaunch.live", + "domain": "rocketlaunchlive", + "downloads": 0, + "full_name": "djtimca/harocketlaunchlive", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "6db7f79", + "last_release_tag": "007", + "last_updated": "2020-12-03T18:40:46Z", + "name": "rocketlaunchlive", + "new": true, + "repository_manifest": { + "name": "Rocket Launch Live - Next 5 Launches", + "country": "CA", + "domains": [ + "sensor" + ], + "homeassistant": "0.115.0", + "iot_class": [ + "Cloud Polling" + ] + }, + "selected_tag": null, + "show_beta": false, + "stars": 7, + "topics": [ + "home-assistant", + "home-assistant-custom", + "launch", + "nasa", + "rocket", + "spacex", + "ula" + ], + "version_installed": null + }, + "314593331": { + "authors": [ + "@djtimca" + ], + "category": "integration", + "description": "Using the N2YO API, this Home Assistant integration will provide visible satellite passes (general) and to add specific satellites for monitoring.", + "domain": "satellitetracker", + "downloads": 0, + "full_name": "djtimca/hasatellitetracker", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "26477af", + "last_release_tag": "0.0.4", + "last_updated": "2020-12-04T01:43:48Z", + "name": "satellitetracker", + "new": true, + "repository_manifest": { + "name": "Satellite Tracker (N2YO)", + "country": "CA", + "domains": [ + "binary_sensor", + "device_tracker", + "sensor" + ], + "homeassistant": "0.115.0", + "iot_class": [ + "Cloud Polling" + ] + }, + "selected_tag": null, + "show_beta": false, + "stars": 2, + "topics": [ + "home-assistant", + "home-assistant-hacs", + "international-space-station", + "iss", + "satellite", + "satellite-tracker", + "starlink", + "tracking-satellites", + "visible-passes" + ], + "version_installed": null + }, + "317051290": { + "authors": [ + "@eyalcha" + ], + "category": "integration", + "description": "Home assistant custom component to fetch kan program guide", + "domain": "kan_program", + "downloads": 0, + "full_name": "eyalcha/kan_program", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "0e70f0f", + "last_release_tag": "1.0.0", + "last_updated": "2020-12-20T12:12:08Z", + "name": "kan_program", + "new": true, + "repository_manifest": { + "name": "Kan Program", + "domains": [ + "sensor" + ], + "country": "IL", + "iot_class": "cloud_poll", + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 2, + "topics": [ + "custom-component", + "hacs", + "home-assistant" + ], + "version_installed": null + }, + "248462859": { + "authors": [ + "@uvjustin" + ], + "category": "integration", + "description": "Custom component to allow Home Assistant to interface with Alarm.com", + "domain": "alarmdotcom", + "downloads": 0, + "full_name": "uvjustin/alarmdotcom", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "0be5c5f", + "last_release_tag": null, + "last_updated": "2020-12-22T15:12:57Z", + "name": "alarmdotcom", + "new": true, + "repository_manifest": { + "name": "Alarmdotcom", + "render_readme": true, + "homeassistant": "0.105.0" + }, + "selected_tag": null, + "show_beta": false, + "stars": 30, + "topics": [ + "alarm", + "hacs", + "home-assistant" + ], + "version_installed": null + }, + "300754203": { + "authors": [], + "category": "plugin", + "description": "A simple clock widget using Japanese Kanji for date and time", + "domain": "", + "downloads": 0, + "full_name": "sopelj/lovelace-kanji-clock-card", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "1c82c72", + "last_release_tag": "0.2.1", + "last_updated": "2020-12-21T23:02:41Z", + "name": "lovelace-kanji-clock-card", + "new": false, + "repository_manifest": { + "name": "Kanji Clock Card", + "render_readme": true, + "filename": "kanji-clock-card.js", + "country": "JP" + }, + "selected_tag": null, + "show_beta": false, + "stars": 2, + "topics": [ + "hacs", + "lovelace", + "lovelace-card", + "lovelace-custom-card" + ], + "version_installed": null + }, + "319343045": { + "authors": [ + "@caronc" + ], + "category": "integration", + "description": "Interlogix ZeroWire and Hills ComNav (NX-595E) UltraSync Security Panel for Integration for Home Assistant Comunity Store (HACS)", + "domain": "ultrasync", + "downloads": 0, + "full_name": "caronc/ha-ultrasync", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "8101d82", + "last_release_tag": null, + "last_updated": "2020-12-28T19:04:59Z", + "name": "ultrasync", + "new": true, + "repository_manifest": { + "name": "UltraSync Beta", + "hacs": "0.24.0", + "domains": [ + "sensor" + ], + "iot_class": "Local Polling", + "render_readme": true, + "homeassistant": "0.110.0" + }, + "selected_tag": null, + "show_beta": false, + "stars": 1, + "topics": [ + "comnav", + "hacs", + "homeassistant", + "homeassistant-custom-component", + "homeassistant-integration", + "interlogix", + "nx-595e", + "security", + "ultrasync" + ], + "version_installed": null + }, + "228299254": { + "authors": [ + "@rsnodgrass" + ], + "category": "integration", + "description": "LUNOS HRV Ventilation Fan Control for Home Assistant", + "domain": "lunos", + "downloads": 0, + "full_name": "rsnodgrass/hass-lunos", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "c76c58f", + "last_release_tag": "0.1.2", + "last_updated": "2020-12-21T19:09:49Z", + "name": "lunos", + "new": true, + "repository_manifest": { + "name": "LUNOS Heat Recovery Ventilation", + "domains": [ + "fan" + ], + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 8, + "topics": [ + "homeassistant", + "hvac", + "ventilation" + ], + "version_installed": null + }, + "316597224": { + "authors": [ + "@DarkPark" + ], + "category": "integration", + "description": "A Home Assistant Budova Smart Home integration", + "domain": "bsh", + "downloads": 0, + "full_name": "dphae/bsh", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "fd7b2a9", + "last_release_tag": "v1.3.0", + "last_updated": "2020-12-21T14:18:33Z", + "name": "bsh", + "new": true, + "repository_manifest": { + "name": "Budova Smart Home", + "country": "UA", + "content_in_root": false, + "render_readme": true, + "domains": [ + "sensor" + ], + "iot_class": "Cloud Polling", + "homeassistant": "0.118.0" + }, + "selected_tag": null, + "show_beta": false, + "stars": 2, + "topics": [ + "budova", + "custom-component", + "hacs", + "home-assistant", + "integration", + "smart-home" + ], + "version_installed": null + }, + "199399946": { + "authors": [ + "@jessevl" + ], + "category": "integration", + "description": "This is a Home Assistant custom component that connects to the Greenchoice API", + "domain": "greenchoice", + "downloads": 0, + "full_name": "jessevl/homeassistant-greenchoice", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "b2ae1ee", + "last_release_tag": null, + "last_updated": "2020-12-21T13:50:01Z", + "name": "greenchoice", + "new": true, + "repository_manifest": { + "name": "Greenchoice", + "country": "NL", + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 11, + "topics": [ + "greenchoice", + "homeassistant", + "sensor" + ], + "version_installed": null + }, + "316527506": { + "authors": [ + "@iprak" + ], + "category": "integration", + "description": "Home Assistant component for C545 Winix Air Purifier", + "domain": "winix", + "downloads": 0, + "full_name": "iprak/winix", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "f6f5730", + "last_release_tag": "v0.4", + "last_updated": "2020-12-31T19:11:07Z", + "name": "winix", + "new": true, + "repository_manifest": { + "name": "Winix Purifier", + "domains": [ + "sensor", + "fan" + ], + "iot_class": "cloud_poll", + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 5, + "topics": [ + "home-assistant", + "homeassistant", + "purifier", + "winix" + ], + "version_installed": null + }, + "316807165": { + "authors": [ + "@kloknibor", + "@docbobo" + ], + "category": "integration", + "description": "Miele integration for Home assistant", + "domain": "miele", + "downloads": 0, + "full_name": "HomeAssistant-Mods/home-assistant-miele", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "e9d94d8", + "last_release_tag": null, + "last_updated": "2020-12-30T00:34:14Z", + "name": "miele", + "new": true, + "repository_manifest": { + "name": "Miele integration", + "iot_class": [ + "Cloud Polling" + ] + }, + "selected_tag": null, + "show_beta": false, + "stars": 9, + "topics": [ + "hacs", + "homeassistant", + "homeassistant-integration", + "miele" + ], + "version_installed": null + }, + "312896602": { + "authors": [ + "@lendy007" + ], + "category": "integration", + "description": "Skoda Connect - An home assistant plugin to add integration with your car", + "domain": "skodaconnect", + "downloads": 0, + "full_name": "lendy007/homeassistant-skodaconnect", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "9ba9e66", + "last_release_tag": "1.0.27", + "last_updated": "2020-12-23T07:48:18Z", + "name": "skodaconnect", + "new": true, + "repository_manifest": { + "name": "Skoda Connect", + "iot_class": "Cloud Polling", + "homeassistant": "0.110.0", + "hide_default_branch": true, + "zip_release": false, + "filename": "skodaconnect.zip" + }, + "selected_tag": null, + "show_beta": false, + "stars": 17, + "topics": [ + "custom-component", + "hacs", + "homeassistant", + "skoda-connect" + ], + "version_installed": null + }, + "316421110": { + "authors": [ + "@rccoleman" + ], + "category": "integration", + "description": "Interact with your La Marzocco espresso machine", + "domain": "lamarzocco", + "downloads": 0, + "full_name": "rccoleman/lamarzocco", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "cd97123", + "last_release_tag": "0.5.6", + "last_updated": "2020-12-31T20:38:40Z", + "name": "lamarzocco", + "new": true, + "repository_manifest": { + "name": "La Marzocco", + "iot_class": "Cloud Polling" + }, + "selected_tag": null, + "show_beta": false, + "stars": 3, + "topics": [ + "hacs", + "home-assistant", + "home-assistant-component", + "homeassistant", + "la-marzocco", + "lamarzocco" + ], + "version_installed": null + }, + "313759590": { + "authors": [ + "@ryanmac8" + ], + "category": "integration", + "description": "Mint Mobile Integration for Data Usage Monitoring", + "domain": "mintmobile", + "downloads": 0, + "full_name": "ryanmac8/HA-Mint-Mobile", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "c08ee13", + "last_release_tag": "v1.4.1", + "last_updated": "2020-12-23T20:01:33Z", + "name": "mintmobile", + "new": true, + "repository_manifest": { + "name": "Mint Mobile", + "content_in_root": false, + "domains": [ + "sensor" + ], + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 0, + "topics": [ + "automation", + "home-assistant" + ], + "version_installed": null + }, + "318801320": { + "authors": [ + "@thebino" + ], + "category": "integration", + "description": " \ud83e\udda0 Custom integration for Home Assistant to monitor covid numbers provided by Robert-Koch Institut", + "domain": "rki_covid", + "downloads": 0, + "full_name": "thebino/rki_covid", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": "0409b51", + "last_release_tag": "0.2.0", + "last_updated": "2020-12-21T13:31:36Z", + "name": "rki_covid", + "new": true, + "repository_manifest": { + "name": "RKI Covid numbers", + "zip_release": true, + "filename": "rki_covid.zip", + "country": "DE", + "domains": [ + "rki_covid", + "sensor" + ], + "homeassistant": "0.110.0", + "iot_class": "Cloud Polling" + }, + "selected_tag": null, + "show_beta": false, + "stars": 5, + "topics": [ + "automation", + "custom", + "hassio", + "home-assistant", + "lovelace", + "sensor" + ], + "version_installed": null + }, + "152294445": { + "authors": [ + "@lukas-hetzenecker" + ], + "category": "integration", + "description": "Links multiple home-assistant instances together", + "domain": "remote_homeassistant", + "downloads": 0, + "full_name": "custom-components/remote_homeassistant", + "first_install": true, + "installed_commit": null, + "installed": false, + "last_commit": null, + "last_release_tag": "3.1", + "last_updated": 0, + "name": "remote_homeassistant", + "new": true, + "repository_manifest": { + "name": "Remote Home-Assistant", + "render_readme": true, + "iot_class": "Local Polling" + }, + "selected_tag": null, + "show_beta": false, + "stars": 227, "topics": [], "version_installed": null }, @@ -21540,14 +22206,14 @@ "category": "integration", "description": "HACS gives you a powerful UI to handle downloads of all your custom needs.", "domain": "hacs", - "downloads": 9001, + "downloads": 31175, "full_name": "hacs/integration", "first_install": false, "installed_commit": "275d6cc", "installed": true, - "last_commit": "275d6cc", + "last_commit": "1906838", "last_release_tag": "1.9.0", - "last_updated": "2020-12-17T07:08:42Z", + "last_updated": "2021-01-01T02:28:03Z", "name": "hacs", "new": false, "repository_manifest": { @@ -21560,7 +22226,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 1431, + "stars": 1462, "topics": [ "community", "hacktoberfest", @@ -21572,60 +22238,55 @@ ], "version_installed": "1.9.0" }, - "303101606": { + "221287384": { "authors": [], - "category": "plugin", - "description": "\ud83d\ude48 Hides the Home Assistant header and/or sidebar", - "domain": "", - "downloads": 3267, - "full_name": "maykar/kiosk-mode", - "first_install": false, - "installed_commit": "78b95f3", - "installed": true, - "last_commit": "78b95f3", - "last_release_tag": "1.4.7", - "last_updated": "2020-11-19T12:46:12Z", - "name": "kiosk-mode", - "new": false, - "repository_manifest": { - "name": "Kiosk Mode", - "render_readme": true - }, - "selected_tag": null, - "show_beta": false, - "stars": 51, - "topics": [ - "home-assistant", - "kiosk", - "kiosk-mode", - "lovelace" - ], - "version_installed": "1.4.7" - }, - "167744584": { - "authors": [], - "category": "plugin", - "description": "\ud83d\udd39Automatically populate the entities-list of lovelace cards", + "category": "theme", + "description": "Clear Theme for Home Assistant", "domain": null, "downloads": 0, - "full_name": "thomasloven/lovelace-auto-entities", + "full_name": "naofireblade/clear-theme", "first_install": false, - "installed_commit": "f17fcc1", + "installed_commit": "e3c9149", "installed": true, - "last_commit": "f17fcc1", - "last_release_tag": "1.7.0", - "last_updated": "2020-12-12T00:43:09Z", - "name": "lovelace-auto-entities", + "last_commit": "a9f68e1", + "last_release_tag": "v1.1", + "last_updated": "2020-10-08T10:10:49Z", + "name": "clear-theme", "new": false, "repository_manifest": { - "name": "auto-entities", + "name": "Clear Theme", + "homeassistant": "0.102.0" + }, + "selected_tag": null, + "show_beta": false, + "stars": 16, + "topics": [], + "version_installed": "v1.1" + }, + "150781994": { + "authors": [], + "category": "plugin", + "description": "\ud83d\udd39 A foldable row for entities card, containing other rows", + "domain": null, + "downloads": 0, + "full_name": "thomasloven/lovelace-fold-entity-row", + "first_install": false, + "installed_commit": "01b4108", + "installed": true, + "last_commit": "01b4108", + "last_release_tag": "19", + "last_updated": "2020-12-12T00:49:44Z", + "name": "lovelace-fold-entity-row", + "new": false, + "repository_manifest": { + "name": "fold-entity-row", "render_readme": true }, "selected_tag": null, "show_beta": false, - "stars": 328, + "stars": 199, "topics": [], - "version_installed": "1.7.0" + "version_installed": "19" }, "156434866": { "authors": [], @@ -21648,111 +22309,41 @@ }, "selected_tag": null, "show_beta": false, - "stars": 249, + "stars": 252, "topics": [], "version_installed": "16" }, - "200897141": { - "authors": [], - "category": "integration", - "description": "\ud83d\udd39 Improve the lovelace yaml parser for Home Assistant", - "domain": "lovelace_gen", - "downloads": 0, - "full_name": "thomasloven/hass-lovelace_gen", - "first_install": false, - "installed_commit": "14fd723", - "installed": true, - "last_commit": "14fd723", - "last_release_tag": "6", - "last_updated": "2020-02-26T13:18:57Z", - "name": "lovelace_gen", - "new": false, - "repository_manifest": {}, - "selected_tag": null, - "show_beta": false, - "stars": 71, - "topics": [], - "version_installed": "6" - }, - "194140521": { - "authors": [], - "category": "integration", - "description": "\ud83d\udd39 A Home Assistant integration to turn your browser into a controllable entity - and also an audio player", - "domain": "browser_mod", - "downloads": 0, - "full_name": "thomasloven/hass-browser_mod", - "first_install": false, - "installed_commit": "37e731b", - "installed": true, - "last_commit": "37e731b", - "last_release_tag": "1.2.3", - "last_updated": "2020-12-12T00:50:38Z", - "name": "browser_mod", - "new": false, - "repository_manifest": { - "name": "browser_mod", - "homeassistant": "0.113.0" - }, - "selected_tag": null, - "show_beta": false, - "stars": 314, - "topics": [], - "version_installed": "1.2.3" - }, - "223008910": { + "304967918": { "authors": [], "category": "plugin", - "description": "Custom Sidebar for Home Assistant", + "description": "Replace input_number sliders with plus and minus buttons", "domain": "", "downloads": 0, - "full_name": "Villhellm/custom-sidebar", + "full_name": "htmltiger/numberbox-card", "first_install": false, - "installed_commit": "3ed0a8f", + "installed_commit": "eb9ed39", "installed": true, - "last_commit": "3ed0a8f", - "last_release_tag": "v0.2.2", - "last_updated": "2020-10-31T13:26:16Z", - "name": "custom-sidebar", + "last_commit": "eb9ed39", + "last_release_tag": null, + "last_updated": "2020-12-25T15:24:09Z", + "name": "numberbox-card", "new": false, "repository_manifest": { - "name": "Custom Sidebar", + "name": "Number Box", + "filename": "numberbox-card.js", "render_readme": true }, "selected_tag": null, "show_beta": false, - "stars": 53, + "stars": 7, "topics": [ - "custom", - "hacktoberfest", - "sidebar" + "hacs", + "input", + "lovelace", + "number", + "numberbox-card", + "slider" ], - "version_installed": "v0.2.2" - }, - "260526528": { - "authors": [], - "category": "plugin", - "description": "Custom Dark Sky Weather plugin for HACS. This creates a rich weather card using the Dark Sky weather plugin.", - "domain": "", - "downloads": 0, - "full_name": "clayauld/lovelace-darksky-card", - "first_install": false, - "installed_commit": "03e6eac", - "installed": true, - "last_commit": "03e6eac", - "last_release_tag": null, - "last_updated": "2020-11-05T01:35:52Z", - "name": "lovelace-darksky-card", - "new": false, - "repository_manifest": { - "name": "Dark Sky Rich Weather Card", - "content_in_root": true, - "filename": "lovelace-darksky-card.js", - "render_readme": "true" - }, - "selected_tag": null, - "show_beta": false, - "stars": 3, - "topics": [], "version_installed": null }, "162468030": { @@ -21788,70 +22379,68 @@ ], "version_installed": null }, - "150781994": { + "260526528": { "authors": [], "category": "plugin", - "description": "\ud83d\udd39 A foldable row for entities card, containing other rows", - "domain": null, + "description": "Custom Dark Sky Weather plugin for HACS. This creates a rich weather card using the Dark Sky weather plugin.", + "domain": "", "downloads": 0, - "full_name": "thomasloven/lovelace-fold-entity-row", + "full_name": "clayauld/lovelace-darksky-card", "first_install": false, - "installed_commit": "01b4108", + "installed_commit": "03e6eac", "installed": true, - "last_commit": "01b4108", - "last_release_tag": "19", - "last_updated": "2020-12-12T00:49:44Z", - "name": "lovelace-fold-entity-row", + "last_commit": "03e6eac", + "last_release_tag": null, + "last_updated": "2020-11-05T01:35:52Z", + "name": "lovelace-darksky-card", "new": false, "repository_manifest": { - "name": "fold-entity-row", + "name": "Dark Sky Rich Weather Card", + "content_in_root": true, + "filename": "lovelace-darksky-card.js", + "render_readme": "true" + }, + "selected_tag": null, + "show_beta": false, + "stars": 3, + "topics": [], + "version_installed": null + }, + "223008910": { + "authors": [], + "category": "plugin", + "description": "Custom Sidebar for Home Assistant", + "domain": "", + "downloads": 0, + "full_name": "Villhellm/custom-sidebar", + "first_install": false, + "installed_commit": "3ed0a8f", + "installed": true, + "last_commit": "3ed0a8f", + "last_release_tag": "v0.2.2", + "last_updated": "2020-10-31T13:26:16Z", + "name": "custom-sidebar", + "new": false, + "repository_manifest": { + "name": "Custom Sidebar", "render_readme": true }, "selected_tag": null, "show_beta": false, - "stars": 191, - "topics": [], - "version_installed": "19" - }, - "146194325": { - "authors": [], - "category": "plugin", - "description": "\u2747\ufe0f Lovelace button-card for home assistant", - "domain": "", - "downloads": 8437, - "full_name": "custom-cards/button-card", - "first_install": false, - "installed_commit": "b5de991", - "installed": true, - "last_commit": "b5de991", - "last_release_tag": "3.4.0", - "last_updated": "2020-12-12T13:11:23Z", - "name": "button-card", - "new": false, - "repository_manifest": { - "name": "button-card", - "content_in_root": false, - "render_readme": true, - "filename": "button-card.js" - }, - "selected_tag": null, - "show_beta": false, - "stars": 588, + "stars": 55, "topics": [ - "home-assistant", - "home-assistant-custom", - "home-automation", - "lovelace", - "lovelace-ui" + "custom", + "hacktoberfest", + "sidebar" ], - "version_installed": "3.4.0" + "version_installed": "v0.2.2" }, "261262884": { "authors": [], "category": "plugin", "description": "\ud83d\udd70\ufe0f Time Picker Card for Home Assistant's Lovelace UI", "domain": "", - "downloads": 1142, + "downloads": 1372, "full_name": "GeorgeSG/lovelace-time-picker-card", "first_install": false, "installed_commit": "c3fa2ce", @@ -21868,7 +22457,7 @@ }, "selected_tag": null, "show_beta": false, - "stars": 44, + "stars": 45, "topics": [ "home-assistant", "homeassistant", @@ -21878,30 +22467,85 @@ ], "version_installed": "1.1.1" }, - "221287384": { + "200897141": { "authors": [], - "category": "theme", - "description": "Clear Theme for Home Assistant", - "domain": null, + "category": "integration", + "description": "\ud83d\udd39 Improve the lovelace yaml parser for Home Assistant", + "domain": "lovelace_gen", "downloads": 0, - "full_name": "naofireblade/clear-theme", + "full_name": "thomasloven/hass-lovelace_gen", "first_install": false, - "installed_commit": "e3c9149", + "installed_commit": "14fd723", "installed": true, - "last_commit": "a9f68e1", - "last_release_tag": "v1.1", - "last_updated": "2020-10-08T10:10:49Z", - "name": "clear-theme", + "last_commit": "14fd723", + "last_release_tag": "6", + "last_updated": "2020-02-26T13:18:57Z", + "name": "lovelace_gen", + "new": false, + "repository_manifest": {}, + "selected_tag": null, + "show_beta": false, + "stars": 73, + "topics": [], + "version_installed": "6" + }, + "146194325": { + "authors": [], + "category": "plugin", + "description": "\u2747\ufe0f Lovelace button-card for home assistant", + "domain": "", + "downloads": 4476, + "full_name": "custom-cards/button-card", + "first_install": false, + "installed_commit": "f845d07", + "installed": true, + "last_commit": "f845d07", + "last_release_tag": "3.4.1", + "last_updated": "2020-12-27T14:28:54Z", + "name": "button-card", "new": false, "repository_manifest": { - "name": "Clear Theme", - "homeassistant": "0.102.0" + "name": "button-card", + "content_in_root": false, + "render_readme": true, + "filename": "button-card.js" }, "selected_tag": null, "show_beta": false, - "stars": 16, + "stars": 603, + "topics": [ + "home-assistant", + "home-assistant-custom", + "home-automation", + "lovelace", + "lovelace-ui" + ], + "version_installed": "3.4.1" + }, + "167744584": { + "authors": [], + "category": "plugin", + "description": "\ud83d\udd39Automatically populate the entities-list of lovelace cards", + "domain": null, + "downloads": 0, + "full_name": "thomasloven/lovelace-auto-entities", + "first_install": false, + "installed_commit": "f17fcc1", + "installed": true, + "last_commit": "f17fcc1", + "last_release_tag": "1.7.0", + "last_updated": "2020-12-21T06:37:39Z", + "name": "lovelace-auto-entities", + "new": false, + "repository_manifest": { + "name": "auto-entities", + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 336, "topics": [], - "version_installed": "v1.1" + "version_installed": "1.7.0" }, "190927524": { "authors": [], @@ -21915,7 +22559,7 @@ "installed": true, "last_commit": "457cf40", "last_release_tag": "2.0.3", - "last_updated": "2020-12-12T00:50:44Z", + "last_updated": "2020-12-21T03:24:59Z", "name": "lovelace-card-mod", "new": false, "repository_manifest": { @@ -21924,9 +22568,64 @@ }, "selected_tag": null, "show_beta": false, - "stars": 215, + "stars": 221, "topics": [], "version_installed": "2.0.3" + }, + "303101606": { + "authors": [], + "category": "plugin", + "description": "\ud83d\ude48 Hides the Home Assistant header and/or sidebar", + "domain": "", + "downloads": 456, + "full_name": "maykar/kiosk-mode", + "first_install": false, + "installed_commit": "78b95f3", + "installed": true, + "last_commit": "c7c4161", + "last_release_tag": "1.4.9", + "last_updated": "2020-12-31T20:44:08Z", + "name": "kiosk-mode", + "new": false, + "repository_manifest": { + "name": "Kiosk Mode", + "render_readme": true + }, + "selected_tag": null, + "show_beta": false, + "stars": 59, + "topics": [ + "home-assistant", + "kiosk", + "kiosk-mode", + "lovelace" + ], + "version_installed": "1.4.7" + }, + "194140521": { + "authors": [], + "category": "integration", + "description": "\ud83d\udd39 A Home Assistant integration to turn your browser into a controllable entity - and also an audio player", + "domain": "browser_mod", + "downloads": 0, + "full_name": "thomasloven/hass-browser_mod", + "first_install": false, + "installed_commit": "37e731b", + "installed": true, + "last_commit": "37e731b", + "last_release_tag": "1.2.3", + "last_updated": "2020-12-27T20:59:24Z", + "name": "browser_mod", + "new": false, + "repository_manifest": { + "name": "browser_mod", + "homeassistant": "0.113.0" + }, + "selected_tag": null, + "show_beta": false, + "stars": 323, + "topics": [], + "version_installed": "1.2.3" } } } \ No newline at end of file diff --git a/.storage/hacs/146194325.hacs b/.storage/hacs/146194325.hacs index e12f8a4..fd694de 100644 --- a/.storage/hacs/146194325.hacs +++ b/.storage/hacs/146194325.hacs @@ -12,7 +12,7 @@ "description": "\u2747\ufe0f Lovelace button-card for home assistant", "domain": "", "domains": [], - "downloads": 8437, + "downloads": 4476, "file_name": "button-card.js", "filename": "button-card.js", "first_install": false, @@ -25,28 +25,28 @@ "id": "146194325", "iot_class": null, "installed": true, - "installed_commit": "b5de991", - "installed_version": "3.4.0", - "open_issues": 29, - "last_commit": "b5de991", - "last_version": "3.4.0", - "last_updated": "2020-12-12T13:11:23Z", + "installed_commit": "f845d07", + "installed_version": "3.4.1", + "open_issues": 26, + "last_commit": "f845d07", + "last_version": "3.4.1", + "last_updated": "2020-12-27T14:28:54Z", "manifest_name": null, "new": false, "persistent_directory": null, - "pushed_at": "2020-12-12T13:11:23", + "pushed_at": "2020-12-27T14:28:54", "releases": true, "render_readme": true, "published_tags": [ + "3.4.1", "3.4.0", "3.3.6", "3.3.5", - "3.3.4", - "3.3.3" + "3.3.4" ], "selected_tag": null, "show_beta": false, - "stargazers_count": 588, + "stargazers_count": 603, "topics": [ "home-assistant", "home-assistant-custom", diff --git a/.storage/hacs/150781994.hacs b/.storage/hacs/150781994.hacs index a2c8561..c20dd43 100644 --- a/.storage/hacs/150781994.hacs +++ b/.storage/hacs/150781994.hacs @@ -27,7 +27,7 @@ "installed": true, "installed_commit": "01b4108", "installed_version": "19", - "open_issues": 16, + "open_issues": 17, "last_commit": "01b4108", "last_version": "19", "last_updated": "2020-12-12T00:49:44Z", @@ -46,7 +46,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 191, + "stargazers_count": 199, "topics": [], "zip_release": false } diff --git a/.storage/hacs/156434866.hacs b/.storage/hacs/156434866.hacs index c11aca2..9dfdb1a 100644 --- a/.storage/hacs/156434866.hacs +++ b/.storage/hacs/156434866.hacs @@ -46,7 +46,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 249, + "stargazers_count": 252, "topics": [], "zip_release": false } diff --git a/.storage/hacs/167744584.hacs b/.storage/hacs/167744584.hacs index 63d41cb..64d95a4 100644 --- a/.storage/hacs/167744584.hacs +++ b/.storage/hacs/167744584.hacs @@ -27,14 +27,14 @@ "installed": true, "installed_commit": "f17fcc1", "installed_version": "1.7.0", - "open_issues": 28, + "open_issues": 30, "last_commit": "f17fcc1", "last_version": "1.7.0", - "last_updated": "2020-12-12T00:43:09Z", + "last_updated": "2020-12-21T06:37:39Z", "manifest_name": null, "new": false, "persistent_directory": null, - "pushed_at": "2020-12-12T00:43:09", + "pushed_at": "2020-12-21T06:37:39", "releases": true, "render_readme": true, "published_tags": [ @@ -46,7 +46,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 328, + "stargazers_count": 336, "topics": [], "zip_release": false } diff --git a/.storage/hacs/172733314.hacs b/.storage/hacs/172733314.hacs index 7807688..a46eb6a 100644 --- a/.storage/hacs/172733314.hacs +++ b/.storage/hacs/172733314.hacs @@ -14,7 +14,7 @@ "description": "HACS gives you a powerful UI to handle downloads of all your custom needs.", "domain": "hacs", "domains": [], - "downloads": 9001, + "downloads": 31175, "file_name": "", "filename": "hacs.zip", "first_install": false, @@ -30,13 +30,13 @@ "installed_commit": "275d6cc", "installed_version": "1.9.0", "open_issues": 36, - "last_commit": "275d6cc", + "last_commit": "1906838", "last_version": "1.9.0", - "last_updated": "2020-12-17T07:08:42Z", + "last_updated": "2021-01-01T02:28:03Z", "manifest_name": "HACS", "new": false, "persistent_directory": null, - "pushed_at": "2020-12-17T07:08:42", + "pushed_at": "2021-01-01T02:28:03", "releases": true, "render_readme": false, "published_tags": [ @@ -48,7 +48,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 1431, + "stargazers_count": 1462, "topics": [ "community", "hacktoberfest", diff --git a/.storage/hacs/190927524.hacs b/.storage/hacs/190927524.hacs index 835ca9f..b1608c9 100644 --- a/.storage/hacs/190927524.hacs +++ b/.storage/hacs/190927524.hacs @@ -27,14 +27,14 @@ "installed": true, "installed_commit": "457cf40", "installed_version": "2.0.3", - "open_issues": 20, + "open_issues": 23, "last_commit": "457cf40", "last_version": "2.0.3", - "last_updated": "2020-12-12T00:50:44Z", + "last_updated": "2020-12-21T03:24:59Z", "manifest_name": null, "new": false, "persistent_directory": null, - "pushed_at": "2020-12-12T00:50:44", + "pushed_at": "2020-12-21T03:24:59", "releases": true, "render_readme": false, "published_tags": [ @@ -46,7 +46,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 215, + "stargazers_count": 221, "topics": [], "zip_release": false } diff --git a/.storage/hacs/194140521.hacs b/.storage/hacs/194140521.hacs index 684b968..69a562a 100644 --- a/.storage/hacs/194140521.hacs +++ b/.storage/hacs/194140521.hacs @@ -27,14 +27,14 @@ "installed": true, "installed_commit": "37e731b", "installed_version": "1.2.3", - "open_issues": 21, + "open_issues": 23, "last_commit": "37e731b", "last_version": "1.2.3", - "last_updated": "2020-12-12T00:50:38Z", + "last_updated": "2020-12-27T20:59:24Z", "manifest_name": "Browser mod", "new": false, "persistent_directory": null, - "pushed_at": "2020-12-12T00:50:38", + "pushed_at": "2020-12-27T20:59:24", "releases": true, "render_readme": false, "published_tags": [ @@ -46,7 +46,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 314, + "stargazers_count": 323, "topics": [], "zip_release": false } diff --git a/.storage/hacs/200897141.hacs b/.storage/hacs/200897141.hacs index 123f310..2bc1541 100644 --- a/.storage/hacs/200897141.hacs +++ b/.storage/hacs/200897141.hacs @@ -46,7 +46,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 71, + "stargazers_count": 73, "topics": [], "zip_release": false } diff --git a/.storage/hacs/223008910.hacs b/.storage/hacs/223008910.hacs index 2944635..4cbca83 100644 --- a/.storage/hacs/223008910.hacs +++ b/.storage/hacs/223008910.hacs @@ -27,7 +27,7 @@ "installed": true, "installed_commit": "3ed0a8f", "installed_version": "v0.2.2", - "open_issues": 5, + "open_issues": 6, "last_commit": "3ed0a8f", "last_version": "v0.2.2", "last_updated": "2020-10-31T13:26:16Z", @@ -46,7 +46,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 53, + "stargazers_count": 55, "topics": [ "custom", "hacktoberfest", diff --git a/.storage/hacs/261262884.hacs b/.storage/hacs/261262884.hacs index abc8b2f..c35aa57 100644 --- a/.storage/hacs/261262884.hacs +++ b/.storage/hacs/261262884.hacs @@ -12,7 +12,7 @@ "description": "\ud83d\udd70\ufe0f Time Picker Card for Home Assistant's Lovelace UI", "domain": "", "domains": [], - "downloads": 1142, + "downloads": 1372, "file_name": "time-picker-card.js", "filename": "time-picker-card.js", "first_install": false, @@ -27,7 +27,7 @@ "installed": true, "installed_commit": "c3fa2ce", "installed_version": "1.1.1", - "open_issues": 2, + "open_issues": 3, "last_commit": "c3fa2ce", "last_version": "1.1.1", "last_updated": "2020-11-22T14:38:10Z", @@ -46,7 +46,7 @@ ], "selected_tag": null, "show_beta": false, - "stargazers_count": 44, + "stargazers_count": 45, "topics": [ "home-assistant", "homeassistant", diff --git a/.storage/hacs/303101606.hacs b/.storage/hacs/303101606.hacs index 93124e7..5fbbfe4 100644 --- a/.storage/hacs/303101606.hacs +++ b/.storage/hacs/303101606.hacs @@ -12,7 +12,7 @@ "description": "\ud83d\ude48 Hides the Home Assistant header and/or sidebar", "domain": "", "domains": [], - "downloads": 3267, + "downloads": 456, "file_name": "kiosk-mode.js", "filename": "", "first_install": false, @@ -27,26 +27,26 @@ "installed": true, "installed_commit": "78b95f3", "installed_version": "1.4.7", - "open_issues": 4, - "last_commit": "78b95f3", - "last_version": "1.4.7", - "last_updated": "2020-11-19T12:46:12Z", + "open_issues": 2, + "last_commit": "c7c4161", + "last_version": "1.4.9", + "last_updated": "2020-12-31T20:44:08Z", "manifest_name": null, "new": false, "persistent_directory": null, - "pushed_at": "2020-11-19T12:46:12", + "pushed_at": "2020-12-31T20:44:08", "releases": true, "render_readme": true, "published_tags": [ + "1.4.9", + "1.4.8", "1.4.7", "1.4.5", - "1.4.4", - "1.4.3", - "1.4.2" + "1.4.4" ], "selected_tag": null, "show_beta": false, - "stargazers_count": 51, + "stargazers_count": 59, "topics": [ "home-assistant", "kiosk", diff --git a/.storage/hacs/304967918.hacs b/.storage/hacs/304967918.hacs new file mode 100644 index 0000000..b1d30c7 --- /dev/null +++ b/.storage/hacs/304967918.hacs @@ -0,0 +1,54 @@ +{ + "version": "6", + "key": "hacs/304967918.hacs", + "data": { + "archived": false, + "authors": [], + "category": "plugin", + "content_in_root": false, + "country": [], + "config_flow": false, + "default_branch": "main", + "description": "Replace input_number sliders with plus and minus buttons", + "domain": "", + "domains": [], + "downloads": 0, + "file_name": "numberbox-card.js", + "filename": "numberbox-card.js", + "first_install": false, + "fork": false, + "full_name": "htmltiger/numberbox-card", + "hacs": null, + "hide": false, + "hide_default_branch": false, + "homeassistant": null, + "id": "304967918", + "iot_class": null, + "installed": true, + "installed_commit": "eb9ed39", + "installed_version": null, + "open_issues": 3, + "last_commit": "eb9ed39", + "last_version": null, + "last_updated": "2020-12-25T15:24:09Z", + "manifest_name": null, + "new": false, + "persistent_directory": null, + "pushed_at": "2020-12-25T15:24:09", + "releases": false, + "render_readme": true, + "published_tags": [], + "selected_tag": null, + "show_beta": false, + "stargazers_count": 7, + "topics": [ + "hacs", + "input", + "lovelace", + "number", + "numberbox-card", + "slider" + ], + "zip_release": false + } +} \ No newline at end of file diff --git a/.storage/hassio b/.storage/hassio index f2d6d90..52ceba4 100644 --- a/.storage/hassio +++ b/.storage/hassio @@ -1,7 +1,7 @@ { - "data": { - "hassio_user": "5dc5beb72dbc49d59080804cea6f026c" - }, + "version": 1, "key": "hassio", - "version": 1 + "data": { + "hassio_user": "66bf1f45db524de88f93b2b50fb0584f" + } } \ No newline at end of file diff --git a/.storage/http b/.storage/http index 2525423..79fa4f6 100644 --- a/.storage/http +++ b/.storage/http @@ -3,11 +3,11 @@ "key": "http", "data": { "ip_ban_enabled": true, + "ssl_profile": "modern", + "login_attempts_threshold": -1, "cors_allowed_origins": [ "https://cast.home-assistant.io" ], - "login_attempts_threshold": -1, - "ssl_profile": "modern", "server_port": 8123 } } \ No newline at end of file diff --git a/.storage/lovelace.lovelace_main b/.storage/lovelace.lovelace_main index 7b93688..1d145ae 100644 --- a/.storage/lovelace.lovelace_main +++ b/.storage/lovelace.lovelace_main @@ -66,6 +66,25 @@ "action": "toggle" }, "entity": "switch.outside_north_circuit_1" + }, + { + "type": "custom:button-card", + "entity": "sensor.sensor1", + "layout": "icon_state_name2nd", + "show_state": true, + "show_name": true, + "show_label": true, + "label": "label", + "styles": { + "grid": [ + { + "grid-template-areas": "\"n i\" \"s i\" \"l i\"" + }, + { + "grid-template-columns": "1fr 40%" + } + ] + } } ] }, @@ -94,6 +113,52 @@ ] } ] + }, + { + "title": "Stone Room", + "path": "stone-room", + "badges": [], + "cards": [ + { + "type": "entities", + "entities": [ + { + "entity": "input_number.stone_room_min_temp", + "type": "custom:numberbox-card", + "icon_plus": "mdi:chevron-up", + "icon_minus": "mdi:chevron-down" + }, + { + "entity": "sensor.stone_room_humidity" + }, + { + "entity": "sensor.stone_room_dew_point_temperature" + } + ], + "title": "Stone Room Climate", + "show_header_toggle": false, + "state_color": true + }, + { + "type": "custom:button-card", + "entity": "switch.stone_room_heating", + "layout": "icon_state_name2nd", + "show_state": true, + "show_name": true, + "show_label": false, + "label": "Stone Room Heating", + "styles": { + "grid": [ + { + "grid-template-areas": "\"n i\" \"s i\" \"l i\"" + }, + { + "grid-template-columns": "1fr 50%" + } + ] + } + } + ] } ] } diff --git a/.storage/lovelace.lovelace_weather b/.storage/lovelace.lovelace_weather index 43a58da..f8abaee 100644 --- a/.storage/lovelace.lovelace_weather +++ b/.storage/lovelace.lovelace_weather @@ -62,7 +62,7 @@ { "entity": "sensor.bme_outside_temperature", "icon": "mdi:temperature-fahrenheit", - "name": "Outside Temperature", + "name": "Temperature", "secondary_info": "last-changed" }, { @@ -90,7 +90,7 @@ { "entity": "sensor.bme_inside_temperature", "icon": "mdi:temperature-fahrenheit", - "name": "Outside Temperature", + "name": "Temperature", "secondary_info": "last-changed" }, { diff --git a/.storage/lovelace_resources b/.storage/lovelace_resources index 02de00a..7ee3b27 100644 --- a/.storage/lovelace_resources +++ b/.storage/lovelace_resources @@ -4,19 +4,24 @@ "data": { "items": [ { - "url": "/hacsfiles/button-card/button-card.js", + "url": "/hacsfiles/lovelace-darksky-card/lovelace-darksky-card.js", "type": "module", - "id": "2e6bc398cf194600a54c288f0f39df30" + "id": "6416a427f43744cd978769f251f65c65" }, { "url": "/hacsfiles/lovelace-time-picker-card/time-picker-card.js", "type": "module", - "id": "320b29e23fa841389e7f288518351f20" + "id": "09f02a5b58e44a109101336c0ab108d8" }, { - "url": "/hacsfiles/lovelace-darksky-card/lovelace-darksky-card.js", + "url": "/hacsfiles/button-card/button-card.js", "type": "module", - "id": "1b05f5d79aba4d86876333158b04a3c9" + "id": "ba86464d168d480ab03e8b66c8a1944c" + }, + { + "url": "/hacsfiles/numberbox-card/numberbox-card.js", + "type": "module", + "id": "c0db2892f4274ea682c691228787d8f5" } ] } diff --git a/.storage/mobile_app b/.storage/mobile_app index fb5ace4..67dfe1f 100644 --- a/.storage/mobile_app +++ b/.storage/mobile_app @@ -7,12 +7,23 @@ "added": true, "attributes": {}, "device_class": "plug", - "icon": "mdi:power-plug", + "icon": "mdi:power-plug-off", "name": "Is Charging", - "state": true, + "state": false, "type": "binary_sensor", "unique_id": "is_charging", "webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4" + }, + "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_is_charging": { + "unique_id": "is_charging", + "state": false, + "type": "binary_sensor", + "icon": "mdi:power-plug-off", + "attributes": {}, + "name": "Is Charging", + "device_class": "plug", + "webhook_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573", + "added": true } }, "deleted_ids": [ @@ -153,7 +164,7 @@ "ip_address": "10.0.0.203", "link_speed": 72, "is_hidden": false, - "frequency": 2412, + "frequency": 2462, "signal_level": -1 }, "icon": "mdi:wifi-strength-off", @@ -197,9 +208,9 @@ "added": true, "attributes": {}, "device_class": "battery", - "icon": "mdi:battery", + "icon": "mdi:battery-90", "name": "Battery Level", - "state": 100, + "state": 97, "type": "sensor", "unique_id": "battery_level", "unit_of_measurement": "%", @@ -209,9 +220,9 @@ "added": true, "attributes": {}, "device_class": "battery", - "icon": "mdi:battery-charging", + "icon": "mdi:battery-unknown", "name": "Battery State", - "state": "full", + "state": "unknown", "type": "sensor", "unique_id": "battery_state", "webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4" @@ -273,13 +284,13 @@ "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4_last_reboot": { "added": true, "attributes": { - "Local Time": "Wed Dec 09 15:27:19 PST 2020", - "Time in Milliseconds": 1607556439220 + "Local Time": "Wed Dec 30 20:26:18 PST 2020", + "Time in Milliseconds": 1609388778991 }, "device_class": "timestamp", "icon": "mdi:restart", "name": "Last Reboot", - "state": "2020-12-09T23:27:19Z", + "state": "2020-12-31T04:26:18Z", "type": "sensor", "unique_id": "last_reboot", "webhook_id": "972369ddfba8b95dfc4b3ab68f74f19e19227919102c4720d1fc38d9fd45a0b4" @@ -290,7 +301,7 @@ "device_class": "illuminance", "icon": "mdi:brightness-5", "name": "Light Sensor", - "state": "81", + "state": "114", "type": "sensor", "unique_id": "light_sensor", "unit_of_measurement": "lx", @@ -524,6 +535,48 @@ "type": "sensor", "unique_id": "wifi_connection", "webhook_id": "e689e9489fb188efebd2131925467e20069b7725bbd125ef8f8765986e124d0f" + }, + "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_battery_level": { + "unique_id": "battery_level", + "state": 46, + "type": "sensor", + "icon": "mdi:battery-40", + "attributes": {}, + "name": "Battery Level", + "device_class": "battery", + "unit_of_measurement": "%", + "webhook_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573", + "added": true + }, + "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_battery_state": { + "unique_id": "battery_state", + "state": "discharging", + "type": "sensor", + "icon": "mdi:battery-minus", + "attributes": {}, + "name": "Battery State", + "webhook_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573", + "added": true + }, + "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_charger_type": { + "unique_id": "charger_type", + "state": "ac", + "type": "sensor", + "icon": "mdi:power-plug", + "attributes": {}, + "name": "Charger Type", + "webhook_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573", + "added": true + }, + "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573_battery_health": { + "unique_id": "battery_health", + "state": "good", + "type": "sensor", + "icon": "mdi:battery-heart-variant", + "attributes": {}, + "name": "Battery Health", + "webhook_id": "dccd13d57c9e6da9b4ec0933cd84df31c2fe381961b578a52829ed31c4949573", + "added": true } } } diff --git a/.storage/person b/.storage/person index 6bdb79a..43e84c4 100644 --- a/.storage/person +++ b/.storage/person @@ -1,4 +1,6 @@ { + "version": 2, + "key": "person", "data": { "items": [ { @@ -6,14 +8,13 @@ "device_tracker.700t1c", "device_tracker.sm_g935r4", "device_tracker.xt1064_2", - "device_tracker.lgus215" + "device_tracker.lgus215", + "device_tracker.lenovo_tb_x606f" ], "id": "sysadmin", "name": "sysadmin", "user_id": "99685dc45d9f40dc8183e11ce5128038" } ] - }, - "key": "person", - "version": 2 + } } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a04b218 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "*.yaml": "home-assistant" + } +} \ No newline at end of file diff --git a/configuration.yaml b/configuration.yaml index 7b628b5..723b330 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -38,10 +38,10 @@ frontend: # see https://github.com/thomasloven/hass-browser_mod # browser_mod: -#https://github.com/thomasloven/hass-lovelace_gen +# https://github.com/thomasloven/hass-lovelace_gen # lovelace_gen: lovelace: - mode: storage + # mode: storage # load additional yaml mode dashboards - dashboards: !include lovelace/dashboards.yaml + # dashboards: !include dashboards/config.yaml diff --git a/lovelace/_manual/closet.yaml b/dashboards/_manual/closet.yaml similarity index 100% rename from lovelace/_manual/closet.yaml rename to dashboards/_manual/closet.yaml diff --git a/lovelace/_manual/lights.yaml b/dashboards/_manual/lights.yaml similarity index 100% rename from lovelace/_manual/lights.yaml rename to dashboards/_manual/lights.yaml diff --git a/lovelace/_manual/temps.yaml b/dashboards/_manual/temps.yaml similarity index 100% rename from lovelace/_manual/temps.yaml rename to dashboards/_manual/temps.yaml diff --git a/lovelace/_manual/weather.yaml b/dashboards/_manual/weather.yaml similarity index 100% rename from lovelace/_manual/weather.yaml rename to dashboards/_manual/weather.yaml diff --git a/lovelace/dashboards.yaml b/dashboards/config.yaml similarity index 82% rename from lovelace/dashboards.yaml rename to dashboards/config.yaml index a1ca408..10db788 100644 --- a/lovelace/dashboards.yaml +++ b/dashboards/config.yaml @@ -1,3 +1,4 @@ +# there are manually created (yaml mode) dashboards lovelace-panel: mode: yaml title: Manual - Panel diff --git a/lovelace/manual.yaml b/dashboards/manual.yaml similarity index 100% rename from lovelace/manual.yaml rename to dashboards/manual.yaml diff --git a/lovelace/panel.yaml b/dashboards/panel.yaml similarity index 100% rename from lovelace/panel.yaml rename to dashboards/panel.yaml diff --git a/packages/indoor_security_light.yaml b/packages/indoor_security_light.yaml index dce4f4b..492bbcf 100644 --- a/packages/indoor_security_light.yaml +++ b/packages/indoor_security_light.yaml @@ -1,7 +1,7 @@ input_datetime: security_lights_interior_time_off: has_time: true - initial: '22:30' + # initial: '22:30' # # security_lights_interior_on_offset: diff --git a/packages/inside.yaml b/packages/inside.yaml index 0066c2b..1a976e8 100644 --- a/packages/inside.yaml +++ b/packages/inside.yaml @@ -12,22 +12,22 @@ sensor: state_topic: "temp/inside/SENSOR" qos: 0 unit_of_measurement: "F" - value_template: "{{ value_json.BME280.Temperature * 9 / 5 + 32 }}" + value_template: "{{ value_json.BME280.Temperature * 9 / 5 + 32 | round(1) }}" - platform: mqtt name: "bme_inside_dew_point_temperature" state_topic: "temp/inside/SENSOR" qos: 0 unit_of_measurement: "F" - value_template: "{{ value_json.BME280.DewPoint * 9 / 5 + 32 }}" + value_template: "{{ value_json.BME280.DewPoint * 9 / 5 + 32 | round(1) }}" - platform: mqtt name: "bme_inside_humidity" state_topic: "temp/inside/SENSOR" qos: 0 unit_of_measurement: "%" - value_template: "{{ value_json.BME280.Humidity }}" + value_template: "{{ value_json.BME280.Humidity | round(1) }}" - platform: mqtt name: "bme_inside_barometric_pressure" state_topic: "temp/inside/SENSOR" qos: 0 unit_of_measurement: "inHg" - value_template: "{{ value_json.BME280.Pressure / 33.86 }}" + value_template: "{{ value_json.BME280.Pressure / 33.86 | round(2) }}" diff --git a/packages/outside.yaml b/packages/outside.yaml index b8aa7c3..a7cf67b 100644 --- a/packages/outside.yaml +++ b/packages/outside.yaml @@ -12,25 +12,25 @@ sensor: state_topic: "tele/outside/SENSOR" qos: 0 unit_of_measurement: "F" - value_template: "{{ value_json.BME280.Temperature * 9 / 5 + 32 }}" + value_template: "{{ value_json.BME280.Temperature * 9 / 5 + 32 | round(1) }}" - platform: mqtt name: "bme_outside_dew_point_temperature" state_topic: "tele/outside/SENSOR" qos: 0 unit_of_measurement: "F" - value_template: "{{ value_json.BME280.DewPoint * 9 / 5 + 32 }}" + value_template: "{{ value_json.BME280.DewPoint * 9 / 5 + 32 | round(1) }}" - platform: mqtt name: "bme_outside_humidity" state_topic: "tele/outside/SENSOR" qos: 0 unit_of_measurement: "%" - value_template: "{{ value_json.BME280.Humidity }}" + value_template: "{{ value_json.BME280.Humidity | round(1) }}" - platform: mqtt name: "bme_outside_barometric_pressure" state_topic: "tele/outside/SENSOR" qos: 0 unit_of_measurement: "inHg" - value_template: "{{ value_json.BME280.Pressure / 33.86 }}" + value_template: "{{ value_json.BME280.Pressure / 33.86 | round(2) }}" switch: - platform: mqtt diff --git a/packages/stone_room.yaml b/packages/stone_room.yaml new file mode 100644 index 0000000..3fecd62 --- /dev/null +++ b/packages/stone_room.yaml @@ -0,0 +1,109 @@ +# {"Time":"2020-12-08T02:09:02","BME280":{"Temperature":21.5,"Humidity":39.1,"DewPoint":6.9,"Pressure":906.5},"PressureUnit":"hPa","TempUnit":"C"} +homeassistant: + customize: + sensor.stone_room_temperature: + friendly_name: 'Stone Room Temperature' + sensor.stone_room_dew_point_temperature: + friendly_name: 'Stone Room Dew Point Temperature' + sensor.stone_room_humidity: + friendly_name: 'Stone Room Humidity' + # input_number.stone_room_min_temp: + # friendly_name: 'Stone Room Minimum Set Temperature' + +input_number: + stone_room_min_temp: + name: 'Stone Room Minimum Set Temperature' + min: 34 + max: 50 + step: 1 + mode: 'box' + +sensor: + - platform: mqtt + name: "stone_room_temperature" + state_topic: "tele/stone/SENSOR" + qos: 0 + unit_of_measurement: "F" + value_template: "{{ '%.1f'%(value_json.DHT12.Temperature * 9 / 5 + 32 | float) }}" + - platform: mqtt + name: "stone_room_dew_point_temperature" + state_topic: "tele/stone/SENSOR" + qos: 0 + unit_of_measurement: "F" + value_template: "{{ '%.1f'%(value_json.DHT12.DewPoint * 9 / 5 + 32 | float) }}" + - platform: mqtt + name: "stone_room_humidity" + state_topic: "tele/stone/SENSOR" + qos: 0 + unit_of_measurement: "%" + value_template: "{{ '%.1f'%(value_json.DHT12.Humidity | float) }}" + +switch: + - platform: mqtt + name: "Stone Room Heating" + state_topic: "stat/stone/POWER1" + command_topic: "cmnd/stone/POWER1" + availability_topic: "tele/stone/LWT" + qos: 1 + payload_on: "ON" + payload_off: "OFF" + payload_available: "Online" + payload_not_available: "Offline" + retain: false + +automation: + - id: stone_room_heater_on + trigger: + platform: state + entity_id: sensor.stone_room_temperature + below: "{{ states('input_number.stone_room_min_temp') | int }}" + for: + minutes: 5 + action: + - service: switch.turn_on + entity_id: switch.stone_room_heating + - service: notify.pushsafer + data: + title: "Stone Room Heating On" + message: "Stone Room Heater Has Turned on" + target: ["26583"] + data: + icon: "20" + iconcolor: "#FF00FF" + sound: "33" + vibration: "0" + url: "https://ha.238.kebler.net/" + urltitle: "Open Home Assistant" + time2live: "10" + priority: "2" + retry: "60" + expire: "600" + answer: "1" + + - id: stone_room_heater_off + trigger: + platform: state + entity_id: sensor.stone_room_temperature + above: "{{ states('input_number.stone_room_min_temp') + 3 | int }}" + for: + minutes: 5 + action: + - service: switch.turn_off + entity_id: switch.stone_room_heating + - service: notify.pushsafer + data: + title: "Stone Room Heating Off" + message: "Stone Room Heater Has Turned Off" + target: ["26583"] + data: + icon: "20" + iconcolor: "#FF00FF" + sound: "33" + vibration: "0" + url: "https://ha.238.kebler.net/" + urltitle: "Open Home Assistant" + time2live: "10" + priority: "2" + retry: "60" + expire: "600" + answer: "1" diff --git a/www/community/button-card/button-card.js b/www/community/button-card/button-card.js index a8d06c6..c8dc31b 100644 --- a/www/community/button-card/button-card.js +++ b/www/community/button-card/button-card.js @@ -1,4 +1,4 @@ -function t(t,e,i,n){var r,s=arguments.length,a=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(a=(s<3?r(a):s>3?r(e,i,a):r(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a}const e="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,i=(t,e,i=null)=>{for(;e!==i;){const i=e.nextSibling;t.removeChild(e),e=i}},n=`{{lit-${String(Math.random()).slice(2)}}}`,r=`\x3c!--${n}--\x3e`,s=new RegExp(`${n}|${r}`);class a{constructor(t,e){this.parts=[],this.element=e;const i=[],r=[],a=document.createTreeWalker(e.content,133,null,!1);let l=0,u=-1,d=0;const{strings:p,values:{length:f}}=t;for(;d0;){const e=p[d],i=h.exec(e)[2],n=i.toLowerCase()+"$lit$",r=t.getAttribute(n);t.removeAttribute(n);const a=r.split(s);this.parts.push({type:"attribute",index:u,name:i,strings:a}),d+=a.length-1}}"TEMPLATE"===t.tagName&&(r.push(t),a.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(n)>=0){const n=t.parentNode,r=e.split(s),a=r.length-1;for(let e=0;e{const i=t.length-e.length;return i>=0&&t.slice(i)===e},l=t=>-1!==t.index,c=()=>document.createComment(""),h=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;function u(t,e){const{element:{content:i},parts:n}=t,r=document.createTreeWalker(i,133,null,!1);let s=p(n),a=n[s],o=-1,l=0;const c=[];let h=null;for(;r.nextNode();){o++;const t=r.currentNode;for(t.previousSibling===h&&(h=null),e.has(t)&&(c.push(t),null===h&&(h=t)),null!==h&&l++;void 0!==a&&a.index===o;)a.index=null!==h?-1:a.index-l,s=p(n,s),a=n[s]}c.forEach((t=>t.parentNode.removeChild(t)))}const d=t=>{let e=11===t.nodeType?0:1;const i=document.createTreeWalker(t,133,null,!1);for(;i.nextNode();)e++;return e},p=(t,e=-1)=>{for(let i=e+1;i(...e)=>{const i=t(...e);return f.set(i,!0),i},m=t=>"function"==typeof t&&f.has(t),_={},b={};class y{constructor(t,e,i){this.__parts=[],this.template=t,this.processor=e,this.options=i}update(t){let e=0;for(const i of this.__parts)void 0!==i&&i.setValue(t[e]),e++;for(const i of this.__parts)void 0!==i&&i.commit()}_clone(){const t=e?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),i=[],n=this.template.parts,r=document.createTreeWalker(t,133,null,!1);let s,a=0,o=0,c=r.nextNode();for(;at}),w=` ${n} `;class S{constructor(t,e,i,n){this.strings=t,this.values=e,this.type=i,this.processor=n}getHTML(){const t=this.strings.length-1;let e="",i=!1;for(let s=0;s-1||i)&&-1===t.indexOf("--\x3e",a+1);const o=h.exec(t);e+=null===o?t+(i?w:r):t.substr(0,o.index)+o[1]+o[2]+"$lit$"+o[3]+n}return e+=this.strings[t],e}getTemplateElement(){const t=document.createElement("template");let e=this.getHTML();return void 0!==v&&(e=v.createHTML(e)),t.innerHTML=e,t}}const x=t=>null===t||!("object"==typeof t||"function"==typeof t),k=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class O{constructor(t,e,i){this.dirty=!0,this.element=t,this.name=e,this.strings=i,this.parts=[];for(let n=0;n{try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}})();class P{constructor(t,e,i){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=i,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;m(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=_,t(this)}if(this.__pendingValue===_)return;const t=this.__pendingValue,e=this.value,i=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),n=null!=t&&(null==e||i);i&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),n&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=_}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const j=t=>t&&(N?{capture:t.capture,passive:t.passive,once:t.once}:t.capture);function $(t){let e=H.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},H.set(t.type,e));let i=e.stringsArray.get(t.strings);if(void 0!==i)return i;const r=t.strings.join(n);return i=e.keyString.get(r),void 0===i&&(i=new a(t,t.getTemplateElement()),e.keyString.set(r,i)),e.stringsArray.set(t.strings,i),i}const H=new Map,R=new WeakMap;const V=new class{handleAttributeExpressions(t,e,i,n){const r=e[0];if("."===r){return new E(t,e.slice(1),i).parts}if("@"===r)return[new P(t,e.slice(1),n.eventContext)];if("?"===r)return[new C(t,e.slice(1),i)];return new O(t,e,i).parts}handleTextExpression(t){return new M(t)}};"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.3.0");const D=(t,...e)=>new S(t,e,"html",V),L=(t,e)=>`${t}--${e}`;let F=!0;void 0===window.ShadyCSS?F=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),F=!1);const I=t=>e=>{const i=L(e.type,t);let r=H.get(i);void 0===r&&(r={stringsArray:new WeakMap,keyString:new Map},H.set(i,r));let s=r.stringsArray.get(e.strings);if(void 0!==s)return s;const o=e.strings.join(n);if(s=r.keyString.get(o),void 0===s){const i=e.getTemplateElement();F&&window.ShadyCSS.prepareTemplateDom(i,t),s=new a(e,i),r.keyString.set(o,s)}return r.stringsArray.set(e.strings,s),s},z=["html","svg"],U=new Set,q=(t,e,i)=>{U.add(t);const n=i?i.element:document.createElement("template"),r=e.querySelectorAll("style"),{length:s}=r;if(0===s)return void window.ShadyCSS.prepareTemplateStyles(n,t);const a=document.createElement("style");for(let c=0;c{z.forEach((e=>{const i=H.get(L(e,t));void 0!==i&&i.keyString.forEach((t=>{const{element:{content:e}}=t,i=new Set;Array.from(e.querySelectorAll("style")).forEach((t=>{i.add(t)})),u(t,i)}))}))})(t);const o=n.content;i?function(t,e,i=null){const{element:{content:n},parts:r}=t;if(null==i)return void n.appendChild(e);const s=document.createTreeWalker(n,133,null,!1);let a=p(r),o=0,l=-1;for(;s.nextNode();)for(l++,s.currentNode===i&&(o=d(e),i.parentNode.insertBefore(e,i));-1!==a&&r[a].index===l;){if(o>0){for(;-1!==a;)r[a].index+=o,a=p(r,a);return}a=p(r,a)}}(i,a,o.firstChild):o.insertBefore(a,o.firstChild),window.ShadyCSS.prepareTemplateStyles(n,t);const l=o.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==l)e.insertBefore(l.cloneNode(!0),e.firstChild);else if(i){o.insertBefore(a,o.firstChild);const t=new Set;t.add(a),u(i,t)}};window.JSCompiler_renameProperty=(t,e)=>t;const Y={toAttribute(t,e){switch(e){case Boolean:return t?"":null;case Object:case Array:return null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){switch(e){case Boolean:return null!==t;case Number:return null===t?null:Number(t);case Object:case Array:return JSON.parse(t)}return t}},B=(t,e)=>e!==t&&(e==e||t==t),W={attribute:!0,type:String,converter:Y,reflect:!1,hasChanged:B};class G extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();const t=[];return this._classProperties.forEach(((e,i)=>{const n=this._attributeNameForProperty(i,e);void 0!==n&&(this._attributeToPropertyMap.set(n,i),t.push(n))})),t}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach(((t,e)=>this._classProperties.set(e,t)))}}static createProperty(t,e=W){if(this._ensureClassProperties(),this._classProperties.set(t,e),e.noAccessor||this.prototype.hasOwnProperty(t))return;const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const r=this[t];this[e]=n,this.requestUpdateInternal(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this._classProperties&&this._classProperties.get(t)||W}static finalize(){const t=Object.getPrototypeOf(this);if(t.hasOwnProperty("finalized")||t.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const t=this.properties,e=[...Object.getOwnPropertyNames(t),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]];for(const i of e)this.createProperty(i,t[i])}}static _attributeNameForProperty(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}static _valueHasChanged(t,e,i=B){return i(t,e)}static _propertyValueFromAttribute(t,e){const i=e.type,n=e.converter||Y,r="function"==typeof n?n:n.fromAttribute;return r?r(t,i):t}static _propertyValueToAttribute(t,e){if(void 0===e.reflect)return;const i=e.type,n=e.converter;return(n&&n.toAttribute||Y.toAttribute)(t,i)}initialize(){this._updateState=0,this._updatePromise=new Promise((t=>this._enableUpdatingResolver=t)),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach(((t,e)=>{if(this.hasOwnProperty(e)){const t=this[e];delete this[e],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(e,t)}}))}_applyInstanceProperties(){this._instanceProperties.forEach(((t,e)=>this[e]=t)),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){void 0!==this._enableUpdatingResolver&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(t,e,i){e!==i&&this._attributeToProperty(t,i)}_propertyToAttribute(t,e,i=W){const n=this.constructor,r=n._attributeNameForProperty(t,i);if(void 0!==r){const t=n._propertyValueToAttribute(e,i);if(void 0===t)return;this._updateState=8|this._updateState,null==t?this.removeAttribute(r):this.setAttribute(r,t),this._updateState=-9&this._updateState}}_attributeToProperty(t,e){if(8&this._updateState)return;const i=this.constructor,n=i._attributeToPropertyMap.get(t);if(void 0!==n){const t=i.getPropertyOptions(n);this._updateState=16|this._updateState,this[n]=i._propertyValueFromAttribute(e,t),this._updateState=-17&this._updateState}}requestUpdateInternal(t,e,i){let n=!0;if(void 0!==t){const r=this.constructor;i=i||r.getPropertyOptions(t),r._valueHasChanged(this[t],e,i.hasChanged)?(this._changedProperties.has(t)||this._changedProperties.set(t,e),!0!==i.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(t,i))):n=!1}!this._hasRequestedUpdate&&n&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(t,e){return this.requestUpdateInternal(t,e),this.updateComplete}async _enqueueUpdate(){this._updateState=4|this._updateState;try{await this._updatePromise}catch(e){}const t=this.performUpdate();return null!=t&&await t,!this._hasRequestedUpdate}get _hasRequestedUpdate(){return 4&this._updateState}get hasUpdated(){return 1&this._updateState}performUpdate(){if(!this._hasRequestedUpdate)return;this._instanceProperties&&this._applyInstanceProperties();let t=!1;const e=this._changedProperties;try{t=this.shouldUpdate(e),t?this.update(e):this._markUpdated()}catch(i){throw t=!1,this._markUpdated(),i}t&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(e)),this.updated(e))}_markUpdated(){this._changedProperties=new Map,this._updateState=-5&this._updateState}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this._updatePromise}shouldUpdate(t){return!0}update(t){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(((t,e)=>this._propertyToAttribute(e,this[e],t))),this._reflectingProperties=void 0),this._markUpdated()}updated(t){}firstUpdated(t){}}G.finalized=!0;const Z=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?Object.assign(Object.assign({},e),{finisher(i){i.createProperty(e.key,t)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function J(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):Z(t,e)}const X=(t,e,i)=>{Object.defineProperty(e,i,t)},K=(t,e)=>({kind:"method",placement:"prototype",key:e.key,descriptor:t});const Q=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,tt=Symbol();class et{constructor(t,e){if(e!==tt)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){return void 0===this._styleSheet&&(Q?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}(window.litElementVersions||(window.litElementVersions=[])).push("2.4.0");const it={};class nt extends G{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const t=this.getStyles();if(Array.isArray(t)){const e=(t,i)=>t.reduceRight(((t,i)=>Array.isArray(i)?e(i,t):(t.add(i),t)),i),i=e(t,new Set),n=[];i.forEach((t=>n.unshift(t))),this._styles=n}else this._styles=void 0===t?[]:[t];this._styles=this._styles.map((t=>{if(t instanceof CSSStyleSheet&&!Q){const e=Array.prototype.slice.call(t.cssRules).reduce(((t,e)=>t+e.cssText),"");return new et(String(e),tt)}return t}))}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?Q?this.renderRoot.adoptedStyleSheets=t.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map((t=>t.cssText)),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){const e=this.render();super.update(t),e!==it&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach((t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)})))}render(){return it}}nt.finalized=!0,nt.render=(t,e,n)=>{if(!n||"object"!=typeof n||!n.scopeName)throw new Error("The `scopeName` option is required.");const r=n.scopeName,s=R.has(e),a=F&&11===e.nodeType&&!!e.host,o=a&&!U.has(r),l=o?document.createDocumentFragment():e;if(((t,e,n)=>{let r=R.get(e);void 0===r&&(i(e,e.firstChild),R.set(e,r=new M(Object.assign({templateFactory:$},n))),r.appendInto(e)),r.setValue(t),r.commit()})(t,l,Object.assign({templateFactory:I(r)},n)),o){const t=R.get(l);R.delete(l);const n=t.value instanceof y?t.value.template:void 0;q(r,l,n),i(e,e.firstChild),e.appendChild(l),R.set(e,t)}!s&&a&&window.ShadyCSS.styleElement(e.host)};class rt{constructor(t){this.startPress=e=>{t().then((t=>{t&&t.startPress(e)}))},this.endPress=()=>{t().then((t=>{t&&t.endPress()}))},this.startFocus=()=>{t().then((t=>{t&&t.startFocus()}))},this.endFocus=()=>{t().then((t=>{t&&t.endFocus()}))},this.startHover=()=>{t().then((t=>{t&&t.startHover()}))},this.endHover=()=>{t().then((t=>{t&&t.endHover()}))}}}const st=new WeakMap,at=g((t=>e=>{if(!(e instanceof T)||e instanceof A||"style"!==e.committer.name||e.committer.parts.length>1)throw new Error("The `styleMap` directive must be used in the style attribute and must be the only part in the attribute.");const{committer:i}=e,{style:n}=i.element;let r=st.get(e);void 0===r&&(n.cssText=i.strings.join(" "),st.set(e,r=new Set)),r.forEach((e=>{e in t||(r.delete(e),-1===e.indexOf("-")?n[e]=null:n.removeProperty(e))}));for(const s in t)r.add(s),-1===s.indexOf("-")?n[s]=t[s]:n.setProperty(s,t[s])})),ot=new WeakMap,lt=g((t=>e=>{if(!(e instanceof M))throw new Error("unsafeHTML can only be used in text bindings");const i=ot.get(e);if(void 0!==i&&x(t)&&t===i.value&&e.value===i.fragment)return;const n=document.createElement("template");n.innerHTML=t;const r=document.importNode(n.content,!0);e.setValue(r),ot.set(e,{value:t,fragment:r})}));class ct{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;const e=(t.getAttribute("class")||"").split(/\s+/);for(const i of e)this.classes.add(i)}add(t){this.classes.add(t),this.changed=!0}remove(t){this.classes.delete(t),this.changed=!0}commit(){if(this.changed){let t="";this.classes.forEach((e=>t+=e+" ")),this.element.setAttribute("class",t)}}}const ht=new WeakMap,ut=g((t=>e=>{if(!(e instanceof T)||e instanceof A||"class"!==e.committer.name||e.committer.parts.length>1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");const{committer:i}=e,{element:n}=i;let r=ht.get(e);void 0===r&&(n.setAttribute("class",i.strings.join(" ")),ht.set(e,r=new Set));const s=n.classList||new ct(n);r.forEach((e=>{e in t||(s.remove(e),r.delete(e))}));for(const a in t){const e=t[a];e!=r.has(a)&&(e?(s.add(a),r.add(a)):(s.remove(a),r.delete(a)))}"function"==typeof s.commit&&s.commit()}));var dt=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,pt="[^\\s]+",ft=/\[([^]*?)\]/gm;function gt(t,e){for(var i=[],n=0,r=t.length;n-1?n:null}};function _t(t){for(var e=[],i=1;i3?0:(t-t%10!=10?1:0)*t%10]}},St=_t({},wt),xt=function(t,e){for(void 0===e&&(e=2),t=String(t);t.length0?"-":"+")+xt(100*Math.floor(Math.abs(e)/60)+Math.abs(e)%60,4)},Z:function(t){var e=t.getTimezoneOffset();return(e>0?"-":"+")+xt(Math.floor(Math.abs(e)/60),2)+":"+xt(Math.abs(e)%60,2)}},Ot=function(t){return+t-1},Tt=[null,"[1-9]\\d?"],Mt=[null,pt],Ct=["isPm",pt,function(t,e){var i=t.toLowerCase();return i===e.amPm[0]?0:i===e.amPm[1]?1:null}],Et=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(t){var e=(t+"").match(/([+-]|\d\d)/gi);if(e){var i=60*+e[1]+parseInt(e[2],10);return"+"===e[0]?i:-i}return 0}],At=(mt("monthNamesShort"),mt("monthNames"),{default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"});var Nt=function(t,e,i){if(void 0===e&&(e=At.default),void 0===i&&(i={}),"number"==typeof t&&(t=new Date(t)),"[object Date]"!==Object.prototype.toString.call(t)||isNaN(t.getTime()))throw new Error("Invalid Date pass to format");var n=[];e=(e=At[e]||e).replace(ft,(function(t,e){return n.push(e),"@@@"}));var r=_t(_t({},St),i);return(e=e.replace(dt,(function(e){return kt[e](t,r)}))).replace(/@@@/g,(function(){return n.shift()}))};function Pt(t){var e=t.split(":").map(Number);return 3600*e[0]+60*e[1]+e[2]}var jt=function(){try{(new Date).toLocaleDateString("i")}catch(t){return"RangeError"===t.name}return!1}()?function(t,e){return t.toLocaleDateString(e,{year:"numeric",month:"long",day:"numeric"})}:function(t){return Nt(t,"mediumDate")},$t=function(){try{(new Date).toLocaleString("i")}catch(t){return"RangeError"===t.name}return!1}()?function(t,e){return t.toLocaleString(e,{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"2-digit"})}:function(t){return Nt(t,"haDateTime")},Ht=function(){try{(new Date).toLocaleTimeString("i")}catch(t){return"RangeError"===t.name}return!1}()?function(t,e){return t.toLocaleTimeString(e,{hour:"numeric",minute:"2-digit"})}:function(t){return Nt(t,"shortTime")},Rt=function(t){return t<10?"0"+t:t};function Vt(t){return t.substr(0,t.indexOf("."))}var Dt="hass:bookmark",Lt=["closed","locked","off"],Ft=new Set(["fan","input_boolean","light","switch","group","automation"]),It=function(t,e,i,n){n=n||{},i=null==i?{}:i;var r=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return r.detail=i,t.dispatchEvent(r),r},zt=new Set(["call-service","divider","section","weblink","cast","select"]),Ut={alert:"toggle",automation:"toggle",climate:"climate",cover:"cover",fan:"toggle",group:"group",input_boolean:"toggle",input_number:"input-number",input_select:"input-select",input_text:"input-text",light:"toggle",lock:"lock",media_player:"media-player",remote:"toggle",scene:"scene",script:"script",sensor:"sensor",timer:"timer",switch:"toggle",vacuum:"toggle",water_heater:"climate",input_datetime:"input-datetime"},qt={alert:"hass:alert",automation:"hass:playlist-play",calendar:"hass:calendar",camera:"hass:video",climate:"hass:thermostat",configurator:"hass:settings",conversation:"hass:text-to-speech",device_tracker:"hass:account",fan:"hass:fan",group:"hass:google-circles-communities",history_graph:"hass:chart-line",homeassistant:"hass:home-assistant",homekit:"hass:home-automation",image_processing:"hass:image-filter-frames",input_boolean:"hass:drawing",input_datetime:"hass:calendar-clock",input_number:"hass:ray-vertex",input_select:"hass:format-list-bulleted",input_text:"hass:textbox",light:"hass:lightbulb",mailbox:"hass:mailbox",notify:"hass:comment-alert",person:"hass:account",plant:"hass:flower",proximity:"hass:apple-safari",remote:"hass:remote",scene:"hass:google-pages",script:"hass:file-document",sensor:"hass:eye",simple_alarm:"hass:bell",sun:"hass:white-balance-sunny",switch:"hass:flash",timer:"hass:timer",updater:"hass:cloud-upload",vacuum:"hass:robot-vacuum",water_heater:"hass:thermometer",weblink:"hass:open-in-new"};function Yt(t,e){if(t in qt)return qt[t];switch(t){case"alarm_control_panel":switch(e){case"armed_home":return"hass:bell-plus";case"armed_night":return"hass:bell-sleep";case"disarmed":return"hass:bell-outline";case"triggered":return"hass:bell-ring";default:return"hass:bell"}case"binary_sensor":return e&&"off"===e?"hass:radiobox-blank":"hass:checkbox-marked-circle";case"cover":return"closed"===e?"hass:window-closed":"hass:window-open";case"lock":return e&&"unlocked"===e?"hass:lock-open":"hass:lock";case"media_player":return e&&"off"!==e&&"idle"!==e?"hass:cast-connected":"hass:cast";case"zwave":switch(e){case"dead":return"hass:emoticon-dead";case"sleeping":return"hass:sleep";case"initializing":return"hass:timer-sand";default:return"hass:z-wave"}default:return console.warn("Unable to find icon for domain "+t+" ("+e+")"),Dt}}var Bt=function(t){It(window,"haptic",t)},Wt=function(t,e){return function(t,e,i){void 0===i&&(i=!0);var n,r=Vt(e),s="group"===r?"homeassistant":r;switch(r){case"lock":n=i?"unlock":"lock";break;case"cover":n=i?"open_cover":"close_cover";break;default:n=i?"turn_on":"turn_off"}return t.callService(s,n,{entity_id:e})}(t,e,Lt.includes(t.states[e].state))},Gt=function(t,e,i,n,r){var s;if(r&&i.double_tap_action?s=i.double_tap_action:n&&i.hold_action?s=i.hold_action:!n&&i.tap_action&&(s=i.tap_action),s||(s={action:"more-info"}),!s.confirmation||s.confirmation.exemptions&&s.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||confirm(s.confirmation.text||"Are you sure you want to "+s.action+"?"))switch(s.action){case"more-info":(s.entity||i.entity||i.camera_image)&&(It(t,"hass-more-info",{entityId:s.entity?s.entity:i.entity?i.entity:i.camera_image}),s.haptic&&Bt(s.haptic));break;case"navigate":s.navigation_path&&(function(t,e,i){void 0===i&&(i=!1),i?history.replaceState(null,"",e):history.pushState(null,"",e),It(window,"location-changed",{replace:i})}(0,s.navigation_path),s.haptic&&Bt(s.haptic));break;case"url":s.url_path&&window.open(s.url_path),s.haptic&&Bt(s.haptic);break;case"toggle":i.entity&&(Wt(e,i.entity),s.haptic&&Bt(s.haptic));break;case"call-service":if(!s.service)return;var a=s.service.split(".",2),o=a[0],l=a[1],c=Object.assign({},s.service_data);"entity"===c.entity_id&&(c.entity_id=i.entity),e.callService(o,l,c),s.haptic&&Bt(s.haptic)}},Zt={humidity:"hass:water-percent",illuminance:"hass:brightness-5",temperature:"hass:thermometer",pressure:"hass:gauge",power:"hass:flash",signal_strength:"hass:wifi"},Jt={binary_sensor:function(t){var e=t.state&&"off"===t.state;switch(t.attributes.device_class){case"battery":return e?"hass:battery":"hass:battery-outline";case"cold":return e?"hass:thermometer":"hass:snowflake";case"connectivity":return e?"hass:server-network-off":"hass:server-network";case"door":return e?"hass:door-closed":"hass:door-open";case"garage_door":return e?"hass:garage":"hass:garage-open";case"gas":case"power":case"problem":case"safety":case"smoke":return e?"hass:shield-check":"hass:alert";case"heat":return e?"hass:thermometer":"hass:fire";case"light":return e?"hass:brightness-5":"hass:brightness-7";case"lock":return e?"hass:lock":"hass:lock-open";case"moisture":return e?"hass:water-off":"hass:water";case"motion":return e?"hass:walk":"hass:run";case"occupancy":return e?"hass:home-outline":"hass:home";case"opening":return e?"hass:square":"hass:square-outline";case"plug":return e?"hass:power-plug-off":"hass:power-plug";case"presence":return e?"hass:home-outline":"hass:home";case"sound":return e?"hass:music-note-off":"hass:music-note";case"vibration":return e?"hass:crop-portrait":"hass:vibrate";case"window":return e?"hass:window-closed":"hass:window-open";default:return e?"hass:radiobox-blank":"hass:checkbox-marked-circle"}},cover:function(t){var e="closed"!==t.state;switch(t.attributes.device_class){case"garage":return e?"hass:garage-open":"hass:garage";case"door":return e?"hass:door-open":"hass:door-closed";case"shutter":return e?"hass:window-shutter-open":"hass:window-shutter";case"blind":return e?"hass:blinds-open":"hass:blinds";case"window":return e?"hass:window-open":"hass:window-closed";default:return Yt("cover",t.state)}},sensor:function(t){var e=t.attributes.device_class;if(e&&e in Zt)return Zt[e];if("battery"===e){var i=Number(t.state);if(isNaN(i))return"hass:battery-unknown";var n=10*Math.round(i/10);return n>=100?"hass:battery":n<=0?"hass:battery-alert":"hass:battery-"+n}var r=t.attributes.unit_of_measurement;return"°C"===r||"°F"===r?"hass:thermometer":Yt("sensor")},input_datetime:function(t){return t.attributes.has_date?t.attributes.has_time?Yt("input_datetime"):"hass:calendar":"hass:clock"}};const Xt=(t,e,i,n)=>{n=n||{},i=null==i?{}:i;const r=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return r.detail=i,t.dispatchEvent(r),r},Kt=(t,e)=>{if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;let i,n;if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(i=n;0!=i--;)if(!Kt(t[i],e[i]))return!1;return!0}if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(i of t.entries())if(!e.has(i[0]))return!1;for(i of t.entries())if(!Kt(i[1],e.get(i[0])))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(i of t.entries())if(!e.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(e)){if(n=t.length,n!==e.length)return!1;for(i=n;0!=i--;)if(t[i]!==e[i])return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();const r=Object.keys(t);if(n=r.length,n!==Object.keys(e).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(e,r[i]))return!1;for(i=n;0!=i--;){const n=r[i];if(!Kt(t[n],e[n]))return!1}return!0}return t!=t&&e!=e},Qt="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;class te extends HTMLElement{constructor(){super(),this.holdTime=500,this.held=!1,this.cancelled=!1,this.isRepeating=!1,this.ripple=document.createElement("mwc-ripple")}connectedCallback(){Object.assign(this.style,{position:"absolute",width:Qt?"100px":"50px",height:Qt?"100px":"50px",transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:"999"}),this.appendChild(this.ripple),this.ripple.primary=!0,["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((t=>{document.addEventListener(t,(()=>{this.cancelled=!0,this.timer&&(this.stopAnimation(),clearTimeout(this.timer),this.timer=void 0,this.isRepeating&&this.repeatTimeout&&(clearInterval(this.repeatTimeout),this.isRepeating=!1))}),{passive:!0})}))}bind(t,e){t.actionHandler&&Kt(e,t.actionHandler.options)||(t.actionHandler?(t.removeEventListener("touchstart",t.actionHandler.start),t.removeEventListener("touchend",t.actionHandler.end),t.removeEventListener("touchcancel",t.actionHandler.end),t.removeEventListener("mousedown",t.actionHandler.start),t.removeEventListener("click",t.actionHandler.end),t.removeEventListener("keyup",t.actionHandler.handleEnter)):t.addEventListener("contextmenu",(t=>{const e=t||window.event;return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0,e.returnValue=!1,!1})),t.actionHandler={options:e},e.disabled||(t.actionHandler.start=i=>{let n,r;this.cancelled=!1,i.touches?(n=i.touches[0].pageX,r=i.touches[0].pageY):(n=i.pageX,r=i.pageY),e.hasHold&&(this.held=!1,this.timer=window.setTimeout((()=>{this.startAnimation(n,r),this.held=!0,e.repeat&&!this.isRepeating&&(this.isRepeating=!0,this.repeatTimeout=setInterval((()=>{Xt(t,"action",{action:"hold"})}),e.repeat))}),this.holdTime))},t.actionHandler.end=t=>{if(["touchend","touchcancel"].includes(t.type)&&this.cancelled)return void(this.isRepeating&&this.repeatTimeout&&(clearInterval(this.repeatTimeout),this.isRepeating=!1));const i=t.target;t.cancelable&&t.preventDefault(),e.hasHold&&(clearTimeout(this.timer),this.isRepeating&&this.repeatTimeout&&clearInterval(this.repeatTimeout),this.isRepeating=!1,this.stopAnimation(),this.timer=void 0),e.hasHold&&this.held?e.repeat||Xt(i,"action",{action:"hold"}):e.hasDoubleClick?"click"===t.type&&t.detail<2||!this.dblClickTimeout?this.dblClickTimeout=window.setTimeout((()=>{this.dblClickTimeout=void 0,Xt(i,"action",{action:"tap"})}),250):(clearTimeout(this.dblClickTimeout),this.dblClickTimeout=void 0,Xt(i,"action",{action:"double_tap"})):Xt(i,"action",{action:"tap"})},t.actionHandler.handleEnter=t=>{13===t.keyCode&&t.currentTarget.actionHandler.end(t)},t.addEventListener("touchstart",t.actionHandler.start,{passive:!0}),t.addEventListener("touchend",t.actionHandler.end),t.addEventListener("touchcancel",t.actionHandler.end),t.addEventListener("mousedown",t.actionHandler.start,{passive:!0}),t.addEventListener("click",t.actionHandler.end),t.addEventListener("keyup",t.actionHandler.handleEnter)))}startAnimation(t,e){Object.assign(this.style,{left:t+"px",top:e+"px",display:null}),this.ripple.disabled=!1,this.ripple.startPress(),this.ripple.unbounded=!0}stopAnimation(){this.ripple.endPress(),this.ripple.disabled=!0,this.style.display="none"}}customElements.define("button-card-action-handler",te);const ee=(t,e)=>{const i=(()=>{const t=document.body;if(t.querySelector("button-card-action-handler"))return t.querySelector("button-card-action-handler");const e=document.createElement("button-card-action-handler");return t.appendChild(e),e})();i&&i.bind(t,e)},ie=g(((t={})=>e=>{ee(e.committer.element,t)}));function ne(t,e){(function(t){return"string"==typeof t&&t.includes(".")&&1===parseFloat(t)})(t)&&(t="100%");var i=function(t){return"string"==typeof t&&t.includes("%")}(t);return t=360===e?t:Math.min(e,Math.max(0,parseFloat(t))),i&&(t=parseInt(String(t*e),10)/100),Math.abs(t-e)<1e-6?1:t=360===e?(t<0?t%e+e:t%e)/parseFloat(String(e)):t%e/parseFloat(String(e))}function re(t){return Math.min(1,Math.max(0,t))}function se(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function ae(t){return t<=1?100*Number(t)+"%":t}function oe(t){return 1===t.length?"0"+t:String(t)}function le(t,e,i){t=ne(t,255),e=ne(e,255),i=ne(i,255);var n=Math.max(t,e,i),r=Math.min(t,e,i),s=0,a=0,o=(n+r)/2;if(n===r)a=0,s=0;else{var l=n-r;switch(a=o>.5?l/(2-n-r):l/(n+r),n){case t:s=(e-i)/l+(e1&&(i-=1),i<1/6?t+6*i*(e-t):i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function he(t,e,i){t=ne(t,255),e=ne(e,255),i=ne(i,255);var n=Math.max(t,e,i),r=Math.min(t,e,i),s=0,a=n,o=n-r,l=0===n?0:o/n;if(n===r)s=0;else{switch(n){case t:s=(e-i)/o+(e>16,g:(65280&t)>>8,b:255&t}}(e)),this.originalInput=e;var r=me(e);this.originalInput=e,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(n=i.format)&&void 0!==n?n:r.format,this.gradientType=i.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},t.prototype.getLuminance=function(){var t=this.toRgb(),e=t.r/255,i=t.g/255,n=t.b/255;return.2126*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(t){return this.a=se(t),this.roundA=Math.round(100*this.a)/100,this},t.prototype.toHsv=function(){var t=he(this.r,this.g,this.b);return{h:360*t.h,s:t.s,v:t.v,a:this.a}},t.prototype.toHsvString=function(){var t=he(this.r,this.g,this.b),e=Math.round(360*t.h),i=Math.round(100*t.s),n=Math.round(100*t.v);return 1===this.a?"hsv("+e+", "+i+"%, "+n+"%)":"hsva("+e+", "+i+"%, "+n+"%, "+this.roundA+")"},t.prototype.toHsl=function(){var t=le(this.r,this.g,this.b);return{h:360*t.h,s:t.s,l:t.l,a:this.a}},t.prototype.toHslString=function(){var t=le(this.r,this.g,this.b),e=Math.round(360*t.h),i=Math.round(100*t.s),n=Math.round(100*t.l);return 1===this.a?"hsl("+e+", "+i+"%, "+n+"%)":"hsla("+e+", "+i+"%, "+n+"%, "+this.roundA+")"},t.prototype.toHex=function(t){return void 0===t&&(t=!1),ue(this.r,this.g,this.b,t)},t.prototype.toHexString=function(t){return void 0===t&&(t=!1),"#"+this.toHex(t)},t.prototype.toHex8=function(t){return void 0===t&&(t=!1),function(t,e,i,n,r){var s=[oe(Math.round(t).toString(16)),oe(Math.round(e).toString(16)),oe(Math.round(i).toString(16)),oe(de(n))];return r&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}(this.r,this.g,this.b,this.a,t)},t.prototype.toHex8String=function(t){return void 0===t&&(t=!1),"#"+this.toHex8(t)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var t=Math.round(this.r),e=Math.round(this.g),i=Math.round(this.b);return 1===this.a?"rgb("+t+", "+e+", "+i+")":"rgba("+t+", "+e+", "+i+", "+this.roundA+")"},t.prototype.toPercentageRgb=function(){var t=function(t){return Math.round(100*ne(t,255))+"%"};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var t=function(t){return Math.round(100*ne(t,255))};return 1===this.a?"rgb("+t(this.r)+"%, "+t(this.g)+"%, "+t(this.b)+"%)":"rgba("+t(this.r)+"%, "+t(this.g)+"%, "+t(this.b)+"%, "+this.roundA+")"},t.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var t="#"+ue(this.r,this.g,this.b,!1),e=0,i=Object.entries(ge);e=0;return e||!n||!t.startsWith("hex")&&"name"!==t?("rgb"===t&&(i=this.toRgbString()),"prgb"===t&&(i=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(i=this.toHexString()),"hex3"===t&&(i=this.toHexString(!0)),"hex4"===t&&(i=this.toHex8String(!0)),"hex8"===t&&(i=this.toHex8String()),"name"===t&&(i=this.toName()),"hsl"===t&&(i=this.toHslString()),"hsv"===t&&(i=this.toHsvString()),i||this.toHexString()):"name"===t&&0===this.a?this.toName():this.toRgbString()},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(e){void 0===e&&(e=10);var i=this.toHsl();return i.l+=e/100,i.l=re(i.l),new t(i)},t.prototype.brighten=function(e){void 0===e&&(e=10);var i=this.toRgb();return i.r=Math.max(0,Math.min(255,i.r-Math.round(-e/100*255))),i.g=Math.max(0,Math.min(255,i.g-Math.round(-e/100*255))),i.b=Math.max(0,Math.min(255,i.b-Math.round(-e/100*255))),new t(i)},t.prototype.darken=function(e){void 0===e&&(e=10);var i=this.toHsl();return i.l-=e/100,i.l=re(i.l),new t(i)},t.prototype.tint=function(t){return void 0===t&&(t=10),this.mix("white",t)},t.prototype.shade=function(t){return void 0===t&&(t=10),this.mix("black",t)},t.prototype.desaturate=function(e){void 0===e&&(e=10);var i=this.toHsl();return i.s-=e/100,i.s=re(i.s),new t(i)},t.prototype.saturate=function(e){void 0===e&&(e=10);var i=this.toHsl();return i.s+=e/100,i.s=re(i.s),new t(i)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(e){var i=this.toHsl(),n=(i.h+e)%360;return i.h=n<0?360+n:n,new t(i)},t.prototype.mix=function(e,i){void 0===i&&(i=50);var n=this.toRgb(),r=new t(e).toRgb(),s=i/100;return new t({r:(r.r-n.r)*s+n.r,g:(r.g-n.g)*s+n.g,b:(r.b-n.b)*s+n.b,a:(r.a-n.a)*s+n.a})},t.prototype.analogous=function(e,i){void 0===e&&(e=6),void 0===i&&(i=30);var n=this.toHsl(),r=360/i,s=[this];for(n.h=(n.h-(r*e>>1)+720)%360;--e;)n.h=(n.h+r)%360,s.push(new t(n));return s},t.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new t(e)},t.prototype.monochromatic=function(e){void 0===e&&(e=6);for(var i=this.toHsv(),n=i.h,r=i.s,s=i.v,a=[],o=1/e;e--;)a.push(new t({h:n,s:r,v:s})),s=(s+o)%1;return a},t.prototype.splitcomplement=function(){var e=this.toHsl(),i=e.h;return[this,new t({h:(i+72)%360,s:e.s,l:e.l}),new t({h:(i+216)%360,s:e.s,l:e.l})]},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(e){for(var i=this.toHsl(),n=i.h,r=[this],s=360/e,a=1;at&&"object"==typeof t;return t.reduce(((t,i)=>(Object.keys(i).forEach((n=>{const r=t[n],s=i[n];Array.isArray(r)&&Array.isArray(s)?t[n]=r.concat(...s):e(r)&&e(s)?t[n]=Me(r,s):t[n]=s})),t)),{})}function Ce(t,e){let i=[];return t&&t.forEach((t=>{let n=t;e&&e.forEach((e=>{e.id&&t.id&&e.id==t.id&&(n=Me(n,e))})),i.push(n)})),e&&(i=i.concat(e.filter((e=>!t||!t.find((t=>!(!t.id||!e.id)&&t.id==e.id)))))),i}const Ee=((t,...e)=>{const i=e.reduce(((e,i,n)=>e+(t=>{if(t instanceof et)return t.cssText;if("number"==typeof t)return t;throw new Error(`Value passed to 'css' function must be a 'css' function result: ${t}. Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security.`)})(i)+t[n+1]),t[0]);return new et(i,tt)})` +function t(t,e,i,n){var r,s=arguments.length,a=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(a=(s<3?r(a):s>3?r(e,i,a):r(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a}const e="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,i=(t,e,i=null)=>{for(;e!==i;){const i=e.nextSibling;t.removeChild(e),e=i}},n=`{{lit-${String(Math.random()).slice(2)}}}`,r=`\x3c!--${n}--\x3e`,s=new RegExp(`${n}|${r}`);class a{constructor(t,e){this.parts=[],this.element=e;const i=[],r=[],a=document.createTreeWalker(e.content,133,null,!1);let l=0,u=-1,d=0;const{strings:p,values:{length:f}}=t;for(;d0;){const e=p[d],i=h.exec(e)[2],n=i.toLowerCase()+"$lit$",r=t.getAttribute(n);t.removeAttribute(n);const a=r.split(s);this.parts.push({type:"attribute",index:u,name:i,strings:a}),d+=a.length-1}}"TEMPLATE"===t.tagName&&(r.push(t),a.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(n)>=0){const n=t.parentNode,r=e.split(s),a=r.length-1;for(let e=0;e{const i=t.length-e.length;return i>=0&&t.slice(i)===e},l=t=>-1!==t.index,c=()=>document.createComment(""),h=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;function u(t,e){const{element:{content:i},parts:n}=t,r=document.createTreeWalker(i,133,null,!1);let s=p(n),a=n[s],o=-1,l=0;const c=[];let h=null;for(;r.nextNode();){o++;const t=r.currentNode;for(t.previousSibling===h&&(h=null),e.has(t)&&(c.push(t),null===h&&(h=t)),null!==h&&l++;void 0!==a&&a.index===o;)a.index=null!==h?-1:a.index-l,s=p(n,s),a=n[s]}c.forEach((t=>t.parentNode.removeChild(t)))}const d=t=>{let e=11===t.nodeType?0:1;const i=document.createTreeWalker(t,133,null,!1);for(;i.nextNode();)e++;return e},p=(t,e=-1)=>{for(let i=e+1;i(...e)=>{const i=t(...e);return f.set(i,!0),i},m=t=>"function"==typeof t&&f.has(t),_={},b={};class y{constructor(t,e,i){this.__parts=[],this.template=t,this.processor=e,this.options=i}update(t){let e=0;for(const i of this.__parts)void 0!==i&&i.setValue(t[e]),e++;for(const i of this.__parts)void 0!==i&&i.commit()}_clone(){const t=e?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),i=[],n=this.template.parts,r=document.createTreeWalker(t,133,null,!1);let s,a=0,o=0,c=r.nextNode();for(;at}),w=` ${n} `;class S{constructor(t,e,i,n){this.strings=t,this.values=e,this.type=i,this.processor=n}getHTML(){const t=this.strings.length-1;let e="",i=!1;for(let s=0;s-1||i)&&-1===t.indexOf("--\x3e",a+1);const o=h.exec(t);e+=null===o?t+(i?w:r):t.substr(0,o.index)+o[1]+o[2]+"$lit$"+o[3]+n}return e+=this.strings[t],e}getTemplateElement(){const t=document.createElement("template");let e=this.getHTML();return void 0!==v&&(e=v.createHTML(e)),t.innerHTML=e,t}}const x=t=>null===t||!("object"==typeof t||"function"==typeof t),k=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class O{constructor(t,e,i){this.dirty=!0,this.element=t,this.name=e,this.strings=i,this.parts=[];for(let n=0;n{try{const t={get capture(){return A=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}})();class N{constructor(t,e,i){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=i,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;m(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=_,t(this)}if(this.__pendingValue===_)return;const t=this.__pendingValue,e=this.value,i=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),n=null!=t&&(null==e||i);i&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),n&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=_}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const j=t=>t&&(A?{capture:t.capture,passive:t.passive,once:t.once}:t.capture);function $(t){let e=H.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},H.set(t.type,e));let i=e.stringsArray.get(t.strings);if(void 0!==i)return i;const r=t.strings.join(n);return i=e.keyString.get(r),void 0===i&&(i=new a(t,t.getTemplateElement()),e.keyString.set(r,i)),e.stringsArray.set(t.strings,i),i}const H=new Map,R=new WeakMap;const V=new class{handleAttributeExpressions(t,e,i,n){const r=e[0];if("."===r){return new E(t,e.slice(1),i).parts}if("@"===r)return[new N(t,e.slice(1),n.eventContext)];if("?"===r)return[new C(t,e.slice(1),i)];return new O(t,e,i).parts}handleTextExpression(t){return new M(t)}};"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.3.0");const D=(t,...e)=>new S(t,e,"html",V),L=(t,e)=>`${t}--${e}`;let F=!0;void 0===window.ShadyCSS?F=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),F=!1);const I=t=>e=>{const i=L(e.type,t);let r=H.get(i);void 0===r&&(r={stringsArray:new WeakMap,keyString:new Map},H.set(i,r));let s=r.stringsArray.get(e.strings);if(void 0!==s)return s;const o=e.strings.join(n);if(s=r.keyString.get(o),void 0===s){const i=e.getTemplateElement();F&&window.ShadyCSS.prepareTemplateDom(i,t),s=new a(e,i),r.keyString.set(o,s)}return r.stringsArray.set(e.strings,s),s},z=["html","svg"],U=new Set,q=(t,e,i)=>{U.add(t);const n=i?i.element:document.createElement("template"),r=e.querySelectorAll("style"),{length:s}=r;if(0===s)return void window.ShadyCSS.prepareTemplateStyles(n,t);const a=document.createElement("style");for(let c=0;c{z.forEach((e=>{const i=H.get(L(e,t));void 0!==i&&i.keyString.forEach((t=>{const{element:{content:e}}=t,i=new Set;Array.from(e.querySelectorAll("style")).forEach((t=>{i.add(t)})),u(t,i)}))}))})(t);const o=n.content;i?function(t,e,i=null){const{element:{content:n},parts:r}=t;if(null==i)return void n.appendChild(e);const s=document.createTreeWalker(n,133,null,!1);let a=p(r),o=0,l=-1;for(;s.nextNode();)for(l++,s.currentNode===i&&(o=d(e),i.parentNode.insertBefore(e,i));-1!==a&&r[a].index===l;){if(o>0){for(;-1!==a;)r[a].index+=o,a=p(r,a);return}a=p(r,a)}}(i,a,o.firstChild):o.insertBefore(a,o.firstChild),window.ShadyCSS.prepareTemplateStyles(n,t);const l=o.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==l)e.insertBefore(l.cloneNode(!0),e.firstChild);else if(i){o.insertBefore(a,o.firstChild);const t=new Set;t.add(a),u(i,t)}};window.JSCompiler_renameProperty=(t,e)=>t;const Y={toAttribute(t,e){switch(e){case Boolean:return t?"":null;case Object:case Array:return null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){switch(e){case Boolean:return null!==t;case Number:return null===t?null:Number(t);case Object:case Array:return JSON.parse(t)}return t}},B=(t,e)=>e!==t&&(e==e||t==t),W={attribute:!0,type:String,converter:Y,reflect:!1,hasChanged:B};class G extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();const t=[];return this._classProperties.forEach(((e,i)=>{const n=this._attributeNameForProperty(i,e);void 0!==n&&(this._attributeToPropertyMap.set(n,i),t.push(n))})),t}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach(((t,e)=>this._classProperties.set(e,t)))}}static createProperty(t,e=W){if(this._ensureClassProperties(),this._classProperties.set(t,e),e.noAccessor||this.prototype.hasOwnProperty(t))return;const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const r=this[t];this[e]=n,this.requestUpdateInternal(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this._classProperties&&this._classProperties.get(t)||W}static finalize(){const t=Object.getPrototypeOf(this);if(t.hasOwnProperty("finalized")||t.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const t=this.properties,e=[...Object.getOwnPropertyNames(t),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]];for(const i of e)this.createProperty(i,t[i])}}static _attributeNameForProperty(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}static _valueHasChanged(t,e,i=B){return i(t,e)}static _propertyValueFromAttribute(t,e){const i=e.type,n=e.converter||Y,r="function"==typeof n?n:n.fromAttribute;return r?r(t,i):t}static _propertyValueToAttribute(t,e){if(void 0===e.reflect)return;const i=e.type,n=e.converter;return(n&&n.toAttribute||Y.toAttribute)(t,i)}initialize(){this._updateState=0,this._updatePromise=new Promise((t=>this._enableUpdatingResolver=t)),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach(((t,e)=>{if(this.hasOwnProperty(e)){const t=this[e];delete this[e],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(e,t)}}))}_applyInstanceProperties(){this._instanceProperties.forEach(((t,e)=>this[e]=t)),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){void 0!==this._enableUpdatingResolver&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(t,e,i){e!==i&&this._attributeToProperty(t,i)}_propertyToAttribute(t,e,i=W){const n=this.constructor,r=n._attributeNameForProperty(t,i);if(void 0!==r){const t=n._propertyValueToAttribute(e,i);if(void 0===t)return;this._updateState=8|this._updateState,null==t?this.removeAttribute(r):this.setAttribute(r,t),this._updateState=-9&this._updateState}}_attributeToProperty(t,e){if(8&this._updateState)return;const i=this.constructor,n=i._attributeToPropertyMap.get(t);if(void 0!==n){const t=i.getPropertyOptions(n);this._updateState=16|this._updateState,this[n]=i._propertyValueFromAttribute(e,t),this._updateState=-17&this._updateState}}requestUpdateInternal(t,e,i){let n=!0;if(void 0!==t){const r=this.constructor;i=i||r.getPropertyOptions(t),r._valueHasChanged(this[t],e,i.hasChanged)?(this._changedProperties.has(t)||this._changedProperties.set(t,e),!0!==i.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(t,i))):n=!1}!this._hasRequestedUpdate&&n&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(t,e){return this.requestUpdateInternal(t,e),this.updateComplete}async _enqueueUpdate(){this._updateState=4|this._updateState;try{await this._updatePromise}catch(e){}const t=this.performUpdate();return null!=t&&await t,!this._hasRequestedUpdate}get _hasRequestedUpdate(){return 4&this._updateState}get hasUpdated(){return 1&this._updateState}performUpdate(){if(!this._hasRequestedUpdate)return;this._instanceProperties&&this._applyInstanceProperties();let t=!1;const e=this._changedProperties;try{t=this.shouldUpdate(e),t?this.update(e):this._markUpdated()}catch(i){throw t=!1,this._markUpdated(),i}t&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(e)),this.updated(e))}_markUpdated(){this._changedProperties=new Map,this._updateState=-5&this._updateState}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this._updatePromise}shouldUpdate(t){return!0}update(t){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(((t,e)=>this._propertyToAttribute(e,this[e],t))),this._reflectingProperties=void 0),this._markUpdated()}updated(t){}firstUpdated(t){}}G.finalized=!0;const Z=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?Object.assign(Object.assign({},e),{finisher(i){i.createProperty(e.key,t)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function J(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):Z(t,e)}const X=(t,e,i)=>{Object.defineProperty(e,i,t)},K=(t,e)=>({kind:"method",placement:"prototype",key:e.key,descriptor:t});const Q=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,tt=Symbol();class et{constructor(t,e){if(e!==tt)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){return void 0===this._styleSheet&&(Q?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}(window.litElementVersions||(window.litElementVersions=[])).push("2.4.0");const it={};class nt extends G{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const t=this.getStyles();if(Array.isArray(t)){const e=(t,i)=>t.reduceRight(((t,i)=>Array.isArray(i)?e(i,t):(t.add(i),t)),i),i=e(t,new Set),n=[];i.forEach((t=>n.unshift(t))),this._styles=n}else this._styles=void 0===t?[]:[t];this._styles=this._styles.map((t=>{if(t instanceof CSSStyleSheet&&!Q){const e=Array.prototype.slice.call(t.cssRules).reduce(((t,e)=>t+e.cssText),"");return new et(String(e),tt)}return t}))}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?Q?this.renderRoot.adoptedStyleSheets=t.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map((t=>t.cssText)),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){const e=this.render();super.update(t),e!==it&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach((t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)})))}render(){return it}}nt.finalized=!0,nt.render=(t,e,n)=>{if(!n||"object"!=typeof n||!n.scopeName)throw new Error("The `scopeName` option is required.");const r=n.scopeName,s=R.has(e),a=F&&11===e.nodeType&&!!e.host,o=a&&!U.has(r),l=o?document.createDocumentFragment():e;if(((t,e,n)=>{let r=R.get(e);void 0===r&&(i(e,e.firstChild),R.set(e,r=new M(Object.assign({templateFactory:$},n))),r.appendInto(e)),r.setValue(t),r.commit()})(t,l,Object.assign({templateFactory:I(r)},n)),o){const t=R.get(l);R.delete(l);const n=t.value instanceof y?t.value.template:void 0;q(r,l,n),i(e,e.firstChild),e.appendChild(l),R.set(e,t)}!s&&a&&window.ShadyCSS.styleElement(e.host)};class rt{constructor(t){this.startPress=e=>{t().then((t=>{t&&t.startPress(e)}))},this.endPress=()=>{t().then((t=>{t&&t.endPress()}))},this.startFocus=()=>{t().then((t=>{t&&t.startFocus()}))},this.endFocus=()=>{t().then((t=>{t&&t.endFocus()}))},this.startHover=()=>{t().then((t=>{t&&t.startHover()}))},this.endHover=()=>{t().then((t=>{t&&t.endHover()}))}}}const st=new WeakMap,at=g((t=>e=>{if(!(e instanceof T)||e instanceof P||"style"!==e.committer.name||e.committer.parts.length>1)throw new Error("The `styleMap` directive must be used in the style attribute and must be the only part in the attribute.");const{committer:i}=e,{style:n}=i.element;let r=st.get(e);void 0===r&&(n.cssText=i.strings.join(" "),st.set(e,r=new Set)),r.forEach((e=>{e in t||(r.delete(e),-1===e.indexOf("-")?n[e]=null:n.removeProperty(e))}));for(const s in t)r.add(s),-1===s.indexOf("-")?n[s]=t[s]:n.setProperty(s,t[s])})),ot=new WeakMap,lt=g((t=>e=>{if(!(e instanceof M))throw new Error("unsafeHTML can only be used in text bindings");const i=ot.get(e);if(void 0!==i&&x(t)&&t===i.value&&e.value===i.fragment)return;const n=document.createElement("template");n.innerHTML=t;const r=document.importNode(n.content,!0);e.setValue(r),ot.set(e,{value:t,fragment:r})}));class ct{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;const e=(t.getAttribute("class")||"").split(/\s+/);for(const i of e)this.classes.add(i)}add(t){this.classes.add(t),this.changed=!0}remove(t){this.classes.delete(t),this.changed=!0}commit(){if(this.changed){let t="";this.classes.forEach((e=>t+=e+" ")),this.element.setAttribute("class",t)}}}const ht=new WeakMap,ut=g((t=>e=>{if(!(e instanceof T)||e instanceof P||"class"!==e.committer.name||e.committer.parts.length>1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");const{committer:i}=e,{element:n}=i;let r=ht.get(e);void 0===r&&(n.setAttribute("class",i.strings.join(" ")),ht.set(e,r=new Set));const s=n.classList||new ct(n);r.forEach((e=>{e in t||(s.remove(e),r.delete(e))}));for(const a in t){const e=t[a];e!=r.has(a)&&(e?(s.add(a),r.add(a)):(s.remove(a),r.delete(a)))}"function"==typeof s.commit&&s.commit()}));var dt=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,pt="[^\\s]+",ft=/\[([^]*?)\]/gm;function gt(t,e){for(var i=[],n=0,r=t.length;n-1?n:null}};function _t(t){for(var e=[],i=1;i3?0:(t-t%10!=10?1:0)*t%10]}},St=_t({},wt),xt=function(t,e){for(void 0===e&&(e=2),t=String(t);t.length0?"-":"+")+xt(100*Math.floor(Math.abs(e)/60)+Math.abs(e)%60,4)},Z:function(t){var e=t.getTimezoneOffset();return(e>0?"-":"+")+xt(Math.floor(Math.abs(e)/60),2)+":"+xt(Math.abs(e)%60,2)}},Ot=function(t){return+t-1},Tt=[null,"[1-9]\\d?"],Mt=[null,pt],Ct=["isPm",pt,function(t,e){var i=t.toLowerCase();return i===e.amPm[0]?0:i===e.amPm[1]?1:null}],Et=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(t){var e=(t+"").match(/([+-]|\d\d)/gi);if(e){var i=60*+e[1]+parseInt(e[2],10);return"+"===e[0]?i:-i}return 0}],Pt=(mt("monthNamesShort"),mt("monthNames"),{default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"});var At=function(t,e,i){if(void 0===e&&(e=Pt.default),void 0===i&&(i={}),"number"==typeof t&&(t=new Date(t)),"[object Date]"!==Object.prototype.toString.call(t)||isNaN(t.getTime()))throw new Error("Invalid Date pass to format");var n=[];e=(e=Pt[e]||e).replace(ft,(function(t,e){return n.push(e),"@@@"}));var r=_t(_t({},St),i);return(e=e.replace(dt,(function(e){return kt[e](t,r)}))).replace(/@@@/g,(function(){return n.shift()}))};function Nt(t){var e=t.split(":").map(Number);return 3600*e[0]+60*e[1]+e[2]}var jt=function(){try{(new Date).toLocaleDateString("i")}catch(t){return"RangeError"===t.name}return!1}()?function(t,e){return t.toLocaleDateString(e,{year:"numeric",month:"long",day:"numeric"})}:function(t){return At(t,"mediumDate")},$t=function(){try{(new Date).toLocaleString("i")}catch(t){return"RangeError"===t.name}return!1}()?function(t,e){return t.toLocaleString(e,{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"2-digit"})}:function(t){return At(t,"haDateTime")},Ht=function(){try{(new Date).toLocaleTimeString("i")}catch(t){return"RangeError"===t.name}return!1}()?function(t,e){return t.toLocaleTimeString(e,{hour:"numeric",minute:"2-digit"})}:function(t){return At(t,"shortTime")},Rt=function(t){return t<10?"0"+t:t};function Vt(t){return t.substr(0,t.indexOf("."))}var Dt="hass:bookmark",Lt=["closed","locked","off"],Ft=new Set(["fan","input_boolean","light","switch","group","automation"]),It=function(t,e,i,n){n=n||{},i=null==i?{}:i;var r=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return r.detail=i,t.dispatchEvent(r),r},zt=new Set(["call-service","divider","section","weblink","cast","select"]),Ut={alert:"toggle",automation:"toggle",climate:"climate",cover:"cover",fan:"toggle",group:"group",input_boolean:"toggle",input_number:"input-number",input_select:"input-select",input_text:"input-text",light:"toggle",lock:"lock",media_player:"media-player",remote:"toggle",scene:"scene",script:"script",sensor:"sensor",timer:"timer",switch:"toggle",vacuum:"toggle",water_heater:"climate",input_datetime:"input-datetime"},qt={alert:"hass:alert",automation:"hass:playlist-play",calendar:"hass:calendar",camera:"hass:video",climate:"hass:thermostat",configurator:"hass:settings",conversation:"hass:text-to-speech",device_tracker:"hass:account",fan:"hass:fan",group:"hass:google-circles-communities",history_graph:"hass:chart-line",homeassistant:"hass:home-assistant",homekit:"hass:home-automation",image_processing:"hass:image-filter-frames",input_boolean:"hass:drawing",input_datetime:"hass:calendar-clock",input_number:"hass:ray-vertex",input_select:"hass:format-list-bulleted",input_text:"hass:textbox",light:"hass:lightbulb",mailbox:"hass:mailbox",notify:"hass:comment-alert",person:"hass:account",plant:"hass:flower",proximity:"hass:apple-safari",remote:"hass:remote",scene:"hass:google-pages",script:"hass:file-document",sensor:"hass:eye",simple_alarm:"hass:bell",sun:"hass:white-balance-sunny",switch:"hass:flash",timer:"hass:timer",updater:"hass:cloud-upload",vacuum:"hass:robot-vacuum",water_heater:"hass:thermometer",weblink:"hass:open-in-new"};function Yt(t,e){if(t in qt)return qt[t];switch(t){case"alarm_control_panel":switch(e){case"armed_home":return"hass:bell-plus";case"armed_night":return"hass:bell-sleep";case"disarmed":return"hass:bell-outline";case"triggered":return"hass:bell-ring";default:return"hass:bell"}case"binary_sensor":return e&&"off"===e?"hass:radiobox-blank":"hass:checkbox-marked-circle";case"cover":return"closed"===e?"hass:window-closed":"hass:window-open";case"lock":return e&&"unlocked"===e?"hass:lock-open":"hass:lock";case"media_player":return e&&"off"!==e&&"idle"!==e?"hass:cast-connected":"hass:cast";case"zwave":switch(e){case"dead":return"hass:emoticon-dead";case"sleeping":return"hass:sleep";case"initializing":return"hass:timer-sand";default:return"hass:z-wave"}default:return console.warn("Unable to find icon for domain "+t+" ("+e+")"),Dt}}var Bt=function(t){It(window,"haptic",t)},Wt=function(t,e){return function(t,e,i){void 0===i&&(i=!0);var n,r=Vt(e),s="group"===r?"homeassistant":r;switch(r){case"lock":n=i?"unlock":"lock";break;case"cover":n=i?"open_cover":"close_cover";break;default:n=i?"turn_on":"turn_off"}return t.callService(s,n,{entity_id:e})}(t,e,Lt.includes(t.states[e].state))},Gt=function(t,e,i,n,r){var s;if(r&&i.double_tap_action?s=i.double_tap_action:n&&i.hold_action?s=i.hold_action:!n&&i.tap_action&&(s=i.tap_action),s||(s={action:"more-info"}),!s.confirmation||s.confirmation.exemptions&&s.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||confirm(s.confirmation.text||"Are you sure you want to "+s.action+"?"))switch(s.action){case"more-info":(s.entity||i.entity||i.camera_image)&&(It(t,"hass-more-info",{entityId:s.entity?s.entity:i.entity?i.entity:i.camera_image}),s.haptic&&Bt(s.haptic));break;case"navigate":s.navigation_path&&(function(t,e,i){void 0===i&&(i=!1),i?history.replaceState(null,"",e):history.pushState(null,"",e),It(window,"location-changed",{replace:i})}(0,s.navigation_path),s.haptic&&Bt(s.haptic));break;case"url":s.url_path&&window.open(s.url_path),s.haptic&&Bt(s.haptic);break;case"toggle":i.entity&&(Wt(e,i.entity),s.haptic&&Bt(s.haptic));break;case"call-service":if(!s.service)return;var a=s.service.split(".",2),o=a[0],l=a[1],c=Object.assign({},s.service_data);"entity"===c.entity_id&&(c.entity_id=i.entity),e.callService(o,l,c),s.haptic&&Bt(s.haptic)}},Zt={humidity:"hass:water-percent",illuminance:"hass:brightness-5",temperature:"hass:thermometer",pressure:"hass:gauge",power:"hass:flash",signal_strength:"hass:wifi"},Jt={binary_sensor:function(t){var e=t.state&&"off"===t.state;switch(t.attributes.device_class){case"battery":return e?"hass:battery":"hass:battery-outline";case"cold":return e?"hass:thermometer":"hass:snowflake";case"connectivity":return e?"hass:server-network-off":"hass:server-network";case"door":return e?"hass:door-closed":"hass:door-open";case"garage_door":return e?"hass:garage":"hass:garage-open";case"gas":case"power":case"problem":case"safety":case"smoke":return e?"hass:shield-check":"hass:alert";case"heat":return e?"hass:thermometer":"hass:fire";case"light":return e?"hass:brightness-5":"hass:brightness-7";case"lock":return e?"hass:lock":"hass:lock-open";case"moisture":return e?"hass:water-off":"hass:water";case"motion":return e?"hass:walk":"hass:run";case"occupancy":return e?"hass:home-outline":"hass:home";case"opening":return e?"hass:square":"hass:square-outline";case"plug":return e?"hass:power-plug-off":"hass:power-plug";case"presence":return e?"hass:home-outline":"hass:home";case"sound":return e?"hass:music-note-off":"hass:music-note";case"vibration":return e?"hass:crop-portrait":"hass:vibrate";case"window":return e?"hass:window-closed":"hass:window-open";default:return e?"hass:radiobox-blank":"hass:checkbox-marked-circle"}},cover:function(t){var e="closed"!==t.state;switch(t.attributes.device_class){case"garage":return e?"hass:garage-open":"hass:garage";case"door":return e?"hass:door-open":"hass:door-closed";case"shutter":return e?"hass:window-shutter-open":"hass:window-shutter";case"blind":return e?"hass:blinds-open":"hass:blinds";case"window":return e?"hass:window-open":"hass:window-closed";default:return Yt("cover",t.state)}},sensor:function(t){var e=t.attributes.device_class;if(e&&e in Zt)return Zt[e];if("battery"===e){var i=Number(t.state);if(isNaN(i))return"hass:battery-unknown";var n=10*Math.round(i/10);return n>=100?"hass:battery":n<=0?"hass:battery-alert":"hass:battery-"+n}var r=t.attributes.unit_of_measurement;return"°C"===r||"°F"===r?"hass:thermometer":Yt("sensor")},input_datetime:function(t){return t.attributes.has_date?t.attributes.has_time?Yt("input_datetime"):"hass:calendar":"hass:clock"}};const Xt=(t,e,i,n)=>{n=n||{},i=null==i?{}:i;const r=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return r.detail=i,t.dispatchEvent(r),r},Kt=(t,e)=>{if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;let i,n;if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(i=n;0!=i--;)if(!Kt(t[i],e[i]))return!1;return!0}if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(i of t.entries())if(!e.has(i[0]))return!1;for(i of t.entries())if(!Kt(i[1],e.get(i[0])))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(i of t.entries())if(!e.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(e)){if(n=t.length,n!==e.length)return!1;for(i=n;0!=i--;)if(t[i]!==e[i])return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();const r=Object.keys(t);if(n=r.length,n!==Object.keys(e).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(e,r[i]))return!1;for(i=n;0!=i--;){const n=r[i];if(!Kt(t[n],e[n]))return!1}return!0}return t!=t&&e!=e},Qt="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;class te extends HTMLElement{constructor(){super(),this.holdTime=500,this.held=!1,this.cancelled=!1,this.isRepeating=!1,this.ripple=document.createElement("mwc-ripple")}connectedCallback(){Object.assign(this.style,{position:"absolute",width:Qt?"100px":"50px",height:Qt?"100px":"50px",transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:"999"}),this.appendChild(this.ripple),this.ripple.primary=!0,["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((t=>{document.addEventListener(t,(()=>{this.cancelled=!0,this.timer&&(this.stopAnimation(),clearTimeout(this.timer),this.timer=void 0,this.isRepeating&&this.repeatTimeout&&(clearInterval(this.repeatTimeout),this.isRepeating=!1))}),{passive:!0})}))}bind(t,e){t.actionHandler&&Kt(e,t.actionHandler.options)||(t.actionHandler?(t.removeEventListener("touchstart",t.actionHandler.start),t.removeEventListener("touchend",t.actionHandler.end),t.removeEventListener("touchcancel",t.actionHandler.end),t.removeEventListener("mousedown",t.actionHandler.start),t.removeEventListener("click",t.actionHandler.end),t.removeEventListener("keyup",t.actionHandler.handleEnter)):t.addEventListener("contextmenu",(t=>{const e=t||window.event;return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0,e.returnValue=!1,!1})),t.actionHandler={options:e},e.disabled||(t.actionHandler.start=i=>{let n,r;this.cancelled=!1,i.touches?(n=i.touches[0].pageX,r=i.touches[0].pageY):(n=i.pageX,r=i.pageY),e.hasHold&&(this.held=!1,this.timer=window.setTimeout((()=>{this.startAnimation(n,r),this.held=!0,e.repeat&&!this.isRepeating&&(this.isRepeating=!0,this.repeatTimeout=setInterval((()=>{Xt(t,"action",{action:"hold"})}),e.repeat))}),this.holdTime))},t.actionHandler.end=t=>{if(["touchend","touchcancel"].includes(t.type)&&this.cancelled)return void(this.isRepeating&&this.repeatTimeout&&(clearInterval(this.repeatTimeout),this.isRepeating=!1));const i=t.target;t.cancelable&&t.preventDefault(),e.hasHold&&(clearTimeout(this.timer),this.isRepeating&&this.repeatTimeout&&clearInterval(this.repeatTimeout),this.isRepeating=!1,this.stopAnimation(),this.timer=void 0),e.hasHold&&this.held?e.repeat||Xt(i,"action",{action:"hold"}):e.hasDoubleClick?"click"===t.type&&t.detail<2||!this.dblClickTimeout?this.dblClickTimeout=window.setTimeout((()=>{this.dblClickTimeout=void 0,Xt(i,"action",{action:"tap"})}),250):(clearTimeout(this.dblClickTimeout),this.dblClickTimeout=void 0,Xt(i,"action",{action:"double_tap"})):Xt(i,"action",{action:"tap"})},t.actionHandler.handleEnter=t=>{13===t.keyCode&&t.currentTarget.actionHandler.end(t)},t.addEventListener("touchstart",t.actionHandler.start,{passive:!0}),t.addEventListener("touchend",t.actionHandler.end),t.addEventListener("touchcancel",t.actionHandler.end),t.addEventListener("mousedown",t.actionHandler.start,{passive:!0}),t.addEventListener("click",t.actionHandler.end),t.addEventListener("keyup",t.actionHandler.handleEnter)))}startAnimation(t,e){Object.assign(this.style,{left:t+"px",top:e+"px",display:null}),this.ripple.disabled=!1,this.ripple.startPress(),this.ripple.unbounded=!0}stopAnimation(){this.ripple.endPress(),this.ripple.disabled=!0,this.style.display="none"}}customElements.define("button-card-action-handler",te);const ee=(t,e)=>{const i=(()=>{const t=document.body;if(t.querySelector("button-card-action-handler"))return t.querySelector("button-card-action-handler");const e=document.createElement("button-card-action-handler");return t.appendChild(e),e})();i&&i.bind(t,e)},ie=g(((t={})=>e=>{ee(e.committer.element,t)}));function ne(t,e){(function(t){return"string"==typeof t&&t.includes(".")&&1===parseFloat(t)})(t)&&(t="100%");var i=function(t){return"string"==typeof t&&t.includes("%")}(t);return t=360===e?t:Math.min(e,Math.max(0,parseFloat(t))),i&&(t=parseInt(String(t*e),10)/100),Math.abs(t-e)<1e-6?1:t=360===e?(t<0?t%e+e:t%e)/parseFloat(String(e)):t%e/parseFloat(String(e))}function re(t){return Math.min(1,Math.max(0,t))}function se(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function ae(t){return t<=1?100*Number(t)+"%":t}function oe(t){return 1===t.length?"0"+t:String(t)}function le(t,e,i){t=ne(t,255),e=ne(e,255),i=ne(i,255);var n=Math.max(t,e,i),r=Math.min(t,e,i),s=0,a=0,o=(n+r)/2;if(n===r)a=0,s=0;else{var l=n-r;switch(a=o>.5?l/(2-n-r):l/(n+r),n){case t:s=(e-i)/l+(e1&&(i-=1),i<1/6?t+6*i*(e-t):i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function he(t,e,i){t=ne(t,255),e=ne(e,255),i=ne(i,255);var n=Math.max(t,e,i),r=Math.min(t,e,i),s=0,a=n,o=n-r,l=0===n?0:o/n;if(n===r)s=0;else{switch(n){case t:s=(e-i)/o+(e>16,g:(65280&t)>>8,b:255&t}}(e)),this.originalInput=e;var r=me(e);this.originalInput=e,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(n=i.format)&&void 0!==n?n:r.format,this.gradientType=i.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},t.prototype.getLuminance=function(){var t=this.toRgb(),e=t.r/255,i=t.g/255,n=t.b/255;return.2126*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(t){return this.a=se(t),this.roundA=Math.round(100*this.a)/100,this},t.prototype.toHsv=function(){var t=he(this.r,this.g,this.b);return{h:360*t.h,s:t.s,v:t.v,a:this.a}},t.prototype.toHsvString=function(){var t=he(this.r,this.g,this.b),e=Math.round(360*t.h),i=Math.round(100*t.s),n=Math.round(100*t.v);return 1===this.a?"hsv("+e+", "+i+"%, "+n+"%)":"hsva("+e+", "+i+"%, "+n+"%, "+this.roundA+")"},t.prototype.toHsl=function(){var t=le(this.r,this.g,this.b);return{h:360*t.h,s:t.s,l:t.l,a:this.a}},t.prototype.toHslString=function(){var t=le(this.r,this.g,this.b),e=Math.round(360*t.h),i=Math.round(100*t.s),n=Math.round(100*t.l);return 1===this.a?"hsl("+e+", "+i+"%, "+n+"%)":"hsla("+e+", "+i+"%, "+n+"%, "+this.roundA+")"},t.prototype.toHex=function(t){return void 0===t&&(t=!1),ue(this.r,this.g,this.b,t)},t.prototype.toHexString=function(t){return void 0===t&&(t=!1),"#"+this.toHex(t)},t.prototype.toHex8=function(t){return void 0===t&&(t=!1),function(t,e,i,n,r){var s=[oe(Math.round(t).toString(16)),oe(Math.round(e).toString(16)),oe(Math.round(i).toString(16)),oe(de(n))];return r&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}(this.r,this.g,this.b,this.a,t)},t.prototype.toHex8String=function(t){return void 0===t&&(t=!1),"#"+this.toHex8(t)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var t=Math.round(this.r),e=Math.round(this.g),i=Math.round(this.b);return 1===this.a?"rgb("+t+", "+e+", "+i+")":"rgba("+t+", "+e+", "+i+", "+this.roundA+")"},t.prototype.toPercentageRgb=function(){var t=function(t){return Math.round(100*ne(t,255))+"%"};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var t=function(t){return Math.round(100*ne(t,255))};return 1===this.a?"rgb("+t(this.r)+"%, "+t(this.g)+"%, "+t(this.b)+"%)":"rgba("+t(this.r)+"%, "+t(this.g)+"%, "+t(this.b)+"%, "+this.roundA+")"},t.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var t="#"+ue(this.r,this.g,this.b,!1),e=0,i=Object.entries(ge);e=0;return e||!n||!t.startsWith("hex")&&"name"!==t?("rgb"===t&&(i=this.toRgbString()),"prgb"===t&&(i=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(i=this.toHexString()),"hex3"===t&&(i=this.toHexString(!0)),"hex4"===t&&(i=this.toHex8String(!0)),"hex8"===t&&(i=this.toHex8String()),"name"===t&&(i=this.toName()),"hsl"===t&&(i=this.toHslString()),"hsv"===t&&(i=this.toHsvString()),i||this.toHexString()):"name"===t&&0===this.a?this.toName():this.toRgbString()},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(e){void 0===e&&(e=10);var i=this.toHsl();return i.l+=e/100,i.l=re(i.l),new t(i)},t.prototype.brighten=function(e){void 0===e&&(e=10);var i=this.toRgb();return i.r=Math.max(0,Math.min(255,i.r-Math.round(-e/100*255))),i.g=Math.max(0,Math.min(255,i.g-Math.round(-e/100*255))),i.b=Math.max(0,Math.min(255,i.b-Math.round(-e/100*255))),new t(i)},t.prototype.darken=function(e){void 0===e&&(e=10);var i=this.toHsl();return i.l-=e/100,i.l=re(i.l),new t(i)},t.prototype.tint=function(t){return void 0===t&&(t=10),this.mix("white",t)},t.prototype.shade=function(t){return void 0===t&&(t=10),this.mix("black",t)},t.prototype.desaturate=function(e){void 0===e&&(e=10);var i=this.toHsl();return i.s-=e/100,i.s=re(i.s),new t(i)},t.prototype.saturate=function(e){void 0===e&&(e=10);var i=this.toHsl();return i.s+=e/100,i.s=re(i.s),new t(i)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(e){var i=this.toHsl(),n=(i.h+e)%360;return i.h=n<0?360+n:n,new t(i)},t.prototype.mix=function(e,i){void 0===i&&(i=50);var n=this.toRgb(),r=new t(e).toRgb(),s=i/100;return new t({r:(r.r-n.r)*s+n.r,g:(r.g-n.g)*s+n.g,b:(r.b-n.b)*s+n.b,a:(r.a-n.a)*s+n.a})},t.prototype.analogous=function(e,i){void 0===e&&(e=6),void 0===i&&(i=30);var n=this.toHsl(),r=360/i,s=[this];for(n.h=(n.h-(r*e>>1)+720)%360;--e;)n.h=(n.h+r)%360,s.push(new t(n));return s},t.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new t(e)},t.prototype.monochromatic=function(e){void 0===e&&(e=6);for(var i=this.toHsv(),n=i.h,r=i.s,s=i.v,a=[],o=1/e;e--;)a.push(new t({h:n,s:r,v:s})),s=(s+o)%1;return a},t.prototype.splitcomplement=function(){var e=this.toHsl(),i=e.h;return[this,new t({h:(i+72)%360,s:e.s,l:e.l}),new t({h:(i+216)%360,s:e.s,l:e.l})]},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(e){for(var i=this.toHsl(),n=i.h,r=[this],s=360/e,a=1;at&&"object"==typeof t;return t.reduce(((t,i)=>(Object.keys(i).forEach((n=>{const r=t[n],s=i[n];Array.isArray(r)&&Array.isArray(s)?t[n]=r.concat(...s):e(r)&&e(s)?t[n]=Me(r,s):t[n]=s})),t)),{})}function Ce(t,e){let i=[];return t&&t.forEach((t=>{let n=t;e&&e.forEach((e=>{e.id&&t.id&&e.id==t.id&&(n=Me(n,e))})),i.push(n)})),e&&(i=i.concat(e.filter((e=>!t||!t.find((t=>!(!t.id||!e.id)&&t.id==e.id)))))),i}const Ee=((t,...e)=>{const i=e.reduce(((e,i,n)=>e+(t=>{if(t instanceof et)return t.cssText;if("number"==typeof t)return t;throw new Error(`Value passed to 'css' function must be a 'css' function result: ${t}. Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security.`)})(i)+t[n+1]),t[0]);return new et(i,tt)})` :host { position: relative; display: block; @@ -418,7 +418,7 @@ function t(t,e,i,n){var r,s=arguments.length,a=s<3?e:null===n?n=Object.getOwnPro height: 100%; } } -`;const Ae=(t,e,i,n)=>{if(!((t,e,i)=>{const[n,r]=t.split(".",2);return Number(n)>e||Number(n)===e&&Number(r)>=i})(t.config.version,0,109))return function(t,e){let i;const n=ke(e.entity_id);return"binary_sensor"===n?(e.attributes.device_class&&(i=t(`state.${n}.${e.attributes.device_class}.${e.state}`)),i||(i=t(`state.${n}.default.${e.state}`))):i=e.attributes.unit_of_measurement&&!["unknown","unavailable"].includes(e.state)?e.state:"zwave"===n?["initializing","dead"].includes(e.state)?t("state.zwave.query_stage."+e.state,"query_stage",e.attributes.query_stage):t("state.zwave.default."+e.state):t(`state.${n}.${e.state}`),i||(i=t("state.default."+e.state)||t(`component.${n}.state.${e.state}`)||e.state),i}(e,i);if("unknown"===i.state||"unavailable"===i.state)return e("state.default."+i.state);if(i.attributes.unit_of_measurement)return`${i.state} ${i.attributes.unit_of_measurement}`;const r=ke(i.entity_id);if("input_datetime"===r){let t;if(!i.attributes.has_time)return t=new Date(i.attributes.year,i.attributes.month-1,i.attributes.day),jt(t,n);if(!i.attributes.has_date){const e=new Date;return t=new Date(e.getFullYear(),e.getMonth(),e.getDay(),i.attributes.hour,i.attributes.minute),Ht(t,n)}return t=new Date(i.attributes.year,i.attributes.month-1,i.attributes.day,i.attributes.hour,i.attributes.minute),$t(t,n)}return i.attributes.device_class&&e(`component.${r}.state.${i.attributes.device_class}.${i.state}`)||e(`component.${r}.state._.${i.state}`)||i.state};var Ne=Function.prototype.toString,Pe=Object.create,je=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,He=Object.getOwnPropertyNames,Re=Object.getOwnPropertySymbols,Ve=Object.getPrototypeOf,De=Object.prototype,Le=De.hasOwnProperty,Fe=De.propertyIsEnumerable,Ie="function"==typeof Re,ze="function"==typeof WeakMap,Ue=function(t,e){if(!t.constructor)return Pe(null);var i=t.constructor,n=t.__proto__||Ve(t);if(i===e.Object)return n===e.Object.prototype?{}:Pe(n);if(~Ne.call(i).indexOf("[native code]"))try{return new i}catch(r){}return Pe(n)},qe=function(t,e,i,n){var r=Ue(t,e);for(var s in n.set(t,r),t)Le.call(t,s)&&(r[s]=i(t[s],n));if(Ie){var a=Re(t),o=a.length;if(o)for(var l=0,c=void 0;l{Ze&&t(),window.loadCardHelpers&&(Ze=await window.loadCardHelpers(),window.cardHelpers=Ze,t())}));console.info("%c BUTTON-CARD \n%c Version 3.4.0 ","color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray");let Xe=class extends nt{constructor(){super(...arguments),this._cards={},this._cardsConfig={},this._entities=[],this._initial_setup_complete=!1,this._rippleHandlers=new rt((()=>this._ripple))}set hass(t){this._hass=t,Object.keys(this._cards).forEach((t=>{this._cards[t].hass=this._hass})),this._initial_setup_complete||this._initConnected()}disconnectedCallback(){super.disconnectedCallback(),this._clearInterval()}connectedCallback(){super.connectedCallback(),this._initial_setup_complete?this._startTimerCountdown():this._initConnected()}_initConnected(){void 0!==this._hass&&void 0!==this._config&&this.isConnected&&(this._initial_setup_complete=!0,this._startTimerCountdown())}_startTimerCountdown(){if(this._config&&this._config.entity&&"timer"===ke(this._config.entity)){const t=this._hass.states[this._config.entity];this._startInterval(t)}}_createCard(t){if(Ze)return Ze.createCardElement(t);{const e=function(t,e){void 0===e&&(e=!1);var i=function(t,e){return n("hui-error-card",{type:"error",error:t,config:e})},n=function(t,e){var n=window.document.createElement(t);try{n.setConfig(e)}catch(n){return console.error(t,n),i(n.message,e)}return n};if(!t||"object"!=typeof t||!e&&!t.type)return i("No type defined",t);var r=t.type;if(r&&r.startsWith("custom:"))r=r.substr("custom:".length);else if(e)if(zt.has(r))r="hui-"+r+"-row";else{if(!t.entity)return i("Invalid config given.",t);var s=t.entity.split(".",1)[0];r="hui-"+(Ut[s]||"text")+"-entity-row"}else r="hui-"+r+"-card";if(customElements.get(r))return n(r,t);var a=i("Custom element doesn't exist: "+t.type+".",t);a.style.display="None";var o=setTimeout((function(){a.style.display=""}),2e3);return customElements.whenDefined(t.type).then((function(){clearTimeout(o),It(a,"ll-rebuild",{},a)})),a}(t);return Je.then((()=>{It(e,"ll-rebuild",{})})),e}}static get styles(){return Ee}render(){if(!this._config||!this._hass)return D``;this._stateObj=this._config.entity?this._hass.states[this._config.entity]:void 0;try{return this._evaledVariables=this._config.variables?this._objectEvalTemplate(this._stateObj,this._config.variables):void 0,this._cardHtml()}catch(t){t.stack?console.error(t.stack):console.error(t);const e=document.createElement("hui-error-card");return e.setConfig({type:"error",error:t.toString(),origConfig:this._config}),D` ${e} `}}shouldUpdate(t){return!(!this._hasTemplate&&!t.has("_timeRemaining")&&!function(t,e){if(e.has("_config"))return!0;const i=e.get("_hass");if(i)return t._entities.some((function(e){return(null==i?void 0:i.states[e])!==t._hass.states[e]}));return!1}(this,t))&&(this._expandTriggerGroups(),!0)}updated(t){if(super.updated(t),this._config&&this._config.entity&&"timer"===ke(this._config.entity)&&t.has("_hass")){const e=this._hass.states[this._config.entity],i=t.get("_hass");(i?i.states[this._config.entity]:void 0)!==e?this._startInterval(e):e||this._clearInterval()}}_clearInterval(){this._interval&&(window.clearInterval(this._interval),this._interval=void 0)}_startInterval(t){this._clearInterval(),this._calculateRemaining(t),"active"===t.state&&(this._interval=window.setInterval((()=>this._calculateRemaining(t)),1e3))}_calculateRemaining(t){t.attributes.remaining&&(this._timeRemaining=function(t){var e=Pt(t.attributes.remaining);if("active"===t.state){var i=(new Date).getTime(),n=new Date(t.last_changed).getTime();e=Math.max(e-(i-n)/1e3,0)}return e}(t))}_computeTimeDisplay(t){if(t)return function(t){var e=Math.floor(t/3600),i=Math.floor(t%3600/60),n=Math.floor(t%3600%60);return e>0?e+":"+Rt(i)+":"+Rt(n):i>0?i+":"+Rt(n):n>0?""+n:null}(this._timeRemaining||Pt(t.attributes.duration))}_getMatchingConfigState(t){if(!this._config.state)return;const e=this._config.state.find((t=>"template"===t.operator));if(!t&&!e)return;let i;const n=this._config.state.find((e=>{if(!e.operator)return t&&this._getTemplateOrValue(t,e.value)==t.state;switch(e.operator){case"==":return t&&t.state==this._getTemplateOrValue(t,e.value);case"<=":return t&&t.state<=this._getTemplateOrValue(t,e.value);case"<":return t&&t.state=":return t&&t.state>=this._getTemplateOrValue(t,e.value);case">":return t&&t.state>this._getTemplateOrValue(t,e.value);case"!=":return t&&t.state!=this._getTemplateOrValue(t,e.value);case"regex":return!(!t||!t.state.match(this._getTemplateOrValue(t,e.value)));case"template":return this._getTemplateOrValue(t,e.value);case"default":return i=e,!1;default:return!1}}));return!n&&i?i:n}_evalTemplate(t,e){try{return new Function("states","entity","user","hass","variables","html","'use strict'; "+e).call(this,this._hass.states,t,this._hass.user,this._hass,this._evaledVariables,D)}catch(i){const t=e.length<=100?e.trim():e.trim().substring(0,98)+"...";throw i.message=`${i.name}: ${i.message} in '${t}'`,i.name="ButtonCardJSTemplateError",i}}_objectEvalTemplate(t,e){const i=Ge(e);return this._getTemplateOrValue(t,i)}_getTemplateOrValue(t,e){if(["number","boolean"].includes(typeof e))return e;if(!e)return e;if("object"==typeof e)return Object.keys(e).forEach((i=>{e[i]=this._getTemplateOrValue(t,e[i])})),e;const i=e.trim();return"[[["===i.substring(0,3)&&"]]]"===i.slice(-3)?this._evalTemplate(t,i.slice(3,-3)):e}_getDefaultColorForState(t){switch(t.state){case"on":return this._config.color_on;case"off":return this._config.color_off;default:return this._config.default_color}}_getColorForLightEntity(t,e){let i=this._config.default_color;return t&&("on"===t.state?t.attributes.rgb_color?(i=`rgb(${t.attributes.rgb_color.join(",")})`,t.attributes.brightness&&(i=Te(i,(t.attributes.brightness+245)/5))):e&&t.attributes.color_temp&&t.attributes.min_mireds&&t.attributes.max_mireds?(i=function(t,e,i){const n=new Se("rgb(255, 160, 0)"),r=new Se("rgb(166, 209, 255)"),s=new Se("white"),a=(t-e)/(i-e)*100;return a<50?xe(r).mix(s,2*a).toRgbString():xe(s).mix(n,2*(a-50)).toRgbString()}(t.attributes.color_temp,t.attributes.min_mireds,t.attributes.max_mireds),t.attributes.brightness&&(i=Te(i,(t.attributes.brightness+245)/5))):i=t.attributes.brightness?Te(this._getDefaultColorForState(t),(t.attributes.brightness+245)/5):this._getDefaultColorForState(t):i=this._getDefaultColorForState(t)),i}_buildCssColorAttribute(t,e){let i,n="";return(null==e?void 0:e.color)?n=e.color:"auto"!==this._config.color&&"off"===(null==t?void 0:t.state)?n=this._config.color_off:this._config.color&&(n=this._config.color),i="auto"==n||"auto-no-temperature"==n?this._getColorForLightEntity(t,"auto-no-temperature"!==n):n||(t?this._getDefaultColorForState(t):this._config.default_color),i}_buildIcon(t,e){if(!this._config.show_icon)return;let i;if(null==e?void 0:e.icon)i=e.icon;else if(this._config.icon)i=this._config.icon;else{if(!t)return;i=function(t){if(!t)return Dt;if(t.attributes.icon)return t.attributes.icon;var e=Vt(t.entity_id);return e in Jt?Jt[e](t):Yt(e,t.state)}(t)}return this._getTemplateOrValue(t,i)}_buildEntityPicture(t,e){if(!this._config.show_entity_picture||!t&&!e&&!this._config.entity_picture)return;let i;return(null==e?void 0:e.entity_picture)?i=e.entity_picture:this._config.entity_picture?i=this._config.entity_picture:t&&(i=t.attributes&&t.attributes.entity_picture?t.attributes.entity_picture:void 0),this._getTemplateOrValue(t,i)}_buildStyleGeneric(t,e,i){var n,r;let s={};if((null===(n=this._config.styles)||void 0===n?void 0:n[i])&&(s=Object.assign(s,...this._config.styles[i])),null===(r=null==e?void 0:e.styles)||void 0===r?void 0:r[i]){let t={};t=Object.assign(t,...e.styles[i]),s=Object.assign(Object.assign({},s),t)}return Object.keys(s).forEach((e=>{s[e]=this._getTemplateOrValue(t,s[e])})),s}_buildCustomStyleGeneric(t,e,i){var n,r,s,a;let o={};if((null===(r=null===(n=this._config.styles)||void 0===n?void 0:n.custom_fields)||void 0===r?void 0:r[i])&&(o=Object.assign(o,...this._config.styles.custom_fields[i])),null===(a=null===(s=null==e?void 0:e.styles)||void 0===s?void 0:s.custom_fields)||void 0===a?void 0:a[i]){let t={};t=Object.assign(t,...e.styles.custom_fields[i]),o=Object.assign(Object.assign({},o),t)}return Object.keys(o).forEach((e=>{o[e]=this._getTemplateOrValue(t,o[e])})),o}_buildName(t,e){if(!1===this._config.show_name)return;let i;var n;return(null==e?void 0:e.name)?i=e.name:this._config.name?i=this._config.name:t&&(i=t.attributes&&t.attributes.friendly_name?t.attributes.friendly_name:(n=t.entity_id).substr(n.indexOf(".")+1)),this._getTemplateOrValue(t,i)}_buildStateString(t){var e;let i;if(this._config.show_state&&t&&t.state){const n=this._buildUnits(t);n?i=`${t.state} ${n}`:"timer"===ke(t.entity_id)?"idle"===t.state||0===this._timeRemaining?i=Ae(this._hass,this._hass.localize,t,this._hass.language):(i=this._computeTimeDisplay(t),"paused"===t.state&&(i+=` (${Ae(this._hass,this._hass.localize,t,this._hass.language)})`)):i=(null===(e=this._config)||void 0===e?void 0:e.show_units)||"sensor"!==ke(t.entity_id)?Ae(this._hass,this._hass.localize,t,this._hass.language):t.state}return i}_buildUnits(t){var e;let i;return t&&this._config.show_units&&(i=(null===(e=t.attributes)||void 0===e?void 0:e.unit_of_measurement)&&!this._config.units?t.attributes.unit_of_measurement:this._config.units?this._config.units:void 0),i}_buildLastChanged(t,e){return this._config.show_last_changed&&t?D` +`;const Pe=(t,e,i,n)=>{if(!((t,e,i)=>{const[n,r]=t.split(".",2);return Number(n)>e||Number(n)===e&&Number(r)>=i})(t.config.version,0,109))return function(t,e){let i;const n=ke(e.entity_id);return"binary_sensor"===n?(e.attributes.device_class&&(i=t(`state.${n}.${e.attributes.device_class}.${e.state}`)),i||(i=t(`state.${n}.default.${e.state}`))):i=e.attributes.unit_of_measurement&&!["unknown","unavailable"].includes(e.state)?e.state:"zwave"===n?["initializing","dead"].includes(e.state)?t("state.zwave.query_stage."+e.state,"query_stage",e.attributes.query_stage):t("state.zwave.default."+e.state):t(`state.${n}.${e.state}`),i||(i=t("state.default."+e.state)||t(`component.${n}.state.${e.state}`)||e.state),i}(e,i);if("unknown"===i.state||"unavailable"===i.state)return e("state.default."+i.state);if(i.attributes.unit_of_measurement)return`${i.state} ${i.attributes.unit_of_measurement}`;const r=ke(i.entity_id);if("input_datetime"===r){let t;if(!i.attributes.has_time)return t=new Date(i.attributes.year,i.attributes.month-1,i.attributes.day),jt(t,n);if(!i.attributes.has_date){const e=new Date;return t=new Date(e.getFullYear(),e.getMonth(),e.getDay(),i.attributes.hour,i.attributes.minute),Ht(t,n)}return t=new Date(i.attributes.year,i.attributes.month-1,i.attributes.day,i.attributes.hour,i.attributes.minute),$t(t,n)}return i.attributes.device_class&&e(`component.${r}.state.${i.attributes.device_class}.${i.state}`)||e(`component.${r}.state._.${i.state}`)||i.state};var Ae=Function.prototype.toString,Ne=Object.create,je=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,He=Object.getOwnPropertyNames,Re=Object.getOwnPropertySymbols,Ve=Object.getPrototypeOf,De=Object.prototype,Le=De.hasOwnProperty,Fe=De.propertyIsEnumerable,Ie="function"==typeof Re,ze="function"==typeof WeakMap,Ue=function(t,e){if(!t.constructor)return Ne(null);var i=t.constructor,n=t.__proto__||Ve(t);if(i===e.Object)return n===e.Object.prototype?{}:Ne(n);if(~Ae.call(i).indexOf("[native code]"))try{return new i}catch(r){}return Ne(n)},qe=function(t,e,i,n){var r=Ue(t,e);for(var s in n.set(t,r),t)Le.call(t,s)&&(r[s]=i(t[s],n));if(Ie){var a=Re(t),o=a.length;if(o)for(var l=0,c=void 0;l{Ze&&t(),window.loadCardHelpers&&(Ze=await window.loadCardHelpers(),window.cardHelpers=Ze,t())}));console.info("%c BUTTON-CARD \n%c Version 3.4.1 ","color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray");let Xe=class extends nt{constructor(){super(...arguments),this._cards={},this._cardsConfig={},this._entities=[],this._initial_setup_complete=!1,this._rippleHandlers=new rt((()=>this._ripple))}set hass(t){this._hass=t,Object.keys(this._cards).forEach((t=>{this._cards[t].hass=this._hass})),this._initial_setup_complete||this._initConnected()}disconnectedCallback(){super.disconnectedCallback(),this._clearInterval()}connectedCallback(){super.connectedCallback(),this._initial_setup_complete?this._startTimerCountdown():this._initConnected()}_initConnected(){void 0!==this._hass&&void 0!==this._config&&this.isConnected&&(this._initial_setup_complete=!0,this._startTimerCountdown())}_startTimerCountdown(){if(this._config&&this._config.entity&&"timer"===ke(this._config.entity)){const t=this._hass.states[this._config.entity];this._startInterval(t)}}_createCard(t){if(Ze)return Ze.createCardElement(t);{const e=function(t,e){void 0===e&&(e=!1);var i=function(t,e){return n("hui-error-card",{type:"error",error:t,config:e})},n=function(t,e){var n=window.document.createElement(t);try{n.setConfig(e)}catch(n){return console.error(t,n),i(n.message,e)}return n};if(!t||"object"!=typeof t||!e&&!t.type)return i("No type defined",t);var r=t.type;if(r&&r.startsWith("custom:"))r=r.substr("custom:".length);else if(e)if(zt.has(r))r="hui-"+r+"-row";else{if(!t.entity)return i("Invalid config given.",t);var s=t.entity.split(".",1)[0];r="hui-"+(Ut[s]||"text")+"-entity-row"}else r="hui-"+r+"-card";if(customElements.get(r))return n(r,t);var a=i("Custom element doesn't exist: "+t.type+".",t);a.style.display="None";var o=setTimeout((function(){a.style.display=""}),2e3);return customElements.whenDefined(t.type).then((function(){clearTimeout(o),It(a,"ll-rebuild",{},a)})),a}(t);return Je.then((()=>{It(e,"ll-rebuild",{})})),e}}static get styles(){return Ee}render(){if(!this._config||!this._hass)return D``;this._stateObj=this._config.entity?this._hass.states[this._config.entity]:void 0;try{return this._evaledVariables=this._config.variables?this._objectEvalTemplate(this._stateObj,this._config.variables):void 0,this._cardHtml()}catch(t){t.stack?console.error(t.stack):console.error(t);const e=document.createElement("hui-error-card");return e.setConfig({type:"error",error:t.toString(),origConfig:this._config}),D` ${e} `}}shouldUpdate(t){return!(!this._hasTemplate&&!t.has("_timeRemaining")&&!function(t,e){if(e.has("_config"))return!0;const i=e.get("_hass");if(i)return t._entities.some((function(e){return(null==i?void 0:i.states[e])!==t._hass.states[e]}));return!1}(this,t))&&(this._expandTriggerGroups(),!0)}updated(t){if(super.updated(t),this._config&&this._config.entity&&"timer"===ke(this._config.entity)&&t.has("_hass")){const e=this._hass.states[this._config.entity],i=t.get("_hass");(i?i.states[this._config.entity]:void 0)!==e?this._startInterval(e):e||this._clearInterval()}}_clearInterval(){this._interval&&(window.clearInterval(this._interval),this._interval=void 0)}_startInterval(t){this._clearInterval(),this._calculateRemaining(t),"active"===t.state&&(this._interval=window.setInterval((()=>this._calculateRemaining(t)),1e3))}_calculateRemaining(t){t.attributes.remaining&&(this._timeRemaining=function(t){var e=Nt(t.attributes.remaining);if("active"===t.state){var i=(new Date).getTime(),n=new Date(t.last_changed).getTime();e=Math.max(e-(i-n)/1e3,0)}return e}(t))}_computeTimeDisplay(t){if(t)return function(t){var e=Math.floor(t/3600),i=Math.floor(t%3600/60),n=Math.floor(t%3600%60);return e>0?e+":"+Rt(i)+":"+Rt(n):i>0?i+":"+Rt(n):n>0?""+n:null}(this._timeRemaining||Nt(t.attributes.duration))}_getMatchingConfigState(t){if(!this._config.state)return;const e=this._config.state.find((t=>"template"===t.operator));if(!t&&!e)return;let i;const n=this._config.state.find((e=>{if(!e.operator)return t&&this._getTemplateOrValue(t,e.value)==t.state;switch(e.operator){case"==":return t&&t.state==this._getTemplateOrValue(t,e.value);case"<=":return t&&t.state<=this._getTemplateOrValue(t,e.value);case"<":return t&&t.state=":return t&&t.state>=this._getTemplateOrValue(t,e.value);case">":return t&&t.state>this._getTemplateOrValue(t,e.value);case"!=":return t&&t.state!=this._getTemplateOrValue(t,e.value);case"regex":return!(!t||!t.state.match(this._getTemplateOrValue(t,e.value)));case"template":return this._getTemplateOrValue(t,e.value);case"default":return i=e,!1;default:return!1}}));return!n&&i?i:n}_evalTemplate(t,e){try{return new Function("states","entity","user","hass","variables","html","'use strict'; "+e).call(this,this._hass.states,t,this._hass.user,this._hass,this._evaledVariables,D)}catch(i){const t=e.length<=100?e.trim():e.trim().substring(0,98)+"...";throw i.message=`${i.name}: ${i.message} in '${t}'`,i.name="ButtonCardJSTemplateError",i}}_objectEvalTemplate(t,e){const i=Ge(e);return this._getTemplateOrValue(t,i)}_getTemplateOrValue(t,e){if(["number","boolean"].includes(typeof e))return e;if(!e)return e;if("object"==typeof e)return Object.keys(e).forEach((i=>{e[i]=this._getTemplateOrValue(t,e[i])})),e;const i=e.trim();return"[[["===i.substring(0,3)&&"]]]"===i.slice(-3)?this._evalTemplate(t,i.slice(3,-3)):e}_getDefaultColorForState(t){switch(t.state){case"on":return this._config.color_on;case"off":return this._config.color_off;default:return this._config.default_color}}_getColorForLightEntity(t,e){let i=this._config.default_color;return t&&("on"===t.state?t.attributes.rgb_color?(i=`rgb(${t.attributes.rgb_color.join(",")})`,t.attributes.brightness&&(i=Te(i,(t.attributes.brightness+245)/5))):e&&t.attributes.color_temp&&t.attributes.min_mireds&&t.attributes.max_mireds?(i=function(t,e,i){const n=new Se("rgb(255, 160, 0)"),r=new Se("rgb(166, 209, 255)"),s=new Se("white"),a=(t-e)/(i-e)*100;return a<50?xe(r).mix(s,2*a).toRgbString():xe(s).mix(n,2*(a-50)).toRgbString()}(t.attributes.color_temp,t.attributes.min_mireds,t.attributes.max_mireds),t.attributes.brightness&&(i=Te(i,(t.attributes.brightness+245)/5))):i=t.attributes.brightness?Te(this._getDefaultColorForState(t),(t.attributes.brightness+245)/5):this._getDefaultColorForState(t):i=this._getDefaultColorForState(t)),i}_buildCssColorAttribute(t,e){let i,n="";return(null==e?void 0:e.color)?n=e.color:"auto"!==this._config.color&&"off"===(null==t?void 0:t.state)?n=this._config.color_off:this._config.color&&(n=this._config.color),i="auto"==n||"auto-no-temperature"==n?this._getColorForLightEntity(t,"auto-no-temperature"!==n):n||(t?this._getDefaultColorForState(t):this._config.default_color),i}_buildIcon(t,e){if(!this._config.show_icon)return;let i;if(null==e?void 0:e.icon)i=e.icon;else if(this._config.icon)i=this._config.icon;else{if(!t)return;i=function(t){if(!t)return Dt;if(t.attributes.icon)return t.attributes.icon;var e=Vt(t.entity_id);return e in Jt?Jt[e](t):Yt(e,t.state)}(t)}return this._getTemplateOrValue(t,i)}_buildEntityPicture(t,e){if(!this._config.show_entity_picture||!t&&!e&&!this._config.entity_picture)return;let i;return(null==e?void 0:e.entity_picture)?i=e.entity_picture:this._config.entity_picture?i=this._config.entity_picture:t&&(i=t.attributes&&t.attributes.entity_picture?t.attributes.entity_picture:void 0),this._getTemplateOrValue(t,i)}_buildStyleGeneric(t,e,i){var n,r;let s={};if((null===(n=this._config.styles)||void 0===n?void 0:n[i])&&(s=Object.assign(s,...this._config.styles[i])),null===(r=null==e?void 0:e.styles)||void 0===r?void 0:r[i]){let t={};t=Object.assign(t,...e.styles[i]),s=Object.assign(Object.assign({},s),t)}return Object.keys(s).forEach((e=>{s[e]=this._getTemplateOrValue(t,s[e])})),s}_buildCustomStyleGeneric(t,e,i){var n,r,s,a;let o={};if((null===(r=null===(n=this._config.styles)||void 0===n?void 0:n.custom_fields)||void 0===r?void 0:r[i])&&(o=Object.assign(o,...this._config.styles.custom_fields[i])),null===(a=null===(s=null==e?void 0:e.styles)||void 0===s?void 0:s.custom_fields)||void 0===a?void 0:a[i]){let t={};t=Object.assign(t,...e.styles.custom_fields[i]),o=Object.assign(Object.assign({},o),t)}return Object.keys(o).forEach((e=>{o[e]=this._getTemplateOrValue(t,o[e])})),o}_buildName(t,e){if(!1===this._config.show_name)return;let i;var n;return(null==e?void 0:e.name)?i=e.name:this._config.name?i=this._config.name:t&&(i=t.attributes&&t.attributes.friendly_name?t.attributes.friendly_name:(n=t.entity_id).substr(n.indexOf(".")+1)),this._getTemplateOrValue(t,i)}_buildStateString(t){var e;let i;if(this._config.show_state&&t&&t.state){const n=this._buildUnits(t);n?i=`${t.state} ${n}`:"timer"===ke(t.entity_id)?"idle"===t.state||0===this._timeRemaining?i=Pe(this._hass,this._hass.localize,t,this._hass.language):(i=this._computeTimeDisplay(t),"paused"===t.state&&(i+=` (${Pe(this._hass,this._hass.localize,t,this._hass.language)})`)):i=(null===(e=this._config)||void 0===e?void 0:e.show_units)||"sensor"!==ke(t.entity_id)?Pe(this._hass,this._hass.localize,t,this._hass.language):t.state}return i}_buildUnits(t){var e;let i;return t&&this._config.show_units&&(i=(null===(e=t.attributes)||void 0===e?void 0:e.unit_of_measurement)&&!this._config.units?t.attributes.unit_of_measurement:this._config.units?this._config.units:void 0),i}_buildLastChanged(t,e){return this._config.show_last_changed&&t?D` ${a} diff --git a/www/community/button-card/button-card.js.gz b/www/community/button-card/button-card.js.gz index 9b933fb..586e81a 100644 Binary files a/www/community/button-card/button-card.js.gz and b/www/community/button-card/button-card.js.gz differ diff --git a/www/community/numberbox-card/numberbox-card.js b/www/community/numberbox-card/numberbox-card.js new file mode 100644 index 0000000..6e4c8d3 --- /dev/null +++ b/www/community/numberbox-card/numberbox-card.js @@ -0,0 +1,240 @@ +((LitElement) => { + +console.info('NUMBERBOX_CARD 1.8'); +const html = LitElement.prototype.html; +const css = LitElement.prototype.css; +class NumberBox extends LitElement { + + +constructor() { + super(); + this.rolling = 0; +} + +static get properties() { + return { + _hass: {}, + config: {}, + stateObj: {}, + rolling: {}, + } +} + +static get styles() { + return css` + ha-card{ + -webkit-font-smoothing:var(--paper-font-body1_-_-webkit-font-smoothing); + font-size:var(--paper-font-body1_-_font-size); + font-weight:var(--paper-font-body1_-_font-weight); + line-height:var(--paper-font-body1_-_line-height); + padding:4px 0} + ha-card.noborder{padding:0 !important;margin:0 !important; + box-shadow:none !important;border:none !important} + .body{ + display:grid;grid-auto-flow:column;grid-auto-columns:1fr; + place-items:center;padding:0 4px; + padding-bottom:2px} + .main{display:flex;flex-direction:row;align-items:center;justify-content:center} + .cur-box{display:flex;align-items:center;justify-content:center;flex-direction:row-reverse} + .cur-num-box{display:flex;align-items:center} + .cur-num{ + font-size:var(--paper-font-subhead_-_font-size); + line-height:var(--paper-font-subhead_-_line-height); + font-weight:normal;margin:0} + .cur-unit{font-size:80%;opacity:0.5} + .nopad{padding:0px} + .grid { + display: grid; + grid-template-columns: repeat(2, auto); + } + .grid-content { + display: grid; + } + .grid-left { + text-align: left; + font-size: var(--paper-font-body1_-_font-size); + padding: 16px 0 16px 16px; + cursor: pointer; + overflow: hidden; + text-overflow: ellipsis; + word-break: keep-all; + white-space: nowrap + } + .noborder .grid-left{padding-left:8px !important} + .grid-right .body{margin-left:auto} + .grid-right { + text-align: right; + padding-right: 10px; + } + .noborder .grid-right{padding-right:0 !important} + `; +} + +shouldUpdate(changedProps) { + if (changedProps.has('stateObj')) {return true;} +} + +render() { + if(!this.stateObj){return html`Missing:'${this.config.entity}'`;} + const vars={}; + vars['icon_plus']=this.config.icon_plus ? this.config.icon_plus : 'mdi:plus'; + vars['icon_minus']=this.config.icon_minus ? this.config.icon_minus : 'mdi:minus'; + if( !this.config.border){ + vars['border']='noborder'; + }else{vars['border']='';} + if( this.config.icon === undefined && this.stateObj.attributes.icon ){ + vars['icon']=this.stateObj.attributes.icon; + }else{ + if(this.config.icon){ + vars['icon']=this.config.icon; + }else{ + vars['icon']=false; + } + } + if( this.config.unit === undefined && this.stateObj.attributes.unit_of_measurement ){ + vars['unit']=this.stateObj.attributes.unit_of_measurement; + }else{ + if(this.config.unit){ + vars['unit']=this.config.unit; + }else{ + vars['unit']=false; + } + } + if( this.config.name === undefined && this.stateObj.attributes.friendly_name ){ + vars['name']=this.stateObj.attributes.friendly_name; + }else{ + if(this.config.name){ + vars['name']=this.config.name; + }else{ + vars['name']=null; + } + } + return this.renderMain(vars); +} + +renderMain(vars) { + let d=false; + if(vars.icon || vars.name){d=true;} + return html` + + ${d ? html`
+
+
+ ${vars.icon ? html`` : null } + ${vars.name} +
+
${this.renderNum(vars)}
` : this.renderNum(vars) } +
+`; +} + +renderNum(vars){ + return html`
+
+
+ + +
+

${this.niceNum(vars)}

+
+ + +
+
+
`; +} + +getCardSize() { + return 1; +} + +setConfig(config) { + if (!config.entity) throw new Error('Please define an entity.'); + if (config.entity.split('.')[0] !== 'input_number') + {throw new Error('Please define a input_number entity.');} + this.config = { + name: config.name, + entity: config.entity, + icon: config.icon, + border: config.border, + speed: config.speed, + unit: config.unit, + icon_plus: config.icon_plus, + icon_minus: config.icon_minus, + }; +} + +set hass(hass) { + if (hass && this.config) { + this.stateObj = this.config.entity in hass.states ? hass.states[this.config.entity] : null; + } + this._hass = hass; +} + +callService(service, data = {entity_id: this.stateObj.entity_id}) { + const [domain, name] = service.split('.'); + this._hass.callService(domain, name, data); +} + +incVal(dhis){ + dhis._hass.callService("input_number", 'increment', { entity_id: dhis.stateObj.entity_id }); +} + +decVal(dhis){ + dhis._hass.callService("input_number", 'decrement', { entity_id: dhis.stateObj.entity_id }); +} + +niceNum(vars){ + let fix=0; + const stp=Number(this.stateObj.attributes.step); + if( Math.round(stp) != stp ){ fix=stp.toString().split(".")[1].length || 1;} + fix = Number(this.stateObj.state).toFixed(fix); + return vars.unit ? html`${fix}${vars.unit}` : fix ; +} + +moreInfo(type, options = {}) { + const e = new Event(type, { + bubbles: options.bubbles || true, + cancelable: options.cancelable || true, + composed: options.composed || true, + }); + e.detail = {entityId: this.stateObj.entity_id}; + this.dispatchEvent(e); + return e; +} + +onMouseDown(v) { + if( this.config.speed === undefined ){ this.config.speed=0;} + if( this.config.speed > 0 ){ + this.onMouseUp(); + if(v){ + this.rolling = setInterval(this.incVal, this.config.speed, this); + }else{ + this.rolling = setInterval(this.decVal, this.config.speed, this); + } + } +} + +onMouseUp() { + if( this.config.speed === undefined ){ this.config.speed=0;} + if( this.config.speed > 0 ){ + clearInterval(this.rolling); + } +} + + + +} customElements.define('numberbox-card', NumberBox); +})(window.LitElement || Object.getPrototypeOf(customElements.get("hui-masonry-view") || customElements.get("hui-view"))); diff --git a/www/panels.yaml b/www/panels.yaml.off similarity index 100% rename from www/panels.yaml rename to www/panels.yaml.off