Full switch from fhem to homematic ccu + frontend cleanup

This commit is contained in:
Martin Bauer 2021-09-19 08:36:59 +00:00
parent 33356fa8ca
commit a0e498edeb
23 changed files with 1921 additions and 1815 deletions

View File

@ -1018,7 +1018,7 @@
"access_token_expiration": 1800.0,
"token": "5413aa9dfb9b944f384c07ebc0242e2b7b26c1e674b0c74ace992029b64302e12d0fe038ece34d425714a757ebafce5de46bd101d5b85dc7e3c96cca4f5595ca",
"jwt_key": "afc76b9a4127faea57f23d7020be74daaaaba30e99084db2f2e79fe86775841203355bde3268b851b507e964faa10b6cb15c66beb48a08c9b9cab96648372b87",
"last_used_at": "2021-09-17T20:17:20.578349+00:00",
"last_used_at": "2021-09-18T18:41:02.110099+00:00",
"last_used_ip": "80.142.101.97",
"credential_id": null,
"version": null
@ -1098,7 +1098,7 @@
"access_token_expiration": 1800.0,
"token": "1e1726001ee4616f716875a4d8de6f149195902d407334106f774a7aafd9b8c5348414d93c1b7280874746399c81f4e4b27b7b765f23034a3077b943690cfc9e",
"jwt_key": "d4a7bc29bca15964c03ad344771f9a74304c1d46a0b663f8547d76159f3ba318748fd35e3ec5bdf944cbae9c21449294993e3735a68c3971ed85e489d49ee91a",
"last_used_at": "2021-09-17T22:22:54.273727+00:00",
"last_used_at": "2021-09-19T08:27:46.308046+00:00",
"last_used_ip": "80.142.101.97",
"credential_id": null,
"version": null
@ -1178,7 +1178,7 @@
"access_token_expiration": 1800.0,
"token": "d50fdcf16944578977db4f0ea2ba627112e737caa23e282ab3121e4216b96794d2fcd663c713c1812fd1cc411352c2d912d52b277743cf4fd125d146f70f9bed",
"jwt_key": "671f3313aa53b5b5e99927a47525c3a852e47581aa525591cb29e8494261818ef88058dd0935395c947b7573993101513d4717ae55d3aefd5dce49c12a3a80a2",
"last_used_at": "2021-09-18T04:57:00.759808+00:00",
"last_used_at": "2021-09-19T08:35:19.128763+00:00",
"last_used_ip": "80.142.101.97",
"credential_id": null,
"version": null
@ -1306,7 +1306,7 @@
"access_token_expiration": 1800.0,
"token": "c008fe893f268d124033d1258fc59917cbf4b392c36016f4f78740688abcb6a1edf23ace480bc2d65b39b616859218a18d8695d4162622c2a5dc5d234c84fe77",
"jwt_key": "5b37cbd04e7087318173ec3df627120cb88f9043126f17e2d4cfff9684e2d782793493d0c847ba7e6f68e8fe82af2d0f324984514c5630833a73620b39e130de",
"last_used_at": "2021-09-18T03:44:16.873121+00:00",
"last_used_at": "2021-09-19T00:20:18.636785+00:00",
"last_used_ip": "80.142.101.97",
"credential_id": null,
"version": null
@ -1418,7 +1418,7 @@
"access_token_expiration": 1800.0,
"token": "832326bd02b23b62d231f5129d18042028215dbdee358a4bb25687764faf3815db2818e8a9001f11ba4518c4e9401563d182987eb55e2eb9ddf97135f678e0ba",
"jwt_key": "dffb82d95a8fb848f6ae645aeb8445242f093aa61f99749283904e0f6e2b0c01717a02bc0892bf0b35beca61400e27aae2b742dc14878a107eb60b730b44a025",
"last_used_at": "2021-09-18T04:48:01.658834+00:00",
"last_used_at": "2021-09-19T08:18:25.667146+00:00",
"last_used_ip": "172.30.32.2",
"credential_id": null,
"version": null

View File

@ -4,7 +4,7 @@
"data": {
"areas": [
{
"name": "Arbeitszimmer Martin",
"name": "Arbeitszimmer",
"id": "46ebd507f8f348508653f61054f67eb0"
},
{

View File

@ -410,12 +410,12 @@
"data": {
"auth_implementation": "ondilo_ico",
"token": {
"access_token": "5be738f5c2eb35164d20d944f8b6b83ed359c246",
"access_token": "53fa2dea8862b1bb38ab3c25c050a4764f6d11a0",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "api",
"refresh_token": "f62890374741a79a967502decf42a71f7428a5d2",
"expires_at": 1631943714.2046156
"expires_at": 1632043814.2086368
}
},
"options": {},

View File

@ -5,8 +5,8 @@
"devices": [
{
"config_entries": [
"b274d909b9c66bd3257856c592b651ba",
"e0ebcf51d57b4df4baaf36894d59979d"
"e0ebcf51d57b4df4baaf36894d59979d",
"b274d909b9c66bd3257856c592b651ba"
],
"connections": [
[
@ -15,13 +15,13 @@
]
],
"identifiers": [
[
"hue",
"001788FFFE284411"
],
[
"fritz",
"00:17:88:28:44:11"
],
[
"hue",
"001788FFFE284411"
]
],
"manufacturer": "Signify",
@ -1038,8 +1038,8 @@
},
{
"config_entries": [
"b274d909b9c66bd3257856c592b651ba",
"043eba930fc74b1699b91532ce83c490"
"043eba930fc74b1699b91532ce83c490",
"b274d909b9c66bd3257856c592b651ba"
],
"connections": [
[
@ -1048,14 +1048,14 @@
]
],
"identifiers": [
[
"onvif",
"00c20000"
],
[
"fritz",
"D8:07:B6:25:E0:E4"
],
[
"onvif",
"00c20000"
],
[
"onvif",
"D8:07:B6:25:E0:E4"
@ -1118,8 +1118,8 @@
},
{
"config_entries": [
"b274d909b9c66bd3257856c592b651ba",
"d5687ad08f79a196f2d84f98062ce060"
"d5687ad08f79a196f2d84f98062ce060",
"b274d909b9c66bd3257856c592b651ba"
],
"connections": [
[
@ -3835,11 +3835,11 @@
"identifiers": [
[
"fritz",
"34:31:C4:16:29:4A"
"3431C416294A"
],
[
"fritz",
"3431C416294A"
"34:31:C4:16:29:4A"
]
],
"manufacturer": "AVM",
@ -4845,13 +4845,13 @@
],
"connections": [],
"identifiers": [
[
"device_id",
"aba3eef2eb0d44eab143c525f5b0b190"
],
[
"webhook_id",
"c4707baa6eef9f03781be57ea4a5a80c5634b41a17dcbb3699ab97d24ad0cd19"
],
[
"device_id",
"aba3eef2eb0d44eab143c525f5b0b190"
]
],
"id": "c9c5a90d2665455f9445254dc9f71495",
@ -4863,13 +4863,13 @@
],
"connections": [],
"identifiers": [
[
"device_id",
"3a26106cd33f41af808d3ad998c75f5c"
],
[
"webhook_id",
"ac7edf5cd1047abb1f7b49cbb89849ba6442e4a4a81d405e8dbec1fb71399f68"
],
[
"device_id",
"3a26106cd33f41af808d3ad998c75f5c"
]
],
"id": "f4626279198743ef83ac81e836b2c077",
@ -4899,13 +4899,13 @@
],
"connections": [],
"identifiers": [
[
"webhook_id",
"1ee5a7f3c5276bbb75fe14794d3f1d7a53fdadd14c318a46c50b7406bf77bef0"
],
[
"device_id",
"fcaf925370984868a59d5e4db5a57481"
],
[
"webhook_id",
"1ee5a7f3c5276bbb75fe14794d3f1d7a53fdadd14c318a46c50b7406bf77bef0"
]
],
"id": "a09c8552ed694ca2ae6eb1817db28248",

View File

@ -1365,34 +1365,6 @@
"original_name": "Popp & Co Smoke Detector and Siren Sensor",
"original_icon": null
},
{
"entity_id": "light.hue_outdoor_spot_1",
"config_entry_id": "e0ebcf51d57b4df4baaf36894d59979d",
"device_id": "b0fd84c9313f408a9a7a404b60b71bde",
"area_id": null,
"unique_id": "00:17:88:01:06:53:a2:b0-0b",
"platform": "hue",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": {
"min_mireds": 153,
"max_mireds": 500,
"effect_list": [
"colorloop",
"random"
],
"supported_color_modes": [
"color_temp",
"hs"
]
},
"supported_features": 63,
"device_class": null,
"unit_of_measurement": null,
"original_name": "Garten 3",
"original_icon": null
},
{
"entity_id": "zwave.rauchmelder_heizraum",
"config_entry_id": "5939b357c7df412a8393a2dad15b684c",
@ -9207,7 +9179,7 @@
"supported_features": 0,
"device_class": null,
"unit_of_measurement": null,
"original_name": "COM-MID1",
"original_name": "VIERA-E30-Series",
"original_icon": "mdi:lan-disconnect"
},
{
@ -9768,7 +9740,7 @@
"supported_features": 0,
"device_class": null,
"unit_of_measurement": null,
"original_name": "PC-192-168-178-119",
"original_name": "192-168-178-119",
"original_icon": "mdi:lan-disconnect"
},
{
@ -9819,7 +9791,7 @@
"supported_features": 0,
"device_class": null,
"unit_of_measurement": null,
"original_name": "TV-UE32ES5700",
"original_name": "PC-192-168-178-30",
"original_icon": "mdi:lan-disconnect"
},
{
@ -11408,7 +11380,7 @@
"supported_features": 0,
"device_class": null,
"unit_of_measurement": null,
"original_name": "COM-MID1 Internet Access",
"original_name": "VIERA-E30-Series Internet Access",
"original_icon": "mdi:router-wireless-settings"
},
{
@ -11969,7 +11941,7 @@
"supported_features": 0,
"device_class": null,
"unit_of_measurement": null,
"original_name": "PC-192-168-178-119 Internet Access",
"original_name": "192-168-178-119 Internet Access",
"original_icon": "mdi:router-wireless-settings"
},
{
@ -12020,7 +11992,7 @@
"supported_features": 0,
"device_class": null,
"unit_of_measurement": null,
"original_name": "TV-UE32ES5700 Internet Access",
"original_name": "PC-192-168-178-30 Internet Access",
"original_icon": "mdi:router-wireless-settings"
},
{
@ -13536,44 +13508,6 @@
"original_name": "RaspberryMatic CCU: Newest Version",
"original_icon": null
},
{
"entity_id": "light.schlafzimmer_deckenlampe_2",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "0008DD898F16E2",
"platform": "homematic",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": {
"supported_color_modes": [
"brightness"
]
},
"supported_features": 33,
"device_class": null,
"unit_of_measurement": null,
"original_name": "schlafzimmer_deckenlampe",
"original_icon": null
},
{
"entity_id": "cover.kinderzimmer_rollo_2",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "00111D8994FDE4",
"platform": "homematic",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": {},
"supported_features": 15,
"device_class": null,
"unit_of_measurement": null,
"original_name": "kinderzimmer_rollo",
"original_icon": null
},
{
"entity_id": "sensor.kinderzimmer_rollo_level",
"config_entry_id": null,
@ -13609,24 +13543,24 @@
"original_icon": null
},
{
"entity_id": "cover.leq1440417",
"entity_id": "media_player.esszimmer_2",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "LEQ1440417",
"platform": "homematic",
"unique_id": "7c:dd:90:5e:0c:0b",
"platform": "squeezebox_telnet",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": null,
"supported_features": 15,
"capabilities": {},
"supported_features": 320447,
"device_class": null,
"unit_of_measurement": null,
"original_name": "LEQ1440417",
"original_name": "Esszimmer",
"original_icon": null
},
{
"entity_id": "light.jeq0201891",
"entity_id": "light.arbeitszimmer_deckenlampe",
"config_entry_id": null,
"device_id": null,
"area_id": null,
@ -13643,7 +13577,145 @@
"supported_features": 33,
"device_class": null,
"unit_of_measurement": null,
"original_name": "JEQ0201891",
"original_name": "arbeitszimmer_deckenlampe",
"original_icon": null
},
{
"entity_id": "cover.schlafzimmer_rollo_klein",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "LEQ1439693",
"platform": "homematic",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": {},
"supported_features": 15,
"device_class": null,
"unit_of_measurement": null,
"original_name": "schlafzimmer_rollo_klein",
"original_icon": null
},
{
"entity_id": "cover.schlafzimmer_rollo_gross",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "LEQ1439702",
"platform": "homematic",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": {},
"supported_features": 15,
"device_class": null,
"unit_of_measurement": null,
"original_name": "schlafzimmer_rollo_gross",
"original_icon": null
},
{
"entity_id": "light.schlafzimmer_deckenlampe",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "0008DD898F16E2",
"platform": "homematic",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": {
"supported_color_modes": [
"brightness"
]
},
"supported_features": 33,
"device_class": null,
"unit_of_measurement": null,
"original_name": "schlafzimmer_deckenlampe",
"original_icon": null
},
{
"entity_id": "cover.arbeitszimmer_rollo",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "LEQ1440417",
"platform": "homematic",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": {},
"supported_features": 15,
"device_class": null,
"unit_of_measurement": null,
"original_name": "arbeitszimmer_rollo",
"original_icon": null
},
{
"entity_id": "cover.kinderzimmer_rollo",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "00111D8994FDE4",
"platform": "homematic",
"name": null,
"icon": null,
"disabled_by": null,
"capabilities": {},
"supported_features": 15,
"device_class": null,
"unit_of_measurement": null,
"original_name": "kinderzimmer_rollo",
"original_icon": null
},
{
"entity_id": "light.kinderzimmer_deckenlampe",
"config_entry_id": null,
"device_id": null,
"area_id": null,
"unique_id": "JEQ0199674",
"platform": "homematic",
"name": "kinderzimmer_deckenlampe",
"icon": null,
"disabled_by": null,
"capabilities": {
"supported_color_modes": [
"brightness"
]
},
"supported_features": 33,
"device_class": null,
"unit_of_measurement": null,
"original_name": "kinderzimmer_deckenlampe",
"original_icon": null
},
{
"entity_id": "light.garten_vorne",
"config_entry_id": "e0ebcf51d57b4df4baaf36894d59979d",
"device_id": "b0fd84c9313f408a9a7a404b60b71bde",
"area_id": null,
"unique_id": "00:17:88:01:06:53:a2:b0-0b",
"platform": "hue",
"name": "Garten Vorne",
"icon": null,
"disabled_by": null,
"capabilities": {
"min_mireds": 153,
"max_mireds": 500,
"effect_list": [
"colorloop",
"random"
],
"supported_color_modes": [
"color_temp",
"hs"
]
},
"supported_features": 63,
"device_class": null,
"unit_of_measurement": null,
"original_name": "Garten 3",
"original_icon": null
}
]

File diff suppressed because it is too large Load Diff

View File

@ -9,15 +9,15 @@
"category": "integration",
"description": "HACS gives you a powerful UI to handle downloads of all your custom needs.",
"domain": "hacs",
"downloads": 32967,
"etag_repository": "W/\"18818c984acd52ac4f572d6a35fc431587b65107723d133daec009d3068d8c2b\"",
"downloads": 34817,
"etag_repository": "W/\"379595670a046ed8414f2a3a3fcf1547bfbac2dc64d78ead9f24630c16cb80ee\"",
"full_name": "hacs/integration",
"first_install": false,
"installed_commit": "b4ae25f",
"installed": true,
"last_commit": "b4ae25f",
"last_release_tag": "1.15.2",
"last_updated": "2021-09-03T17:28:06Z",
"last_updated": "2021-09-19T01:33:31Z",
"name": "hacs",
"new": false,
"repository_manifest": {
@ -30,7 +30,7 @@
},
"selected_tag": null,
"show_beta": false,
"stars": 1912,
"stars": 1913,
"topics": [
"community",
"hacktoberfest",
@ -308,7 +308,7 @@
"downloads": 0,
"etag_repository": "W/\"16ee27999cb17285ad3ea04a235626d26d0f218fe81f5cce0d9e6218eaff6ece\"",
"full_name": "basnijholt/lovelace-ios-dark-mode-theme",
"first_install": true,
"first_install": false,
"installed_commit": "555c937",
"installed": true,
"last_commit": "555c937",
@ -1789,9 +1789,9 @@
"downloads": 0,
"etag_repository": "W/\"8e22a27acb8e05d352fed8313a581a47522a028d40843427d3328dcb51ad9786\"",
"full_name": "orickcorreia/caule-themes-pack-1",
"first_install": true,
"installed_commit": null,
"installed": false,
"first_install": false,
"installed_commit": "d172707",
"installed": true,
"last_commit": "d172707",
"last_release_tag": "v.1.3",
"last_updated": "2021-01-21T15:31:39Z",
@ -1813,7 +1813,7 @@
"pack",
"themes"
],
"version_installed": null
"version_installed": "v.1.3"
},
"223028160": {
"authors": [],
@ -2228,7 +2228,7 @@
"category": "plugin",
"description": "Minimalistic climate card for Home Assistant Lovelace UI",
"domain": "",
"downloads": 9129,
"downloads": 0,
"etag_repository": "W/\"679fb01959321f8fd4def2690fabb0b0bac5b9b94b558929f4c46faa7a63edc6\"",
"full_name": "artem-sedykh/mini-climate-card",
"first_install": true,
@ -2267,7 +2267,7 @@
"category": "plugin",
"description": "Custom Lovelace card for Garbage Collection custom component",
"domain": "",
"downloads": 5854,
"downloads": 0,
"etag_repository": "W/\"65c032a14535e8664615d6319c72f971d377265b623c6998dcf38fe467082230\"",
"full_name": "amaximus/garbage-collection-card",
"first_install": true,
@ -2440,7 +2440,7 @@
"category": "plugin",
"description": "Home Assistant Custom Card to show Zigbee2mqtt network map",
"domain": "",
"downloads": 1874,
"downloads": 0,
"etag_repository": "W/\"7b5e96186b09e2d7c966e6adb6cdc3ff55d02c9911abdf2be9b3b169969754a8\"",
"full_name": "azuwis/zigbee2mqtt-networkmap",
"first_install": true,
@ -2687,15 +2687,15 @@
"category": "plugin",
"description": "Show multiple entity states and attributes on entity rows in Home Assistant's Lovelace UI",
"domain": "",
"downloads": 0,
"etag_repository": "W/\"42eba3b02bb9134d5fd8f2dca4619e44bf7568451cb60a49905739e933cab04b\"",
"downloads": 14992,
"etag_repository": "W/\"f8802cc62a2ce49ce898b6aef4e4da92fd755eba2924310816dc52c6e833e049\"",
"full_name": "benct/lovelace-multiple-entity-row",
"first_install": true,
"installed_commit": null,
"installed": false,
"first_install": false,
"installed_commit": "ad8c639",
"installed": true,
"last_commit": "ad8c639",
"last_release_tag": "v4.2.0",
"last_updated": "2021-03-29T13:15:32Z",
"last_updated": "2021-09-17T08:25:50Z",
"name": "lovelace-multiple-entity-row",
"new": false,
"repository_manifest": {
@ -2705,7 +2705,7 @@
},
"selected_tag": null,
"show_beta": false,
"stars": 345,
"stars": 346,
"topics": [
"attribute",
"card",
@ -2721,7 +2721,7 @@
"multiple",
"state"
],
"version_installed": null
"version_installed": "v4.2.0"
},
"180229356": {
"authors": [],
@ -2767,10 +2767,10 @@
"category": "plugin",
"description": "\ud83d\udca1 A Lovelace custom card for RGB lights",
"domain": "",
"downloads": 11029,
"downloads": 11082,
"etag_repository": "W/\"f9d6a68e2ff6e1221e937b06ad04632a8722eeb6d8f68274fb25e991e617131d\"",
"full_name": "bokub/rgb-light-card",
"first_install": true,
"first_install": false,
"installed_commit": "8390d2e",
"installed": true,
"last_commit": "8390d2e",
@ -2875,7 +2875,7 @@
"description": "\ud83c\udf21 Thermostat card with a round and black feel to it",
"domain": "",
"downloads": 0,
"etag_repository": "W/\"df33721d4d44818d629180792997376ac114296938022719e90054c7aff95cbe\"",
"etag_repository": "W/\"1f0d8c8f0edddf11b5f27a10b607249a0fa7a4d260762f5f9a0369d0b2001409\"",
"full_name": "ciotlosm/lovelace-thermostat-dark-card",
"first_install": true,
"installed_commit": null,
@ -2892,7 +2892,7 @@
},
"selected_tag": null,
"show_beta": false,
"stars": 615,
"stars": 616,
"topics": [
"custom-cards",
"hacs",
@ -3066,7 +3066,7 @@
"category": "plugin",
"description": "Customizable Animated Bar card for Home Assistant Lovelace",
"domain": "",
"downloads": 21480,
"downloads": 0,
"etag_repository": "W/\"11923808bf660cf584eb89956e591044e4c82b518ef2b5a6d7486dd2065fcb67\"",
"full_name": "custom-cards/bar-card",
"first_install": true,
@ -3093,7 +3093,7 @@
"category": "plugin",
"description": null,
"domain": "",
"downloads": 2203,
"downloads": 0,
"etag_repository": "W/\"71204d4de99f7a3f5b3ef42faf05a4fd94f70352699f58fd7f1d480ddb1652de\"",
"full_name": "custom-cards/cover-element",
"first_install": true,
@ -3116,7 +3116,7 @@
"category": "plugin",
"description": "\u2747\ufe0f Lovelace button-card for home assistant",
"domain": "",
"downloads": 46195,
"downloads": 0,
"etag_repository": "W/\"09bd7d7e7dfb1380df7c36ea71b674864b02755ccdcf9c4922d7d068f52e6135\"",
"full_name": "custom-cards/button-card",
"first_install": true,
@ -3177,7 +3177,7 @@
"category": "plugin",
"description": "\ud83e\uddf9 Declutter your lovelace configuration with the help of this card",
"domain": "",
"downloads": 6087,
"downloads": 0,
"etag_repository": "W/\"d47b872a22c64994271ffb679b75748147bc3e92ea2f1b045a0c5145afcce1f4\"",
"full_name": "custom-cards/decluttering-card",
"first_install": true,
@ -3576,9 +3576,9 @@
"downloads": 0,
"etag_repository": "W/\"2bcdcba18870a4cd1fb75fd21d56d1836151a8f4a8f411edda8da6cdfad1c2c3\"",
"full_name": "custom-cards/spotify-card",
"first_install": true,
"installed_commit": null,
"installed": false,
"first_install": false,
"installed_commit": "4297715",
"installed": true,
"last_commit": "4297715",
"last_release_tag": "v2.4.0",
"last_updated": "2021-08-10T22:36:07Z",
@ -3593,7 +3593,7 @@
"show_beta": false,
"stars": 200,
"topics": [],
"version_installed": null
"version_installed": "v2.4.0"
},
"248954055": {
"authors": [],
@ -4217,8 +4217,8 @@
"category": "plugin",
"description": "Vacuum cleaner card for Home Assistant Lovelace UI",
"domain": "",
"downloads": 8279,
"etag_repository": "W/\"a5620c95c24193fb3192fa6425c2c8a5102526a5aa7955cdf552772528aef449\"",
"downloads": 0,
"etag_repository": "W/\"3de3f81664c472a681aa1a7fef0b51801a04ab1249ff3e7b8f90761d9be5ca5b\"",
"full_name": "denysdovhan/vacuum-card",
"first_install": true,
"installed_commit": null,
@ -4235,7 +4235,7 @@
},
"selected_tag": null,
"show_beta": false,
"stars": 421,
"stars": 422,
"topics": [
"custom-cards",
"hacs",
@ -5219,7 +5219,7 @@
"category": "plugin",
"description": "\ud83d\udd70\ufe0f Time Picker Card for Home Assistant's Lovelace UI",
"domain": "",
"downloads": 3219,
"downloads": 0,
"etag_repository": "W/\"5f78b90431596cdcd1684c6c7fdac93f857969e25afca7f7da87e9167dbc02d6\"",
"full_name": "GeorgeSG/lovelace-time-picker-card",
"first_install": true,
@ -5786,7 +5786,7 @@
"category": "plugin",
"description": "A Raspberry Pi status display Card for Home Assistant Lovelace",
"domain": "",
"downloads": 9314,
"downloads": 0,
"etag_repository": "W/\"ec11fb8d8c460998b2cca34acf69605379218aa2b8f5a61bc58f9325cbe5bb94\"",
"full_name": "ironsheep/lovelace-rpi-monitor-card",
"first_install": true,
@ -5950,7 +5950,7 @@
"category": "plugin",
"description": "Adds highly configurable buttons that use actions and per-state styling.",
"domain": "",
"downloads": 3954,
"downloads": 0,
"etag_repository": "W/\"cc47503039e79ba7f84f5c1dde4889e19a455f35260e4b2edb215bb6a812ae11\"",
"full_name": "jcwillox/lovelace-paper-buttons-row",
"first_install": true,
@ -6115,7 +6115,7 @@
"category": "plugin",
"description": "Minimalistic weather card for Home Assistant",
"domain": "",
"downloads": 6543,
"downloads": 0,
"etag_repository": "W/\"cb8b4fa582137123d2fee9127cad9bedd38396970632081a363d5324442f4402\"",
"full_name": "kalkih/simple-weather-card",
"first_install": true,
@ -6178,12 +6178,12 @@
"category": "plugin",
"description": "Minimalistic media card for Home Assistant Lovelace UI",
"domain": "",
"downloads": 6914,
"downloads": 7714,
"etag_repository": "W/\"591a66d5f61c7ae2f31aed8f9b448511467daa3b79987ba042dc912880b99e7e\"",
"full_name": "kalkih/mini-media-player",
"first_install": true,
"installed_commit": null,
"installed": false,
"first_install": false,
"installed_commit": "d365807",
"installed": true,
"last_commit": "d365807",
"last_release_tag": "v1.13.0",
"last_updated": "2021-09-13T19:54:55Z",
@ -6203,7 +6203,7 @@
"media-player",
"sonos"
],
"version_installed": null
"version_installed": "v1.13.0"
},
"363428919": {
"authors": [],
@ -6248,12 +6248,12 @@
"category": "plugin",
"description": "Minimalistic graph card for Home Assistant Lovelace UI",
"domain": "",
"downloads": 0,
"etag_repository": "W/\"d58430cecd0fb4678b144073102b24131002bfe6e1d8be4846186df19cc61323\"",
"downloads": 76577,
"etag_repository": "W/\"caa473baefc3c52d0bdeb23d2677a5ae132e97f45b8b149240315d7fa1f3584e\"",
"full_name": "kalkih/mini-graph-card",
"first_install": true,
"installed_commit": null,
"installed": false,
"first_install": false,
"installed_commit": "e889848",
"installed": true,
"last_commit": "e889848",
"last_release_tag": "v0.10.0",
"last_updated": "2021-08-09T02:02:48Z",
@ -6265,7 +6265,7 @@
},
"selected_tag": null,
"show_beta": false,
"stars": 1638,
"stars": 1641,
"topics": [
"automation",
"custom",
@ -6276,7 +6276,7 @@
"lovelace-ui",
"sensor"
],
"version_installed": null
"version_installed": "v0.10.0"
},
"313269367": {
"authors": [],
@ -6997,7 +6997,7 @@
"category": "plugin",
"description": "A button card with integrated slider",
"domain": "",
"downloads": 6809,
"downloads": 0,
"etag_repository": "W/\"328dfb6f05a015690e5353f7ced8c6a1afab5c3bdf978f83b46d28bd18b6d202\"",
"full_name": "mattieha/slider-button-card",
"first_install": true,
@ -7097,7 +7097,7 @@
"category": "plugin",
"description": "Battery state card for Home Assistant",
"domain": "",
"downloads": 13638,
"downloads": 0,
"etag_repository": "W/\"772e167117ed47054b427dc6c8d7daff781e705152586a172d626f71a3fc0975\"",
"full_name": "maxwroc/battery-state-card",
"first_install": true,
@ -7267,7 +7267,7 @@
"category": "plugin",
"description": "A fluffy banner card for Home Assistant \ud83e\udd70",
"domain": "",
"downloads": 9426,
"downloads": 0,
"etag_repository": "W/\"c7ce28888055972ec5857e21ad3efb366231604686ab2d0df0cb043ccc50ab20\"",
"full_name": "nervetattoo/banner-card",
"first_install": true,
@ -7301,7 +7301,7 @@
"category": "plugin",
"description": "A different take on the thermostat card for Home Assistant \u2668\ufe0f",
"domain": "",
"downloads": 14016,
"downloads": 0,
"etag_repository": "W/\"b2be7e17d62e7474433e651294e4d39bd03eb78a2dfd5272446b630824c73631\"",
"full_name": "nervetattoo/simple-thermostat",
"first_install": true,
@ -7365,7 +7365,7 @@
"category": "plugin",
"description": "HA Lovelace card for control of scheduler entities",
"domain": "",
"downloads": 2919,
"downloads": 3085,
"etag_repository": "W/\"2b51dcc9829014317e51aeae737ee5a6c89128a85a366d4a868728ad635c1c43\"",
"full_name": "nielsfaber/scheduler-card",
"first_install": false,
@ -8049,7 +8049,7 @@
"category": "plugin",
"description": "Logbook card for Home Assistant UI Lovelace",
"domain": "",
"downloads": 822,
"downloads": 0,
"etag_repository": "W/\"650a983baa4a59ea66d6c11ab7df02c3782ad8a0a57bb9fbe9dc4b45f96f0712\"",
"full_name": "royto/logbook-card",
"first_install": true,
@ -8108,7 +8108,7 @@
"category": "plugin",
"description": "A Home Assistant Lovelace Care for Harmony Integration",
"domain": "",
"downloads": 3623,
"downloads": 0,
"etag_repository": "W/\"ed8c13cc739a03287b59d974a02b670cedacaafcbc30e931af3fe6f29243182d\"",
"full_name": "sbryfcz/harmony-card",
"first_install": true,
@ -9866,7 +9866,7 @@
"binary_sensor",
"camera"
],
"downloads": 1103,
"downloads": 0,
"etag_repository": "W/\"f0d6a583a3ed3f907d0fef6c87b4babfc7738890ad694e2b4d7a54840719f964\"",
"full_name": "And3rsL/Deebot-for-Home-Assistant",
"first_install": true,
@ -11053,7 +11053,7 @@
"category": "integration",
"description": "Custom component to calculate estimated power consumption of lights and other appliances",
"domain": "powercalc",
"downloads": 58,
"downloads": 0,
"etag_repository": "W/\"3f51b2a30e07e50277fff6a950a1a476b556d6b71d6baa1dd7ab47a5f928deb5\"",
"full_name": "bramstroker/homeassistant-powercalc",
"first_install": true,
@ -12731,7 +12731,7 @@
"category": "integration",
"description": "Pyscript adds rich Python scripting to HASS",
"domain": "pyscript",
"downloads": 3605,
"downloads": 0,
"etag_repository": "W/\"f0e042b22102c36e1908e1f61a4a59ffa84f852bd62bdfb591a0e44922fdede1\"",
"full_name": "custom-components/pyscript",
"first_install": true,
@ -16877,7 +16877,7 @@
"category": "integration",
"description": "iCloud3 - An advanced device_tracker custom_component for iPhones, iPads, etc. It monitors zone & location updates triggered by the HA iOS App and supports Apple 2fa verification.",
"domain": "icloud3",
"downloads": 1083,
"downloads": 0,
"etag_repository": "W/\"1a25a45c8977c284f8a4d8c532f09e9cc59797d8bed984e0542b523e1ff9096b\"",
"full_name": "gcobb321/icloud3",
"first_install": true,
@ -20302,7 +20302,7 @@
"category": "integration",
"description": "Average Sensor for Home Assistant",
"domain": "average",
"downloads": 20,
"downloads": 0,
"etag_repository": "W/\"1113f6ed8ec17914f21f087b8ab73d37c6ef33cd3dd4b1d5739cf30682a839dd\"",
"full_name": "Limych/ha-average",
"first_install": true,
@ -21110,7 +21110,7 @@
"category": "integration",
"description": "Hacky Home assistant support for Viomi SE (V-RVCLM21A)",
"domain": "viomise",
"downloads": 563,
"downloads": 0,
"etag_repository": "W/\"ae646ba06e47afa504be1fa81a86c9f7a8225b04a06d7ae3f73e5efa16a3ba4a\"",
"full_name": "marotoweb/home-assistant-vacuum-viomise",
"first_install": true,
@ -26161,7 +26161,7 @@
"category": "integration",
"description": "Shelly smart home platform for Home Assistant",
"domain": "shelly",
"downloads": 12807,
"downloads": 0,
"etag_repository": "W/\"6c53ab2198bb896db58da7fdbb7f2c4221ff622458eed87612df49b3b2fe4cc4\"",
"full_name": "StyraHem/ShellyForHASS",
"first_install": true,
@ -28666,16 +28666,16 @@
"description": "Additional vector icons for home assistant to model Philips Hue bulbs and fixtures.",
"domain": "",
"downloads": 0,
"etag_repository": "W/\"bbebab5552159409245c077c21cdc037f7f6c4734bf3ab8cbc64091627a797bb\"",
"etag_repository": "W/\"76a3eba3a3ad2da5b416506454677dbaf12f1bbf23634af93a9c4b63844c132e\"",
"full_name": "arallsopp/hass-hue-icons",
"first_install": true,
"installed_commit": null,
"installed": false,
"first_install": false,
"installed_commit": "c70978b",
"installed": true,
"last_commit": "c70978b",
"last_release_tag": "v.1.0.86",
"last_updated": "2021-09-17T08:14:23Z",
"name": "hass-hue-icons",
"new": true,
"new": false,
"repository_manifest": {
"name": "Hass Hue Icons",
"render_readme": true,
@ -28683,7 +28683,7 @@
},
"selected_tag": null,
"show_beta": false,
"stars": 54,
"stars": 55,
"topics": [
"hacs",
"home-assistant",
@ -28692,7 +28692,7 @@
"iconset",
"philips-hue"
],
"version_installed": null
"version_installed": "v.1.0.86"
},
"362551242": {
"authors": [],
@ -28777,14 +28777,14 @@
"downloads": 0,
"etag_repository": "W/\"b13dcda218175d1f11d568314a89de4bd28ed79e2fce5aba37119c24d6e0e096\"",
"full_name": "tgcowell/waves",
"first_install": true,
"installed_commit": null,
"installed": false,
"first_install": false,
"installed_commit": "4c4218c",
"installed": true,
"last_commit": "4c4218c",
"last_release_tag": "v.2.1.0",
"last_updated": "2021-08-27T03:25:22Z",
"name": "waves",
"new": true,
"new": false,
"repository_manifest": {
"name": "Waves"
},
@ -28797,7 +28797,7 @@
"homeassistant",
"themes"
],
"version_installed": null
"version_installed": "v.2.1.0"
},
"363203831": {
"authors": [
@ -30248,7 +30248,7 @@
"category": "integration",
"description": "Toyota Connected Services integration for Home Assistant.",
"domain": "toyota",
"downloads": 25,
"downloads": 0,
"etag_repository": "W/\"fb23167899709acb80fef4f224dc1666773370e9f7ffe4a0054f31a9d82123b0\"",
"full_name": "DurgNomis-drol/ha_toyota",
"first_install": true,

View File

@ -14,8 +14,8 @@
"description": "HACS gives you a powerful UI to handle downloads of all your custom needs.",
"domain": "hacs",
"domains": [],
"downloads": 32967,
"etag_repository": "W/\"18818c984acd52ac4f572d6a35fc431587b65107723d133daec009d3068d8c2b\"",
"downloads": 34817,
"etag_repository": "W/\"379595670a046ed8414f2a3a3fcf1547bfbac2dc64d78ead9f24630c16cb80ee\"",
"file_name": "",
"filename": "hacs.zip",
"first_install": false,
@ -33,11 +33,11 @@
"open_issues": 6,
"last_commit": "b4ae25f",
"last_version": "1.15.2",
"last_updated": "2021-09-03T17:28:06Z",
"last_updated": "2021-09-19T01:33:31Z",
"manifest_name": "HACS",
"new": false,
"persistent_directory": null,
"pushed_at": "2021-09-03T17:28:06",
"pushed_at": "2021-09-19T01:33:31",
"releases": true,
"render_readme": false,
"published_tags": [
@ -49,7 +49,7 @@
],
"selected_tag": null,
"show_beta": false,
"stargazers_count": 1912,
"stargazers_count": 1913,
"topics": [
"community",
"hacktoberfest",

View File

@ -14,7 +14,7 @@
"domains": [
"light"
],
"downloads": 11029,
"downloads": 11082,
"etag_repository": "W/\"f9d6a68e2ff6e1221e937b06ad04632a8722eeb6d8f68274fb25e991e617131d\"",
"file_name": "card.js",
"filename": "card.js",

View File

@ -12,7 +12,7 @@
"description": "HA Lovelace card for control of scheduler entities",
"domain": "",
"domains": [],
"downloads": 2919,
"downloads": 3085,
"etag_repository": "W/\"2b51dcc9829014317e51aeae737ee5a6c89128a85a366d4a868728ad635c1c43\"",
"file_name": "scheduler-card.js",
"filename": "",

View File

@ -1 +1 @@
{"mac": "2C:5F:45:B9:36:2A", "config_version": 36, "paired_clients": {"6ae4feba-9725-4653-8a32-bfae21591972": "4463182fbace66328d3e534cf78b6f81ccfd0e4250bdb1d954418e3eed738269"}, "client_properties": {"6ae4feba-9725-4653-8a32-bfae21591972": {"permissions": 1}}, "accessories_hash": "90e94aa001ec1c170e8d4c18b0243bf176532176af0c0dd951b4e558041be8f9d1b5f449cf2eea25d73cbf90b245e46dad6785ae18c8cdee957ff5ccae9f7304", "private_key": "03d847a9e20598ee99c5b47cfc64c07ce83c7aebc6720e26e83fdd4c359e33c7", "public_key": "f4de2e4b9a98f38d27af5914310f92b861f6cdbc02e22945554c07bbc3868f70"}
{"mac": "2C:5F:45:B9:36:2A", "config_version": 40, "paired_clients": {"6ae4feba-9725-4653-8a32-bfae21591972": "4463182fbace66328d3e534cf78b6f81ccfd0e4250bdb1d954418e3eed738269"}, "client_properties": {"6ae4feba-9725-4653-8a32-bfae21591972": {"permissions": 1}}, "accessories_hash": "2a8ed3778905834a4e1c68557fbc33ec52d8b0173599a01c8522cb01705849dbf259b7739ad5251af1049cde99218e2f7ed0024ec5748d98fac1c04ad8376598", "private_key": "03d847a9e20598ee99c5b47cfc64c07ce83c7aebc6720e26e83fdd4c359e33c7", "public_key": "f4de2e4b9a98f38d27af5914310f92b861f6cdbc02e22945554c07bbc3868f70"}

View File

@ -2,17 +2,16 @@
"version": 1,
"key": "http",
"data": {
"base_url": "https://ha.bauer.tech",
"use_x_forwarded_for": true,
"trusted_proxies": [
"192.168.178.80"
],
"server_port": 8123,
"ssl_profile": "modern",
"login_attempts_threshold": -1,
"ip_ban_enabled": true,
"cors_allowed_origins": [
"https://cast.home-assistant.io"
]
],
"ssl_profile": "modern",
"ip_ban_enabled": true
}
}

View File

@ -3,7 +3,7 @@
"key": "lovelace",
"data": {
"config": {
"title": "\u00dcbersicht",
"title": "Zimmer",
"views": [
{
"badges": [],
@ -52,7 +52,8 @@
"name": "K\u00fcche"
},
{
"type": "divider"
"type": "section",
"label": "Rollos"
},
{
"entity": "cover.wohnzimmer_fenster_rollo",
@ -75,7 +76,8 @@
"type": "custom:state-card-custom-cover"
},
{
"type": "divider"
"type": "section",
"label": "Gang"
},
{
"entity": "light.gang_licht",
@ -126,67 +128,120 @@
}
]
},
"type": "custom:mini-media-player"
},
{
"type": "horizontal-stack",
"title": "Pool",
"cards": [
{
"type": "gauge",
"entity": "sensor.pool_temperature",
"min": 10,
"name": "Temperatur",
"max": 30,
"severity": {
"green": 18,
"yellow": 20,
"red": 24
}
},
{
"type": "gauge",
"entity": "sensor.pool_ph",
"min": 6,
"name": "pH",
"max": 9,
"severity": {
"green": 6.9,
"yellow": 7.4,
"red": 8
}
},
{
"type": "gauge",
"entity": "sensor.pool_oxydo_reduction_potential",
"min": 400,
"name": "Redox",
"max": 650,
"severity": {
"green": 650,
"yellow": 500,
"red": 400
}
},
{
"type": "button",
"name": "Pumpe",
"icon": "mdi:pump",
"entity": "switch.poolpumpesteckdose",
"show_state": true
}
]
"type": "custom:mini-media-player",
"name": "K\u00fcche Radio"
},
{
"type": "entities",
"entities": [
{
"entity": "sensor.pool_pumpe_heute"
"entity": "light.wohnzimmer_deckenlampe",
"name": "Deckenlampe",
"icon": "mdi:ceiling-light"
},
{
"entity": "sensor.pool_pumpe_gestern"
"entity": "light.wohnzimmer_kugel",
"name": "Kugel",
"icon": "mdi:circle-slice-8"
},
{
"entity": "light.wohnzimmer_stehlampe",
"name": "Stehlampe Unten",
"icon": "hue:dimmer-switch"
},
{
"entity": "light.wohnzimmer_stehlampe_oben",
"icon": "hue:dimmer-switch",
"name": "Stehlampe Oben"
},
{
"entity": "light.wohnzimmer_regal_links",
"name": "Regal links",
"icon": "hue:lightstrip"
},
{
"entity": "light.wohnzimmer_regal_rechts",
"name": "Regal rechts",
"icon": "hue:lightstrip"
},
{
"entity": "cover.wohnzimmer_fenster_rollo",
"name": "Rollo Fenster",
"type": "custom:state-card-custom-cover"
},
{
"entity": "cover.wohnzimmer_terrassentur_rollo",
"name": "T\u00fcr Rollo",
"icon": "hass:door",
"type": "custom:state-card-custom-cover"
},
{
"entity": "sensor.wohnzimmer_terassentur_temperatur",
"name": "Terassent\u00fcr"
}
]
],
"title": "Wohnzimmer",
"state_color": true
},
{
"type": "entities",
"entities": [
{
"entity": "light.esszimmer_deckenlampe_mitte",
"name": "Mitte Deckenlampe",
"icon": "mdi:ceiling-light"
},
{
"entity": "light.esszimmer_deckenlampe_west",
"name": "Tisch Deckenlampe",
"icon": "mdi:ceiling-light"
},
{
"entity": "light.kuche_vorne",
"name": "Anrichte unten",
"icon": "hue:lightstrip"
},
{
"entity": "cover.esszimmer_fenster_rollo",
"name": "Rollo Esszimmer",
"type": "custom:state-card-custom-cover"
},
{
"entity": "sensor.esszimmer_temperatur",
"name": "Gangt\u00fcr"
}
],
"title": "Esszimmer"
},
{
"type": "entities",
"entities": [
{
"entity": "light.kuche_deckenlampe",
"name": "Deckenlampe",
"icon": "mdi:ceiling-light"
},
{
"entity": "light.kuche_links",
"name": "LED links",
"icon": "hue:lightstrip"
},
{
"entity": "light.kuche_rechts",
"name": "LED rechts",
"icon": "hue:lightstrip"
},
{
"entity": "cover.kuche_fenster_rollo",
"name": "Rollo K\u00fcche",
"type": "custom:state-card-custom-cover"
},
{
"entity": "sensor.kueche_dht22_temperatur",
"name": "Raspi"
}
],
"title": "K\u00fcche"
}
],
"icon": "mdi:sofa",
@ -231,6 +286,48 @@
],
"type": "custom:room-glance-card"
},
{
"card": {
"title": "Lichter die noch an sind",
"type": "entities"
},
"entities": [
{
"entity": "group.hallway",
"icon": "mdi:door-closed",
"name": "Gang"
},
{
"entity": "light.essbereich_lichter",
"icon": "mdi:sofa",
"name": "Esszimmer/K\u00fcche"
},
{
"entity": "light.wohnzimmer_lichter",
"icon": "mdi:sofa",
"name": "Wohnzimmer"
},
{
"entity": "light.arbeitszimmer_lichter",
"icon": "mdi:monitor-multiple",
"name": "Arbeitszimmer"
},
{
"entity": "group.outside",
"icon": "mdi:flower",
"name": "Drau\u00dfen"
},
{
"entity": "switch.mobile_steckdose_schalter_2",
"name": "Balkon"
}
],
"show_empty": false,
"state_filter": [
"on"
],
"type": "entity-filter"
},
{
"artwork": "cover",
"entity": "media_player.bedroompi",
@ -274,7 +371,7 @@
"type": "music"
},
{
"icon": "mdi:library-music-outline",
"icon": "mdi:playlist-music",
"id": "spotify:playlist:37i9dQZF1DX7heGeZ10YDi",
"name": "Different Sleeping List",
"type": "music"
@ -309,21 +406,23 @@
"name": "Stillen"
},
{
"entity": "light.schlafzimmer_deckenlampe_2",
"name": "Deckenlampe"
"entity": "light.schlafzimmer_deckenlampe",
"name": "Deckenlampe",
"icon": "mdi:ceiling-light"
},
{
"entity": "light.schlafzimmer_fluter",
"name": "Fluter"
"name": "Fluter",
"icon": "hue:floor-shade"
},
{
"entity": "light.bett_martin",
"icon": "mdi:sleep",
"icon": "mdi:bed",
"name": "Bett Martin"
},
{
"entity": "light.bett_rebecca",
"icon": "mdi:sleep",
"icon": "mdi:bed",
"name": "Bett Rebecca"
},
{
@ -356,48 +455,6 @@
],
"show_header_toggle": false,
"type": "entities"
},
{
"card": {
"title": "Lichter die noch an sind",
"type": "entities"
},
"entities": [
{
"entity": "group.hallway",
"icon": "mdi:door-closed",
"name": "Gang"
},
{
"entity": "group.living_area",
"icon": "mdi:sofa",
"name": "Wohnzimmer/Esszimmer"
},
{
"entity": "group.office_martin",
"icon": "mdi:monitor-multiple",
"name": "Martins B\u00fcro"
},
{
"entity": "switch.mobile_steckdose_schalter_1",
"icon": "mdi:palm-tree",
"name": "Palmenlicht"
},
{
"entity": "group.outside",
"icon": "mdi:flower",
"name": "Drau\u00dfen"
},
{
"entity": "switch.mobile_steckdose_schalter_2",
"name": "Balkon"
}
],
"show_empty": false,
"state_filter": [
"on"
],
"type": "entity-filter"
}
],
"icon": "mdi:bed-empty",
@ -455,12 +512,6 @@
"entity": "cover.arbeitszimmer_rollo",
"name": "Rollo",
"type": "custom:state-card-custom-cover"
},
{
"entity": "binary_sensor.arbeitszimmer_bewegungsmelder_bewegung",
"format": "relative",
"name": "Bewegung",
"secondary_info": "last-changed"
}
],
"show_header_toggle": false,
@ -508,7 +559,8 @@
},
{
"entity": "light.kinderzimmer_fluter",
"name": "Fluter"
"name": "Fluter",
"icon": "hue:floor-shade"
},
{
"entity": "cover.kinderzimmer_rollo_2",
@ -523,7 +575,7 @@
{
"entity": "switch.tasmota07",
"name": "F\u00f6n Schlafzimmer",
"icon": "mdi:fan"
"icon": "mdi:hair-dryer"
}
],
"show_header_toggle": false,
@ -578,52 +630,118 @@
"title": "Kinderzimmer"
},
{
"title": "Draussen",
"path": "draussen",
"icon": "mdi:tree",
"badges": [],
"cards": [
{
"aspect_ratio": "16x9",
"entities": [
"group.bathroom"
],
"image": "/local/img/bathroom2.jpg",
"scenes": [
"type": "vertical-stack",
"title": "Pool",
"cards": [
{
"color": "#f07a1d",
"name": "Normal",
"scene": "scene.bad_normal"
"type": "horizontal-stack",
"cards": [
{
"type": "gauge",
"entity": "sensor.pool_temperature",
"min": 10,
"name": "Temperatur",
"max": 30,
"severity": {
"green": 18,
"yellow": 20,
"red": 24
}
},
{
"type": "gauge",
"entity": "sensor.pool_ph",
"min": 6,
"name": "pH",
"max": 9,
"severity": {
"green": 6.9,
"yellow": 7.4,
"red": 8
}
},
{
"type": "gauge",
"entity": "sensor.pool_oxydo_reduction_potential",
"min": 400,
"name": "Redox",
"max": 650,
"severity": {
"green": 650,
"yellow": 500,
"red": 400
}
},
{
"type": "button",
"name": "Pumpe",
"icon": "mdi:pump",
"entity": "switch.poolpumpesteckdose",
"show_state": true
}
]
},
{
"color": "#fdef56",
"name": "Hell",
"scene": "scene.bad_hell"
},
{
"icon": "mdi:duck",
"name": "Baden",
"scene": "scene.bad_baden"
"type": "entities",
"entities": [
{
"entity": "sensor.pool_pumpe_heute"
},
{
"entity": "sensor.pool_pumpe_gestern"
}
]
}
],
"type": "custom:room-glance-card"
]
},
{
"type": "entities",
"entities": [
{
"entity": "light.bad_licht",
"name": "Deckenlampe"
"entity": "light.haustur_licht",
"icon": "hue:wall-lantern",
"name": "Haust\u00fcr"
},
{
"entity": "switch.bad_lufter",
"icon": "mdi:emoticon-poop",
"name": "L\u00fcfter"
"entity": "light.aussen_terassenlicht",
"icon": "hue:wall-lantern",
"name": "Terrasse"
},
{
"type": "divider"
},
{
"entity": "light.garten_stehleuchte",
"icon": "hue:bollard"
},
{
"entity": "light.garten_spot_magnolie",
"icon": "hue:floor-spot"
},
{
"entity": "light.garten_vorne",
"icon": "hue:floor-spot",
"name": "Einfahrt"
},
{
"type": "divider"
},
{
"entity": "light.haustur_licht_nw",
"name": "Ecklicht oben (NW)",
"icon": "hue:wall-lantern"
}
],
"show_header_toggle": false,
"type": "entities"
"title": "Licht",
"state_color": true
}
],
"icon": "mdi:fish",
"path": "bad-and-co",
"title": "Bad & Co"
]
}
]
}

View File

@ -720,6 +720,31 @@
"show_header_toggle": false,
"title": "Rauchmelder",
"type": "entities"
},
{
"aspect_ratio": "16x9",
"entities": [
"group.bathroom"
],
"image": "/local/img/bathroom2.jpg",
"scenes": [
{
"color": "#f07a1d",
"name": "Normal",
"scene": "scene.bad_normal"
},
{
"color": "#fdef56",
"name": "Hell",
"scene": "scene.bad_hell"
},
{
"icon": "mdi:duck",
"name": "Baden",
"scene": "scene.bad_baden"
}
],
"type": "custom:room-glance-card"
}
],
"icon": "mdi:more",

View File

@ -6,32 +6,17 @@
{
"id": "2dd231ecf4fa46d1b9ba696f28da7731",
"type": "module",
"url": "/local/custom_ui/state-card-custom-cover.js"
"url": "/local/custom_ui/state-card-custom-cover.js?v=1.04"
},
{
"id": "526c1c7115cd4bb396cf02a83b884365",
"type": "js",
"url": "/local/custom_ui/toggle-lock-entity-row.js"
},
{
"id": "7a6c43fa1538436da6459843fd217667",
"type": "module",
"url": "/local/custom_ui/mini-graph-card-bundle.js?v=0.4.3"
},
{
"id": "3527ae66772544dfb09c5246ba4882c0",
"type": "module",
"url": "/local/custom_ui/mini-media-player-bundle.js?v=1.5.1"
},
{
"id": "55ef5e325ab444d19e15a1183a97fb35",
"type": "module",
"url": "/local/custom_ui/room-glance-card.js?v=1.0"
},
{
"id": "02ac97946bb44092a5f073752a8b6deb",
"type": "module",
"url": "/local/custom_ui/multiple-entity-row.js?v=3.5.1"
"url": "/local/custom_ui/room-glance-card.js?v=1.1"
},
{
"url": "/hacsfiles/scheduler-card/scheduler-card.js?hacstag=286270157220",
@ -52,6 +37,31 @@
"url": "/hacsfiles/rgb-light-card/card.js?hacstag=215327195190",
"type": "module",
"id": "9fa16ed42d0c480ab9dc711cb98790e7"
},
{
"url": "/hacsfiles/mini-graph-card/mini-graph-card-bundle.js?hacstag=1512800620100",
"type": "module",
"id": "5fb0764a8bb54c4aaf4a4be15022095b"
},
{
"url": "/hacsfiles/mini-media-player/mini-media-player-bundle.js?hacstag=1485208381130",
"type": "module",
"id": "9f7ce776f265476f89246c9926a933a8"
},
{
"url": "/hacsfiles/lovelace-multiple-entity-row/multiple-entity-row.js?hacstag=178921037420",
"type": "module",
"id": "295d5e67ee594e31935e535c2c4b7bd4"
},
{
"url": "/hacsfiles/hass-hue-icons/hass-hue-icons.js?hacstag=3844345221086",
"type": "module",
"id": "59ab7764b5724e75ac5ff57fdcd54e2c"
},
{
"url": "/hacsfiles/spotify-card/spotify-card.js?hacstag=173955605240",
"type": "module",
"id": "caffec3aea214ea7a0b32f943c8b63ff"
}
]
}

View File

@ -1,106 +0,0 @@
light:
- name: Schlafzimmer Deckenlampe
dimmer: True
fhem_ids:
- Schlafzimmer_Deckenlampe_Sw
- Schlafzimmer_Deckenlampe
- Schlafzimmer_Deckenlampe_Sw1_V_01
- Schlafzimmer_Deckenlampe_Sw1_V_02
groups:
- bedroom
- name: Arbeitszimmer Deckenlampe
dimmer: True
fhem_ids:
- Arbeitszimmer_Deckenlampe_Sw
- Arbeitszimmer_Deckenlampe
- Arbeitszimmer_Deckenlampe_Sw1_V_01
- Arbeitszimmer_Deckenlampe_Sw1_V_02
groups:
- office
- name: Kinderzimmer Deckenlampe
dimmer: True
fhem_ids:
- Kinderzimmer_Deckenlampe_Sw
- Kinderzimmer_Deckenlampe
- Kinderzimmer_Deckenlampe_Sw1_V_01
- Kinderzimmer_Deckenlampe_Sw1_V_02
groups:
- kids_room
- name: Mobile Steckdosen Dimmer
dimmer: True
fhem_ids:
- Steckdose_Dimmer
cover:
- name: Arbeitszimmer Rollo
fhem_ids:
- Arbeitszimmer_Rollo
groups:
- office
- name: Schlafzimmer Rollo klein
fhem_ids:
- Schlafzimmer_RolloKlein
groups:
- bedroom
- name: Schlafzimmer Rollo groß
fhem_ids:
- Schlafzimmer_RolloGross
groups:
- bedroom
- name: Kinderzimmer Rollo
fhem_ids:
- Kinderzimmer_Rollo
groups:
- kids_room
switch:
- name: Bad Lüfter
fhem_ids:
- Bad_Luefter
- name: Mobile Steckdose Schalter 1
fhem_ids:
- MobileSteckdoseSchalter1_Sw
- MobileSteckdoseSchalter1
- name: Mobile Steckdose Schalter 2
fhem_ids:
- MobileSteckdoseSchalter2_Sw
- MobileSteckdoseSchalter2
binary_sensor:
- name: Arbeitszimmer Bewegungsmelder Batterie
fhem_ids:
- Arbeitszimmer_Bewegungsmelder
fhem_sensor_type: battery
- name: Arbeitszimmer Bewegungsmelder Bewegung
fhem_ids:
- Arbeitszimmer_Bewegungsmelder
fhem_sensor_type: motion
sensor:
- name: Arbeitszimmer Bewegungsmelder Helligkeit
fhem_ids:
- Arbeitszimmer_Bewegungsmelder
fhem_sensor_type: brightness
#- name: Pool Pumpe Verbrauch
# fhem_sensor_type: power
# fhem_ids:
# - SteckdosenSchalter_Pwr
# - SteckdosenSchalter

View File

@ -1,4 +1,4 @@
# Add only entities here that are auto-discovered (not FHEM and KNX devices)
# Add only entities here that are auto-discovered (not KNX devices)
#default_view:
# view: true

View File

@ -164,19 +164,6 @@ def add_knx_devices(devices, groups):
return template_sensors
def add_fhem_devices(devices, groups):
fhem_yaml_path = os.path.join(script_path, 'fhem.yaml')
fhem_yaml = yaml.load(open(fhem_yaml_path, encoding="utf-8"))
for device_type, device_list in fhem_yaml.items():
if device_type not in devices:
devices[device_type] = []
for device in device_list:
device['platform'] = 'fhem'
if 'groups' in device:
add_to_group(groups, device['groups'], device['name'], device_type)
del device['groups']
devices[device_type].append(device)
def add_meta_groups(groups):
all_devices = set()
@ -278,12 +265,13 @@ def create_config(target_directory, development=False):
all_devices = {}
all_devices.update(template_sensors)
add_fhem_devices(all_devices, group_dict)
with open(os.path.join(target_directory, 'configuration.yaml'), 'w', encoding="utf-8") as output:
output.write("# Dont' edit manually! this is generated!\n\n")
for key in ['sensor', 'switch', 'light', 'cover', 'binary_sensor']:
if key in manual_config_dict:
if key not in all_devices:
all_devices[key] = []
all_devices[key].extend(manual_config_dict[key])
del manual_config_dict[key]
yaml.dump(manual_config_dict, output)

View File

@ -2,6 +2,8 @@
# Configure a default setup of Home Assistant (frontend, api, etc)
#default_config:
frontend:
themes: !include_dir_merge_named themes
mobile_app:
person:
sun:
@ -18,7 +20,6 @@ timer:
# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
http:
base_url: https://ha.bauer.tech
use_x_forwarded_for: true
trusted_proxies:
192.168.178.80
@ -106,7 +107,6 @@ influxdb:
ios:
shopping_list:
octoprint:
@ -262,13 +262,12 @@ long_click:
- switch.eingang_szene_4
- switch.eingang_szene_5
logger:
default: info
logs:
custom_components.fhem: debug
#custom_components: debug
#custom_components.reconnecting_client: debug
#logger:
# default: info
# logs:
# #custom_components: debug
# #custom_components.reconnecting_client: debug
#
# Sensors
#sensor:
# Weather prediction
@ -476,11 +475,6 @@ homematic:
username: homeassistant
password: !secret homematic_pw
fhem:
host: localhost
port: 7072
cul_device_name: CUL_HM
zwave:
usb_path: /dev/serial/by-id/usb-0658_0200-if00
network_key: "0xE0, 0x64, 0x50, 0x55, 0x20, 0x63, 0xC7, 0x05, 0x62, 0xD3, 0xEA, 0x91, 0x87, 0xE0, 0x1E, 0x74"

View File

@ -1,7 +1,7 @@
{
"domain": "sysdweb",
"name": "sysdweg",
"name": "sysdweb",
"documentation": "",
"dependencies": [],
"codeowners": ["@mabau"],

View File

@ -12,7 +12,7 @@
* subject to an additional IP rights grant found at
* http://polymer.github.io/PATENTS.txt
*/
const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,o=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},a={},l={},h=`{{lit-${String(Math.random()).slice(2)}}}`,c=`\x3c!--${h}--\x3e`,p=new RegExp(`${h}|${c}`),u="$lit$";class d{constructor(t,e){this.parts=[],this.element=e;const s=[],i=[],n=document.createTreeWalker(e.content,133,null,!1);let r=0,o=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=n.nextNode();if(null!==t){if(o++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)_(e[t].name,u)&&i++;for(;i-- >0;){const e=l[a],s=y.exec(e)[2],i=s.toLowerCase()+u,n=t.getAttribute(i);t.removeAttribute(i);const r=n.split(p);this.parts.push({type:"attribute",index:o,name:s,strings:r}),a+=r.length-1}}"TEMPLATE"===t.tagName&&(i.push(t),n.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(h)>=0){const i=t.parentNode,n=e.split(p),r=n.length-1;for(let e=0;e<r;e++){let s,r=n[e];if(""===r)s=m();else{const t=y.exec(r);null!==t&&_(t[2],u)&&(r=r.slice(0,t.index)+t[1]+t[2].slice(0,-u.length)+t[3]),s=document.createTextNode(r)}i.insertBefore(s,t),this.parts.push({type:"node",index:++o})}""===n[r]?(i.insertBefore(m(),t),s.push(t)):t.data=n[r],a+=r}}else if(8===t.nodeType)if(t.data===h){const e=t.parentNode;null!==t.previousSibling&&o!==r||(o++,e.insertBefore(m(),t)),r=o,this.parts.push({type:"node",index:o}),null===t.nextSibling?t.data="":(s.push(t),o--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(h,e+1));)this.parts.push({type:"node",index:-1}),a++}}else n.currentNode=i.pop()}for(const t of s)t.parentNode.removeChild(t)}}const _=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},f=t=>-1!==t.index,m=()=>document.createComment(""),y=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;
const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,o=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},a={},l={},h=`{{lit-${String(Math.random()).slice(2)}}}`,c=`\x3c!--${h}--\x3e`,p=new RegExp(`${h}|${c}`),d="$lit$";class u{constructor(t,e){this.parts=[],this.element=e;const s=[],i=[],n=document.createTreeWalker(e.content,133,null,!1);let r=0,o=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=n.nextNode();if(null!==t){if(o++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)_(e[t].name,d)&&i++;for(;i-- >0;){const e=l[a],s=y.exec(e)[2],i=s.toLowerCase()+d,n=t.getAttribute(i);t.removeAttribute(i);const r=n.split(p);this.parts.push({type:"attribute",index:o,name:s,strings:r}),a+=r.length-1}}"TEMPLATE"===t.tagName&&(i.push(t),n.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(h)>=0){const i=t.parentNode,n=e.split(p),r=n.length-1;for(let e=0;e<r;e++){let s,r=n[e];if(""===r)s=m();else{const t=y.exec(r);null!==t&&_(t[2],d)&&(r=r.slice(0,t.index)+t[1]+t[2].slice(0,-d.length)+t[3]),s=document.createTextNode(r)}i.insertBefore(s,t),this.parts.push({type:"node",index:++o})}""===n[r]?(i.insertBefore(m(),t),s.push(t)):t.data=n[r],a+=r}}else if(8===t.nodeType)if(t.data===h){const e=t.parentNode;null!==t.previousSibling&&o!==r||(o++,e.insertBefore(m(),t)),r=o,this.parts.push({type:"node",index:o}),null===t.nextSibling?t.data="":(s.push(t),o--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(h,e+1));)this.parts.push({type:"node",index:-1}),a++}}else n.currentNode=i.pop()}for(const t of s)t.parentNode.removeChild(t)}}const _=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},f=t=>-1!==t.index,m=()=>document.createComment(""),y=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;
/**
* @license
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@ -39,7 +39,7 @@ class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http://polymer.github.io/PATENTS.txt
*/class v{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",s=!1;for(let i=0;i<t;i++){const t=this.strings[i],n=t.lastIndexOf("\x3c!--");s=(n>-1||s)&&-1===t.indexOf("--\x3e",n+1);const r=y.exec(t);e+=null===r?t+(s?h:c):t.substr(0,r.index)+r[1]+r[2]+u+r[3]+h}return e+=this.strings[t]}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
*/class v{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",s=!1;for(let i=0;i<t;i++){const t=this.strings[i],n=t.lastIndexOf("\x3c!--");s=(n>-1||s)&&-1===t.indexOf("--\x3e",n+1);const r=y.exec(t);e+=null===r?t+(s?h:c):t.substr(0,r.index)+r[1]+r[2]+d+r[3]+h}return e+=this.strings[t]}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
/**
* @license
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@ -79,7 +79,7 @@ const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isAr
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http://polymer.github.io/PATENTS.txt
*/function V(t){let e=k.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},k.set(t.type,e));let s=e.stringsArray.get(t.strings);if(void 0!==s)return s;const i=t.strings.join(h);return void 0===(s=e.keyString.get(i))&&(s=new d(t,t.getTemplateElement()),e.keyString.set(i,s)),e.stringsArray.set(t.strings,s),s}const k=new Map,M=new WeakMap;
*/function V(t){let e=k.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},k.set(t.type,e));let s=e.stringsArray.get(t.strings);if(void 0!==s)return s;const i=t.strings.join(h);return void 0===(s=e.keyString.get(i))&&(s=new u(t,t.getTemplateElement()),e.keyString.set(i,s)),e.stringsArray.set(t.strings,s),s}const k=new Map,M=new WeakMap;
/**
* @license
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@ -120,7 +120,7 @@ const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isAr
* subject to an additional IP rights grant found at
* http://polymer.github.io/PATENTS.txt
*/
const q=(t,e)=>`${t}--${e}`;let I=!0;void 0===window.ShadyCSS?I=!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."),I=!1);const H=t=>e=>{const s=q(e.type,t);let i=k.get(s);void 0===i&&(i={stringsArray:new WeakMap,keyString:new Map},k.set(s,i));let n=i.stringsArray.get(e.strings);if(void 0!==n)return n;const r=e.strings.join(h);if(void 0===(n=i.keyString.get(r))){const s=e.getTemplateElement();I&&window.ShadyCSS.prepareTemplateDom(s,t),n=new d(e,s),i.keyString.set(r,n)}return i.stringsArray.set(e.strings,n),n},D=["html","svg"],L=new Set,B=(t,e,s)=>{L.add(s);const i=t.querySelectorAll("style"),{length:n}=i;if(0===n)return void window.ShadyCSS.prepareTemplateStyles(e.element,s);const r=document.createElement("style");for(let t=0;t<n;t++){const e=i[t];e.parentNode.removeChild(e),r.textContent+=e.textContent}(t=>{D.forEach(e=>{const s=k.get(q(e,t));void 0!==s&&s.keyString.forEach(t=>{const{element:{content:e}}=t,s=new Set;Array.from(e.querySelectorAll("style")).forEach(t=>{s.add(t)}),z(t,s)})})})(s);const o=e.element.content;!function(t,e,s=null){const{element:{content:i},parts:n}=t;if(null==s)return void i.appendChild(e);const r=document.createTreeWalker(i,U,null,!1);let o=$(n),a=0,l=-1;for(;r.nextNode();)for(l++,r.currentNode===s&&(a=F(e),s.parentNode.insertBefore(e,s));-1!==o&&n[o].index===l;){if(a>0){for(;-1!==o;)n[o].index+=a,o=$(n,o);return}o=$(n,o)}}(e,r,o.firstChild),window.ShadyCSS.prepareTemplateStyles(e.element,s);const a=o.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==a)t.insertBefore(a.cloneNode(!0),t.firstChild);else{o.insertBefore(r,o.firstChild);const t=new Set;t.add(r),z(e,t)}};
const q=(t,e)=>`${t}--${e}`;let I=!0;void 0===window.ShadyCSS?I=!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."),I=!1);const H=t=>e=>{const s=q(e.type,t);let i=k.get(s);void 0===i&&(i={stringsArray:new WeakMap,keyString:new Map},k.set(s,i));let n=i.stringsArray.get(e.strings);if(void 0!==n)return n;const r=e.strings.join(h);if(void 0===(n=i.keyString.get(r))){const s=e.getTemplateElement();I&&window.ShadyCSS.prepareTemplateDom(s,t),n=new u(e,s),i.keyString.set(r,n)}return i.stringsArray.set(e.strings,n),n},D=["html","svg"],L=new Set,B=(t,e,s)=>{L.add(s);const i=t.querySelectorAll("style"),{length:n}=i;if(0===n)return void window.ShadyCSS.prepareTemplateStyles(e.element,s);const r=document.createElement("style");for(let t=0;t<n;t++){const e=i[t];e.parentNode.removeChild(e),r.textContent+=e.textContent}(t=>{D.forEach(e=>{const s=k.get(q(e,t));void 0!==s&&s.keyString.forEach(t=>{const{element:{content:e}}=t,s=new Set;Array.from(e.querySelectorAll("style")).forEach(t=>{s.add(t)}),z(t,s)})})})(s);const o=e.element.content;!function(t,e,s=null){const{element:{content:i},parts:n}=t;if(null==s)return void i.appendChild(e);const r=document.createTreeWalker(i,U,null,!1);let o=$(n),a=0,l=-1;for(;r.nextNode();)for(l++,r.currentNode===s&&(a=F(e),s.parentNode.insertBefore(e,s));-1!==o&&n[o].index===l;){if(a>0){for(;-1!==o;)n[o].index+=a,o=$(n,o);return}o=$(n,o)}}(e,r,o.firstChild),window.ShadyCSS.prepareTemplateStyles(e.element,s);const a=o.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==a)t.insertBefore(a.cloneNode(!0),t.firstChild);else{o.insertBefore(r,o.firstChild);const t=new Set;t.add(r),z(e,t)}};
/**
* @license
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@ -173,6 +173,12 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
.state {
white-space: nowrap;
}
ha-icon-button {
width: 35px;
--mdc-icon-size: 25px;
}
[invisible] {
visibility: hidden !important;
}
@ -189,10 +195,6 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
@click=${this.onOpenTap}
.disabled="${this.computeOpenDisabled(e,this.entityObj)}"
></ha-icon-button>
<ha-icon-button
icon="hass:stop"
@click=${this.onStopTap}
></ha-icon-button>
<ha-icon-button
icon="hass:arrow-down"
@click=${this.onCloseTap}

View File

@ -77,6 +77,12 @@ export class StateCardCustomCover extends LitElement {
.state {
white-space: nowrap;
}
ha-icon-button {
width: 35px;
--mdc-icon-size: 25px;
}
[invisible] {
visibility: hidden !important;
}
@ -93,10 +99,6 @@ export class StateCardCustomCover extends LitElement {
@click=${this.onOpenTap}
.disabled="${this.computeOpenDisabled(stateObj, this.entityObj)}"
></ha-icon-button>
<ha-icon-button
icon="hass:stop"
@click=${this.onStopTap}
></ha-icon-button>
<ha-icon-button
icon="hass:arrow-down"
@click=${this.onCloseTap}

View File

@ -12,7 +12,7 @@
* subject to an additional IP rights grant found at
* http://polymer.github.io/PATENTS.txt
*/
const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,o=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},a={},l={},h=`{{lit-${String(Math.random()).slice(2)}}}`,c=`\x3c!--${h}--\x3e`,p=new RegExp(`${h}|${c}`),u="$lit$";class d{constructor(t,e){this.parts=[],this.element=e;const s=[],i=[],n=document.createTreeWalker(e.content,133,null,!1);let r=0,o=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=n.nextNode();if(null!==t){if(o++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)_(e[t].name,u)&&i++;for(;i-- >0;){const e=l[a],s=y.exec(e)[2],i=s.toLowerCase()+u,n=t.getAttribute(i);t.removeAttribute(i);const r=n.split(p);this.parts.push({type:"attribute",index:o,name:s,strings:r}),a+=r.length-1}}"TEMPLATE"===t.tagName&&(i.push(t),n.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(h)>=0){const i=t.parentNode,n=e.split(p),r=n.length-1;for(let e=0;e<r;e++){let s,r=n[e];if(""===r)s=m();else{const t=y.exec(r);null!==t&&_(t[2],u)&&(r=r.slice(0,t.index)+t[1]+t[2].slice(0,-u.length)+t[3]),s=document.createTextNode(r)}i.insertBefore(s,t),this.parts.push({type:"node",index:++o})}""===n[r]?(i.insertBefore(m(),t),s.push(t)):t.data=n[r],a+=r}}else if(8===t.nodeType)if(t.data===h){const e=t.parentNode;null!==t.previousSibling&&o!==r||(o++,e.insertBefore(m(),t)),r=o,this.parts.push({type:"node",index:o}),null===t.nextSibling?t.data="":(s.push(t),o--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(h,e+1));)this.parts.push({type:"node",index:-1}),a++}}else n.currentNode=i.pop()}for(const t of s)t.parentNode.removeChild(t)}}const _=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},f=t=>-1!==t.index,m=()=>document.createComment(""),y=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;
const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,o=(t,e,s=null)=>{for(;e!==s;){const s=e.nextSibling;t.removeChild(e),e=s}},a={},l={},h=`{{lit-${String(Math.random()).slice(2)}}}`,c=`\x3c!--${h}--\x3e`,p=new RegExp(`${h}|${c}`),d="$lit$";class u{constructor(t,e){this.parts=[],this.element=e;const s=[],i=[],n=document.createTreeWalker(e.content,133,null,!1);let r=0,o=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=n.nextNode();if(null!==t){if(o++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:s}=e;let i=0;for(let t=0;t<s;t++)_(e[t].name,d)&&i++;for(;i-- >0;){const e=l[a],s=y.exec(e)[2],i=s.toLowerCase()+d,n=t.getAttribute(i);t.removeAttribute(i);const r=n.split(p);this.parts.push({type:"attribute",index:o,name:s,strings:r}),a+=r.length-1}}"TEMPLATE"===t.tagName&&(i.push(t),n.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(h)>=0){const i=t.parentNode,n=e.split(p),r=n.length-1;for(let e=0;e<r;e++){let s,r=n[e];if(""===r)s=m();else{const t=y.exec(r);null!==t&&_(t[2],d)&&(r=r.slice(0,t.index)+t[1]+t[2].slice(0,-d.length)+t[3]),s=document.createTextNode(r)}i.insertBefore(s,t),this.parts.push({type:"node",index:++o})}""===n[r]?(i.insertBefore(m(),t),s.push(t)):t.data=n[r],a+=r}}else if(8===t.nodeType)if(t.data===h){const e=t.parentNode;null!==t.previousSibling&&o!==r||(o++,e.insertBefore(m(),t)),r=o,this.parts.push({type:"node",index:o}),null===t.nextSibling?t.data="":(s.push(t),o--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(h,e+1));)this.parts.push({type:"node",index:-1}),a++}}else n.currentNode=i.pop()}for(const t of s)t.parentNode.removeChild(t)}}const _=(t,e)=>{const s=t.length-e.length;return s>=0&&t.slice(s)===e},f=t=>-1!==t.index,m=()=>document.createComment(""),y=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;
/**
* @license
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@ -39,7 +39,7 @@ class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http://polymer.github.io/PATENTS.txt
*/class v{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",s=!1;for(let i=0;i<t;i++){const t=this.strings[i],n=t.lastIndexOf("\x3c!--");s=(n>-1||s)&&-1===t.indexOf("--\x3e",n+1);const r=y.exec(t);e+=null===r?t+(s?h:c):t.substr(0,r.index)+r[1]+r[2]+u+r[3]+h}return e+=this.strings[t]}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
*/class v{constructor(t,e,s,i){this.strings=t,this.values=e,this.type=s,this.processor=i}getHTML(){const t=this.strings.length-1;let e="",s=!1;for(let i=0;i<t;i++){const t=this.strings[i],n=t.lastIndexOf("\x3c!--");s=(n>-1||s)&&-1===t.indexOf("--\x3e",n+1);const r=y.exec(t);e+=null===r?t+(s?h:c):t.substr(0,r.index)+r[1]+r[2]+d+r[3]+h}return e+=this.strings[t]}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
/**
* @license
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@ -79,7 +79,7 @@ const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isAr
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http://polymer.github.io/PATENTS.txt
*/function V(t){let e=k.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},k.set(t.type,e));let s=e.stringsArray.get(t.strings);if(void 0!==s)return s;const i=t.strings.join(h);return void 0===(s=e.keyString.get(i))&&(s=new d(t,t.getTemplateElement()),e.keyString.set(i,s)),e.stringsArray.set(t.strings,s),s}const k=new Map,M=new WeakMap;
*/function V(t){let e=k.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},k.set(t.type,e));let s=e.stringsArray.get(t.strings);if(void 0!==s)return s;const i=t.strings.join(h);return void 0===(s=e.keyString.get(i))&&(s=new u(t,t.getTemplateElement()),e.keyString.set(i,s)),e.stringsArray.set(t.strings,s),s}const k=new Map,M=new WeakMap;
/**
* @license
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@ -120,7 +120,7 @@ const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isAr
* subject to an additional IP rights grant found at
* http://polymer.github.io/PATENTS.txt
*/
const q=(t,e)=>`${t}--${e}`;let I=!0;void 0===window.ShadyCSS?I=!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."),I=!1);const H=t=>e=>{const s=q(e.type,t);let i=k.get(s);void 0===i&&(i={stringsArray:new WeakMap,keyString:new Map},k.set(s,i));let n=i.stringsArray.get(e.strings);if(void 0!==n)return n;const r=e.strings.join(h);if(void 0===(n=i.keyString.get(r))){const s=e.getTemplateElement();I&&window.ShadyCSS.prepareTemplateDom(s,t),n=new d(e,s),i.keyString.set(r,n)}return i.stringsArray.set(e.strings,n),n},D=["html","svg"],L=new Set,B=(t,e,s)=>{L.add(s);const i=t.querySelectorAll("style"),{length:n}=i;if(0===n)return void window.ShadyCSS.prepareTemplateStyles(e.element,s);const r=document.createElement("style");for(let t=0;t<n;t++){const e=i[t];e.parentNode.removeChild(e),r.textContent+=e.textContent}(t=>{D.forEach(e=>{const s=k.get(q(e,t));void 0!==s&&s.keyString.forEach(t=>{const{element:{content:e}}=t,s=new Set;Array.from(e.querySelectorAll("style")).forEach(t=>{s.add(t)}),z(t,s)})})})(s);const o=e.element.content;!function(t,e,s=null){const{element:{content:i},parts:n}=t;if(null==s)return void i.appendChild(e);const r=document.createTreeWalker(i,U,null,!1);let o=$(n),a=0,l=-1;for(;r.nextNode();)for(l++,r.currentNode===s&&(a=F(e),s.parentNode.insertBefore(e,s));-1!==o&&n[o].index===l;){if(a>0){for(;-1!==o;)n[o].index+=a,o=$(n,o);return}o=$(n,o)}}(e,r,o.firstChild),window.ShadyCSS.prepareTemplateStyles(e.element,s);const a=o.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==a)t.insertBefore(a.cloneNode(!0),t.firstChild);else{o.insertBefore(r,o.firstChild);const t=new Set;t.add(r),z(e,t)}};
const q=(t,e)=>`${t}--${e}`;let I=!0;void 0===window.ShadyCSS?I=!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."),I=!1);const H=t=>e=>{const s=q(e.type,t);let i=k.get(s);void 0===i&&(i={stringsArray:new WeakMap,keyString:new Map},k.set(s,i));let n=i.stringsArray.get(e.strings);if(void 0!==n)return n;const r=e.strings.join(h);if(void 0===(n=i.keyString.get(r))){const s=e.getTemplateElement();I&&window.ShadyCSS.prepareTemplateDom(s,t),n=new u(e,s),i.keyString.set(r,n)}return i.stringsArray.set(e.strings,n),n},D=["html","svg"],L=new Set,B=(t,e,s)=>{L.add(s);const i=t.querySelectorAll("style"),{length:n}=i;if(0===n)return void window.ShadyCSS.prepareTemplateStyles(e.element,s);const r=document.createElement("style");for(let t=0;t<n;t++){const e=i[t];e.parentNode.removeChild(e),r.textContent+=e.textContent}(t=>{D.forEach(e=>{const s=k.get(q(e,t));void 0!==s&&s.keyString.forEach(t=>{const{element:{content:e}}=t,s=new Set;Array.from(e.querySelectorAll("style")).forEach(t=>{s.add(t)}),z(t,s)})})})(s);const o=e.element.content;!function(t,e,s=null){const{element:{content:i},parts:n}=t;if(null==s)return void i.appendChild(e);const r=document.createTreeWalker(i,U,null,!1);let o=$(n),a=0,l=-1;for(;r.nextNode();)for(l++,r.currentNode===s&&(a=F(e),s.parentNode.insertBefore(e,s));-1!==o&&n[o].index===l;){if(a>0){for(;-1!==o;)n[o].index+=a,o=$(n,o);return}o=$(n,o)}}(e,r,o.firstChild),window.ShadyCSS.prepareTemplateStyles(e.element,s);const a=o.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==a)t.insertBefore(a.cloneNode(!0),t.firstChild);else{o.insertBefore(r,o.firstChild);const t=new Set;t.add(r),z(e,t)}};
/**
* @license
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
@ -173,6 +173,12 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
.state {
white-space: nowrap;
}
ha-icon-button {
width: 35px;
--mdc-icon-size: 25px;
}
[invisible] {
visibility: hidden !important;
}
@ -189,10 +195,6 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
@click=${this.onOpenTap}
.disabled="${this.computeOpenDisabled(e,this.entityObj)}"
></ha-icon-button>
<ha-icon-button
icon="hass:stop"
@click=${this.onStopTap}
></ha-icon-button>
<ha-icon-button
icon="hass:arrow-down"
@click=${this.onCloseTap}