Compare commits
10 Commits
f6379fe687
...
a8b5c425a9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a8b5c425a9 | ||
|
|
4eb59dd8bc | ||
|
|
7f7bb30c3d | ||
|
|
0cf621214f | ||
|
|
f261b582b0 | ||
|
|
91fc9c38ff | ||
|
|
ab2ab9f9d7 | ||
|
|
a0e498edeb | ||
|
|
33356fa8ca | ||
|
|
e063a1303f |
@@ -1 +1 @@
|
||||
2021.1.5
|
||||
2022.12.8
|
||||
7
.gitignore
vendored
7
.gitignore
vendored
@@ -3,9 +3,16 @@ __pycache__
|
||||
node_modules
|
||||
/tts
|
||||
/deps
|
||||
/blueprints
|
||||
/home-assistant.log
|
||||
# Generated files
|
||||
/groups.yaml
|
||||
/configuration.yaml
|
||||
/home-assistant_v2.db
|
||||
/secrets.yaml
|
||||
/www/community/
|
||||
/custom_components/hacs
|
||||
/custom_components/scheduler
|
||||
/custom_components/pyscript
|
||||
/themes
|
||||
/.storage/hacs/*.hacs
|
||||
27
.shopping_list.json
Normal file
27
.shopping_list.json
Normal file
@@ -0,0 +1,27 @@
|
||||
[
|
||||
{
|
||||
"complete": false,
|
||||
"id": "1593f9c74a054764a96d924c66771f18",
|
||||
"name": "rasierschaum"
|
||||
},
|
||||
{
|
||||
"name": "Entwicklerwerkzeuge",
|
||||
"id": "527ee67903de4f8b9f963ab5f79ecf81",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "test",
|
||||
"id": "3578c4df110a442f82a27c0049fc3cef",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "e882172545a048bb9367c63b8f64a3cc",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Sirites",
|
||||
"id": "b2028f9edc7d4e1ea4b5f324d2d26ebc",
|
||||
"complete": false
|
||||
}
|
||||
]
|
||||
8
.storage/alexa
Normal file
8
.storage/alexa
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "alexa",
|
||||
"data": {
|
||||
"authorized": true
|
||||
}
|
||||
}
|
||||
2858
.storage/auth
2858
.storage/auth
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,11 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "auth_module.totp",
|
||||
"data": {
|
||||
"users": {
|
||||
"2ffcb10d3db745b396789364fdef72ec": "VSSLF24TFVBBITYM"
|
||||
"2ffcb10d3db745b396789364fdef72ec": "VSSLF24TFVBBITYM",
|
||||
"bd0f10a32b324e85998881cb5b748d0f": "BUFHT7N5LWOYLARK2NPWFPTFN6FP6Z2D"
|
||||
}
|
||||
},
|
||||
"key": "auth_module.totp",
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
14
.storage/core.analytics
Normal file
14
.storage/core.analytics
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"version": 1,
|
||||
"key": "core.analytics",
|
||||
"data": {
|
||||
"preferences": {
|
||||
"base": true,
|
||||
"diagnostics": false,
|
||||
"usage": true,
|
||||
"statistics": false
|
||||
},
|
||||
"onboarded": true,
|
||||
"uuid": "1a941b94815249978a4977f6518e14da"
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,44 @@
|
||||
{
|
||||
"data": {
|
||||
"areas": [
|
||||
{
|
||||
"id": "46ebd507f8f348508653f61054f67eb0",
|
||||
"name": "Arbeitszimmer Martin"
|
||||
},
|
||||
{
|
||||
"id": "93728f2df4d94517803b87de4d4028bb",
|
||||
"name": "Wohnbereich"
|
||||
},
|
||||
{
|
||||
"id": "e58ae8bf5c7847af89a727d7949016f0",
|
||||
"name": "K\u00fcche"
|
||||
}
|
||||
]
|
||||
},
|
||||
"key": "core.area_registry",
|
||||
"version": 1
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "core.area_registry",
|
||||
"data": {
|
||||
"areas": [
|
||||
{
|
||||
"name": "Arbeitszimmer",
|
||||
"id": "46ebd507f8f348508653f61054f67eb0",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Wohnbereich",
|
||||
"id": "93728f2df4d94517803b87de4d4028bb",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Küche",
|
||||
"id": "e58ae8bf5c7847af89a727d7949016f0",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Rest",
|
||||
"id": "rest",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Schlafzimmer",
|
||||
"id": "schlafzimmer",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Garten",
|
||||
"id": "garten",
|
||||
"picture": null
|
||||
},
|
||||
{
|
||||
"name": "Dachgeschoss",
|
||||
"id": "dachgeschoss",
|
||||
"picture": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,17 @@
|
||||
{
|
||||
"data": {
|
||||
"elevation": 368,
|
||||
"external_url": "https://ha.bauer.tech",
|
||||
"internal_url": null,
|
||||
"latitude": 49.369477,
|
||||
"location_name": "MyHome",
|
||||
"longitude": 10.9831468,
|
||||
"time_zone": "Europe/Berlin",
|
||||
"unit_system": "metric"
|
||||
},
|
||||
"key": "core.config",
|
||||
"version": 1
|
||||
"version": 1,
|
||||
"minor_version": 3,
|
||||
"key": "core.config",
|
||||
"data": {
|
||||
"elevation": 368,
|
||||
"external_url": "https://ha.bauer.tech",
|
||||
"internal_url": null,
|
||||
"latitude": 49.369477,
|
||||
"location_name": "MyHome",
|
||||
"longitude": 10.9831468,
|
||||
"time_zone": "Europe/Berlin",
|
||||
"unit_system": "metric",
|
||||
"unit_system_v2": "metric",
|
||||
"language": "de"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7
.storage/core.uuid
Normal file
7
.storage/core.uuid
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"data": {
|
||||
"uuid": "dbfa2dc8b3aa4f03a3230c64d4faa7a4"
|
||||
},
|
||||
"key": "core.uuid",
|
||||
"version": 1
|
||||
}
|
||||
@@ -1,12 +1,16 @@
|
||||
{
|
||||
"data": {
|
||||
"core": {
|
||||
"showAdvanced": true
|
||||
},
|
||||
"language": {
|
||||
"language": "de"
|
||||
}
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "frontend.user_data_2ffcb10d3db745b396789364fdef72ec",
|
||||
"data": {
|
||||
"core": {
|
||||
"showAdvanced": true
|
||||
},
|
||||
"key": "frontend.user_data_2ffcb10d3db745b396789364fdef72ec",
|
||||
"version": 1
|
||||
"language": {
|
||||
"language": "de",
|
||||
"number_format": "language",
|
||||
"time_format": "language",
|
||||
"first_weekday": "language"
|
||||
}
|
||||
}
|
||||
}
|
||||
15
.storage/frontend.user_data_bd0f10a32b324e85998881cb5b748d0f
Normal file
15
.storage/frontend.user_data_bd0f10a32b324e85998881cb5b748d0f
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "frontend.user_data_bd0f10a32b324e85998881cb5b748d0f",
|
||||
"data": {
|
||||
"core": {
|
||||
"showAdvanced": true
|
||||
},
|
||||
"language": {
|
||||
"language": "de",
|
||||
"number_format": "language",
|
||||
"time_format": "language"
|
||||
}
|
||||
}
|
||||
}
|
||||
12
.storage/google_assistant
Normal file
12
.storage/google_assistant
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "google_assistant",
|
||||
"data": {
|
||||
"agent_user_ids": {
|
||||
"2ffcb10d3db745b396789364fdef72ec": {
|
||||
"local_webhook_id": "7f9f90ea0609767552e3c86e6b4629b30ccf378e57084c5d3a3d461c909102f5"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
12
.storage/hacs.critical
Normal file
12
.storage/hacs.critical
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": "6",
|
||||
"key": "hacs.critical",
|
||||
"data": [
|
||||
{
|
||||
"repository": "test/test",
|
||||
"reason": "Security issues, known to steal auth tokens.",
|
||||
"link": "https://github.com/hacs/default/pull/2",
|
||||
"acknowledged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
78
.storage/hacs.hacs
Normal file
78
.storage/hacs.hacs
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"version": "6",
|
||||
"minor_version": 1,
|
||||
"key": "hacs.hacs",
|
||||
"data": {
|
||||
"archived_repositories": [
|
||||
"atomic7777/atomic_calendar",
|
||||
"mampfes/hacs_wiffi",
|
||||
"PTST/O365-HomeAssistant",
|
||||
"pilotak/homeassistant-mikrotik",
|
||||
"estevez-dev/extended-banner-card",
|
||||
"custom-components/custom_components",
|
||||
"custom-components/sensor.custom_components",
|
||||
"Michsior14/ha-laser-egg",
|
||||
"custom-components/sensor.tautulli",
|
||||
"ppanagiotis/pymusiccast",
|
||||
"Kraineff/philips-airpurifier",
|
||||
"jensweimann/awb",
|
||||
"briis/smartweather",
|
||||
"KoljaWindeler/kaco",
|
||||
"dr1rrb/ha-twinkly",
|
||||
"heinoldenhuis/home_assistant_omnik_solar",
|
||||
"DSorlov/hasl-platform",
|
||||
"iantrich/aftership-card",
|
||||
"nagyrobi/home-assistant-custom-components-pfsense-gateways",
|
||||
"pippyn/Home-Assistant-Sensor-Groningen-Afvalwijzer",
|
||||
"maykar/kiosk-mode",
|
||||
"custom-cards/upcoming-media-card",
|
||||
"maykar/lovelace-swipe-navigation",
|
||||
"custom-components/sensor.plex_recently_added",
|
||||
"custom-components/sensor.sonarr_upcoming_media",
|
||||
"custom-components/sensor.radarr_upcoming_media",
|
||||
"maykar/plex_assistant",
|
||||
"custom-components/wienerlinien",
|
||||
"GeorgeSG/lovelace-folder-card",
|
||||
"KTibow/lovelace-dark-soft-ui-theme",
|
||||
"KTibow/lovelace-light-soft-ui-theme",
|
||||
"DCSBL/ha-homewizard-energy",
|
||||
"eavanvalkenburg/sia",
|
||||
"Cyr-ius/hass-hue-service-advanced",
|
||||
"Cyr-ius/hass-cozytouch",
|
||||
"georgezhao2010/climate_ewelink",
|
||||
"custom-components/sensor.custom_aftership",
|
||||
"marcomow/ble-bulb-card",
|
||||
"ThomasPrior/EthermineInfo",
|
||||
"spycle/microbot_push",
|
||||
"DavidMStraub/homeassistant-homeconnect",
|
||||
"Sholofly/arrisdcx960",
|
||||
"lukich48/hass_mqtt_template_switch",
|
||||
"marrobHD/firetv-card",
|
||||
"clayauld/lovelace-darksky-card",
|
||||
"NemesisRE/lovelace-swipe-navigation"
|
||||
],
|
||||
"renamed_repositories": {
|
||||
"xMrVizzy/Minecraft-Version": "kraineff/minecraft-version",
|
||||
"xMrVizzy/Philips-AirPurifier": "kraineff/philips-airpurifier",
|
||||
"scottyphillips/mitsubishi_hass": "scottyphillips/echonetlite_homeassistant",
|
||||
"idittansikte/bootstrap-grid-card": "ownbee/bootstrap-grid-card",
|
||||
"marksie1988/atomic-calendar-revive": "totaldebug/atomic-calendar-revive",
|
||||
"PepegaBruh/CryptoTracker": "BigNocciolino/CryptoTracker",
|
||||
"custom-components/blueprint": "custom-components/integration_blueprint",
|
||||
"9a4gl/hass-peltec": "9a4gl/hass-centrometal-boiler",
|
||||
"78wesley/Darkish-Theme": "78wesley/Home-Assistant-Darkish-Theme",
|
||||
"KartoffelToby/ai_thermostat": "KartoffelToby/better_thermostat",
|
||||
"nbogojevic/homeassistant-midea-dehumidifier-lan": "nbogojevic/homeassistant-midea-air-appliances-lan",
|
||||
"nikrolls/homeassistant-goldair-climate": "nicole-ashley/homeassistant-goldair-climate",
|
||||
"ulic75/power-distribution-card": "ulic75/power-flow-card",
|
||||
"wills106/homsassistant-solax-modbus": "wills106/homeassistant-solax-modbus",
|
||||
"dmitry-k/yandex_smart_home": "dext0r/yandex_smart_home",
|
||||
"uvjustin/alarmdotcom": "pyalarmdotcom/alarmdotcom",
|
||||
"wernerhp/ha_integration_load_shedding": "wernerhp/ha.integration.load_shedding",
|
||||
"TheLastProject/lovelace-valetudo-map-card": "Hypfer/lovelace-valetudo-map-card",
|
||||
"fuatakgun/kia_uvo": "Hyundai-Kia-Connect/kia_uvo",
|
||||
"jadson179/consul": "gtjadsonsantos/consul"
|
||||
},
|
||||
"ignored_repositories": []
|
||||
}
|
||||
}
|
||||
25665
.storage/hacs.repositories
Normal file
25665
.storage/hacs.repositories
Normal file
File diff suppressed because it is too large
Load Diff
55
.storage/hacs/144899700.hacs
Normal file
55
.storage/hacs/144899700.hacs
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"version": "6",
|
||||
"minor_version": 1,
|
||||
"key": "hacs/144899700.hacs",
|
||||
"data": {
|
||||
"archived": false,
|
||||
"authors": [],
|
||||
"category": "plugin",
|
||||
"content_in_root": false,
|
||||
"country": [],
|
||||
"config_flow": false,
|
||||
"default_branch": "master",
|
||||
"description": "\ud83d\udd39 Add sliders to entity cards",
|
||||
"domain": "",
|
||||
"domains": [],
|
||||
"downloads": 0,
|
||||
"etag_repository": "W/\"dcee04e155a6f214619452084692a69a604122200203c448889608db87867fa8\"",
|
||||
"file_name": "slider-entity-row.js",
|
||||
"filename": null,
|
||||
"first_install": false,
|
||||
"fork": false,
|
||||
"full_name": "thomasloven/lovelace-slider-entity-row",
|
||||
"hacs": null,
|
||||
"hide": false,
|
||||
"hide_default_branch": false,
|
||||
"homeassistant": null,
|
||||
"id": "144899700",
|
||||
"iot_class": null,
|
||||
"installed": true,
|
||||
"installed_commit": "3587bef",
|
||||
"installed_version": "17.2.1",
|
||||
"open_issues": 27,
|
||||
"last_commit": "c84a0ad",
|
||||
"last_version": "17.2.1",
|
||||
"last_updated": "2022-08-13T19:01:37Z",
|
||||
"manifest_name": null,
|
||||
"new": false,
|
||||
"persistent_directory": null,
|
||||
"pushed_at": "2022-08-13T19:01:37",
|
||||
"releases": true,
|
||||
"render_readme": true,
|
||||
"published_tags": [
|
||||
"17.2.1",
|
||||
"17.2.0",
|
||||
"17.1.0",
|
||||
"17.0.1",
|
||||
"17.0.0"
|
||||
],
|
||||
"selected_tag": null,
|
||||
"show_beta": false,
|
||||
"stargazers_count": 648,
|
||||
"topics": [],
|
||||
"zip_release": false
|
||||
}
|
||||
}
|
||||
65
.storage/hacs/172733314.hacs
Normal file
65
.storage/hacs/172733314.hacs
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"version": "6",
|
||||
"minor_version": 1,
|
||||
"key": "hacs/172733314.hacs",
|
||||
"data": {
|
||||
"archived": false,
|
||||
"authors": [
|
||||
"@ludeeus"
|
||||
],
|
||||
"category": "integration",
|
||||
"content_in_root": false,
|
||||
"country": [],
|
||||
"config_flow": true,
|
||||
"default_branch": "main",
|
||||
"description": "HACS gives you a powerful UI to handle downloads of all your custom needs.",
|
||||
"domain": "hacs",
|
||||
"domains": [],
|
||||
"downloads": 7257,
|
||||
"etag_repository": "W/\"711c9f5308bfaed56466dbb84dc11ce170e3abaf8bed0ee5cb0b4c189afc1f1c\"",
|
||||
"file_name": "",
|
||||
"filename": "hacs.zip",
|
||||
"first_install": false,
|
||||
"fork": false,
|
||||
"full_name": "hacs/integration",
|
||||
"hacs": "0.19.0",
|
||||
"hide": false,
|
||||
"hide_default_branch": true,
|
||||
"homeassistant": "2022.8.0",
|
||||
"id": "172733314",
|
||||
"iot_class": null,
|
||||
"installed": true,
|
||||
"installed_commit": "8fa59ee",
|
||||
"installed_version": "1.27.0",
|
||||
"open_issues": 0,
|
||||
"last_commit": "8fa59ee",
|
||||
"last_version": "1.27.1",
|
||||
"last_updated": "2022-08-28T08:21:31Z",
|
||||
"manifest_name": "HACS",
|
||||
"new": false,
|
||||
"persistent_directory": null,
|
||||
"pushed_at": "2022-08-28T08:21:31",
|
||||
"releases": true,
|
||||
"render_readme": false,
|
||||
"published_tags": [
|
||||
"1.27.1",
|
||||
"1.27.0",
|
||||
"1.26.2",
|
||||
"1.26.1",
|
||||
"1.26.0"
|
||||
],
|
||||
"selected_tag": "1.27.0",
|
||||
"show_beta": false,
|
||||
"stargazers_count": 2860,
|
||||
"topics": [
|
||||
"community",
|
||||
"hacktoberfest",
|
||||
"hacs",
|
||||
"home-assistant",
|
||||
"integration",
|
||||
"package-manager",
|
||||
"python"
|
||||
],
|
||||
"zip_release": true
|
||||
}
|
||||
}
|
||||
63
.storage/hacs/215327195.hacs
Normal file
63
.storage/hacs/215327195.hacs
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"version": "6",
|
||||
"minor_version": 1,
|
||||
"key": "hacs/215327195.hacs",
|
||||
"data": {
|
||||
"archived": false,
|
||||
"authors": [],
|
||||
"category": "plugin",
|
||||
"content_in_root": true,
|
||||
"country": [],
|
||||
"config_flow": false,
|
||||
"default_branch": "master",
|
||||
"description": "💡 A Lovelace custom card for RGB lights",
|
||||
"domain": "",
|
||||
"domains": [
|
||||
"light"
|
||||
],
|
||||
"downloads": 12380,
|
||||
"etag_repository": "W/\"b5f74cfb36458239d165665039ad8868468ef47299c90d6095e79f2e48ecc5e2\"",
|
||||
"file_name": "card.js",
|
||||
"filename": "card.js",
|
||||
"first_install": false,
|
||||
"fork": false,
|
||||
"full_name": "bokub/rgb-light-card",
|
||||
"hacs": null,
|
||||
"hide": false,
|
||||
"hide_default_branch": false,
|
||||
"homeassistant": null,
|
||||
"id": "215327195",
|
||||
"iot_class": null,
|
||||
"installed": true,
|
||||
"installed_commit": "abb7c78",
|
||||
"installed_version": "1.11.0",
|
||||
"open_issues": 6,
|
||||
"last_commit": "abb7c78",
|
||||
"last_version": "1.11.0",
|
||||
"last_updated": "2022-07-02T09:17:13Z",
|
||||
"manifest_name": null,
|
||||
"new": false,
|
||||
"persistent_directory": null,
|
||||
"pushed_at": "2022-07-02T09:17:13",
|
||||
"releases": true,
|
||||
"render_readme": true,
|
||||
"published_tags": [
|
||||
"1.11.0",
|
||||
"1.10.0",
|
||||
"1.9.0",
|
||||
"1.8.0",
|
||||
"1.7.1"
|
||||
],
|
||||
"selected_tag": null,
|
||||
"show_beta": false,
|
||||
"stargazers_count": 311,
|
||||
"topics": [
|
||||
"hacktoberfest",
|
||||
"home-assistant",
|
||||
"lovelace",
|
||||
"lovelace-custom-card",
|
||||
"rgb-lights"
|
||||
],
|
||||
"zip_release": false
|
||||
}
|
||||
}
|
||||
57
.storage/hacs/222422187.hacs
Normal file
57
.storage/hacs/222422187.hacs
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"version": "6",
|
||||
"minor_version": 1,
|
||||
"key": "hacs/222422187.hacs",
|
||||
"data": {
|
||||
"archived": false,
|
||||
"authors": [],
|
||||
"category": "theme",
|
||||
"content_in_root": false,
|
||||
"country": [],
|
||||
"config_flow": false,
|
||||
"default_branch": "master",
|
||||
"description": "\ud83c\udfe0\ud83e\udd16 Theme by @basnijholt based on iOS Dark Mode for Lovelace Home Assistant ",
|
||||
"domain": "",
|
||||
"domains": [],
|
||||
"downloads": 0,
|
||||
"etag_repository": "W/\"cecf357175700b3cc1db9c4389607d4d10ef7369436b93d42529460c5e1dd05c\"",
|
||||
"file_name": "ios-dark-mode.yaml",
|
||||
"filename": null,
|
||||
"first_install": false,
|
||||
"fork": false,
|
||||
"full_name": "basnijholt/lovelace-ios-dark-mode-theme",
|
||||
"hacs": null,
|
||||
"hide": false,
|
||||
"hide_default_branch": false,
|
||||
"homeassistant": null,
|
||||
"id": "222422187",
|
||||
"iot_class": null,
|
||||
"installed": true,
|
||||
"installed_commit": "9c012f7",
|
||||
"installed_version": null,
|
||||
"open_issues": 29,
|
||||
"last_commit": "9c012f7",
|
||||
"last_version": null,
|
||||
"last_updated": "2022-05-27T18:41:09Z",
|
||||
"manifest_name": null,
|
||||
"new": false,
|
||||
"persistent_directory": null,
|
||||
"pushed_at": "2022-05-27T18:41:09",
|
||||
"releases": false,
|
||||
"render_readme": true,
|
||||
"published_tags": [],
|
||||
"selected_tag": null,
|
||||
"show_beta": false,
|
||||
"stargazers_count": 375,
|
||||
"topics": [
|
||||
"dark-mode",
|
||||
"darkmode",
|
||||
"hacs",
|
||||
"home-assistant",
|
||||
"ios",
|
||||
"lovelace",
|
||||
"theme"
|
||||
],
|
||||
"zip_release": false
|
||||
}
|
||||
}
|
||||
55
.storage/hacs/231674882.hacs
Normal file
55
.storage/hacs/231674882.hacs
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"version": "6",
|
||||
"minor_version": 1,
|
||||
"key": "hacs/231674882.hacs",
|
||||
"data": {
|
||||
"archived": false,
|
||||
"authors": [],
|
||||
"category": "plugin",
|
||||
"content_in_root": false,
|
||||
"country": [],
|
||||
"config_flow": false,
|
||||
"default_branch": "master",
|
||||
"description": "\ud83d\udd39 Display whatever you want in an entities card row.",
|
||||
"domain": "",
|
||||
"domains": [],
|
||||
"downloads": 0,
|
||||
"etag_repository": "W/\"d9e5ddb563c27cbe6f0cc04e78ed92c7517cd7e1f3c872746eb5bfad4fa3ef87\"",
|
||||
"file_name": "template-entity-row.js",
|
||||
"filename": null,
|
||||
"first_install": false,
|
||||
"fork": false,
|
||||
"full_name": "thomasloven/lovelace-template-entity-row",
|
||||
"hacs": null,
|
||||
"hide": false,
|
||||
"hide_default_branch": false,
|
||||
"homeassistant": "0.107.0b1",
|
||||
"id": "231674882",
|
||||
"iot_class": null,
|
||||
"installed": true,
|
||||
"installed_commit": "3c7d493",
|
||||
"installed_version": "1.3.0",
|
||||
"open_issues": 14,
|
||||
"last_commit": "e3da7ba",
|
||||
"last_version": "1.3.0",
|
||||
"last_updated": "2022-08-24T08:27:00Z",
|
||||
"manifest_name": null,
|
||||
"new": false,
|
||||
"persistent_directory": null,
|
||||
"pushed_at": "2022-08-24T08:27:00",
|
||||
"releases": true,
|
||||
"render_readme": true,
|
||||
"published_tags": [
|
||||
"1.3.0",
|
||||
"1.2.3",
|
||||
"1.2.2",
|
||||
"1.2.1",
|
||||
"1.2.0"
|
||||
],
|
||||
"selected_tag": null,
|
||||
"show_beta": false,
|
||||
"stargazers_count": 118,
|
||||
"topics": [],
|
||||
"zip_release": false
|
||||
}
|
||||
}
|
||||
64
.storage/hacs/286186485.hacs
Normal file
64
.storage/hacs/286186485.hacs
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"version": "6",
|
||||
"minor_version": 1,
|
||||
"key": "hacs/286186485.hacs",
|
||||
"data": {
|
||||
"archived": false,
|
||||
"authors": [
|
||||
"@nielsfaber"
|
||||
],
|
||||
"category": "integration",
|
||||
"content_in_root": false,
|
||||
"country": [],
|
||||
"config_flow": true,
|
||||
"default_branch": "main",
|
||||
"description": "Custom component for HA that enables the creation of scheduler entities",
|
||||
"domain": "scheduler",
|
||||
"domains": [],
|
||||
"downloads": 173,
|
||||
"etag_repository": "W/\"64b7c6bf6cebec946299473fb7ec1abfcdf1d3d69a65cc0dbfea133ed5b06360\"",
|
||||
"file_name": "",
|
||||
"filename": null,
|
||||
"first_install": false,
|
||||
"fork": false,
|
||||
"full_name": "nielsfaber/scheduler-component",
|
||||
"hacs": null,
|
||||
"hide": false,
|
||||
"hide_default_branch": false,
|
||||
"homeassistant": null,
|
||||
"id": "286186485",
|
||||
"iot_class": null,
|
||||
"installed": true,
|
||||
"installed_commit": "b683d53",
|
||||
"installed_version": "v3.2.10",
|
||||
"open_issues": 5,
|
||||
"last_commit": "b683d53",
|
||||
"last_version": "v3.2.10",
|
||||
"last_updated": "2022-06-02T06:36:20Z",
|
||||
"manifest_name": "Scheduler integration",
|
||||
"new": false,
|
||||
"persistent_directory": null,
|
||||
"pushed_at": "2022-06-02T06:36:20",
|
||||
"releases": true,
|
||||
"render_readme": true,
|
||||
"published_tags": [
|
||||
"v3.2.10",
|
||||
"v3.2.9",
|
||||
"v3.2.8",
|
||||
"v3.2.7",
|
||||
"v3.2.6"
|
||||
],
|
||||
"selected_tag": null,
|
||||
"show_beta": false,
|
||||
"stargazers_count": 292,
|
||||
"topics": [
|
||||
"custom-component",
|
||||
"hacs",
|
||||
"homeassistant",
|
||||
"integration",
|
||||
"python",
|
||||
"scheduler"
|
||||
],
|
||||
"zip_release": false
|
||||
}
|
||||
}
|
||||
70
.storage/hacs/286270157.hacs
Normal file
70
.storage/hacs/286270157.hacs
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"version": "6",
|
||||
"minor_version": 1,
|
||||
"key": "hacs/286270157.hacs",
|
||||
"data": {
|
||||
"archived": false,
|
||||
"authors": [],
|
||||
"category": "plugin",
|
||||
"content_in_root": false,
|
||||
"country": [],
|
||||
"config_flow": false,
|
||||
"default_branch": "main",
|
||||
"description": "HA Lovelace card for control of scheduler entities",
|
||||
"domain": "",
|
||||
"domains": [],
|
||||
"downloads": 4124,
|
||||
"etag_repository": "W/\"ae9399bf823de6e5d633fc8e5c539f19b44ee94baa4d2c29a92686279538b91a\"",
|
||||
"file_name": "scheduler-card.js",
|
||||
"filename": "scheduler-card.js",
|
||||
"first_install": false,
|
||||
"fork": false,
|
||||
"full_name": "nielsfaber/scheduler-card",
|
||||
"hacs": null,
|
||||
"hide": false,
|
||||
"hide_default_branch": false,
|
||||
"homeassistant": null,
|
||||
"id": "286270157",
|
||||
"iot_class": null,
|
||||
"installed": true,
|
||||
"installed_commit": "5b7d19b",
|
||||
"installed_version": "v2.3.6",
|
||||
"open_issues": 9,
|
||||
"last_commit": "5b7d19b",
|
||||
"last_version": "v2.3.6",
|
||||
"last_updated": "2022-08-23T19:00:00Z",
|
||||
"manifest_name": null,
|
||||
"new": false,
|
||||
"persistent_directory": null,
|
||||
"pushed_at": "2022-08-23T19:00:00",
|
||||
"releases": true,
|
||||
"render_readme": true,
|
||||
"published_tags": [
|
||||
"v2.3.6",
|
||||
"v2.3.5",
|
||||
"v2.3.4",
|
||||
"v2.3.3",
|
||||
"v2.3.2"
|
||||
],
|
||||
"selected_tag": null,
|
||||
"show_beta": false,
|
||||
"stargazers_count": 440,
|
||||
"topics": [
|
||||
"assistant",
|
||||
"automation",
|
||||
"card",
|
||||
"custom-card",
|
||||
"home",
|
||||
"home-assistant",
|
||||
"homeassistant",
|
||||
"lovelace",
|
||||
"schedule",
|
||||
"scheduler",
|
||||
"sunrise",
|
||||
"sunset",
|
||||
"week",
|
||||
"weekly"
|
||||
],
|
||||
"zip_release": false
|
||||
}
|
||||
}
|
||||
7
.storage/hassio
Normal file
7
.storage/hassio
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"data": {
|
||||
"hassio_user": "508c7e7c70da41dcb39e2a6e23d6fac1"
|
||||
},
|
||||
"key": "hassio",
|
||||
"version": 1
|
||||
}
|
||||
115
.storage/homekit.e1101f79ce9b41a28359a95f85e57b63.aids
Normal file
115
.storage/homekit.e1101f79ce9b41a28359a95f85e57b63.aids
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "homekit.e1101f79ce9b41a28359a95f85e57b63.aids",
|
||||
"data": {
|
||||
"allocations": {
|
||||
"homeassistant.scene.arbeitszimmer_blau_grun": 2317157230,
|
||||
"homeassistant.scene.arbeitszimmer_hell": 3215372892,
|
||||
"homeassistant.scene.arbeitszimmer_martin_blau_grun": 3700062852,
|
||||
"homeassistant.scene.arbeitszimmer_martin_hell": 2595314010,
|
||||
"homeassistant.scene.arbeitszimmer_martin_orange": 3991166903,
|
||||
"homeassistant.scene.arbeitszimmer_orange": 982016353,
|
||||
"homeassistant.scene.bad_baden": 1402562114,
|
||||
"homeassistant.scene.bad_hell": 165560953,
|
||||
"homeassistant.scene.bad_normal": 128283673,
|
||||
"homeassistant.scene.garten_savanna": 3224549740,
|
||||
"homeassistant.scene.kinderzimmer_hell": 1060540279,
|
||||
"homeassistant.scene.kinderzimmer_normal": 441609939,
|
||||
"homeassistant.scene.kinderzimmer_orange": 2343533594,
|
||||
"homeassistant.scene.kinderzimmer_wickeln_nachts": 1707572019,
|
||||
"homeassistant.scene.kueche_essbereich_blau_grun": 3803762149,
|
||||
"homeassistant.scene.kueche_essbereich_grun": 3486046132,
|
||||
"homeassistant.scene.kueche_essbereich_hell": 4039341725,
|
||||
"homeassistant.scene.kueche_essbereich_orange": 14587584,
|
||||
"homeassistant.scene.schlafzimmer_bettlich_dunkel": 4138950599,
|
||||
"homeassistant.scene.schlafzimmer_blau": 3000736384,
|
||||
"homeassistant.scene.schlafzimmer_einschlaflicht": 4090447399,
|
||||
"homeassistant.scene.schlafzimmer_ganz_hell": 3216392962,
|
||||
"homeassistant.scene.schlafzimmer_orange": 3610510258,
|
||||
"homeassistant.scene.schlafzimmer_rot": 44459589,
|
||||
"homeassistant.scene.schlafzimmer_stillen": 257166545,
|
||||
"homeassistant.scene.wohnberech_blau_grun": 243992313,
|
||||
"homeassistant.scene.wohnbereich_grun": 1045353045,
|
||||
"homeassistant.scene.wohnbereich_hell": 978395200,
|
||||
"homeassistant.scene.wohnbereich_kuscheln": 384753228,
|
||||
"homeassistant.scene.wohnbereich_meditation": 3264580691,
|
||||
"homeassistant.scene.wohnbereich_orange": 688806765,
|
||||
"homeassistant.scene.wohnzimmer_blau_grun": 4000943698,
|
||||
"homeassistant.scene.wohnzimmer_dunkel": 1371653238,
|
||||
"homeassistant.scene.wohnzimmer_grun": 2534588597,
|
||||
"homeassistant.scene.wohnzimmer_hell": 2467733920,
|
||||
"homeassistant.scene.wohnzimmer_orange": 3462548685,
|
||||
"light.arbeitszimmer_deckenlampe": 3626140425,
|
||||
"cover.arbeitszimmer_rollo": 339823541,
|
||||
"cover.wohnzimmer_fenster_rollo": 3756587471,
|
||||
"cover.wohnzimmer_terrassentur_rollo": 230856714,
|
||||
"cover.kuche_fenster_rollo": 2724296497,
|
||||
"cover.esszimmer_fenster_rollo": 3842095442,
|
||||
"light.gang_licht": 3695130407,
|
||||
"light.gang_einganglicht": 2780319252,
|
||||
"hue.light.00:17:88:01:00:cb:65:11-0b": 705329781,
|
||||
"hue.light.00:17:88:01:10:37:b3:58-0b": 785486930,
|
||||
"hue.light.00:17:88:01:02:07:a2:e7-0b": 2399142839,
|
||||
"hue.light.00:17:88:01:02:07:a1:f7-0b": 1099356099,
|
||||
"light.essbereich_lichter": 2392126668,
|
||||
"light.wohnzimmer_lichter": 1964405263,
|
||||
"light.wohnbereich_deckenlampen": 4102254641,
|
||||
"hue.light.00:17:88:01:00:cb:8b:3d-0b": 3955885029,
|
||||
"hue.light.00:17:88:01:00:cb:65:3c-0b": 3112281005,
|
||||
"hue.light.00:17:88:01:01:1b:4f:25-0b": 4206129946,
|
||||
"hue.light.00:12:4b:00:02:5f:c0:44-0b": 2992723811,
|
||||
"hue.light.00:17:88:01:00:cd:c7:fe-0b": 3666810401,
|
||||
"hue.light.00:17:88:01:00:cd:c7:fa-0b": 4276113061,
|
||||
"hue.light.00:17:88:01:00:b5:39:23-0b": 781520107,
|
||||
"hue.light.00:17:88:01:10:4e:75:a8-0b": 1456959566,
|
||||
"cover.schlafzimmer_rollo_klein": 2213360758,
|
||||
"cover.schlafzimmer_rollo_gross": 3660329119,
|
||||
"cover.kinderzimmer_rollo": 1574429360,
|
||||
"light.schlafzimmer_deckenlampe": 4086191374,
|
||||
"light.kinderzimmer_deckenlampe": 1357007410,
|
||||
"switch.bad_lufter": 2108832927,
|
||||
"light.wohnzimmer_deckenlampe": 1245031287,
|
||||
"light.esszimmer_deckenlampe_west": 460794150,
|
||||
"light.esszimmer_deckenlampe_mitte": 1545120842,
|
||||
"light.kuche_deckenlampe": 2326514259,
|
||||
"light.aussen_terassenlicht": 3235466278,
|
||||
"light.bad_licht": 1272095113,
|
||||
"light.garten_lichter": 1632988290,
|
||||
"hue.light.00:17:88:01:10:4e:5e:ff-0b": 523075551,
|
||||
"hue.light.00:17:88:01:06:25:80:c9-0b": 1543867072,
|
||||
"hue.light.00:17:88:01:06:25:94:0c-0b": 131117266,
|
||||
"hue.light.00:17:88:01:04:f9:c3:32-0b": 3928279087,
|
||||
"hue.light.00:17:88:01:04:4b:41:7f-0b": 3725059807,
|
||||
"hue.light.00:17:88:01:04:98:e6:60-0b": 657349039,
|
||||
"hue.light.00:17:88:01:04:05:22:c6-0b": 1662526083,
|
||||
"script.bedroom_music_off_20": 2357725677,
|
||||
"script.bedroom_music_off_30": 109377636,
|
||||
"script.bedroom_music_off_45": 58897684,
|
||||
"script.bedroom_music_off_60": 4101906505,
|
||||
"script.bedroom_waves": 3287422185,
|
||||
"script.bedroom_rain": 2176118223,
|
||||
"script.bedroom_sleep_music_long": 2167838011,
|
||||
"script.bedroom_sleep_music_short": 2422372189,
|
||||
"hue.light.3ae16067-778e-47d9-86c5-d75d28b7f01b": 1762055787,
|
||||
"hue.light.d6c3f683-2a24-4fc4-8055-eec68b3bb2f5": 4252871793,
|
||||
"hue.light.22ffd26f-a76f-4c88-b2d8-2220ef7f8537": 1463708737,
|
||||
"hue.light.a07ffc61-1d40-406b-b699-eb25c70d9cc4": 2276656891,
|
||||
"hue.light.2e84b76c-748f-4375-82ab-05e15f4b7223": 2014439809,
|
||||
"hue.light.58c1bf6f-844e-4690-a21e-f543ae544478": 363823799,
|
||||
"hue.light.652b0901-18b3-4172-9c06-ca11a9cde172": 1710044888,
|
||||
"hue.light.0aa6b6e3-7835-44bd-b1fe-06e7d38357bd": 3764471800,
|
||||
"hue.light.8780e8b9-f420-4679-b434-3a3a02a32d17": 2802754275,
|
||||
"hue.light.06259ccb-4b42-4f43-b33f-73b6fa5088c8": 3008706353,
|
||||
"hue.light.56174d32-5767-458d-b3bf-f18fee04e33b": 3899854062,
|
||||
"hue.light.c720f6e9-2444-4b36-be7a-b08cc4eed965": 1758205815,
|
||||
"hue.light.de928995-bdc2-40d3-94a4-8aaee26a730f": 1173734377,
|
||||
"hue.light.0d5d67e0-1f5b-4fe6-aae7-ac6f1f37fcaf": 2788850002,
|
||||
"hue.light.78da0de5-c611-4b7e-8dc1-5d66347bed9b": 2202441427,
|
||||
"hue.light.91b4abd8-c147-4b27-86ae-de083b6e860b": 2105360777,
|
||||
"hue.light.d00eeb4b-0aa8-494f-aa64-1f84faa38213": 4065476362,
|
||||
"hue.light.67247d33-bc41-4308-b2bb-144abd298001": 700545104,
|
||||
"hue.light.515b9513-f060-4955-9dad-3e41e16f89ca": 2146599903
|
||||
}
|
||||
}
|
||||
}
|
||||
854
.storage/homekit.e1101f79ce9b41a28359a95f85e57b63.iids
Normal file
854
.storage/homekit.e1101f79ce9b41a28359a95f85e57b63.iids
Normal file
@@ -0,0 +1,854 @@
|
||||
{
|
||||
"version": 2,
|
||||
"minor_version": 1,
|
||||
"key": "homekit.e1101f79ce9b41a28359a95f85e57b63.iids",
|
||||
"data": {
|
||||
"allocations": {
|
||||
"1": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 2,
|
||||
"3E__20_": 3,
|
||||
"3E__21_": 4,
|
||||
"3E__23_": 5,
|
||||
"3E__30_": 6,
|
||||
"3E__52_": 7,
|
||||
"A2___": 8,
|
||||
"A2__37_": 9
|
||||
},
|
||||
"982016353": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 11,
|
||||
"3E__20_": 12,
|
||||
"3E__21_": 13,
|
||||
"3E__23_": 14,
|
||||
"3E__30_": 15,
|
||||
"3E__52_": 16,
|
||||
"49___": 17,
|
||||
"49__25_": 18
|
||||
},
|
||||
"2317157230": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 20,
|
||||
"3E__20_": 21,
|
||||
"3E__21_": 22,
|
||||
"3E__23_": 23,
|
||||
"3E__30_": 24,
|
||||
"3E__52_": 25,
|
||||
"49___": 26,
|
||||
"49__25_": 27
|
||||
},
|
||||
"3215372892": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 29,
|
||||
"3E__20_": 30,
|
||||
"3E__21_": 31,
|
||||
"3E__23_": 32,
|
||||
"3E__30_": 33,
|
||||
"3E__52_": 34,
|
||||
"49___": 35,
|
||||
"49__25_": 36
|
||||
},
|
||||
"4138950599": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 38,
|
||||
"3E__20_": 39,
|
||||
"3E__21_": 40,
|
||||
"3E__23_": 41,
|
||||
"3E__30_": 42,
|
||||
"3E__52_": 43,
|
||||
"49___": 44,
|
||||
"49__25_": 45
|
||||
},
|
||||
"257166545": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 47,
|
||||
"3E__20_": 48,
|
||||
"3E__21_": 49,
|
||||
"3E__23_": 50,
|
||||
"3E__30_": 51,
|
||||
"3E__52_": 52,
|
||||
"49___": 53,
|
||||
"49__25_": 54
|
||||
},
|
||||
"4090447399": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 56,
|
||||
"3E__20_": 57,
|
||||
"3E__21_": 58,
|
||||
"3E__23_": 59,
|
||||
"3E__30_": 60,
|
||||
"3E__52_": 61,
|
||||
"49___": 62,
|
||||
"49__25_": 63
|
||||
},
|
||||
"3610510258": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 65,
|
||||
"3E__20_": 66,
|
||||
"3E__21_": 67,
|
||||
"3E__23_": 68,
|
||||
"3E__30_": 69,
|
||||
"3E__52_": 70,
|
||||
"49___": 71,
|
||||
"49__25_": 72
|
||||
},
|
||||
"44459589": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 74,
|
||||
"3E__20_": 75,
|
||||
"3E__21_": 76,
|
||||
"3E__23_": 77,
|
||||
"3E__30_": 78,
|
||||
"3E__52_": 79,
|
||||
"49___": 80,
|
||||
"49__25_": 81
|
||||
},
|
||||
"3000736384": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 83,
|
||||
"3E__20_": 84,
|
||||
"3E__21_": 85,
|
||||
"3E__23_": 86,
|
||||
"3E__30_": 87,
|
||||
"3E__52_": 88,
|
||||
"49___": 89,
|
||||
"49__25_": 90
|
||||
},
|
||||
"3216392962": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 92,
|
||||
"3E__20_": 93,
|
||||
"3E__21_": 94,
|
||||
"3E__23_": 95,
|
||||
"3E__30_": 96,
|
||||
"3E__52_": 97,
|
||||
"49___": 98,
|
||||
"49__25_": 99
|
||||
},
|
||||
"688806765": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 101,
|
||||
"3E__20_": 102,
|
||||
"3E__21_": 103,
|
||||
"3E__23_": 104,
|
||||
"3E__30_": 105,
|
||||
"3E__52_": 106,
|
||||
"49___": 107,
|
||||
"49__25_": 108
|
||||
},
|
||||
"243992313": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 110,
|
||||
"3E__20_": 111,
|
||||
"3E__21_": 112,
|
||||
"3E__23_": 113,
|
||||
"3E__30_": 114,
|
||||
"3E__52_": 115,
|
||||
"49___": 116,
|
||||
"49__25_": 117
|
||||
},
|
||||
"1045353045": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 119,
|
||||
"3E__20_": 120,
|
||||
"3E__21_": 121,
|
||||
"3E__23_": 122,
|
||||
"3E__30_": 123,
|
||||
"3E__52_": 124,
|
||||
"49___": 125,
|
||||
"49__25_": 126
|
||||
},
|
||||
"978395200": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 128,
|
||||
"3E__20_": 129,
|
||||
"3E__21_": 130,
|
||||
"3E__23_": 131,
|
||||
"3E__30_": 132,
|
||||
"3E__52_": 133,
|
||||
"49___": 134,
|
||||
"49__25_": 135
|
||||
},
|
||||
"384753228": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 137,
|
||||
"3E__20_": 138,
|
||||
"3E__21_": 139,
|
||||
"3E__23_": 140,
|
||||
"3E__30_": 141,
|
||||
"3E__52_": 142,
|
||||
"49___": 143,
|
||||
"49__25_": 144
|
||||
},
|
||||
"1245031287": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 146,
|
||||
"3E__20_": 147,
|
||||
"3E__21_": 148,
|
||||
"3E__23_": 149,
|
||||
"3E__30_": 150,
|
||||
"3E__52_": 151,
|
||||
"43___": 152,
|
||||
"43__25_": 153,
|
||||
"43__8_": 154
|
||||
},
|
||||
"460794150": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 156,
|
||||
"3E__20_": 157,
|
||||
"3E__21_": 158,
|
||||
"3E__23_": 159,
|
||||
"3E__30_": 160,
|
||||
"3E__52_": 161,
|
||||
"43___": 162,
|
||||
"43__25_": 163,
|
||||
"43__8_": 164
|
||||
},
|
||||
"1545120842": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 166,
|
||||
"3E__20_": 167,
|
||||
"3E__21_": 168,
|
||||
"3E__23_": 169,
|
||||
"3E__30_": 170,
|
||||
"3E__52_": 171,
|
||||
"43___": 172,
|
||||
"43__25_": 173,
|
||||
"43__8_": 174
|
||||
},
|
||||
"2326514259": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 176,
|
||||
"3E__20_": 177,
|
||||
"3E__21_": 178,
|
||||
"3E__23_": 179,
|
||||
"3E__30_": 180,
|
||||
"3E__52_": 181,
|
||||
"43___": 182,
|
||||
"43__25_": 183,
|
||||
"43__8_": 184
|
||||
},
|
||||
"3235466278": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 186,
|
||||
"3E__20_": 187,
|
||||
"3E__21_": 188,
|
||||
"3E__23_": 189,
|
||||
"3E__30_": 190,
|
||||
"3E__52_": 191,
|
||||
"43___": 192,
|
||||
"43__25_": 193,
|
||||
"43__8_": 194
|
||||
},
|
||||
"3695130407": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 196,
|
||||
"3E__20_": 197,
|
||||
"3E__21_": 198,
|
||||
"3E__23_": 199,
|
||||
"3E__30_": 200,
|
||||
"3E__52_": 201,
|
||||
"43___": 202,
|
||||
"43__25_": 203,
|
||||
"43__8_": 204
|
||||
},
|
||||
"1272095113": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 206,
|
||||
"3E__20_": 207,
|
||||
"3E__21_": 208,
|
||||
"3E__23_": 209,
|
||||
"3E__30_": 210,
|
||||
"3E__52_": 211,
|
||||
"43___": 212,
|
||||
"43__25_": 213,
|
||||
"43__8_": 214
|
||||
},
|
||||
"2780319252": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 216,
|
||||
"3E__20_": 217,
|
||||
"3E__21_": 218,
|
||||
"3E__23_": 219,
|
||||
"3E__30_": 220,
|
||||
"3E__52_": 221,
|
||||
"43___": 222,
|
||||
"43__25_": 223,
|
||||
"43__8_": 224
|
||||
},
|
||||
"2392126668": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 226,
|
||||
"3E__20_": 227,
|
||||
"3E__21_": 228,
|
||||
"3E__23_": 229,
|
||||
"3E__30_": 230,
|
||||
"3E__52_": 231,
|
||||
"43___": 232,
|
||||
"43__25_": 233,
|
||||
"43__8_": 234,
|
||||
"43__13_": 235,
|
||||
"43__2F_": 236,
|
||||
"43__CE_": 237
|
||||
},
|
||||
"1964405263": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 239,
|
||||
"3E__20_": 240,
|
||||
"3E__21_": 241,
|
||||
"3E__23_": 242,
|
||||
"3E__30_": 243,
|
||||
"3E__52_": 244,
|
||||
"43___": 245,
|
||||
"43__25_": 246,
|
||||
"43__8_": 247,
|
||||
"43__13_": 248,
|
||||
"43__2F_": 249,
|
||||
"43__CE_": 250
|
||||
},
|
||||
"4102254641": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 252,
|
||||
"3E__20_": 253,
|
||||
"3E__21_": 254,
|
||||
"3E__23_": 255,
|
||||
"3E__30_": 256,
|
||||
"3E__52_": 257,
|
||||
"43___": 258,
|
||||
"43__25_": 259,
|
||||
"43__8_": 260
|
||||
},
|
||||
"1632988290": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 262,
|
||||
"3E__20_": 263,
|
||||
"3E__21_": 264,
|
||||
"3E__23_": 265,
|
||||
"3E__30_": 266,
|
||||
"3E__52_": 267,
|
||||
"43___": 268,
|
||||
"43__25_": 269,
|
||||
"43__8_": 270,
|
||||
"43__13_": 271,
|
||||
"43__2F_": 272,
|
||||
"43__CE_": 273
|
||||
},
|
||||
"3756587471": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 275,
|
||||
"3E__20_": 276,
|
||||
"3E__21_": 277,
|
||||
"3E__23_": 278,
|
||||
"3E__30_": 279,
|
||||
"3E__52_": 280,
|
||||
"8C___": 281,
|
||||
"8C__6D_": 282,
|
||||
"8C__7C_": 283,
|
||||
"8C__72_": 284,
|
||||
"8C__6F_": 285
|
||||
},
|
||||
"230856714": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 287,
|
||||
"3E__20_": 288,
|
||||
"3E__21_": 289,
|
||||
"3E__23_": 290,
|
||||
"3E__30_": 291,
|
||||
"3E__52_": 292,
|
||||
"8C___": 293,
|
||||
"8C__6D_": 294,
|
||||
"8C__7C_": 295,
|
||||
"8C__72_": 296,
|
||||
"8C__6F_": 297
|
||||
},
|
||||
"2724296497": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 299,
|
||||
"3E__20_": 300,
|
||||
"3E__21_": 301,
|
||||
"3E__23_": 302,
|
||||
"3E__30_": 303,
|
||||
"3E__52_": 304,
|
||||
"8C___": 305,
|
||||
"8C__6D_": 306,
|
||||
"8C__7C_": 307,
|
||||
"8C__72_": 308,
|
||||
"8C__6F_": 309
|
||||
},
|
||||
"3842095442": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 311,
|
||||
"3E__20_": 312,
|
||||
"3E__21_": 313,
|
||||
"3E__23_": 314,
|
||||
"3E__30_": 315,
|
||||
"3E__52_": 316,
|
||||
"8C___": 317,
|
||||
"8C__6D_": 318,
|
||||
"8C__7C_": 319,
|
||||
"8C__72_": 320,
|
||||
"8C__6F_": 321
|
||||
},
|
||||
"2357725677": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 323,
|
||||
"3E__20_": 324,
|
||||
"3E__21_": 325,
|
||||
"3E__23_": 326,
|
||||
"3E__30_": 327,
|
||||
"3E__52_": 328,
|
||||
"49___": 329,
|
||||
"49__25_": 330
|
||||
},
|
||||
"109377636": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 332,
|
||||
"3E__20_": 333,
|
||||
"3E__21_": 334,
|
||||
"3E__23_": 335,
|
||||
"3E__30_": 336,
|
||||
"3E__52_": 337,
|
||||
"49___": 338,
|
||||
"49__25_": 339
|
||||
},
|
||||
"58897684": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 341,
|
||||
"3E__20_": 342,
|
||||
"3E__21_": 343,
|
||||
"3E__23_": 344,
|
||||
"3E__30_": 345,
|
||||
"3E__52_": 346,
|
||||
"49___": 347,
|
||||
"49__25_": 348
|
||||
},
|
||||
"4101906505": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 350,
|
||||
"3E__20_": 351,
|
||||
"3E__21_": 352,
|
||||
"3E__23_": 353,
|
||||
"3E__30_": 354,
|
||||
"3E__52_": 355,
|
||||
"49___": 356,
|
||||
"49__25_": 357
|
||||
},
|
||||
"3287422185": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 359,
|
||||
"3E__20_": 360,
|
||||
"3E__21_": 361,
|
||||
"3E__23_": 362,
|
||||
"3E__30_": 363,
|
||||
"3E__52_": 364,
|
||||
"49___": 365,
|
||||
"49__25_": 366
|
||||
},
|
||||
"2176118223": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 368,
|
||||
"3E__20_": 369,
|
||||
"3E__21_": 370,
|
||||
"3E__23_": 371,
|
||||
"3E__30_": 372,
|
||||
"3E__52_": 373,
|
||||
"49___": 374,
|
||||
"49__25_": 375
|
||||
},
|
||||
"2167838011": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 377,
|
||||
"3E__20_": 378,
|
||||
"3E__21_": 379,
|
||||
"3E__23_": 380,
|
||||
"3E__30_": 381,
|
||||
"3E__52_": 382,
|
||||
"49___": 383,
|
||||
"49__25_": 384
|
||||
},
|
||||
"2422372189": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 386,
|
||||
"3E__20_": 387,
|
||||
"3E__21_": 388,
|
||||
"3E__23_": 389,
|
||||
"3E__30_": 390,
|
||||
"3E__52_": 391,
|
||||
"49___": 392,
|
||||
"49__25_": 393
|
||||
},
|
||||
"1357007410": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 395,
|
||||
"3E__20_": 396,
|
||||
"3E__21_": 397,
|
||||
"3E__23_": 398,
|
||||
"3E__30_": 399,
|
||||
"3E__52_": 400,
|
||||
"43___": 401,
|
||||
"43__25_": 402,
|
||||
"43__8_": 403
|
||||
},
|
||||
"2213360758": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 405,
|
||||
"3E__20_": 406,
|
||||
"3E__21_": 407,
|
||||
"3E__23_": 408,
|
||||
"3E__30_": 409,
|
||||
"3E__52_": 410,
|
||||
"8C___": 411,
|
||||
"8C__6D_": 412,
|
||||
"8C__7C_": 413,
|
||||
"8C__72_": 414,
|
||||
"8C__6F_": 415
|
||||
},
|
||||
"3626140425": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 417,
|
||||
"3E__20_": 418,
|
||||
"3E__21_": 419,
|
||||
"3E__23_": 420,
|
||||
"3E__30_": 421,
|
||||
"3E__52_": 422,
|
||||
"43___": 423,
|
||||
"43__25_": 424,
|
||||
"43__8_": 425
|
||||
},
|
||||
"3660329119": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 427,
|
||||
"3E__20_": 428,
|
||||
"3E__21_": 429,
|
||||
"3E__23_": 430,
|
||||
"3E__30_": 431,
|
||||
"3E__52_": 432,
|
||||
"8C___": 433,
|
||||
"8C__6D_": 434,
|
||||
"8C__7C_": 435,
|
||||
"8C__72_": 436,
|
||||
"8C__6F_": 437
|
||||
},
|
||||
"4086191374": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 439,
|
||||
"3E__20_": 440,
|
||||
"3E__21_": 441,
|
||||
"3E__23_": 442,
|
||||
"3E__30_": 443,
|
||||
"3E__52_": 444,
|
||||
"43___": 445,
|
||||
"43__25_": 446,
|
||||
"43__8_": 447
|
||||
},
|
||||
"1762055787": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 449,
|
||||
"3E__20_": 450,
|
||||
"3E__21_": 451,
|
||||
"3E__23_": 452,
|
||||
"3E__30_": 453,
|
||||
"3E__52_": 454,
|
||||
"43___": 455,
|
||||
"43__25_": 456,
|
||||
"43__8_": 457,
|
||||
"43__13_": 458,
|
||||
"43__2F_": 459,
|
||||
"43__CE_": 460
|
||||
},
|
||||
"4252871793": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 462,
|
||||
"3E__20_": 463,
|
||||
"3E__21_": 464,
|
||||
"3E__23_": 465,
|
||||
"3E__30_": 466,
|
||||
"3E__52_": 467,
|
||||
"43___": 468,
|
||||
"43__25_": 469,
|
||||
"43__8_": 470,
|
||||
"43__13_": 471,
|
||||
"43__2F_": 472,
|
||||
"43__CE_": 473
|
||||
},
|
||||
"1463708737": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 475,
|
||||
"3E__20_": 476,
|
||||
"3E__21_": 477,
|
||||
"3E__23_": 478,
|
||||
"3E__30_": 479,
|
||||
"3E__52_": 480,
|
||||
"43___": 481,
|
||||
"43__25_": 482,
|
||||
"43__8_": 483,
|
||||
"43__13_": 484,
|
||||
"43__2F_": 485
|
||||
},
|
||||
"2276656891": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 487,
|
||||
"3E__20_": 488,
|
||||
"3E__21_": 489,
|
||||
"3E__23_": 490,
|
||||
"3E__30_": 491,
|
||||
"3E__52_": 492,
|
||||
"43___": 493,
|
||||
"43__25_": 494,
|
||||
"43__8_": 495,
|
||||
"43__13_": 496,
|
||||
"43__2F_": 497,
|
||||
"43__CE_": 498
|
||||
},
|
||||
"2014439809": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 500,
|
||||
"3E__20_": 501,
|
||||
"3E__21_": 502,
|
||||
"3E__23_": 503,
|
||||
"3E__30_": 504,
|
||||
"3E__52_": 505,
|
||||
"43___": 506,
|
||||
"43__25_": 507,
|
||||
"43__8_": 508,
|
||||
"43__13_": 509,
|
||||
"43__2F_": 510,
|
||||
"43__CE_": 511
|
||||
},
|
||||
"363823799": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 513,
|
||||
"3E__20_": 514,
|
||||
"3E__21_": 515,
|
||||
"3E__23_": 516,
|
||||
"3E__30_": 517,
|
||||
"3E__52_": 518,
|
||||
"43___": 519,
|
||||
"43__25_": 520,
|
||||
"43__8_": 521,
|
||||
"43__13_": 522,
|
||||
"43__2F_": 523,
|
||||
"43__CE_": 524
|
||||
},
|
||||
"1710044888": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 526,
|
||||
"3E__20_": 527,
|
||||
"3E__21_": 528,
|
||||
"3E__23_": 529,
|
||||
"3E__30_": 530,
|
||||
"3E__52_": 531,
|
||||
"43___": 532,
|
||||
"43__25_": 533,
|
||||
"43__8_": 534,
|
||||
"43__13_": 535,
|
||||
"43__2F_": 536,
|
||||
"43__CE_": 537
|
||||
},
|
||||
"3764471800": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 539,
|
||||
"3E__20_": 540,
|
||||
"3E__21_": 541,
|
||||
"3E__23_": 542,
|
||||
"3E__30_": 543,
|
||||
"3E__52_": 544,
|
||||
"43___": 545,
|
||||
"43__25_": 546,
|
||||
"43__8_": 547,
|
||||
"43__13_": 548,
|
||||
"43__2F_": 549,
|
||||
"43__CE_": 550
|
||||
},
|
||||
"2802754275": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 552,
|
||||
"3E__20_": 553,
|
||||
"3E__21_": 554,
|
||||
"3E__23_": 555,
|
||||
"3E__30_": 556,
|
||||
"3E__52_": 557,
|
||||
"43___": 558,
|
||||
"43__25_": 559,
|
||||
"43__8_": 560,
|
||||
"43__13_": 561,
|
||||
"43__2F_": 562
|
||||
},
|
||||
"3008706353": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 564,
|
||||
"3E__20_": 565,
|
||||
"3E__21_": 566,
|
||||
"3E__23_": 567,
|
||||
"3E__30_": 568,
|
||||
"3E__52_": 569,
|
||||
"43___": 570,
|
||||
"43__25_": 571,
|
||||
"43__8_": 572,
|
||||
"43__13_": 573,
|
||||
"43__2F_": 574,
|
||||
"43__CE_": 575
|
||||
},
|
||||
"3899854062": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 577,
|
||||
"3E__20_": 578,
|
||||
"3E__21_": 579,
|
||||
"3E__23_": 580,
|
||||
"3E__30_": 581,
|
||||
"3E__52_": 582,
|
||||
"43___": 583,
|
||||
"43__25_": 584,
|
||||
"43__8_": 585,
|
||||
"43__13_": 586,
|
||||
"43__2F_": 587
|
||||
},
|
||||
"1758205815": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 589,
|
||||
"3E__20_": 590,
|
||||
"3E__21_": 591,
|
||||
"3E__23_": 592,
|
||||
"3E__30_": 593,
|
||||
"3E__52_": 594,
|
||||
"43___": 595,
|
||||
"43__25_": 596,
|
||||
"43__8_": 597,
|
||||
"43__13_": 598,
|
||||
"43__2F_": 599,
|
||||
"43__CE_": 600
|
||||
},
|
||||
"1173734377": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 602,
|
||||
"3E__20_": 603,
|
||||
"3E__21_": 604,
|
||||
"3E__23_": 605,
|
||||
"3E__30_": 606,
|
||||
"3E__52_": 607,
|
||||
"43___": 608,
|
||||
"43__25_": 609,
|
||||
"43__8_": 610,
|
||||
"43__13_": 611,
|
||||
"43__2F_": 612,
|
||||
"43__CE_": 613
|
||||
},
|
||||
"2788850002": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 615,
|
||||
"3E__20_": 616,
|
||||
"3E__21_": 617,
|
||||
"3E__23_": 618,
|
||||
"3E__30_": 619,
|
||||
"3E__52_": 620,
|
||||
"43___": 621,
|
||||
"43__25_": 622,
|
||||
"43__8_": 623,
|
||||
"43__13_": 624,
|
||||
"43__2F_": 625,
|
||||
"43__CE_": 626
|
||||
},
|
||||
"2202441427": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 628,
|
||||
"3E__20_": 629,
|
||||
"3E__21_": 630,
|
||||
"3E__23_": 631,
|
||||
"3E__30_": 632,
|
||||
"3E__52_": 633,
|
||||
"43___": 634,
|
||||
"43__25_": 635,
|
||||
"43__8_": 636,
|
||||
"43__13_": 637,
|
||||
"43__2F_": 638
|
||||
},
|
||||
"2105360777": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 640,
|
||||
"3E__20_": 641,
|
||||
"3E__21_": 642,
|
||||
"3E__23_": 643,
|
||||
"3E__30_": 644,
|
||||
"3E__52_": 645,
|
||||
"43___": 646,
|
||||
"43__25_": 647,
|
||||
"43__8_": 648,
|
||||
"43__13_": 649,
|
||||
"43__2F_": 650
|
||||
},
|
||||
"4065476362": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 652,
|
||||
"3E__20_": 653,
|
||||
"3E__21_": 654,
|
||||
"3E__23_": 655,
|
||||
"3E__30_": 656,
|
||||
"3E__52_": 657,
|
||||
"43___": 658,
|
||||
"43__25_": 659,
|
||||
"43__8_": 660,
|
||||
"43__13_": 661,
|
||||
"43__2F_": 662,
|
||||
"43__CE_": 663
|
||||
},
|
||||
"700545104": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 665,
|
||||
"3E__20_": 666,
|
||||
"3E__21_": 667,
|
||||
"3E__23_": 668,
|
||||
"3E__30_": 669,
|
||||
"3E__52_": 670,
|
||||
"43___": 671,
|
||||
"43__25_": 672,
|
||||
"43__8_": 673,
|
||||
"43__13_": 674,
|
||||
"43__2F_": 675,
|
||||
"43__CE_": 676
|
||||
},
|
||||
"2146599903": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 678,
|
||||
"3E__20_": 679,
|
||||
"3E__21_": 680,
|
||||
"3E__23_": 681,
|
||||
"3E__30_": 682,
|
||||
"3E__52_": 683,
|
||||
"43___": 684,
|
||||
"43__25_": 685,
|
||||
"43__8_": 686,
|
||||
"43__13_": 687,
|
||||
"43__2F_": 688,
|
||||
"43__CE_": 689
|
||||
},
|
||||
"339823541": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 691,
|
||||
"3E__20_": 692,
|
||||
"3E__21_": 693,
|
||||
"3E__23_": 694,
|
||||
"3E__30_": 695,
|
||||
"3E__52_": 696,
|
||||
"8C___": 697,
|
||||
"8C__6D_": 698,
|
||||
"8C__7C_": 699,
|
||||
"8C__72_": 700,
|
||||
"8C__6F_": 701
|
||||
},
|
||||
"1574429360": {
|
||||
"3E___": 1,
|
||||
"3E__14_": 703,
|
||||
"3E__20_": 704,
|
||||
"3E__21_": 705,
|
||||
"3E__23_": 706,
|
||||
"3E__30_": 707,
|
||||
"3E__52_": 708,
|
||||
"8C___": 709,
|
||||
"8C__6D_": 710,
|
||||
"8C__7C_": 711,
|
||||
"8C__72_": 712,
|
||||
"8C__6F_": 713
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1
.storage/homekit.e1101f79ce9b41a28359a95f85e57b63.state
Normal file
1
.storage/homekit.e1101f79ce9b41a28359a95f85e57b63.state
Normal file
@@ -0,0 +1 @@
|
||||
{"mac": "2C:5F:45:B9:36:2A", "config_version": 127, "paired_clients": {"6ae4feba-9725-4653-8a32-bfae21591972": "4463182fbace66328d3e534cf78b6f81ccfd0e4250bdb1d954418e3eed738269"}, "client_properties": {"6ae4feba-9725-4653-8a32-bfae21591972": {"permissions": 1}}, "accessories_hash": "34ae9175218d7e54ea3281ab1907168c22703667083d4c0ca1bf4725e3e9df9533697ac5bc8500201b2cff6f7dfe25789aa7a2d3cdd0eb5b9fce054ca1c0bf6a", "private_key": "03d847a9e20598ee99c5b47cfc64c07ce83c7aebc6720e26e83fdd4c359e33c7", "public_key": "f4de2e4b9a98f38d27af5914310f92b861f6cdbc02e22945554c07bbc3868f70"}
|
||||
18
.storage/http
Normal file
18
.storage/http
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "http",
|
||||
"data": {
|
||||
"use_x_forwarded_for": true,
|
||||
"trusted_proxies": [
|
||||
"192.168.178.80"
|
||||
],
|
||||
"cors_allowed_origins": [
|
||||
"https://cast.home-assistant.io"
|
||||
],
|
||||
"server_port": 8123,
|
||||
"ssl_profile": "modern",
|
||||
"ip_ban_enabled": true,
|
||||
"login_attempts_threshold": -1
|
||||
}
|
||||
}
|
||||
8
.storage/http.auth
Normal file
8
.storage/http.auth
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "http.auth",
|
||||
"data": {
|
||||
"content_user": "66ee14e588ef4a7bbd019a46eb9a3e29"
|
||||
}
|
||||
}
|
||||
18
.storage/input_number
Normal file
18
.storage/input_number
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": 1,
|
||||
"key": "input_number",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"min": 1.0,
|
||||
"max": 60.0,
|
||||
"name": "F\u00f6n aus in ",
|
||||
"unit_of_measurement": "Minuten",
|
||||
"icon": "mdi:time",
|
||||
"step": 1.0,
|
||||
"mode": "slider",
|
||||
"id": "fon_aus_in"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,575 +1,174 @@
|
||||
{
|
||||
"version": 1,
|
||||
"key": "lovelace",
|
||||
"data": {
|
||||
"config": {
|
||||
"title": "\u00dcbersicht",
|
||||
"views": [
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.living_area"
|
||||
],
|
||||
"image": "/local/img/living_area_16_9.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.wohnbereich_orange"
|
||||
},
|
||||
{
|
||||
"color": "#f2e616",
|
||||
"name": "Hell",
|
||||
"scene": "scene.wohnbereich_hell"
|
||||
},
|
||||
{
|
||||
"color": "#0050ff",
|
||||
"name": "Blau",
|
||||
"scene": "scene.wohnbereich_blau_grun"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.wohnzimmer_deckenlampe",
|
||||
"name": "Wohnzimmer Decke"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_west",
|
||||
"name": "Esstisch"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_mitte",
|
||||
"name": "Esszimmer Mitte"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_deckenlampe",
|
||||
"name": "K\u00fcche"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"name": "WZ Fenster",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_terrassentur_rollo",
|
||||
"name": "Terrassent\u00fcr",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kuche_fenster_rollo",
|
||||
"name": "K\u00fcche",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.esszimmer_fenster_rollo",
|
||||
"name": "Esszimmer",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.gang_licht",
|
||||
"name": "Gang Licht"
|
||||
},
|
||||
{
|
||||
"entity": "light.gang_bogen",
|
||||
"name": "Gang Bogen"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entity": "media_player.kitchenpi",
|
||||
"hide": {
|
||||
"power_state": false,
|
||||
"shuffle": false,
|
||||
"source": true,
|
||||
"volume": false
|
||||
},
|
||||
"idle_view": {
|
||||
"when_idle": true,
|
||||
"when_paused": true,
|
||||
"when_standby": true
|
||||
},
|
||||
"shortcuts": {
|
||||
"columns": 4,
|
||||
"label": "Playlists",
|
||||
"list": [
|
||||
{
|
||||
"icon": "mdi:alpha-r",
|
||||
"id": "http://dg-br-http-dus-dtag-cdn.cast.addradio.de/br/b5aktuell/live/mp3/128/stream.mp3?ar-distributor=f0a1",
|
||||
"name": "B5",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:alpha-b",
|
||||
"id": "spotify:playlist:37i9dQZF1DX6G7arXBXa3A",
|
||||
"name": "BigBand",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:alpha-j",
|
||||
"id": "spotify:playlist:37i9dQZF1DX4wta20PHgwo",
|
||||
"name": "LateNightJazz",
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "custom:mini-media-player"
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "switch.tasmota01",
|
||||
"icon": "mdi:led-strip-variant",
|
||||
"name": "Balkon Lichterkette"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota02",
|
||||
"icon": "mdi:star-face",
|
||||
"name": "Arbeitszimmer Stern"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota03",
|
||||
"icon": "mdi:star-four-points",
|
||||
"name": "Eingang Stern"
|
||||
},
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_1",
|
||||
"icon": "mdi:star",
|
||||
"name": "K\u00fcche Stern"
|
||||
},
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_2",
|
||||
"icon": "mdi:candle",
|
||||
"name": "Wohnzimmer"
|
||||
}
|
||||
],
|
||||
"title": "Weihnachten",
|
||||
"state_color": true,
|
||||
"icon": "mdi:pine-tree"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:sofa",
|
||||
"title": "Wohnbereich"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.bedroom"
|
||||
],
|
||||
"image": "/local/img/bedroom.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#eee",
|
||||
"icon": "mdi:shoe-print",
|
||||
"name": "Bettlicht Dunkel",
|
||||
"scene": "scene.schlafzimmer_bettlicht_dunkel"
|
||||
},
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.schlafzimmer_orange"
|
||||
},
|
||||
{
|
||||
"color": "#f35421",
|
||||
"name": "Rot",
|
||||
"scene": "scene.schlafzimmer_rot"
|
||||
},
|
||||
{
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.schlafzimmer_ganz_hell"
|
||||
},
|
||||
{
|
||||
"color": "#2eacd7",
|
||||
"name": "Blau",
|
||||
"scene": "scene.schlafzimmer_blau"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"artwork": "cover",
|
||||
"entity": "media_player.bedroompi",
|
||||
"hide": {
|
||||
"power_state": false,
|
||||
"shuffle": false,
|
||||
"source": true,
|
||||
"volume": false
|
||||
},
|
||||
"icon": "mdi:music",
|
||||
"shortcuts": {
|
||||
"buttons": [
|
||||
{
|
||||
"icon": "mdi:sleep",
|
||||
"id": "Good Night",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:power-sleep",
|
||||
"id": "Good Night Long",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:heart",
|
||||
"id": "Bar Classics",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:weather-lightning-rainy",
|
||||
"id": "spotify:playlist:37i9dQZF1DXbcPC6Vvqudd",
|
||||
"type": "music"
|
||||
}
|
||||
],
|
||||
"columns": 4,
|
||||
"label": "Playlists",
|
||||
"list": [
|
||||
{
|
||||
"icon": "mdi:waves",
|
||||
"id": "spotify:playlist:37i9dQZF1DX9if5QDLdzCa",
|
||||
"name": "Wellen",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:library-music-outline",
|
||||
"id": "spotify:playlist:37i9dQZF1DX7heGeZ10YDi",
|
||||
"name": "Different Sleeping List",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:saxophone",
|
||||
"id": "spotify:playlist:37i9dQZF1DX4wta20PHgwo",
|
||||
"name": "Late NightJazz",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:account-heart",
|
||||
"id": "spotify:playlist:2AmjhSAm6iI0qrXXhQyHgk",
|
||||
"name": "Romantic Jazz",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:violin",
|
||||
"id": "spotify:playlist:37i9dQZF1DX8Dd9bxD1WYH",
|
||||
"name": "Klassik zum Entspannen",
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "custom:mini-media-player"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "scene.schlafzimmer_stillen",
|
||||
"icon": "mdi:baby-bottle",
|
||||
"name": "Stillen"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_deckenlampe",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_fluter",
|
||||
"name": "Fluter"
|
||||
},
|
||||
{
|
||||
"entity": "light.bett_martin",
|
||||
"icon": "mdi:sleep",
|
||||
"name": "Bett Martin"
|
||||
},
|
||||
{
|
||||
"entity": "light.bett_rebecca",
|
||||
"icon": "mdi:sleep",
|
||||
"name": "Bett Rebecca"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_schrank",
|
||||
"icon": "mdi:trello",
|
||||
"name": "Schrank"
|
||||
},
|
||||
{
|
||||
"entity": "cover.schlafzimmer_rollo_gross",
|
||||
"name": "Rollo Gro\u00df",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.schlafzimmer_rollo_klein",
|
||||
"name": "Rollo Klein",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "automation.wecker_licht_an",
|
||||
"name": "Martin Wecker Licht an"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.martin_handy_alarm_sensor",
|
||||
"format": "relative",
|
||||
"name": "Wecker"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.schlafzimmer_dht22_temperatur",
|
||||
"name": "Temperatur"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.schlafzimmer_dht22_luftfeuchtigkeit",
|
||||
"name": "Luftfeuchtigkeit"
|
||||
}
|
||||
],
|
||||
"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",
|
||||
"path": "schlafzimmer",
|
||||
"title": "Schlafzimmer"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.office"
|
||||
],
|
||||
"image": "/local/img/office_martin_16_9.jpg",
|
||||
"name": "Arbeitszimmer",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.arbeitszimmer_orange"
|
||||
},
|
||||
{
|
||||
"color": "#2eacd7",
|
||||
"name": "Blau",
|
||||
"scene": "scene.arbeitszimmer_blau_grun"
|
||||
},
|
||||
{
|
||||
"color": "#fff",
|
||||
"name": "Hell",
|
||||
"scene": "scene.arbeitszimmer_hell"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.arbeitszimmer_deckenlampe",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_fluter",
|
||||
"name": "Fluter"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_stehlampe_oben",
|
||||
"name": "Stehlampe Oben"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_stehlampe_unten",
|
||||
"name": "Stehlampe Unten"
|
||||
},
|
||||
{
|
||||
"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,
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:monitor-multiple",
|
||||
"path": "arbeitszimmer",
|
||||
"title": "Arbeitszimmer"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.kids_room"
|
||||
],
|
||||
"image": "/local/img/kinderzimmer.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#ffffff",
|
||||
"icon": "mdi:weather-night",
|
||||
"name": "Wickel nachts",
|
||||
"scene": "scene.kinderzimmer_wickeln_nachts"
|
||||
},
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Normal",
|
||||
"scene": "scene.kinderzimmer_normal"
|
||||
},
|
||||
{
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.kinderzimmer_hell"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.kinderzimmer_deckenlampe",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "light.kinderzimmer_fluter",
|
||||
"name": "Fluter"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kinderzimmer_rollo",
|
||||
"name": "Rollo Klein",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota06",
|
||||
"name": "Kamera Schlafzimmer",
|
||||
"icon": "mdi:video"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota07",
|
||||
"name": "F\u00f6n Schlafzimmer",
|
||||
"icon": "mdi:fan"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"aspect_ratio": "0%",
|
||||
"camera_image": "camera.babycamera_mainstream",
|
||||
"entity": "camera.babycamera_mainstream",
|
||||
"image": "https://demo.home-assistant.io/stub_config/bedroom.png",
|
||||
"name": "BabyCam",
|
||||
"type": "picture-entity"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:star-face",
|
||||
"panel": false,
|
||||
"path": "kinderzimmer",
|
||||
"title": "Kinderzimmer"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.bad_licht",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "switch.bad_lufter",
|
||||
"icon": "mdi:emoticon-poop",
|
||||
"name": "L\u00fcfter"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:fish",
|
||||
"path": "bad-and-co",
|
||||
"title": "Bad & Co"
|
||||
}
|
||||
]
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "lovelace",
|
||||
"data": {
|
||||
"config": {
|
||||
"kiosk_mode": {
|
||||
"mobile_settings": {
|
||||
"hide_overflow": true
|
||||
}
|
||||
},
|
||||
"title": "Übersicht",
|
||||
"views": [
|
||||
{
|
||||
"title": "Übersicht",
|
||||
"path": "ubersicht",
|
||||
"icon": "mdi:home",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"type": "conditional",
|
||||
"conditions": [
|
||||
{
|
||||
"entity": "light.wohnbereich_lichter",
|
||||
"state": "on"
|
||||
}
|
||||
],
|
||||
"row": {
|
||||
"entity": "light.wohnbereich_deckenlampen"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "conditional",
|
||||
"conditions": [
|
||||
{
|
||||
"entity": "sun.sun",
|
||||
"state": "above_horizon"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"state": "open"
|
||||
}
|
||||
],
|
||||
"row": {
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"name": "WZ Fenster Rollo",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
}
|
||||
}
|
||||
],
|
||||
"title": "Wohnbereich"
|
||||
},
|
||||
{
|
||||
"type": "entity-filter",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_lircd"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_squeezelite"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_shairport_sync"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_dht22_sensing"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_lircd"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_squeezelite"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_shairport_sync"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_dht22_sensing"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_lircd"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_squeezelite"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_shairport_sync"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_sispmctl"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_irserver"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_squeezelite"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_shairport_sync"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_logitechmediaserver"
|
||||
}
|
||||
],
|
||||
"state_filter": [
|
||||
"off"
|
||||
],
|
||||
"show_empty": false,
|
||||
"card": {
|
||||
"title": "Non-running services"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "cover.kinderzimmer_rollo",
|
||||
"name": "Kinderzimmer Rollo",
|
||||
"secondary_info": "none"
|
||||
},
|
||||
{
|
||||
"type": "custom:template-entity-row",
|
||||
"name": "{% set level = state_attr(\"cover.kinderzimmer_rollo\",\"current_position\") %} {% if level < 20 %}Kinderzimmer Rollo ist zu seit: {{ (as_timestamp(now()) - as_timestamp(states.cover.kinderzimmer_rollo.last_changed)) | timestamp_custom(\"%H:%M\", false) }} {% else %}Kinderzimmer Rollo ist {%if level < 100 %} ({{level}}/100) {%endif%} offen {% endif %}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "tile",
|
||||
"entity": "light.arbeitszimmer_oben_fluter_hinten",
|
||||
"show_entity_picture": false,
|
||||
"features": [
|
||||
{
|
||||
"type": "light-brightness"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "tile",
|
||||
"entity": "light.arbeitszimmer_oben_fluter_vorne",
|
||||
"features": [
|
||||
{
|
||||
"type": "light-brightness"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Wetter",
|
||||
"path": "wetter",
|
||||
"icon": "mdi:weather-partly-cloudy",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"type": "weather-forecast",
|
||||
"entity": "weather.openweathermap",
|
||||
"show_forecast": true,
|
||||
"name": " "
|
||||
},
|
||||
{
|
||||
"type": "iframe",
|
||||
"url": "https://embed.windy.com/embed2.html?lat=49.369&lon=10.984&detailLat=49.369&detailLon=10.984&width=650&height=450&zoom=11&level=surface&overlay=rain&product=ecmwf&menu=&message=true&marker=true&calendar=now&pressure=&type=map&location=coordinates&detail=&metricWind=km%2Fh&metricTemp=%C2%B0C&radarRange=-1",
|
||||
"aspect_ratio": "80%",
|
||||
"title": "Regenradar"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
724
.storage/lovelace.01_areas
Normal file
724
.storage/lovelace.01_areas
Normal file
@@ -0,0 +1,724 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "lovelace.01_areas",
|
||||
"data": {
|
||||
"config": {
|
||||
"kiosk_mode": {
|
||||
"mobile_settings": {
|
||||
"hide_overflow": true
|
||||
}
|
||||
},
|
||||
"title": "Bereiche",
|
||||
"views": [
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.living_area"
|
||||
],
|
||||
"image": "/local/img/living_area_16_9.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.wohnbereich_orange"
|
||||
},
|
||||
{
|
||||
"color": "#f2e616",
|
||||
"name": "Hell",
|
||||
"scene": "scene.wohnbereich_hell"
|
||||
},
|
||||
{
|
||||
"color": "#0050ff",
|
||||
"name": "Blau",
|
||||
"scene": "scene.wohnbereich_blau_grun"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.wohnzimmer_deckenlampe",
|
||||
"name": "Wohnzimmer Decke"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_west",
|
||||
"name": "Esstisch"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_mitte",
|
||||
"name": "Esszimmer Mitte"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_deckenlampe",
|
||||
"name": "Küche"
|
||||
},
|
||||
{
|
||||
"type": "section",
|
||||
"label": "Rollos"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"name": "WZ Fenster",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_terrassentur_rollo",
|
||||
"name": "Terrassentür",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kuche_fenster_rollo",
|
||||
"name": "Küche",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.esszimmer_fenster_rollo",
|
||||
"name": "Esszimmer",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"type": "section",
|
||||
"label": "Gang"
|
||||
},
|
||||
{
|
||||
"entity": "light.gang_licht",
|
||||
"name": "Gang Licht"
|
||||
},
|
||||
{
|
||||
"entity": "light.gang_bogen",
|
||||
"name": "Gang Bogen"
|
||||
},
|
||||
{
|
||||
"entity": "automation.gang_bogen_nachtlicht",
|
||||
"name": "Autom. Bogenlicht"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entity": "media_player.kitchenpi",
|
||||
"hide": {
|
||||
"power_state": false,
|
||||
"shuffle": false,
|
||||
"source": true,
|
||||
"volume": false
|
||||
},
|
||||
"idle_view": {
|
||||
"when_idle": true,
|
||||
"when_paused": true,
|
||||
"when_standby": true
|
||||
},
|
||||
"shortcuts": {
|
||||
"columns": 4,
|
||||
"label": "Playlists",
|
||||
"list": [
|
||||
{
|
||||
"icon": "mdi:alpha-r",
|
||||
"id": "http://dg-br-http-dus-dtag-cdn.cast.addradio.de/br/b5aktuell/live/mp3/128/stream.mp3?ar-distributor=f0a1",
|
||||
"name": "B5",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:alpha-b",
|
||||
"id": "spotify:playlist:37i9dQZF1DX6G7arXBXa3A",
|
||||
"name": "BigBand",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:alpha-j",
|
||||
"id": "spotify:playlist:37i9dQZF1DX4wta20PHgwo",
|
||||
"name": "LateNightJazz",
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "custom:mini-media-player",
|
||||
"name": "Küche Radio"
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.wohnzimmer_deckenlampe",
|
||||
"name": "Deckenlampe",
|
||||
"icon": "mdi:ceiling-light"
|
||||
},
|
||||
{
|
||||
"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ür Rollo",
|
||||
"icon": "hass:door",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.wohnzimmer_terassentur_temperatur",
|
||||
"name": "Terassentür"
|
||||
}
|
||||
],
|
||||
"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ür"
|
||||
}
|
||||
],
|
||||
"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üche",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.kueche_dht22_temperatur",
|
||||
"name": "Raspi"
|
||||
}
|
||||
],
|
||||
"title": "Küche"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:sofa",
|
||||
"title": "Wohnbereich"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.bedroom"
|
||||
],
|
||||
"image": "/local/img/bedroom.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#eee",
|
||||
"icon": "mdi:shoe-print",
|
||||
"name": "Bettlicht Dunkel",
|
||||
"scene": "scene.schlafzimmer_bettlicht_dunkel"
|
||||
},
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.schlafzimmer_orange"
|
||||
},
|
||||
{
|
||||
"color": "#f35421",
|
||||
"name": "Rot",
|
||||
"scene": "scene.schlafzimmer_rot"
|
||||
},
|
||||
{
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.schlafzimmer_ganz_hell"
|
||||
},
|
||||
{
|
||||
"color": "#2eacd7",
|
||||
"name": "Blau",
|
||||
"scene": "scene.schlafzimmer_blau"
|
||||
}
|
||||
],
|
||||
"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üche"
|
||||
},
|
||||
{
|
||||
"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ßen"
|
||||
},
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_2",
|
||||
"name": "Balkon"
|
||||
}
|
||||
],
|
||||
"show_empty": false,
|
||||
"state_filter": [
|
||||
"on"
|
||||
],
|
||||
"type": "entity-filter"
|
||||
},
|
||||
{
|
||||
"artwork": "cover",
|
||||
"entity": "media_player.bedroompi",
|
||||
"hide": {
|
||||
"power_state": false,
|
||||
"shuffle": false,
|
||||
"source": true,
|
||||
"volume": false
|
||||
},
|
||||
"icon": "mdi:music",
|
||||
"shortcuts": {
|
||||
"buttons": [
|
||||
{
|
||||
"icon": "mdi:sleep",
|
||||
"id": "Good Night",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:power-sleep",
|
||||
"id": "Good Night Long",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:heart",
|
||||
"id": "Bar Classics",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:weather-lightning-rainy",
|
||||
"id": "spotify:playlist:37i9dQZF1DXbcPC6Vvqudd",
|
||||
"type": "music"
|
||||
}
|
||||
],
|
||||
"columns": 4,
|
||||
"label": "Playlists",
|
||||
"list": [
|
||||
{
|
||||
"icon": "mdi:waves",
|
||||
"id": "spotify:playlist:37i9dQZF1DX9if5QDLdzCa",
|
||||
"name": "Wellen",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:playlist-music",
|
||||
"id": "spotify:playlist:37i9dQZF1DX7heGeZ10YDi",
|
||||
"name": "Different Sleeping List",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:saxophone",
|
||||
"id": "spotify:playlist:37i9dQZF1DX4wta20PHgwo",
|
||||
"name": "Late NightJazz",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:account-heart",
|
||||
"id": "spotify:playlist:2AmjhSAm6iI0qrXXhQyHgk",
|
||||
"name": "Romantic Jazz",
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"icon": "mdi:violin",
|
||||
"id": "spotify:playlist:37i9dQZF1DX8Dd9bxD1WYH",
|
||||
"name": "Klassik zum Entspannen",
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "custom:mini-media-player"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "scene.schlafzimmer_stillen",
|
||||
"icon": "mdi:baby-bottle",
|
||||
"name": "Stillen"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_deckenlampe",
|
||||
"name": "Deckenlampe",
|
||||
"icon": "mdi:ceiling-light"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_fluter",
|
||||
"name": "Fluter",
|
||||
"icon": "hue:floor-shade"
|
||||
},
|
||||
{
|
||||
"entity": "light.bett_martin",
|
||||
"icon": "mdi:bed",
|
||||
"name": "Bett Martin"
|
||||
},
|
||||
{
|
||||
"entity": "light.bett_rebecca",
|
||||
"icon": "mdi:bed",
|
||||
"name": "Bett Rebecca"
|
||||
},
|
||||
{
|
||||
"entity": "light.schlafzimmer_schrank",
|
||||
"icon": "mdi:trello",
|
||||
"name": "Schrank"
|
||||
},
|
||||
{
|
||||
"entity": "cover.schlafzimmer_rollo_gross",
|
||||
"name": "Rollo Groß",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.schlafzimmer_rollo_klein",
|
||||
"name": "Rollo Klein",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "automation.wecker_licht_an",
|
||||
"name": "Martin Wecker Licht an"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.schlafzimmer_dht22_temperatur",
|
||||
"name": "Temperatur"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.schlafzimmer_dht22_luftfeuchtigkeit",
|
||||
"name": "Luftfeuchtigkeit"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:bed-empty",
|
||||
"path": "schlafzimmer",
|
||||
"title": "Schlafzimmer"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.office"
|
||||
],
|
||||
"image": "/local/img/office_martin_16_9.jpg",
|
||||
"name": "Arbeitszimmer",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Orange",
|
||||
"scene": "scene.arbeitszimmer_orange"
|
||||
},
|
||||
{
|
||||
"color": "#2eacd7",
|
||||
"name": "Blau",
|
||||
"scene": "scene.arbeitszimmer_blau_grun"
|
||||
},
|
||||
{
|
||||
"color": "#fff",
|
||||
"name": "Hell",
|
||||
"scene": "scene.arbeitszimmer_hell"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.arbeitszimmer_deckenlampe",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_fluter",
|
||||
"name": "Fluter"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_stehlampe_oben",
|
||||
"name": "Stehlampe Oben"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_stehlampe_unten",
|
||||
"name": "Stehlampe Unten"
|
||||
},
|
||||
{
|
||||
"entity": "cover.arbeitszimmer_rollo",
|
||||
"name": "Rollo",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_oben_fluter_hinten"
|
||||
},
|
||||
{
|
||||
"entity": "light.arbeitszimmer_oben_fluter_vorne"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:monitor-multiple",
|
||||
"path": "arbeitszimmer",
|
||||
"title": "Arbeitszimmer"
|
||||
},
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.kids_room"
|
||||
],
|
||||
"image": "/local/img/kinderzimmer.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"color": "#ffffff",
|
||||
"icon": "mdi:weather-night",
|
||||
"name": "Wickel nachts",
|
||||
"scene": "scene.kinderzimmer_wickeln_nachts"
|
||||
},
|
||||
{
|
||||
"color": "#f07a1d",
|
||||
"name": "Normal",
|
||||
"scene": "scene.kinderzimmer_normal"
|
||||
},
|
||||
{
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.kinderzimmer_hell"
|
||||
}
|
||||
],
|
||||
"type": "custom:room-glance-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.kinderzimmer_deckenlampe",
|
||||
"name": "Deckenlampe"
|
||||
},
|
||||
{
|
||||
"entity": "light.music_mouse_regal_licht",
|
||||
"name": "Regal",
|
||||
"icon": "hue:bulb-group-lightstrip"
|
||||
},
|
||||
{
|
||||
"entity": "light.kinderzimmer_fluter",
|
||||
"name": "Fluter",
|
||||
"icon": "hue:floor-shade"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kinderzimmer_rollo_2",
|
||||
"name": "Rollo Klein",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kinderzimmer_rollo",
|
||||
"name": "Rollo",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"aspect_ratio": "0%",
|
||||
"camera_image": "camera.babycamera_mainstream",
|
||||
"entity": "camera.babycamera_mainstream",
|
||||
"image": "https://demo.home-assistant.io/stub_config/bedroom.png",
|
||||
"name": "BabyCam",
|
||||
"type": "picture-entity"
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "timer.fon_timer"
|
||||
},
|
||||
{
|
||||
"type": "button",
|
||||
"name": "Aus in 10 min",
|
||||
"action_name": "Los",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"service": "timer.start",
|
||||
"service_data": {
|
||||
"entity_id": "timer.fon_timer",
|
||||
"duration": "00:10:00"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "button",
|
||||
"name": "Aus in 15 min",
|
||||
"action_name": "Los",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"service": "timer.start",
|
||||
"service_data": {
|
||||
"entity_id": "timer.fon_timer",
|
||||
"duration": "00:15:00"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"icon": "mdi:star-face",
|
||||
"panel": false,
|
||||
"path": "kinderzimmer",
|
||||
"title": "Kinderzimmer"
|
||||
},
|
||||
{
|
||||
"title": "Draussen",
|
||||
"path": "draussen",
|
||||
"icon": "mdi:tree",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.haustur_licht",
|
||||
"icon": "hue:wall-lantern",
|
||||
"name": "Haustür"
|
||||
},
|
||||
{
|
||||
"entity": "light.aussen_terassenlicht",
|
||||
"icon": "hue:wall-lantern",
|
||||
"name": "Terrasse"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.haustur_licht_nw",
|
||||
"name": "Ecklicht oben (NW)",
|
||||
"icon": "hue:wall-lantern"
|
||||
}
|
||||
],
|
||||
"title": "Licht",
|
||||
"state_color": true
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "switch.tasmota07",
|
||||
"name": "Balkon",
|
||||
"icon": "mdi:balcony"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota01",
|
||||
"name": "Eingang",
|
||||
"icon": "mdi:window-closed-variant"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota04",
|
||||
"name": "Esszimmer",
|
||||
"icon": "mdi:window-closed-variant"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota02",
|
||||
"name": "Wohnzimmer",
|
||||
"icon": "mdi:string-lights"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota05",
|
||||
"name": "Arbeitszimmer",
|
||||
"icon": "mdi:star-four-points"
|
||||
},
|
||||
{
|
||||
"entity": "switch.tasmota06",
|
||||
"name": "Treppe",
|
||||
"icon": "mdi:stairs"
|
||||
}
|
||||
],
|
||||
"title": "Weihnachten",
|
||||
"show_header_toggle": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
701
.storage/lovelace.05_detail
Normal file
701
.storage/lovelace.05_detail
Normal file
@@ -0,0 +1,701 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "lovelace.05_detail",
|
||||
"data": {
|
||||
"config": {
|
||||
"views": [
|
||||
{
|
||||
"title": "Sicherheit",
|
||||
"icon": "mdi:security",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "switch.trockner",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.waschmaschine",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.spulmaschine",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.backofen",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_1",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_2",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_3",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Sicherheitsabschaltung",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "binary_sensor.rauchmelder_schlafzimmer_smoke_alarm_smoke_detected"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.rauchmelder_unten_gang_smoke_alarm_smoke_detected"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.smoke_detector_and_siren_smoke_alarm_smoke_detected"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Rauchmelder",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.motion_combined",
|
||||
"format": "relative",
|
||||
"name": "Bewegung",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_ost",
|
||||
"name": "Eingang",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_mitte",
|
||||
"name": "Mitte",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_wohnzimmer",
|
||||
"name": "Zum Wohnzimmer",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_schlafzimmer",
|
||||
"name": "Zum Schlafzimmer",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.bewegungsmelder_west_led",
|
||||
"name": "LED Westen (Schlafzimmer)"
|
||||
},
|
||||
{
|
||||
"entity": "light.bewegungsmelder_ost_led",
|
||||
"name": "LED Vorne (Ost)"
|
||||
},
|
||||
{
|
||||
"entity": "light.bewegungsmelder_mitte_led",
|
||||
"name": "LED Mitte"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Bewegungsmelder",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"switch.klingel_innentur",
|
||||
"switch.klingel_aussentur",
|
||||
"switch.klingel_oben"
|
||||
],
|
||||
"icon": "mdi:bell",
|
||||
"title": "Klingel",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"type": "custom:valetudo-map-card",
|
||||
"entity": "camera.map_data",
|
||||
"title": "Staubsauger",
|
||||
"vacuum_entity": "vacuum.vacuum",
|
||||
"rotate": 0,
|
||||
"crop": {
|
||||
"top": 0,
|
||||
"bottom": 0,
|
||||
"left": 80,
|
||||
"right": 0
|
||||
},
|
||||
"min_height": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Admin",
|
||||
"path": "admin",
|
||||
"icon": "mdi:keyboard",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "KitchenPi lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "KitchenPi squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "KitchenPi shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "KitchenPi dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "bedroompi lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "bedroompi squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "bedroompi shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "bedroompi dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "esszimmerradio lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "esszimmerradio squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "esszimmerradio shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "sispmctl"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_sispmctl",
|
||||
"icon": "mdi:power",
|
||||
"name": "esszimmerradio sispmctl",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_irserver",
|
||||
"icon": "mdi:remote",
|
||||
"name": "MusikServerWohnzimmerOben irserver",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "MusikServerWohnzimmerOben squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "MusikServerWohnzimmerOben shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "MusikServerWohnzimmerOben dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "logitechmediaserver"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_logitechmediaserver",
|
||||
"icon": "mdi:music",
|
||||
"name": "MusikServerWohnzimmerOben media server",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:raspberry-pi",
|
||||
"show_header_toggle": false,
|
||||
"title": "Pi Services",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"type": "custom:scheduler-card",
|
||||
"include": [
|
||||
"cover",
|
||||
"light"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"icon": "mdi:chart-line",
|
||||
"title": "Statistik",
|
||||
"path": "statistik",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"animate": true,
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.waschmaschine_verbrauch",
|
||||
"name": "Waschmaschine"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.trockner_verbrauch",
|
||||
"name": "Trockner"
|
||||
}
|
||||
],
|
||||
"hours_to_show": 24,
|
||||
"name": "Waschen Trocknen",
|
||||
"points_per_hour": 1,
|
||||
"type": "custom:mini-graph-card",
|
||||
"upper_bound": 1200
|
||||
},
|
||||
{
|
||||
"animate": true,
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.spulmaschine_verbrauch",
|
||||
"name": "Spühlmaschine"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.backofen_verbrauch",
|
||||
"name": "Backofen"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_1_verbrauch",
|
||||
"name": "Herd P1"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_2_verbrauch",
|
||||
"name": "Herd P2"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_3_verbrauch",
|
||||
"name": "Herd P3"
|
||||
}
|
||||
],
|
||||
"hours_to_show": 8,
|
||||
"name": "Küche",
|
||||
"points_per_hour": 4,
|
||||
"type": "custom:mini-graph-card",
|
||||
"upper_bound": 1800
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"sensor.esszimmer_temperatur",
|
||||
"sensor.wohnzimmer_gang_temperatur",
|
||||
"sensor.wohnzimmer_terassentur_temperatur",
|
||||
"sensor.eingangsbereich_temperatur",
|
||||
"sensor.treppenhaus_oben_temperatur"
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Temperatur",
|
||||
"type": "entities"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "3D Printer",
|
||||
"icon": "mdi:printer-3d-nozzle-outline",
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"type": "picture",
|
||||
"image": "http://192.168.178.135:81/stream",
|
||||
"tap_action": {
|
||||
"action": "none"
|
||||
},
|
||||
"hold_action": {
|
||||
"action": "none"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.prusabox_licht_alle",
|
||||
"name": "Licht",
|
||||
"type": "custom:slider-entity-row",
|
||||
"toggle": true
|
||||
},
|
||||
{
|
||||
"entity": "light.prusabox_licht_oben",
|
||||
"icon": "mdi:led-strip",
|
||||
"secondary_info": "brightness",
|
||||
"name": "Oben"
|
||||
},
|
||||
{
|
||||
"entity": "light.prusabox_licht_seiten",
|
||||
"name": "Seiten",
|
||||
"icon": "mdi:led-strip"
|
||||
}
|
||||
],
|
||||
"title": "Licht",
|
||||
"show_header_toggle": false,
|
||||
"state_color": true
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "fan.prusabox_lufter_draussen",
|
||||
"name": "Lüfter nach aussen",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:slider-entity-row",
|
||||
"toggle": true
|
||||
},
|
||||
{
|
||||
"entity": "fan.prusabox_filter_lufter",
|
||||
"name": "Filter Lüfter",
|
||||
"icon": "mdi:filter",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:slider-entity-row",
|
||||
"toggle": true
|
||||
}
|
||||
],
|
||||
"title": "Lüfter",
|
||||
"show_header_toggle": false
|
||||
},
|
||||
{
|
||||
"type": "entities",
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.octoprint_current_state",
|
||||
"name": "Status",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"type": "custom:template-entity-row",
|
||||
"icon": "mdi:clock",
|
||||
"name": "Fertig in",
|
||||
"state": "{{ states('sensor.octoprint_time_remaining') | int // 3600}}h {{ states('sensor.octoprint_time_remaining') | int // 60 % 60}}min",
|
||||
"secondary": "Druckt seit {{ states('sensor.octoprint_time_elapsed') | int // 3600}}h {{ states('sensor.octoprint_time_elapsed') | int // 60 % 60}}min",
|
||||
"active": "{{ is_state('light.bed_light', 'off') }}"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.octoprint_actual_bed_temp",
|
||||
"name": "Print Bed",
|
||||
"icon": "mdi:card"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.octoprint_actual_tool0_temp",
|
||||
"name": "Nozzle",
|
||||
"icon": "mdi:printer-3d-nozzle"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.prusaprinter_dht22_temperatur",
|
||||
"name": "Gehäuse",
|
||||
"icon": "hass:cube"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.prusaprinter_dht22_luftfeuchtigkeit",
|
||||
"name": "Luftfeuchtigkeit"
|
||||
}
|
||||
],
|
||||
"title": "Status"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"title": "Details"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,706 +1,36 @@
|
||||
{
|
||||
"version": 1,
|
||||
"key": "lovelace.lovelace_rebecca",
|
||||
"data": {
|
||||
"config": {
|
||||
"title": "Alt",
|
||||
"views": [
|
||||
{
|
||||
"badges": [],
|
||||
"cards": [
|
||||
{
|
||||
"aspect_ratio": "16x9",
|
||||
"entities": [
|
||||
"group.bathroom"
|
||||
],
|
||||
"image": "/local/img/bathroom2.jpg",
|
||||
"scenes": [
|
||||
{
|
||||
"entity": "light.haustur_licht",
|
||||
"icon": "mdi:book",
|
||||
"name": "Haust\u00fcr"
|
||||
"color": "#f07a1d",
|
||||
"name": "Normal",
|
||||
"scene": "scene.bad_normal"
|
||||
},
|
||||
{
|
||||
"entity": "light.garten_spot_birke",
|
||||
"icon": "mdi:flower",
|
||||
"name": "Birke"
|
||||
"color": "#fdef56",
|
||||
"name": "Hell",
|
||||
"scene": "scene.bad_hell"
|
||||
},
|
||||
{
|
||||
"entity": "light.garten_spot_magnolie",
|
||||
"icon": "mdi:flower",
|
||||
"name": "Magnolie"
|
||||
},
|
||||
{
|
||||
"entity": "light.garten_stehleuchte",
|
||||
"icon": "mdi:flower",
|
||||
"name": "Stehleuchte"
|
||||
"icon": "mdi:duck",
|
||||
"name": "Baden",
|
||||
"scene": "scene.bad_baden"
|
||||
}
|
||||
],
|
||||
"title": "Au\u00dfen",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "switch.mobile_steckdose_schalter_2",
|
||||
"name": "Balkon"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:pine-tree",
|
||||
"show_header_toggle": true,
|
||||
"title": "Weihnachten",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"switch.klingel_innentur",
|
||||
"switch.klingel_aussentur",
|
||||
"switch.klingel_oben"
|
||||
],
|
||||
"icon": "mdi:bell",
|
||||
"title": "Klingel",
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:tree",
|
||||
"title": "Au\u00dfen"
|
||||
},
|
||||
{
|
||||
"cards": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.motion_combined",
|
||||
"format": "relative",
|
||||
"name": "Bewegung",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_ost",
|
||||
"name": "Eingang",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_mitte",
|
||||
"name": "Mitte",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_wohnzimmer",
|
||||
"name": "Zum Wohnzimmer",
|
||||
"secondary_info": "last-changed"
|
||||
},
|
||||
{
|
||||
"entity": "binary_sensor.gang_bewegungsmelder_schlafzimmer",
|
||||
"name": "Zum Schlafzimmer",
|
||||
"secondary_info": "last-changed"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Bewegungsmelder",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"light.bewegungsmelder_west_led",
|
||||
"light.bewegungsmelder_ost_led",
|
||||
"light.bewegungsmelder_mitte_led"
|
||||
],
|
||||
"title": "Bewegungsmelder LEDs",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"animate": true,
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.waschmaschine_verbrauch",
|
||||
"name": "Waschmaschine"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.trockner_verbrauch",
|
||||
"name": "Trockner"
|
||||
}
|
||||
],
|
||||
"hours_to_show": 24,
|
||||
"name": "Waschen Trocknen",
|
||||
"points_per_hour": 1,
|
||||
"type": "custom:mini-graph-card",
|
||||
"upper_bound": 1200
|
||||
},
|
||||
{
|
||||
"animate": true,
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.spulmaschine_verbrauch",
|
||||
"name": "Sp\u00fchlmaschine"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.backofen_verbrauch",
|
||||
"name": "Backofen"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_1_verbrauch",
|
||||
"name": "Herd P1"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_2_verbrauch",
|
||||
"name": "Herd P2"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.herd_phase_3_verbrauch",
|
||||
"name": "Herd P3"
|
||||
}
|
||||
],
|
||||
"hours_to_show": 8,
|
||||
"name": "K\u00fcche",
|
||||
"points_per_hour": 4,
|
||||
"type": "custom:mini-graph-card",
|
||||
"upper_bound": 1800
|
||||
},
|
||||
{
|
||||
"animate": true,
|
||||
"entities": [
|
||||
{
|
||||
"entity": "sensor.fritz_box_7490_kbyte_sec_received",
|
||||
"name": "Down"
|
||||
},
|
||||
{
|
||||
"entity": "sensor.fritz_box_7490_kbyte_sec_sent",
|
||||
"name": "Up"
|
||||
}
|
||||
],
|
||||
"hours_to_show": 2,
|
||||
"name": "Internet",
|
||||
"points_per_hour": 30,
|
||||
"type": "custom:mini-graph-card"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "KitchenPi lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "KitchenPi squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "KitchenPi shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "kitchenpi.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_kitchenpi_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "KitchenPi dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "bedroompi lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "bedroompi squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "bedroompi shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "bedroompi.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_bedroompi_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "bedroompi dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_lircd",
|
||||
"icon": "mdi:remote",
|
||||
"name": "esszimmerradio lirc",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "esszimmerradio squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "esszimmerradio shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "esszimmerradio.fritz.box",
|
||||
"service_name": "sispmctl"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_esszimmerradio_sispmctl",
|
||||
"icon": "mdi:power",
|
||||
"name": "esszimmerradio sispmctl",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "lircd"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_irserver",
|
||||
"icon": "mdi:remote",
|
||||
"name": "MusikServerWohnzimmerOben irserver",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "squeezelite"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_squeezelite",
|
||||
"icon": "mdi:music",
|
||||
"name": "MusikServerWohnzimmerOben squeezelite",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "shairport-sync"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_shairport_sync",
|
||||
"icon": "mdi:tablet",
|
||||
"name": "MusikServerWohnzimmerOben shairport-sync",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "dht22_sensing"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_dht22_sensing",
|
||||
"icon": "mdi:thermometer",
|
||||
"name": "MusikServerWohnzimmerOben dht22_sensing",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"icon": "mdi:twitter-retweet",
|
||||
"tap_action": {
|
||||
"action": "call-service",
|
||||
"confirmation": "Wirklich neu starten?",
|
||||
"service": "sysdweb.restart",
|
||||
"service_data": {
|
||||
"hostname": "musikserverwohnzimmeroben.fritz.box",
|
||||
"service_name": "logitechmediaserver"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"entity": "binary_sensor.sysdweb_musikserverwohnzimmeroben_logitechmediaserver",
|
||||
"icon": "mdi:music",
|
||||
"name": "MusikServerWohnzimmerOben media server",
|
||||
"secondary_info": "last-changed",
|
||||
"type": "custom:multiple-entity-row"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:raspberry-pi",
|
||||
"show_header_toggle": false,
|
||||
"title": "Pi Services",
|
||||
"type": "entities"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:key",
|
||||
"title": "Admin"
|
||||
},
|
||||
{
|
||||
"cards": [
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.kuche_deckenlampe",
|
||||
"name": "Decke K\u00fcche"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_mitte",
|
||||
"name": "Decke Esszimmer Mitte"
|
||||
},
|
||||
{
|
||||
"entity": "light.esszimmer_deckenlampe_west",
|
||||
"name": "Decke Esszimmer"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_links",
|
||||
"name": "K\u00fcche LED links"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_rechts",
|
||||
"name": "K\u00fcche LED rechts"
|
||||
},
|
||||
{
|
||||
"entity": "light.kuche_vorne",
|
||||
"name": "K\u00fcche LED vorne"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "cover.kuche_fenster_rollo",
|
||||
"name": "K\u00fcche",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.esszimmer_fenster_rollo",
|
||||
"name": "Esszimmer",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": true,
|
||||
"title": "K\u00fcche/Esszimmer",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "light.wohnzimmer_deckenlampe",
|
||||
"name": "Decke"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_kugel",
|
||||
"name": "Kugel"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_regal_links",
|
||||
"name": "Regal links"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_regal_rechts",
|
||||
"name": "Regal rechts"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_stehlampe_oben",
|
||||
"name": "Stehlampe oben"
|
||||
},
|
||||
{
|
||||
"entity": "light.wohnzimmer_stehlampe",
|
||||
"name": "Stehlampe unten"
|
||||
},
|
||||
{
|
||||
"type": "divider"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_fenster_rollo",
|
||||
"name": "Fenster",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
},
|
||||
{
|
||||
"entity": "cover.wohnzimmer_terrassentur_rollo",
|
||||
"name": "T\u00fcr",
|
||||
"type": "custom:state-card-custom-cover"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": true,
|
||||
"title": "Wohnzimmer",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
{
|
||||
"entity": "switch.trockner",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.waschmaschine",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.spulmaschine",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.backofen",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_1",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_2",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
},
|
||||
{
|
||||
"entity": "switch.herd_phase_3",
|
||||
"type": "custom:toggle-lock-entity-row"
|
||||
}
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Sicherheitsabschaltung",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"sensor.esszimmer_temperatur",
|
||||
"sensor.wohnzimmer_gang_temperatur",
|
||||
"sensor.wohnzimmer_terassentur_temperatur",
|
||||
"sensor.eingangsbereich_temperatur",
|
||||
"sensor.treppenhaus_oben_temperatur"
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Temperatur",
|
||||
"type": "entities"
|
||||
},
|
||||
{
|
||||
"entities": [
|
||||
"binary_sensor.rauchmelder_gang_oben_sensor",
|
||||
"binary_sensor.rauchmelder_gang_sensor",
|
||||
"binary_sensor.rauchmelder_schlafzimmer_sensor",
|
||||
"binary_sensor.rauchmelder_wohnzimmer_sensor"
|
||||
],
|
||||
"show_header_toggle": false,
|
||||
"title": "Rauchmelder",
|
||||
"type": "entities"
|
||||
"type": "custom:room-glance-card"
|
||||
}
|
||||
],
|
||||
"icon": "mdi:more",
|
||||
@@ -708,7 +38,5 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"key": "lovelace.lovelace_rebecca",
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
@@ -1,17 +1,35 @@
|
||||
{
|
||||
"version": 1,
|
||||
"key": "lovelace_dashboards",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"icon": "mdi:account",
|
||||
"id": "lovelace_rebecca",
|
||||
"mode": "storage",
|
||||
"require_admin": false,
|
||||
"show_in_sidebar": true,
|
||||
"require_admin": true,
|
||||
"show_in_sidebar": false,
|
||||
"title": "Alt",
|
||||
"url_path": "lovelace-rebecca"
|
||||
},
|
||||
{
|
||||
"require_admin": false,
|
||||
"show_in_sidebar": true,
|
||||
"icon": "mdi:texture-box",
|
||||
"title": "Bereiche",
|
||||
"url_path": "01-areas",
|
||||
"mode": "storage",
|
||||
"id": "01_areas"
|
||||
},
|
||||
{
|
||||
"require_admin": false,
|
||||
"show_in_sidebar": true,
|
||||
"icon": "mdi:format-list-checkbox",
|
||||
"title": "Detail",
|
||||
"url_path": "05-detail",
|
||||
"mode": "storage",
|
||||
"id": "05_detail"
|
||||
}
|
||||
]
|
||||
},
|
||||
"key": "lovelace_dashboards",
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
@@ -1,38 +1,94 @@
|
||||
{
|
||||
"version": 1,
|
||||
"key": "lovelace_resources",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"id": "2dd231ecf4fa46d1b9ba696f28da7731",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/state-card-custom-cover.js"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "lovelace_resources",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"id": "2dd231ecf4fa46d1b9ba696f28da7731",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/state-card-custom-cover.js?v=1.09"
|
||||
},
|
||||
{
|
||||
"id": "526c1c7115cd4bb396cf02a83b884365",
|
||||
"type": "js",
|
||||
"url": "/local/custom_ui/toggle-lock-entity-row.js"
|
||||
},
|
||||
{
|
||||
"id": "55ef5e325ab444d19e15a1183a97fb35",
|
||||
"type": "module",
|
||||
"url": "/local/custom_ui/room-glance-card.js?v=1.09"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/scheduler-card/scheduler-card.js?hacstag=286270157239",
|
||||
"type": "module",
|
||||
"id": "af379618bd83489a9f2f15a0be498eaf"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-slider-entity-row/slider-entity-row.js?hacstag=1448997001721",
|
||||
"type": "module",
|
||||
"id": "7067680a3f314af285c5ebe1605e0451"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-template-entity-row/template-entity-row.js?hacstag=231674882130",
|
||||
"type": "module",
|
||||
"id": "aa48cd5ffa8a4e0883ce06e64391cf46"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/rgb-light-card/card.js?hacstag=2153271951110",
|
||||
"type": "module",
|
||||
"id": "9fa16ed42d0c480ab9dc711cb98790e7"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/mini-graph-card/mini-graph-card-bundle.js?hacstag=1512800620110",
|
||||
"type": "module",
|
||||
"id": "5fb0764a8bb54c4aaf4a4be15022095b"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/mini-media-player/mini-media-player-bundle.js?hacstag=1485208381165",
|
||||
"type": "module",
|
||||
"id": "9f7ce776f265476f89246c9926a933a8"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-multiple-entity-row/multiple-entity-row.js?hacstag=178921037441",
|
||||
"type": "module",
|
||||
"id": "295d5e67ee594e31935e535c2c4b7bd4"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/hass-hue-icons/hass-hue-icons.js?hacstag=3844345221248",
|
||||
"type": "module",
|
||||
"id": "59ab7764b5724e75ac5ff57fdcd54e2c"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/spotify-card/spotify-card.js?hacstag=173955605240",
|
||||
"type": "module",
|
||||
"id": "caffec3aea214ea7a0b32f943c8b63ff"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/slider-button-card/slider-button-card.js?hacstag=3754399611103",
|
||||
"type": "module",
|
||||
"id": "c5461acbb2e742e4b06cebf73181ffc7"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/apexcharts-card/apexcharts-card.js?hacstag=331701152202",
|
||||
"type": "module",
|
||||
"id": "322b6b5391e84fd1bb126c8448db1ebb"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/kiosk-mode/kiosk-mode.js?hacstag=303101606172",
|
||||
"type": "module",
|
||||
"id": "58eff8b61ebf463b86570a8c975adda3"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-valetudo-map-card/valetudo-map-card.js?hacstag=20303610820211205",
|
||||
"type": "module",
|
||||
"id": "44c1654a1a8b4e078c2d69bf52ba2ce5"
|
||||
},
|
||||
{
|
||||
"url": "/hacsfiles/lovelace-plotly-graph-card/plotly-graph-card.js?hacstag=413812496182",
|
||||
"type": "module",
|
||||
"id": "32657eeee53441558557757278d7e135"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -602,7 +602,7 @@
|
||||
"device_class": "battery",
|
||||
"icon": "mdi:battery-70",
|
||||
"name": "Battery Level",
|
||||
"state": 74,
|
||||
"state": 73,
|
||||
"type": "sensor",
|
||||
"unique_id": "battery_level",
|
||||
"unit_of_measurement": "%",
|
||||
@@ -647,7 +647,9 @@
|
||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_detected_activity": {
|
||||
"added": true,
|
||||
"attributes": {
|
||||
"still": 100
|
||||
"in_vehicle": 2,
|
||||
"still": 97,
|
||||
"unknown": 1
|
||||
},
|
||||
"icon": "mdi:sleep",
|
||||
"name": "Erkannte Aktivit\u00e4t",
|
||||
@@ -691,13 +693,13 @@
|
||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_last_reboot": {
|
||||
"added": true,
|
||||
"attributes": {
|
||||
"Local Time": "Mon Jan 25 02:51:06 GMT+01:00 2021",
|
||||
"Time in Milliseconds": 1611539466409
|
||||
"Local Time": "Wed Mar 03 14:23:12 GMT+01:00 2021",
|
||||
"Time in Milliseconds": 1614777792390
|
||||
},
|
||||
"device_class": "timestamp",
|
||||
"icon": "mdi:restart",
|
||||
"name": "Last Reboot",
|
||||
"state": "2021-01-25T01:51:06Z",
|
||||
"state": "2021-03-03T13:23:12Z",
|
||||
"type": "sensor",
|
||||
"unique_id": "last_reboot",
|
||||
"webhook_id": "cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e"
|
||||
@@ -717,14 +719,14 @@
|
||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_next_alarm": {
|
||||
"added": true,
|
||||
"attributes": {
|
||||
"Local Time": "Tue Feb 02 06:45:00 GMT+01:00 2021",
|
||||
"Local Time": "Fri Apr 02 07:30:00 GMT+02:00 2021",
|
||||
"Package": "Unknown",
|
||||
"Time in Milliseconds": 1612244700000
|
||||
"Time in Milliseconds": 1617341400000
|
||||
},
|
||||
"device_class": "timestamp",
|
||||
"icon": "mdi:alarm",
|
||||
"name": "Next Alarm",
|
||||
"state": "2021-02-02T05:45:00.000Z",
|
||||
"state": "2021-04-02T05:30:00.000Z",
|
||||
"type": "sensor",
|
||||
"unique_id": "next_alarm",
|
||||
"webhook_id": "cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e"
|
||||
@@ -754,7 +756,7 @@
|
||||
"attributes": {},
|
||||
"icon": "mdi:walk",
|
||||
"name": "Schrittsensor",
|
||||
"state": "19916",
|
||||
"state": "106021",
|
||||
"type": "sensor",
|
||||
"unique_id": "steps_sensor",
|
||||
"unit_of_measurement": "steps",
|
||||
@@ -762,10 +764,13 @@
|
||||
},
|
||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_storage_sensor": {
|
||||
"added": true,
|
||||
"attributes": {},
|
||||
"attributes": {
|
||||
"Free internal storage": "84GB",
|
||||
"Total internal storage": "110GB"
|
||||
},
|
||||
"icon": "mdi:harddisk",
|
||||
"name": "Storage Sensor",
|
||||
"state": 78,
|
||||
"state": 76,
|
||||
"type": "sensor",
|
||||
"unique_id": "storage_sensor",
|
||||
"unit_of_measurement": "%",
|
||||
@@ -810,14 +815,14 @@
|
||||
},
|
||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_storage": {
|
||||
"attributes": {
|
||||
"Available": "109,76 GB",
|
||||
"Available (Important)": "119,30 GB",
|
||||
"Available (Opportunistic)": "118,01 GB",
|
||||
"Available": "103,52 GB",
|
||||
"Available (Important)": "113,35 GB",
|
||||
"Available (Opportunistic)": "112,07 GB",
|
||||
"Total": "255,98 GB"
|
||||
},
|
||||
"icon": "mdi:database",
|
||||
"name": "Storage",
|
||||
"state": "46.10",
|
||||
"state": "43.78",
|
||||
"type": "sensor",
|
||||
"unique_id": "storage",
|
||||
"unit_of_measurement": "% available",
|
||||
@@ -825,14 +830,11 @@
|
||||
"added": true
|
||||
},
|
||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_battery_level": {
|
||||
"attributes": {
|
||||
"Battery State": "Not Charging",
|
||||
"Low Power Mode": false
|
||||
},
|
||||
"attributes": {},
|
||||
"device_class": "battery",
|
||||
"icon": "mdi:battery-50",
|
||||
"icon": "mdi:battery-90",
|
||||
"name": "Battery Level",
|
||||
"state": 58,
|
||||
"state": 96,
|
||||
"type": "sensor",
|
||||
"unique_id": "battery_level",
|
||||
"unit_of_measurement": "%",
|
||||
@@ -841,11 +843,10 @@
|
||||
},
|
||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_battery_state": {
|
||||
"attributes": {
|
||||
"Battery Level": 58,
|
||||
"Low Power Mode": false
|
||||
},
|
||||
"device_class": "battery",
|
||||
"icon": "mdi:battery-50",
|
||||
"icon": "mdi:battery-90",
|
||||
"name": "Battery State",
|
||||
"state": "Not Charging",
|
||||
"type": "sensor",
|
||||
@@ -856,7 +857,7 @@
|
||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_connectivity_bssid": {
|
||||
"icon": "mdi:wifi-star",
|
||||
"name": "BSSID",
|
||||
"state": "7c:ff:4d:4:d7:a6",
|
||||
"state": "7c:ff:4d:4:d7:a7",
|
||||
"type": "sensor",
|
||||
"unique_id": "connectivity_bssid",
|
||||
"attributes": {},
|
||||
@@ -898,7 +899,7 @@
|
||||
"Locality": "Rohr",
|
||||
"Location": [
|
||||
49.369293212890625,
|
||||
10.983685522613598
|
||||
10.983692880866485
|
||||
],
|
||||
"Name": "Dietersdorfer Stra\u00dfe 19",
|
||||
"Ocean": "N/A",
|
||||
@@ -909,7 +910,7 @@
|
||||
"Thoroughfare": "Dietersdorfer Stra\u00dfe",
|
||||
"Time Zone": "Europe/Berlin",
|
||||
"Zones": [
|
||||
"Home"
|
||||
"MyHome"
|
||||
]
|
||||
},
|
||||
"webhook_id": "2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a",
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
{
|
||||
"data": {
|
||||
"done": [
|
||||
"user",
|
||||
"core_config",
|
||||
"integration"
|
||||
]
|
||||
},
|
||||
"key": "onboarding",
|
||||
"version": 3
|
||||
"version": 4,
|
||||
"minor_version": 1,
|
||||
"key": "onboarding",
|
||||
"data": {
|
||||
"done": [
|
||||
"user",
|
||||
"core_config",
|
||||
"integration",
|
||||
"analytics"
|
||||
]
|
||||
}
|
||||
}
|
||||
72
.storage/repairs.issue_registry
Normal file
72
.storage/repairs.issue_registry
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 2,
|
||||
"key": "repairs.issue_registry",
|
||||
"data": {
|
||||
"issues": [
|
||||
{
|
||||
"created": "2022-09-09T06:33:43.505471+00:00",
|
||||
"dismissed_version": null,
|
||||
"domain": "mqtt",
|
||||
"is_persistent": false,
|
||||
"issue_id": "deprecated_yaml_sensor"
|
||||
},
|
||||
{
|
||||
"created": "2022-11-05T08:38:01.629065+00:00",
|
||||
"dismissed_version": "2022.11.1",
|
||||
"domain": "hassio",
|
||||
"is_persistent": false,
|
||||
"issue_id": "unsupported_system_docker_configuration"
|
||||
},
|
||||
{
|
||||
"created": "2022-11-24T14:51:54.848806+00:00",
|
||||
"dismissed_version": "2022.11.4",
|
||||
"domain": "hassio",
|
||||
"is_persistent": false,
|
||||
"issue_id": "unsupported_system_software"
|
||||
},
|
||||
{
|
||||
"created": "2022-12-28T16:35:01.348212+00:00",
|
||||
"dismissed_version": "2022.12.8",
|
||||
"domain": "hassio",
|
||||
"is_persistent": false,
|
||||
"issue_id": "unsupported_system_apparmor"
|
||||
},
|
||||
{
|
||||
"created": "2022-12-28T16:35:15.646313+00:00",
|
||||
"dismissed_version": "2022.12.8",
|
||||
"domain": "hassio",
|
||||
"is_persistent": false,
|
||||
"issue_id": "unsupported_system_os"
|
||||
},
|
||||
{
|
||||
"created": "2022-12-28T16:35:15.664932+00:00",
|
||||
"dismissed_version": "2022.12.8",
|
||||
"domain": "hassio",
|
||||
"is_persistent": false,
|
||||
"issue_id": "unsupported_system_os_agent"
|
||||
},
|
||||
{
|
||||
"created": "2022-12-28T16:35:15.665512+00:00",
|
||||
"dismissed_version": "2022.12.8",
|
||||
"domain": "hassio",
|
||||
"is_persistent": false,
|
||||
"issue_id": "unsupported_system_systemd_journal"
|
||||
},
|
||||
{
|
||||
"created": "2022-12-28T16:35:15.716611+00:00",
|
||||
"dismissed_version": "2022.12.8",
|
||||
"domain": "hassio",
|
||||
"is_persistent": false,
|
||||
"issue_id": "unsupported_system_systemd_resolved"
|
||||
},
|
||||
{
|
||||
"created": "2022-12-28T16:35:18.109568+00:00",
|
||||
"dismissed_version": "2022.12.8",
|
||||
"domain": "hassio",
|
||||
"is_persistent": false,
|
||||
"issue_id": "unsupported_system_connectivity_check"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
13
.storage/tag
Normal file
13
.storage/tag
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"version": 1,
|
||||
"key": "tag",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"tag_id": "71357caa-1234-4d94-a2f1-1bbeebc8b65b",
|
||||
"last_scanned": "2021-12-08T21:49:53.096053+00:00",
|
||||
"id": "71357caa-1234-4d94-a2f1-1bbeebc8b65b"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
14
.storage/timer
Normal file
14
.storage/timer
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"version": 1,
|
||||
"key": "timer",
|
||||
"data": {
|
||||
"items": [
|
||||
{
|
||||
"duration": "0:10:00",
|
||||
"name": "F\u00f6n Timer",
|
||||
"icon": "mdi:hair-dryer",
|
||||
"id": "fon_timer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
6616
.storage/trace.saved_traces
Normal file
6616
.storage/trace.saved_traces
Normal file
File diff suppressed because it is too large
Load Diff
373
.storage/zwave_js.legacy_zwave_migration
Normal file
373
.storage/zwave_js.legacy_zwave_migration
Normal file
@@ -0,0 +1,373 @@
|
||||
{
|
||||
"version": 1,
|
||||
"minor_version": 1,
|
||||
"key": "zwave_js.legacy_zwave_migration",
|
||||
"data": {
|
||||
"221428ba9e0f0d5b3240bd2162be99f4": {
|
||||
"sensor.smoke_detector_and_siren_battery_level": {
|
||||
"node_id": 3,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "level",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "3-128-0-level",
|
||||
"device_id": "a47da225a9cdc8ad25afcef0a26fa228",
|
||||
"domain": "sensor",
|
||||
"entity_id": "sensor.smoke_detector_and_siren_battery_level",
|
||||
"unique_id": "4231470061.3-128-0-level",
|
||||
"unit_of_measurement": "%"
|
||||
},
|
||||
"switch.smoke_detector_and_siren": {
|
||||
"node_id": 5,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 37,
|
||||
"value_property_name": "currentValue",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "5-37-0-currentValue",
|
||||
"device_id": "8f66617492092699396e382a0cde04e4",
|
||||
"domain": "switch",
|
||||
"entity_id": "switch.smoke_detector_and_siren",
|
||||
"unique_id": "4231470061.5-37-0-currentValue",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.smoke_detector_and_siren_smoke_alarm_smoke_detected": {
|
||||
"node_id": 5,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 113,
|
||||
"value_property_name": "Smoke Alarm",
|
||||
"value_property_key_name": "Sensor status",
|
||||
"value_id": "5-113-0-Smoke Alarm-Sensor status",
|
||||
"device_id": "8f66617492092699396e382a0cde04e4",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.smoke_detector_and_siren_smoke_alarm_smoke_detected",
|
||||
"unique_id": "4231470061.5-113-0-Smoke Alarm-Sensor status.2",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.smoke_detector_and_siren_low_battery_level": {
|
||||
"node_id": 5,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "isLow",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "5-128-0-isLow",
|
||||
"device_id": "8f66617492092699396e382a0cde04e4",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.smoke_detector_and_siren_low_battery_level",
|
||||
"unique_id": "4231470061.5-128-0-isLow",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"switch.feuermelder_unten_gang": {
|
||||
"node_id": 2,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 37,
|
||||
"value_property_name": "currentValue",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "2-37-0-currentValue",
|
||||
"device_id": "38639142e27318c914264b87eadd15c1",
|
||||
"domain": "switch",
|
||||
"entity_id": "switch.feuermelder_unten_gang",
|
||||
"unique_id": "4231470061.2-37-0-currentValue",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"sensor.feuermelder_unten_gang_battery_level": {
|
||||
"node_id": 2,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "level",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "2-128-0-level",
|
||||
"device_id": "38639142e27318c914264b87eadd15c1",
|
||||
"domain": "sensor",
|
||||
"entity_id": "sensor.feuermelder_unten_gang_battery_level",
|
||||
"unique_id": "4231470061.2-128-0-level",
|
||||
"unit_of_measurement": "%"
|
||||
},
|
||||
"binary_sensor.feuermelder_unten_gang_low_battery_level": {
|
||||
"node_id": 2,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "isLow",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "2-128-0-isLow",
|
||||
"device_id": "38639142e27318c914264b87eadd15c1",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.feuermelder_unten_gang_low_battery_level",
|
||||
"unique_id": "4231470061.2-128-0-isLow",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.feuermelder_unten_gang_smoke_alarm_smoke_detected": {
|
||||
"node_id": 2,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 113,
|
||||
"value_property_name": "Smoke Alarm",
|
||||
"value_property_key_name": "Sensor status",
|
||||
"value_id": "2-113-0-Smoke Alarm-Sensor status",
|
||||
"device_id": "38639142e27318c914264b87eadd15c1",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.feuermelder_unten_gang_smoke_alarm_smoke_detected",
|
||||
"unique_id": "4231470061.2-113-0-Smoke Alarm-Sensor status.2",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"switch.rauchmelder_schlafzimmer": {
|
||||
"node_id": 3,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 37,
|
||||
"value_property_name": "currentValue",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "3-37-0-currentValue",
|
||||
"device_id": "a47da225a9cdc8ad25afcef0a26fa228",
|
||||
"domain": "switch",
|
||||
"entity_id": "switch.rauchmelder_schlafzimmer",
|
||||
"unique_id": "4231470061.3-37-0-currentValue",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.rauchmelder_schlafzimmer_low_battery_level": {
|
||||
"node_id": 3,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "isLow",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "3-128-0-isLow",
|
||||
"device_id": "a47da225a9cdc8ad25afcef0a26fa228",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.rauchmelder_schlafzimmer_low_battery_level",
|
||||
"unique_id": "4231470061.3-128-0-isLow",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.rauchmelder_schlafzimmer_smoke_alarm_smoke_detected": {
|
||||
"node_id": 3,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 113,
|
||||
"value_property_name": "Smoke Alarm",
|
||||
"value_property_key_name": "Sensor status",
|
||||
"value_id": "3-113-0-Smoke Alarm-Sensor status",
|
||||
"device_id": "a47da225a9cdc8ad25afcef0a26fa228",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.rauchmelder_schlafzimmer_smoke_alarm_smoke_detected",
|
||||
"unique_id": "4231470061.3-113-0-Smoke Alarm-Sensor status.2",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"sensor.smoke_detector_and_siren_battery_level_2": {
|
||||
"node_id": 5,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "level",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "5-128-0-level",
|
||||
"device_id": "8f66617492092699396e382a0cde04e4",
|
||||
"domain": "sensor",
|
||||
"entity_id": "sensor.smoke_detector_and_siren_battery_level_2",
|
||||
"unique_id": "4231470061.5-128-0-level",
|
||||
"unit_of_measurement": "%"
|
||||
},
|
||||
"switch.rauchmelder_wohnzimmer": {
|
||||
"node_id": 4,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 37,
|
||||
"value_property_name": "currentValue",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "4-37-0-currentValue",
|
||||
"device_id": "b0b662a15d6545d3cc87c0ba62ec7f3c",
|
||||
"domain": "switch",
|
||||
"entity_id": "switch.rauchmelder_wohnzimmer",
|
||||
"unique_id": "4231470061.4-37-0-currentValue",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"sensor.rauchmelder_wohnzimmer_battery_level_2": {
|
||||
"node_id": 4,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "level",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "4-128-0-level",
|
||||
"device_id": "b0b662a15d6545d3cc87c0ba62ec7f3c",
|
||||
"domain": "sensor",
|
||||
"entity_id": "sensor.rauchmelder_wohnzimmer_battery_level_2",
|
||||
"unique_id": "4231470061.4-128-0-level",
|
||||
"unit_of_measurement": "%"
|
||||
},
|
||||
"binary_sensor.rauchmelder_wohnzimmer_low_battery_level": {
|
||||
"node_id": 4,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "isLow",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "4-128-0-isLow",
|
||||
"device_id": "b0b662a15d6545d3cc87c0ba62ec7f3c",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.rauchmelder_wohnzimmer_low_battery_level",
|
||||
"unique_id": "4231470061.4-128-0-isLow",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.rauchmelder_wohnzimmer_smoke_alarm_smoke_detected": {
|
||||
"node_id": 4,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 113,
|
||||
"value_property_name": "Smoke Alarm",
|
||||
"value_property_key_name": "Sensor status",
|
||||
"value_id": "4-113-0-Smoke Alarm-Sensor status",
|
||||
"device_id": "b0b662a15d6545d3cc87c0ba62ec7f3c",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.rauchmelder_wohnzimmer_smoke_alarm_smoke_detected",
|
||||
"unique_id": "4231470061.4-113-0-Smoke Alarm-Sensor status.2",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"switch.rauchmelder_unten_gang": {
|
||||
"node_id": 2,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 37,
|
||||
"value_property_name": "currentValue",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "2-37-0-currentValue",
|
||||
"device_id": "38639142e27318c914264b87eadd15c1",
|
||||
"domain": "switch",
|
||||
"entity_id": "switch.rauchmelder_unten_gang",
|
||||
"unique_id": "4231470061.2-37-0-currentValue",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"sensor.rauchmelder_unten_gang_battery_level": {
|
||||
"node_id": 2,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "level",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "2-128-0-level",
|
||||
"device_id": "38639142e27318c914264b87eadd15c1",
|
||||
"domain": "sensor",
|
||||
"entity_id": "sensor.rauchmelder_unten_gang_battery_level",
|
||||
"unique_id": "4231470061.2-128-0-level",
|
||||
"unit_of_measurement": "%"
|
||||
},
|
||||
"binary_sensor.rauchmelder_unten_gang_low_battery_level": {
|
||||
"node_id": 2,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "isLow",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "2-128-0-isLow",
|
||||
"device_id": "38639142e27318c914264b87eadd15c1",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.rauchmelder_unten_gang_low_battery_level",
|
||||
"unique_id": "4231470061.2-128-0-isLow",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.rauchmelder_unten_gang_smoke_alarm_smoke_detected": {
|
||||
"node_id": 2,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 113,
|
||||
"value_property_name": "Smoke Alarm",
|
||||
"value_property_key_name": "Sensor status",
|
||||
"value_id": "2-113-0-Smoke Alarm-Sensor status",
|
||||
"device_id": "38639142e27318c914264b87eadd15c1",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.rauchmelder_unten_gang_smoke_alarm_smoke_detected",
|
||||
"unique_id": "4231470061.2-113-0-Smoke Alarm-Sensor status.2",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"switch.smoke_detector_and_siren_2": {
|
||||
"node_id": 6,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 37,
|
||||
"value_property_name": "currentValue",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "6-37-0-currentValue",
|
||||
"device_id": "c8bd25813d48353df122d228c661afe1",
|
||||
"domain": "switch",
|
||||
"entity_id": "switch.smoke_detector_and_siren_2",
|
||||
"unique_id": "4231470061.6-37-0-currentValue",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.smoke_detector_and_siren_smoke_alarm_smoke_detected_2": {
|
||||
"node_id": 6,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 113,
|
||||
"value_property_name": "Smoke Alarm",
|
||||
"value_property_key_name": "Sensor status",
|
||||
"value_id": "6-113-0-Smoke Alarm-Sensor status",
|
||||
"device_id": "c8bd25813d48353df122d228c661afe1",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.smoke_detector_and_siren_smoke_alarm_smoke_detected_2",
|
||||
"unique_id": "4231470061.6-113-0-Smoke Alarm-Sensor status.2",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"sensor.smoke_detector_and_siren_battery_level_3": {
|
||||
"node_id": 6,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "level",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "6-128-0-level",
|
||||
"device_id": "c8bd25813d48353df122d228c661afe1",
|
||||
"domain": "sensor",
|
||||
"entity_id": "sensor.smoke_detector_and_siren_battery_level_3",
|
||||
"unique_id": "4231470061.6-128-0-level",
|
||||
"unit_of_measurement": "%"
|
||||
},
|
||||
"binary_sensor.smoke_detector_and_siren_low_battery_level_2": {
|
||||
"node_id": 6,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "isLow",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "6-128-0-isLow",
|
||||
"device_id": "c8bd25813d48353df122d228c661afe1",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.smoke_detector_and_siren_low_battery_level_2",
|
||||
"unique_id": "4231470061.6-128-0-isLow",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"switch.raichmelder_dachgeschoss_2": {
|
||||
"node_id": 6,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 37,
|
||||
"value_property_name": "currentValue",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "6-37-0-currentValue",
|
||||
"device_id": "c8bd25813d48353df122d228c661afe1",
|
||||
"domain": "switch",
|
||||
"entity_id": "switch.raichmelder_dachgeschoss_2",
|
||||
"unique_id": "4231470061.6-37-0-currentValue",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"sensor.raichmelder_dachgeschoss_battery_level_3": {
|
||||
"node_id": 6,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "level",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "6-128-0-level",
|
||||
"device_id": "c8bd25813d48353df122d228c661afe1",
|
||||
"domain": "sensor",
|
||||
"entity_id": "sensor.raichmelder_dachgeschoss_battery_level_3",
|
||||
"unique_id": "4231470061.6-128-0-level",
|
||||
"unit_of_measurement": "%"
|
||||
},
|
||||
"binary_sensor.raichmelder_dachgeschoss_low_battery_level_2": {
|
||||
"node_id": 6,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 128,
|
||||
"value_property_name": "isLow",
|
||||
"value_property_key_name": null,
|
||||
"value_id": "6-128-0-isLow",
|
||||
"device_id": "c8bd25813d48353df122d228c661afe1",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.raichmelder_dachgeschoss_low_battery_level_2",
|
||||
"unique_id": "4231470061.6-128-0-isLow",
|
||||
"unit_of_measurement": null
|
||||
},
|
||||
"binary_sensor.raichmelder_dachgeschoss_smoke_alarm_smoke_detected_2": {
|
||||
"node_id": 6,
|
||||
"endpoint_index": 0,
|
||||
"command_class": 113,
|
||||
"value_property_name": "Smoke Alarm",
|
||||
"value_property_key_name": "Sensor status",
|
||||
"value_id": "6-113-0-Smoke Alarm-Sensor status",
|
||||
"device_id": "c8bd25813d48353df122d228c661afe1",
|
||||
"domain": "binary_sensor",
|
||||
"entity_id": "binary_sensor.raichmelder_dachgeschoss_smoke_alarm_smoke_detected_2",
|
||||
"unique_id": "4231470061.6-113-0-Smoke Alarm-Sensor status.2",
|
||||
"unit_of_measurement": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
187
automations.yaml
187
automations.yaml
@@ -1,5 +1,5 @@
|
||||
- id: '1575130335468'
|
||||
alias: FernbedienungWeihnachtslichterOben
|
||||
alias: Fernbedienung Weihnachtslichter Oben
|
||||
description: ''
|
||||
trigger:
|
||||
- event_data:
|
||||
@@ -13,6 +13,7 @@
|
||||
- data:
|
||||
entity_id: switch.mobile_steckdose_schalter_2
|
||||
service: switch.toggle
|
||||
mode: single
|
||||
- id: '1575202743482'
|
||||
alias: Wecker Licht an
|
||||
description: ''
|
||||
@@ -44,7 +45,7 @@
|
||||
- 0.414
|
||||
service: light.turn_on
|
||||
- id: '1589377976830'
|
||||
alias: AlarmMartinHandy
|
||||
alias: Alarm Martin Handy
|
||||
description: ''
|
||||
trigger:
|
||||
- entity_id: binary_sensor.gang_bewegungsmelder_schlafzimmer, binary_sensor.gang_bewegungsmelder_ost,
|
||||
@@ -65,7 +66,7 @@
|
||||
- delay: '30'
|
||||
mode: single
|
||||
- id: '1598594894559'
|
||||
alias: KlingelAufHandy
|
||||
alias: Klingel Auf Handy
|
||||
description: ''
|
||||
trigger:
|
||||
- entity_id: switch.klingel_aussentur
|
||||
@@ -84,7 +85,7 @@
|
||||
service: notify.ios_martins_ipad
|
||||
mode: single
|
||||
- id: '1606655282153'
|
||||
alias: _WeihnachtslichterAnUm6
|
||||
alias: Weihnachtslichter an morgens um 6
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
@@ -96,10 +97,12 @@
|
||||
entity_id:
|
||||
- switch.tasmota01
|
||||
- switch.tasmota02
|
||||
- switch.tasmota03
|
||||
- switch.tasmota04
|
||||
- switch.tasmota05
|
||||
- switch.tasmota07
|
||||
mode: single
|
||||
- id: '1607412098745'
|
||||
alias: _WeihnachtslichterAusMorgens
|
||||
alias: Weihnachtslichter aus morgens
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: sun
|
||||
@@ -112,16 +115,18 @@
|
||||
entity_id:
|
||||
- switch.tasmota01
|
||||
- switch.tasmota02
|
||||
- switch.tasmota03
|
||||
- switch.mobile_steckdose_schalter_1
|
||||
- switch.mobile_steckdose_schalter_2
|
||||
- switch.tasmota04
|
||||
- switch.tasmota05
|
||||
- switch.tasmota07
|
||||
mode: single
|
||||
- id: '1607412144113'
|
||||
alias: _Weihnachtslichter An Abends
|
||||
alias: Weihnachtslichter An Abends
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: sun
|
||||
event: sunset
|
||||
- platform: time
|
||||
at: '15:30:00'
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_on
|
||||
@@ -129,12 +134,12 @@
|
||||
entity_id:
|
||||
- switch.tasmota01
|
||||
- switch.tasmota02
|
||||
- switch.tasmota03
|
||||
- switch.mobile_steckdose_schalter_1
|
||||
- switch.mobile_steckdose_schalter_2
|
||||
- switch.tasmota04
|
||||
- switch.tasmota05
|
||||
- switch.tasmota07
|
||||
mode: single
|
||||
- id: '1607412210097'
|
||||
alias: _Weihnachtslichter Aus Abends
|
||||
alias: Weihnachtslichter Aus Abends
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
@@ -146,12 +151,12 @@
|
||||
entity_id:
|
||||
- switch.tasmota01
|
||||
- switch.tasmota02
|
||||
- switch.tasmota03
|
||||
- switch.mobile_steckdose_schalter_1
|
||||
- switch.mobile_steckdose_schalter_2
|
||||
- switch.tasmota04
|
||||
- switch.tasmota05
|
||||
- switch.tasmota07
|
||||
mode: single
|
||||
- id: '1612028092169'
|
||||
alias: 0_BewegungsmelderSchlafzimmerNacht
|
||||
alias: Bewegungsmelder Schlafzimmer Nacht
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: state
|
||||
@@ -181,8 +186,152 @@
|
||||
brightness: 6
|
||||
entity_id: light.bett_martin, light.bett_rebecca
|
||||
- delay: '1'
|
||||
- service: light.turn_on
|
||||
- service: light.turn_off
|
||||
data:
|
||||
transition: 120
|
||||
entity_id: light.bett_martin, light.bett_rebecca
|
||||
mode: single
|
||||
- id: '1626815190256'
|
||||
alias: Foen Timer
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: timer.finished
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
target:
|
||||
entity_id: switch.tasmota07
|
||||
mode: single
|
||||
- id: '1632393568599'
|
||||
alias: Herd vorgeheizt -> iPad
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: numeric_state
|
||||
entity_id: sensor.backofen_verbrauch
|
||||
below: '20'
|
||||
for:
|
||||
hours: 0
|
||||
minutes: 0
|
||||
seconds: 5
|
||||
milliseconds: 0
|
||||
condition: []
|
||||
action:
|
||||
- service: notify.mobile_app_martins_ipad
|
||||
data:
|
||||
title: Herd vorgeheizt
|
||||
message: herd ist heiss :)
|
||||
mode: single
|
||||
- id: '1633435293611'
|
||||
alias: Gang Bogen Nachtlicht
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- binary_sensor.gang_bewegungsmelder_schlafzimmer
|
||||
- binary_sensor.gang_bewegungsmelder_wohnzimmer
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: '{{ state_attr(''sun.sun'', ''elevation'') < 5 }}'
|
||||
action:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: light.gang_bogen
|
||||
data:
|
||||
brightness_pct: 50
|
||||
xy_color:
|
||||
- 0.607
|
||||
- 0.378
|
||||
- delay:
|
||||
hours: 0
|
||||
minutes: 2
|
||||
seconds: 0
|
||||
milliseconds: 0
|
||||
- service: light.turn_off
|
||||
target:
|
||||
entity_id: light.gang_bogen
|
||||
data:
|
||||
transition: 5
|
||||
mode: restart
|
||||
- id: '1634461079797'
|
||||
alias: 3D Drucker State Change
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.octoprint_printing
|
||||
condition: []
|
||||
action:
|
||||
- service: notify.telegram_martin
|
||||
data:
|
||||
title: 3D Drucker
|
||||
message: 3D Drucker hat Zustand gewechselt
|
||||
mode: single
|
||||
- id: '1656971839915'
|
||||
alias: Rollos zu nachts
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 04:00:00
|
||||
condition: []
|
||||
action:
|
||||
- service: cover.close_cover
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- cover.schlafzimmer_rollo_klein
|
||||
- cover.schlafzimmer_rollo_gross
|
||||
mode: single
|
||||
- id: '1669014477577'
|
||||
alias: Weihnachtslichter oben 01 morgens an um 7
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 07:00:00
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.tasmota06
|
||||
mode: single
|
||||
- id: '1669014568292'
|
||||
alias: Weihnachtslichter oben 02 morgens aus um 9
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 09:00:00
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.tasmota06
|
||||
mode: single
|
||||
- id: '1669014612655'
|
||||
alias: Weihnachtslichter oben 03 abends an 16:30
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '16:30:00'
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.tasmota06
|
||||
mode: single
|
||||
- id: '1669014682496'
|
||||
alias: Weihnachtslichter oben 04 abends aus 22:00
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '22:00:00'
|
||||
condition: []
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.tasmota06
|
||||
mode: single
|
||||
|
||||
@@ -1,136 +0,0 @@
|
||||
# ------ Einschalten ---------------
|
||||
- alias: EsszimmerRadio Oben an
|
||||
trigger:
|
||||
# Switch on when pushing play or power
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_power
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
# Switch on when pressing any number button
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_1
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_2
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_3
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: switch.turn_on
|
||||
data:
|
||||
entity_id: switch.esszimmer_oben_radio_steckdose1
|
||||
|
||||
|
||||
# ------ Ausschalten ---------------
|
||||
|
||||
- alias: EsszimmerRadio Oben aus
|
||||
trigger:
|
||||
# Switch off when pushing goto or pause
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_goto
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
data:
|
||||
entity_id: switch.esszimmer_oben_radio_steckdose1
|
||||
- service: media_player.media_stop
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
|
||||
- alias: Radio Stop
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_stop
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
|
||||
# ------ Squeezelite neustart ---------------
|
||||
|
||||
- alias: EsszimmerRadio oben squeezelite neustart
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_record
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: sysdweb.restart
|
||||
data:
|
||||
hostname: esszimmerradio.fritz.box
|
||||
service_name: squeezelite
|
||||
@@ -1,652 +0,0 @@
|
||||
# Dont' edit manually! this is generated!
|
||||
|
||||
- alias: IR bedroompi.fritz.box btn_1
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_1
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Good Morning
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_2
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_2
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Good Night Long
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_3
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_3
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Good Night
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_4
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bar Classics
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_5
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Sentimental Moods
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_6
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Pop
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_7
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: B 5 aktuell
|
||||
media_content_type: channel
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_8
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR-Klassik
|
||||
media_content_type: channel
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_9
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box key_numeric_star
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_star
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.repeat_set
|
||||
data:
|
||||
repeat: one
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 1
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Foen
|
||||
media_content_type: music
|
||||
entity_id: media_player.bedroompi
|
||||
- service: media_player.volume_set
|
||||
data:
|
||||
volume_level: 60
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box btn_0
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_0
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 3
|
||||
media_content_type: channel
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box key_numeric_pound
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_pound
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 2
|
||||
media_content_type: channel
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box key_red
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_red
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.schlafzimmer_stillen
|
||||
- alias: IR bedroompi.fritz.box key_green
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_green
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.schlafzimmer_orange
|
||||
- alias: IR bedroompi.fritz.box key_yellow
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_yellow
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.schlafzimmer_ganz_hell
|
||||
- alias: IR bedroompi.fritz.box key_blue
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_blue
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.nachtswennallelieberschlafen
|
||||
- alias: IR bedroompi.fritz.box key_tv
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_tv
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: script.turn_on
|
||||
data:
|
||||
variables:
|
||||
media_content_id: spotify:playlist:37i9dQZF1DXbcPC6Vvqudd
|
||||
light_off_secs: 900
|
||||
music_off_secs: 2700
|
||||
shuffle: 1
|
||||
entity_id: script.timed_sleep
|
||||
- alias: IR bedroompi.fritz.box key_video
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_video
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: script.turn_on
|
||||
data:
|
||||
variables:
|
||||
media_content_id: Good Night
|
||||
light_off_secs: 900
|
||||
music_off_secs: 2700
|
||||
shuffle: 0
|
||||
entity_id: script.timed_sleep
|
||||
- alias: IR bedroompi.fritz.box key_music
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_music
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: script.turn_on
|
||||
data:
|
||||
variables:
|
||||
media_content_id: spotify:playlist:37i9dQZF1DXbcPC6Vvqudd
|
||||
light_off_secs: 300
|
||||
music_off_secs: 1200
|
||||
shuffle: 1
|
||||
entity_id: script.timed_sleep
|
||||
- alias: IR bedroompi.fritz.box key_pictures
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pictures
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: script.turn_on
|
||||
data:
|
||||
variables:
|
||||
media_content_id: Good Night
|
||||
light_off_secs: 300
|
||||
music_off_secs: 1200
|
||||
shuffle: 0
|
||||
entity_id: script.timed_sleep
|
||||
- alias: IR bedroompi.fritz.box key_power
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_power
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: media_player.media_pause
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box key_ok
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_ok
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: cover.close_cover
|
||||
data:
|
||||
entity_id: cover.schlafzimmer_rollo_gross
|
||||
- service: cover_half.set_half
|
||||
data:
|
||||
entity_id: cover.schlafzimmer_rollo_klein
|
||||
- alias: IR bedroompi.fritz.box key_mute
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_mute
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: group.all_downstairs_but_bedroom_and_outside
|
||||
- alias: IR bedroompi.fritz.box key_channel
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channel
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: group.all_downstairs_but_bedroom
|
||||
- alias: IR bedroompi.fritz.box Rollo auf
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_up
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Rollo zu
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_down
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: cover.close_cover
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Rollo halb
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_left
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_right
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channelup
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 30
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channeldown
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -30
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht viel heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 130
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht viel dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_stop
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -130
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Licht aus
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_goto
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: group.bedroom
|
||||
- alias: IR bedroompi.fritz.box Musik Play
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.media_play_pause
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Musik Pause
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Musik Next
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_forward
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_fastforward
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Musik Prev
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_previous
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_rewind
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Vol Up
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumeup
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.volume_up
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Vol Down
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumedown
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.volume_down
|
||||
data:
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Shuffle On
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: true
|
||||
entity_id: media_player.bedroompi
|
||||
- alias: IR bedroompi.fritz.box Shuffle Off
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_exit
|
||||
repeat_counter: 0
|
||||
host: bedroompi.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.bedroompi
|
||||
@@ -1,352 +0,0 @@
|
||||
# Dont' edit manually! this is generated!
|
||||
|
||||
- alias: IR esszimmerradio.fritz.box btn_1
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_1
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 1
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_2
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_2
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 2
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_3
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_3
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR Heimat
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_4
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern+
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_5
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: B 5 Aktuell
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_6
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR-Klassik
|
||||
media_content_type: channel
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_7
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Gesammelte Weihnachtslieder
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_8
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Harmonic Brass Christmas
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_9
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: German Brass Christmas
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box key_numeric_star
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_star
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Weihnachten mit den Wiener Sängerknaben
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box btn_0
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_0
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Weihnachten mit den Wiener Sängerknaben
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box key_numeric_pound
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_pound
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.esszimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: SammlungGeorg
|
||||
media_content_type: music
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Musik Play
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.media_play_pause
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Musik Pause
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Musik Next
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_forward
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_fastforward
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Musik Prev
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_previous
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_rewind
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Vol Up
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumeup
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.volume_up
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Vol Down
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumedown
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.volume_down
|
||||
data:
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Shuffle On
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: true
|
||||
entity_id: media_player.esszimmer
|
||||
- alias: IR esszimmerradio.fritz.box Shuffle Off
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_exit
|
||||
repeat_counter: 0
|
||||
host: esszimmerradio.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.esszimmer
|
||||
@@ -1,352 +0,0 @@
|
||||
# Dont' edit manually! this is generated!
|
||||
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_1
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_1
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 1
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_2
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_2
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 2
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_3
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_3
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR Heimat
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_4
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern+
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_5
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: B 5 Aktuell
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_6
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR-Klassik
|
||||
media_content_type: channel
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_7
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Gesammelte Weihnachtslieder
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_8
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Harmonic Brass Christmas
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_9
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: German Brass Christmas
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box key_numeric_star
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_star
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Weihnachten mit den Wiener Sängerknaben
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box btn_0
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_0
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Weihnachten mit den Wiener Sängerknaben
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box key_numeric_pound
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_pound
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.wohnzimmer
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: SammlungGeorg
|
||||
media_content_type: music
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Play
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.media_play_pause
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Pause
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Next
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_forward
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_fastforward
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Musik Prev
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_previous
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_rewind
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Vol Up
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumeup
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.volume_up
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Vol Down
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumedown
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.volume_down
|
||||
data:
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Shuffle On
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: true
|
||||
entity_id: media_player.wohnzimmer
|
||||
- alias: IR musikserverWohnzimmerOben.fritz.box Shuffle Off
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_exit
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.wohnzimmer
|
||||
@@ -1,440 +0,0 @@
|
||||
# Dont' edit manually! this is generated!
|
||||
|
||||
- alias: IR kitchenpi.fritz.box btn_4
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_4
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bar Classics
|
||||
media_content_type: music
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_5
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_5
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Sentimental Moods
|
||||
media_content_type: music
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_6
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_6
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Pop
|
||||
media_content_type: music
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_7
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_7
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: B 5 aktuell
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_8
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_8
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: BR-Klassik
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_9
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_9
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
- service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playlist repeat 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.squeezebox_call_method
|
||||
data:
|
||||
command: playerpref transitionType 0
|
||||
entity_id: media_player.kitchenpi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
media_content_id: http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3
|
||||
media_content_type: music
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box key_numeric_star
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_star
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Antenne Bayern
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box btn_0
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: btn_0
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 3
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box key_numeric_pound
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_numeric_pound
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
media_content_id: Bayern 2
|
||||
media_content_type: channel
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box key_red
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_red
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_orange
|
||||
- alias: IR kitchenpi.fritz.box key_green
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_green
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_grun
|
||||
- alias: IR kitchenpi.fritz.box key_yellow
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_yellow
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_hell
|
||||
- alias: IR kitchenpi.fritz.box key_blue
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_blue
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_blau_grun
|
||||
- alias: IR kitchenpi.fritz.box Rollo auf
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_up
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Rollo zu
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_down
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: cover.close_cover
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Rollo halb
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_left
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_right
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channelup
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 30
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channeldown
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -30
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht viel heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 130
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht viel dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_stop
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -130
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Licht aus
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_goto
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
- alias: IR kitchenpi.fritz.box Musik Play
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_play
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.media_play_pause
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Musik Pause
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_pause
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Musik Next
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_forward
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_fastforward
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Musik Prev
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_previous
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_rewind
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.media_next_track
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Vol Up
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumeup
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.volume_up
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Vol Down
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_volumedown
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.volume_down
|
||||
data:
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Shuffle On
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_menu
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: true
|
||||
entity_id: media_player.kitchenpi
|
||||
- alias: IR kitchenpi.fritz.box Shuffle Off
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_exit
|
||||
repeat_counter: 0
|
||||
host: kitchenpi.fritz.box
|
||||
action:
|
||||
service: media_player.shuffle_set
|
||||
data:
|
||||
shuffle: false
|
||||
entity_id: media_player.kitchenpi
|
||||
@@ -1,35 +0,0 @@
|
||||
- alias: KNX Button WohnzimmerTerrassentür Teddy mitte links kurz
|
||||
trigger:
|
||||
- entity_id: switch.wohnzimmer_terrassentur_szene_2
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
platform: state
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_kuscheln
|
||||
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button WohnzimmerTerrassentür Garten mitte rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_terrassentur_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.garten_savanna
|
||||
|
||||
- alias: KNX Button WohnzimmerTerrassentür Garten mitte rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_terrassentur_szene_3
|
||||
action:
|
||||
service: lights.turn_off
|
||||
data:
|
||||
entity_id: light.garten_lichter
|
||||
@@ -1,66 +0,0 @@
|
||||
|
||||
- alias: KNX Button Eingangstür mitte links kurz - alles an
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.eingang_szene_2
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id:
|
||||
- light.gang_licht
|
||||
- light.gang_einganglicht
|
||||
|
||||
|
||||
- alias: KNX Button Eingangstür mitte links lang - alles an hell
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.eingang_szene_2
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id:
|
||||
- light.gang_licht
|
||||
- light.gang_einganglicht
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id:
|
||||
- scene.wohnbereich_hell
|
||||
|
||||
# -----------
|
||||
|
||||
- alias: KNX Button Eingangstür mitte rechts kurz - alles aus innen
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.eingang_szene_3
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id:
|
||||
- all_downstairs_but_outside
|
||||
|
||||
|
||||
- alias: KNX Button Eingangstür mitte rechts lang - alles aus innen und aussen
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.eingang_szene_3
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id:
|
||||
- all_downstairs
|
||||
|
||||
|
||||
# --------------------------------- Alarm Buttons -----------------------------------
|
||||
|
||||
|
||||
# Alarm
|
||||
#switch.eingang_szene_4 # key
|
||||
#switch.eingang_szene_5 # dog
|
||||
@@ -1,156 +0,0 @@
|
||||
# ---------------------------------------------------
|
||||
- alias: KNX Button Esszimmertür oben links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_0
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
|
||||
- alias: KNX Button Esszimmertür oben links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_0
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id:
|
||||
- cover.kuche_fenster_rollo
|
||||
- cover.esszimmer_fenster_rollo
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button Esszimmertür oben rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_1
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
|
||||
- alias: KNX Button Esszimmertür oben rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_1
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id:
|
||||
- cover.kuche_fenster_rollo
|
||||
- cover.esszimmer_fenster_rollo
|
||||
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
- alias: KNX Button Esszimmertür mitte links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_2
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_orange
|
||||
|
||||
- alias: KNX Button Esszimmertür mitte links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_2
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.kuche_essbereich_orange
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button Esszimmertür mitte rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_hell
|
||||
|
||||
- alias: KNX Button Esszimmertür mitte rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.kuche_essbereich_hell
|
||||
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
- alias: KNX Button Esszimmertür unten links ein
|
||||
trigger:
|
||||
- entity_id: switch.esszimmer_szene_4
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
platform: state
|
||||
action:
|
||||
service: switch.turn_on
|
||||
data:
|
||||
entity_id:
|
||||
- switch.herd_phase_1
|
||||
- switch.herd_phase_2
|
||||
- switch.herd_phase_3
|
||||
|
||||
- alias: KNX Button Esszimmertür unten links aus
|
||||
trigger:
|
||||
- entity_id: switch.esszimmer_szene_4
|
||||
from: 'on'
|
||||
to: 'off'
|
||||
platform: state
|
||||
action:
|
||||
service: switch.turn_off
|
||||
data:
|
||||
entity_id:
|
||||
- switch.herd_phase_1
|
||||
- switch.herd_phase_2
|
||||
- switch.herd_phase_3
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button Esszimmertür unten rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_5
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
- alias: KNX Button Esszimmertür unten rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.esszimmer_szene_5
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: light.kuche_esszimmer_lichter
|
||||
@@ -1,150 +0,0 @@
|
||||
# ---------------------------------------------------
|
||||
- alias: KNX Button WohnzimmerGangTür oben links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_0
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür oben links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_0
|
||||
action:
|
||||
service: cover_half.set_half
|
||||
data:
|
||||
entity_id:
|
||||
- cover.wohnzimmer_fenster_rollo
|
||||
- cover.wohnzimmer_terrassentur_rollo
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür oben rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_1
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür oben rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_1
|
||||
action:
|
||||
service: cover.open_cover
|
||||
data:
|
||||
entity_id:
|
||||
- cover.wohnzimmer_fenster_rollo
|
||||
- cover.wohnzimmer_terrassentur_rollo
|
||||
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür mitte links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_2
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_orange
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür mitte links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_2
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnzimmer_orange
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür mitte rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnbereich_hell
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür mitte rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_3
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnzimmer_hell
|
||||
|
||||
|
||||
# ---------------------------------------------------
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür unten links kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_4
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnzimmer_dunkel
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür unten links lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_4
|
||||
action:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.wohnzimmer_dunkel
|
||||
|
||||
# ===
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür unten rechts kurz
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: short_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_5
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: group.living_area
|
||||
|
||||
- alias: KNX Button WohnzimmerGangTür unten rechts lang
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: long_click
|
||||
event_data:
|
||||
entity_id: switch.wohnzimmer_szene_5
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: light.kuche_wohnzimmer_lichter
|
||||
@@ -1,217 +0,0 @@
|
||||
- alias: Oben Wohnzimmer IR key_red next scene
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_red
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: counter.increment
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
|
||||
|
||||
- alias: Oben Wohnzimmer IR key_green prev scene
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_green
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: counter.decrement
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
|
||||
- alias: Oben Wohnzimmer IR Licht heller
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channelup
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: 30
|
||||
entity_id: light.lampe_ersterstock
|
||||
|
||||
- alias: Oben Wohnzimmer IR Licht dunkler
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_channeldown
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: dimmer.dim
|
||||
data:
|
||||
offset: -30
|
||||
entity_id: light.lampe_ersterstock
|
||||
|
||||
- alias: Oben Wohnzimmer IR Licht aus
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_green
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_blue
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_yellow
|
||||
repeat_counter: 0
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
action:
|
||||
service: light.turn_off
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
|
||||
|
||||
# --------------------------------- Szenen -------------------
|
||||
|
||||
- alias: Oben Szene 0
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 0 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
color_temp: 492
|
||||
|
||||
|
||||
- alias: Oben Szene 1
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 1 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.5794
|
||||
- 0.3752
|
||||
|
||||
|
||||
- alias: Oben Szene 2
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 2 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.5535
|
||||
- 0.4104
|
||||
|
||||
- alias: Oben Szene 3
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 3 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.4662
|
||||
- 0.3252
|
||||
|
||||
- alias: Oben Szene 4
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 4 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.3423
|
||||
- 0.2252
|
||||
|
||||
|
||||
- alias: Oben Szene 5
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 5 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.346
|
||||
- 0.394
|
||||
|
||||
- alias: Oben Szene 6
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 6 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.4119
|
||||
- 0.3671
|
||||
|
||||
|
||||
- alias: Oben Szene 7
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 7 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
xy_color:
|
||||
- 0.408
|
||||
- 0.517
|
||||
|
||||
|
||||
- alias: Oben Szene 8
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: counter.licht_szene_oben_counter
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ states('counter.licht_szene_oben_counter')|int % 9 == 8 }}"
|
||||
action:
|
||||
service: light.turn_on
|
||||
data:
|
||||
entity_id: light.lampe_ersterstock
|
||||
color_temp: 202
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
# ------ Squeezelite neustart ---------------
|
||||
|
||||
- alias: Wohnzimmer oben squeezelite neustart
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: ir_command_received
|
||||
event_data:
|
||||
button_name: key_record
|
||||
repeat_counter: 0
|
||||
host: musikserverwohnzimmeroben.fritz.box
|
||||
action:
|
||||
service: sysdweb.restart
|
||||
data:
|
||||
hostname: musikserverwohnzimmeroben.fritz.box
|
||||
service_name: squeezelite
|
||||
@@ -1,263 +0,0 @@
|
||||
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
|
||||
attr global autoload_undefined_devices 1
|
||||
attr global logfile -
|
||||
attr global modpath .
|
||||
attr global motd Error messages while initializing FHEM:\
|
||||
attr global statefile ./log/fhem.save
|
||||
attr global updateInBackground 1
|
||||
attr global verbose 3
|
||||
attr global genericDeviceType:switch,light,blind,thermostat
|
||||
|
||||
define telnetPort telnet 7072 global
|
||||
|
||||
#define WEB FHEMWEB 8083 global
|
||||
|
||||
#define WEBphone FHEMWEB 8084 global
|
||||
#attr WEBphone stylesheetPrefix smallscreen
|
||||
|
||||
#define WEBtablet FHEMWEB 8085 global
|
||||
#attr WEBtablet stylesheetPrefix touchpad
|
||||
|
||||
# Fake FileLog entry, to access the fhem log from FHEMWEB
|
||||
#define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
|
||||
|
||||
define autocreate autocreate
|
||||
attr autocreate autosave 1
|
||||
#attr autocreate filelog ./log/%NAME-%Y.log
|
||||
|
||||
#define eventTypes eventTypes ./log/eventTypes.txt
|
||||
|
||||
# Disable this to avoid looking for new USB devices on startup
|
||||
#define initialUsbCheck notify global:INITIALIZED usb create
|
||||
|
||||
define CUL_0 CUL __device_placeholder__@9600 1034
|
||||
attr CUL_0 hmId 62a77d
|
||||
attr CUL_0 rfmode HomeMatic
|
||||
|
||||
define Arbeitszimmer_Rollo CUL_HM 339336
|
||||
attr Arbeitszimmer_Rollo IODev CUL_0
|
||||
attr Arbeitszimmer_Rollo autoReadReg 4_reqStatus
|
||||
attr Arbeitszimmer_Rollo expert 2_full
|
||||
attr Arbeitszimmer_Rollo firmware 2.3
|
||||
attr Arbeitszimmer_Rollo model HM-LC-Bl1PBU-FM
|
||||
attr Arbeitszimmer_Rollo room CUL_HM
|
||||
attr Arbeitszimmer_Rollo serialNr LEQ1440417
|
||||
attr Arbeitszimmer_Rollo subType blindActuator
|
||||
attr Arbeitszimmer_Rollo webCmd statusRequest:toggleDir:on:off:up:down:stop
|
||||
attr Arbeitszimmer_Rollo room Homekit
|
||||
|
||||
|
||||
define Arbeitszimmer_Deckenlampe CUL_HM 1AA382
|
||||
attr Arbeitszimmer_Deckenlampe IODev CUL_0
|
||||
attr Arbeitszimmer_Deckenlampe autoReadReg 4_reqStatus
|
||||
attr Arbeitszimmer_Deckenlampe expert 2_full
|
||||
attr Arbeitszimmer_Deckenlampe firmware 2.2
|
||||
attr Arbeitszimmer_Deckenlampe model HM-LC-Dim1TPBU-FM
|
||||
attr Arbeitszimmer_Deckenlampe room CUL_HM
|
||||
attr Arbeitszimmer_Deckenlampe serialNr JEQ0201891
|
||||
attr Arbeitszimmer_Deckenlampe subType dimmer
|
||||
attr Arbeitszimmer_Deckenlampe webCmd getConfig:clear msgEvents
|
||||
define Arbeitszimmer_Deckenlampe_Sw CUL_HM 1AA38201
|
||||
attr Arbeitszimmer_Deckenlampe_Sw model HM-LC-Dim1TPBU-FM
|
||||
attr Arbeitszimmer_Deckenlampe_Sw peerIDs
|
||||
attr Arbeitszimmer_Deckenlampe_Sw webCmd statusRequest:toggle:on:off:up:down
|
||||
define Arbeitszimmer_Deckenlampe_Sw1_V_01 CUL_HM 1AA38202
|
||||
attr Arbeitszimmer_Deckenlampe_Sw1_V_01 model HM-LC-Dim1TPBU-FM
|
||||
attr Arbeitszimmer_Deckenlampe_Sw1_V_01 webCmd statusRequest:toggle:on:off:up:down
|
||||
define Arbeitszimmer_Deckenlampe_Sw1_V_02 CUL_HM 1AA38203
|
||||
attr Arbeitszimmer_Deckenlampe_Sw1_V_02 model HM-LC-Dim1TPBU-FM
|
||||
attr Arbeitszimmer_Deckenlampe_Sw1_V_02 webCmd statusRequest:toggle:on:off:up:down
|
||||
attr Arbeitszimmer_Deckenlampe room Homekit
|
||||
|
||||
|
||||
|
||||
define Schlafzimmer_Deckenlampe CUL_HM 1AA1C7
|
||||
attr Schlafzimmer_Deckenlampe IODev CUL_0
|
||||
attr Schlafzimmer_Deckenlampe autoReadReg 4_reqStatus
|
||||
attr Schlafzimmer_Deckenlampe expert 2_full
|
||||
attr Schlafzimmer_Deckenlampe firmware 2.2
|
||||
attr Schlafzimmer_Deckenlampe model HM-LC-Dim1TPBU-FM
|
||||
attr Schlafzimmer_Deckenlampe room CUL_HM
|
||||
attr Schlafzimmer_Deckenlampe serialNr JEQ0201456
|
||||
attr Schlafzimmer_Deckenlampe subType dimmer
|
||||
attr Schlafzimmer_Deckenlampe webCmd getConfig:clear msgEvents
|
||||
define Schlafzimmer_Deckenlampe_Sw CUL_HM 1AA1C701
|
||||
attr Schlafzimmer_Deckenlampe_Sw model HM-LC-Dim1TPBU-FM
|
||||
attr Schlafzimmer_Deckenlampe_Sw peerIDs
|
||||
attr Schlafzimmer_Deckenlampe_Sw webCmd statusRequest:toggle:on:off:up:down
|
||||
define Schlafzimmer_Deckenlampe_Sw1_V_01 CUL_HM 1AA1C702
|
||||
attr Schlafzimmer_Deckenlampe_Sw1_V_01 model HM-LC-Dim1TPBU-FM
|
||||
attr Schlafzimmer_Deckenlampe_Sw1_V_01 webCmd statusRequest:toggle:on:off:up:down
|
||||
define Schlafzimmer_Deckenlampe_Sw1_V_02 CUL_HM 1AA1C703
|
||||
attr Schlafzimmer_Deckenlampe_Sw1_V_02 model HM-LC-Dim1TPBU-FM
|
||||
attr Schlafzimmer_Deckenlampe_Sw1_V_02 webCmd statusRequest:toggle:on:off:up:down
|
||||
attr Schlafzimmer_Deckenlampe room Homekit
|
||||
|
||||
|
||||
|
||||
define Schlafzimmer_RolloKlein CUL_HM 338C2A
|
||||
attr Schlafzimmer_RolloKlein IODev CUL_0
|
||||
attr Schlafzimmer_RolloKlein autoReadReg 4_reqStatus
|
||||
attr Schlafzimmer_RolloKlein expert 2_full
|
||||
attr Schlafzimmer_RolloKlein firmware 2.3
|
||||
attr Schlafzimmer_RolloKlein model HM-LC-Bl1PBU-FM
|
||||
attr Schlafzimmer_RolloKlein room CUL_HM
|
||||
attr Schlafzimmer_RolloKlein serialNr LEQ1439693
|
||||
attr Schlafzimmer_RolloKlein subType blindActuator
|
||||
attr Schlafzimmer_RolloKlein webCmd statusRequest:toggleDir:on:off:up:down:stop
|
||||
attr Schlafzimmer_RolloKlein room Homekit
|
||||
|
||||
|
||||
|
||||
|
||||
define Schlafzimmer_RolloGross CUL_HM 338C33
|
||||
attr Schlafzimmer_RolloGross IODev CUL_0
|
||||
attr Schlafzimmer_RolloGross autoReadReg 4_reqStatus
|
||||
attr Schlafzimmer_RolloGross expert 2_full
|
||||
attr Schlafzimmer_RolloGross firmware 2.3
|
||||
attr Schlafzimmer_RolloGross model HM-LC-Bl1PBU-FM
|
||||
attr Schlafzimmer_RolloGross room CUL_HM
|
||||
attr Schlafzimmer_RolloGross serialNr LEQ1439702
|
||||
attr Schlafzimmer_RolloGross subType blindActuator
|
||||
attr Schlafzimmer_RolloGross webCmd statusRequest:toggleDir:on:off:up:down:stop
|
||||
attr Schlafzimmer_RolloGross room Homekit
|
||||
|
||||
|
||||
|
||||
define Kinderzimmer_Deckenlampe CUL_HM 1B5305
|
||||
attr Kinderzimmer_Deckenlampe IODev CUL_0
|
||||
attr Kinderzimmer_Deckenlampe autoReadReg 4_reqStatus
|
||||
attr Kinderzimmer_Deckenlampe expert 2_full
|
||||
attr Kinderzimmer_Deckenlampe firmware 2.2
|
||||
attr Kinderzimmer_Deckenlampe model HM-LC-Dim1TPBU-FM
|
||||
attr Kinderzimmer_Deckenlampe room CUL_HM
|
||||
attr Kinderzimmer_Deckenlampe serialNr JEQ0199674
|
||||
attr Kinderzimmer_Deckenlampe subType dimmer
|
||||
attr Kinderzimmer_Deckenlampe webCmd getConfig:clear msgEvents
|
||||
define Kinderzimmer_Deckenlampe_Sw CUL_HM 1B530501
|
||||
attr Kinderzimmer_Deckenlampe_Sw model HM-LC-Dim1TPBU-FM
|
||||
attr Kinderzimmer_Deckenlampe_Sw peerIDs
|
||||
attr Kinderzimmer_Deckenlampe_Sw webCmd statusRequest:toggle:on:off:up:down
|
||||
define Kinderzimmer_Deckenlampe_Sw1_V_01 CUL_HM 1B530502
|
||||
attr Kinderzimmer_Deckenlampe_Sw1_V_01 model HM-LC-Dim1TPBU-FM
|
||||
attr Kinderzimmer_Deckenlampe_Sw1_V_01 webCmd statusRequest:toggle:on:off:up:down
|
||||
define Kinderzimmer_Deckenlampe_Sw1_V_02 CUL_HM 1B530503
|
||||
attr Kinderzimmer_Deckenlampe_Sw1_V_02 model HM-LC-Dim1TPBU-FM
|
||||
attr Kinderzimmer_Deckenlampe_Sw1_V_02 webCmd statusRequest:toggle:on:off:up:down
|
||||
attr Kinderzimmer_Deckenlampe room Homekit
|
||||
|
||||
|
||||
|
||||
|
||||
define Kinderzimmer_Rollo CUL_HM 1AF5DD
|
||||
attr Kinderzimmer_Rollo IODev CUL_0
|
||||
attr Kinderzimmer_Rollo autoReadReg 4_reqStatus
|
||||
attr Kinderzimmer_Rollo expert 2_full
|
||||
attr Kinderzimmer_Rollo firmware 2.1
|
||||
attr Kinderzimmer_Rollo model HM-LC-Bl1PBU-FM
|
||||
attr Kinderzimmer_Rollo room CUL_HM
|
||||
attr Kinderzimmer_Rollo serialNr JEQ0109195
|
||||
attr Kinderzimmer_Rollo subType blindActuator
|
||||
attr Kinderzimmer_Rollo webCmd statusRequest:toggleDir:on:off:up:down:stop
|
||||
attr Kinderzimmer_Rollo room Homekit
|
||||
|
||||
|
||||
|
||||
define Steckdose_Dimmer CUL_HM 20E8F1
|
||||
attr Steckdose_Dimmer IODev CUL_0
|
||||
attr Steckdose_Dimmer autoReadReg 4_reqStatus
|
||||
attr Steckdose_Dimmer expert 2_full
|
||||
attr Steckdose_Dimmer firmware 2.3
|
||||
attr Steckdose_Dimmer model HM-LC-Dim1T-Pl-2
|
||||
attr Steckdose_Dimmer room CUL_HM
|
||||
attr Steckdose_Dimmer serialNr KEQ0124588
|
||||
attr Steckdose_Dimmer subType dimmer
|
||||
attr Steckdose_Dimmer webCmd statusRequest:toggle:on:off:up:down
|
||||
attr Steckdose_Dimmer room Homekit
|
||||
|
||||
|
||||
|
||||
define Bad_Luefter CUL_HM 1B7501
|
||||
attr Bad_Luefter IODev CUL_0
|
||||
attr Bad_Luefter autoReadReg 4_reqStatus
|
||||
attr Bad_Luefter expert 2_full
|
||||
attr Bad_Luefter firmware 2.1
|
||||
attr Bad_Luefter model HM-LC-Sw1PBU-FM
|
||||
attr Bad_Luefter room CUL_HM
|
||||
attr Bad_Luefter serialNr JEQ0099033
|
||||
attr Bad_Luefter subType switch
|
||||
attr Bad_Luefter webCmd statusRequest:toggle:on:off
|
||||
attr Bad_Luefter room Homekit
|
||||
|
||||
|
||||
|
||||
define Arbeitszimmer_Bewegungsmelder CUL_HM 2F2A4B
|
||||
attr Arbeitszimmer_Bewegungsmelder IODev CUL_0
|
||||
attr Arbeitszimmer_Bewegungsmelder actCycle 000:20
|
||||
attr Arbeitszimmer_Bewegungsmelder actStatus alive
|
||||
attr Arbeitszimmer_Bewegungsmelder autoReadReg 4_reqStatus
|
||||
attr Arbeitszimmer_Bewegungsmelder expert 2_full
|
||||
attr Arbeitszimmer_Bewegungsmelder firmware 1.6
|
||||
attr Arbeitszimmer_Bewegungsmelder model HM-SEC-MDIR-2
|
||||
attr Arbeitszimmer_Bewegungsmelder room CUL_HM
|
||||
attr Arbeitszimmer_Bewegungsmelder serialNr LEQ0797237
|
||||
attr Arbeitszimmer_Bewegungsmelder subType motionDetector
|
||||
attr Arbeitszimmer_Bewegungsmelder room Homekit
|
||||
|
||||
|
||||
define ActionDetector CUL_HM 000000
|
||||
attr ActionDetector event-on-change-reading .*
|
||||
attr ActionDetector model ActionDetector
|
||||
|
||||
|
||||
define MobileSteckdoseSchalter1 CUL_HM 453335
|
||||
attr MobileSteckdoseSchalter1 IODev CUL_0
|
||||
attr MobileSteckdoseSchalter1 actCycle 000:10
|
||||
attr MobileSteckdoseSchalter1 actStatus dead
|
||||
attr MobileSteckdoseSchalter1 autoReadReg 4_reqStatus
|
||||
attr MobileSteckdoseSchalter1 expert 2_full
|
||||
attr MobileSteckdoseSchalter1 firmware 1.6
|
||||
attr MobileSteckdoseSchalter1 model HM-ES-PMSw1-Pl
|
||||
attr MobileSteckdoseSchalter1 room CUL_HM
|
||||
attr MobileSteckdoseSchalter1 serialNr NEQ0153825
|
||||
attr MobileSteckdoseSchalter1 subType powerMeter
|
||||
attr MobileSteckdoseSchalter1 webCmd getConfig:clear msgEvents
|
||||
define MobileSteckdoseSchalter1_Sw CUL_HM 45333501
|
||||
attr MobileSteckdoseSchalter1_Sw model HM-ES-PMSw1-Pl
|
||||
attr MobileSteckdoseSchalter1_Sw peerIDs
|
||||
define MobileSteckdoseSchalter1_Pwr CUL_HM 45333502
|
||||
attr MobileSteckdoseSchalter1_Pwr model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter1_SenPwr CUL_HM 45333503
|
||||
attr MobileSteckdoseSchalter1_SenPwr model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter1_SenI CUL_HM 45333504
|
||||
attr MobileSteckdoseSchalter1_SenI model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter1_SenU CUL_HM 45333505
|
||||
attr MobileSteckdoseSchalter1_SenU model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter1_SenF CUL_HM 45333506
|
||||
attr MobileSteckdoseSchalter1_SenF model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2 CUL_HM 338E72
|
||||
attr MobileSteckdoseSchalter2 IODev CUL_0
|
||||
attr MobileSteckdoseSchalter2 actCycle 000:10
|
||||
attr MobileSteckdoseSchalter2 actStatus dead
|
||||
attr MobileSteckdoseSchalter2 autoReadReg 4_reqStatus
|
||||
attr MobileSteckdoseSchalter2 expert 2_full
|
||||
attr MobileSteckdoseSchalter2 firmware 1.6
|
||||
attr MobileSteckdoseSchalter2 model HM-ES-PMSw1-Pl
|
||||
attr MobileSteckdoseSchalter2 room CUL_HM
|
||||
attr MobileSteckdoseSchalter2 serialNr LEQ1345055
|
||||
attr MobileSteckdoseSchalter2 subType powerMeter
|
||||
attr MobileSteckdoseSchalter2 webCmd getConfig:clear msgEvents
|
||||
define MobileSteckdoseSchalter2_Sw CUL_HM 338E7201
|
||||
attr MobileSteckdoseSchalter2_Sw model HM-ES-PMSw1-Pl
|
||||
attr MobileSteckdoseSchalter2_Sw peerIDs
|
||||
define MobileSteckdoseSchalter2_Pwr CUL_HM 338E7202
|
||||
attr MobileSteckdoseSchalter2_Pwr model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2_SenPwr CUL_HM 338E7203
|
||||
attr MobileSteckdoseSchalter2_SenPwr model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2_SenI CUL_HM 338E7204
|
||||
attr MobileSteckdoseSchalter2_SenI model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2_SenU CUL_HM 338E7205
|
||||
attr MobileSteckdoseSchalter2_SenU model HM-ES-PMSw1-Pl
|
||||
define MobileSteckdoseSchalter2_SenF CUL_HM 338E7206
|
||||
attr MobileSteckdoseSchalter2_SenF model HM-ES-PMSw1-Pl
|
||||
|
||||
@@ -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
|
||||
@@ -1,8 +1,4 @@
|
||||
# Add only entities here that are auto-discovered (not FHEM and KNX devices)
|
||||
|
||||
#default_view:
|
||||
# view: true
|
||||
# icon: mdi:home
|
||||
# Add only entities here that are auto-discovered (not KNX devices)
|
||||
|
||||
living_area:
|
||||
name: Wohnbereich
|
||||
@@ -19,10 +15,13 @@ living_area:
|
||||
bedroom:
|
||||
name: Schlafzimmer
|
||||
entities:
|
||||
- light.schlafzimmer_deckenlampe
|
||||
- light.schlafzimmer_fluter
|
||||
- light.bett_martin
|
||||
- light.bett_rebecca
|
||||
- light.schlafzimmer_schrank
|
||||
- cover.schlafzimmer_rollo_gross
|
||||
- cover.schlafzimmer_rollo_klein
|
||||
|
||||
hallway:
|
||||
name: Gang
|
||||
@@ -45,21 +44,24 @@ outside:
|
||||
office:
|
||||
name: Arbeitszimmer
|
||||
entities:
|
||||
- light.arbeitszimmer_deckenlampe
|
||||
- light.arbeitszimmer_stehlampe_oben
|
||||
- light.arbeitszimmer_stehlampe_unten
|
||||
- light.arbeitszimmer_fluter
|
||||
|
||||
- cover.arbeitszimmer_rollo
|
||||
|
||||
kids_room:
|
||||
name: Kinderzimmer
|
||||
entities:
|
||||
- light.kinderzimmer_fluter
|
||||
- cover.kinderzimmer_rollo
|
||||
|
||||
|
||||
bathroom:
|
||||
name: Bad
|
||||
|
||||
|
||||
|
||||
other:
|
||||
name: Rest
|
||||
|
||||
|
||||
@@ -1,337 +0,0 @@
|
||||
import re
|
||||
import os
|
||||
from ruamel.yaml import YAML
|
||||
|
||||
yaml = YAML()
|
||||
|
||||
# -------------------------------------- put the config here -----------------------------------------------------------
|
||||
|
||||
|
||||
def get_config():
|
||||
return {
|
||||
'bedroom': {
|
||||
'ir_host': 'bedroompi.fritz.box',
|
||||
'media_player': 'media_player.bedroompi',
|
||||
'group': 'group.bedroom',
|
||||
|
||||
'mapping': {
|
||||
'btn_1': '[playlist] Good Morning',
|
||||
'btn_2': '[playlist] Good Night Long',
|
||||
'btn_3': '[playlist] Good Night',
|
||||
|
||||
'btn_4': '[playlist] Bar Classics',
|
||||
'btn_5': '[playlist] Sentimental Moods',
|
||||
'btn_6': '[playlist] Pop',
|
||||
|
||||
'btn_7': '[radio] B 5 aktuell',
|
||||
'btn_8': '[radio] BR-Klassik',
|
||||
'btn_9': '[playlist] http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3', # Klassik Radio
|
||||
|
||||
'key_numeric_star': [
|
||||
*repeat_one_crossfade('media_player.bedroompi'),
|
||||
service('media_player.play_media', 'media_player.bedroompi',
|
||||
media_content_id='Foen', media_content_type='music'),
|
||||
service('media_player.volume_set', 'media_player.bedroompi', volume_level=60),
|
||||
],
|
||||
'btn_0': '[radio] Bayern 3',
|
||||
'key_numeric_pound': '[radio] Bayern 2',
|
||||
|
||||
'key_red': '[scene] schlafzimmer_stillen',
|
||||
'key_green': '[scene] schlafzimmer_orange',
|
||||
'key_yellow': '[scene] schlafzimmer_ganz_hell',
|
||||
'key_blue': '[scene] nachtswennallelieberschlafen',
|
||||
|
||||
'key_tv': [service('script.turn_on', 'script.timed_sleep',
|
||||
variables={'media_content_id': 'spotify:playlist:37i9dQZF1DXbcPC6Vvqudd', # Regen
|
||||
'light_off_secs': 15 * 60,
|
||||
'music_off_secs': 45 * 60,
|
||||
'shuffle': 1,
|
||||
})],
|
||||
'key_video': [service('script.turn_on', 'script.timed_sleep',
|
||||
variables={'media_content_id': 'Good Night',
|
||||
'light_off_secs': 15 * 60,
|
||||
'music_off_secs': 45 * 60,
|
||||
'shuffle': 0,
|
||||
})],
|
||||
'key_music': [service('script.turn_on', 'script.timed_sleep',
|
||||
variables={'media_content_id': 'spotify:playlist:37i9dQZF1DXbcPC6Vvqudd', # Regen
|
||||
'light_off_secs': 5 * 60,
|
||||
'music_off_secs': 20 * 60,
|
||||
'shuffle': 1,
|
||||
})],
|
||||
'key_pictures': [service('script.turn_on', 'script.timed_sleep',
|
||||
variables={'media_content_id': 'Good Night',
|
||||
'light_off_secs': 5 * 60,
|
||||
'music_off_secs': 20 * 60,
|
||||
'shuffle': 0,
|
||||
})],
|
||||
|
||||
'key_power': [ # Music & Lights off
|
||||
service('media_player.media_pause', 'media_player.bedroompi'),
|
||||
service('light.turn_off', 'group.bedroom'),
|
||||
],
|
||||
'key_ok': [ # Grosser Rollo zu, kleiner halb zu
|
||||
service('cover.close_cover', 'cover.schlafzimmer_rollo_gross'),
|
||||
service('cover_half.set_half', 'cover.schlafzimmer_rollo_klein'),
|
||||
],
|
||||
'key_mute': [service('light.turn_off', 'group.all_downstairs_but_bedroom_and_outside')],
|
||||
'key_channel': [service('light.turn_off', 'group.all_downstairs_but_bedroom')],
|
||||
}
|
||||
},
|
||||
'living_area': {
|
||||
'ir_host': 'kitchenpi.fritz.box',
|
||||
'media_player': 'media_player.kitchenpi',
|
||||
'group': 'group.living_area',
|
||||
|
||||
'mapping': {
|
||||
'btn_4': '[playlist] Bar Classics',
|
||||
'btn_5': '[playlist] Sentimental Moods',
|
||||
'btn_6': '[playlist] Pop',
|
||||
|
||||
'btn_7': '[radio] B 5 aktuell',
|
||||
'btn_8': '[radio] BR-Klassik',
|
||||
'btn_9': '[playlist] http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3', # Klassik Radio
|
||||
|
||||
'key_numeric_star': '[radio] Antenne Bayern',
|
||||
'btn_0': '[radio] Bayern 3',
|
||||
'key_numeric_pound': '[radio] Bayern 2',
|
||||
|
||||
'key_red': '[scene] wohnbereich_orange',
|
||||
'key_green': '[scene] wohnbereich_grun',
|
||||
'key_yellow': '[scene] wohnbereich_hell',
|
||||
'key_blue': '[scene] wohnbereich_blau_grun',
|
||||
}
|
||||
},
|
||||
'first_floor_dining_room': {
|
||||
'ir_host': 'esszimmerradio.fritz.box',
|
||||
'media_player': 'media_player.esszimmer',
|
||||
'mapping': {
|
||||
'btn_1': '[radio] Bayern 1',
|
||||
'btn_2': '[radio] Bayern 2',
|
||||
'btn_3': '[radio] BR Heimat',
|
||||
'btn_4': '[radio] Bayern+',
|
||||
'btn_5': '[radio] B 5 Aktuell',
|
||||
'btn_6': '[radio] BR-Klassik',
|
||||
'btn_7': '[playlist] Gesammelte Weihnachtslieder',
|
||||
'btn_8': '[playlist] Harmonic Brass Christmas',
|
||||
'btn_9': '[playlist] German Brass Christmas',
|
||||
'key_numeric_star': '[playlist] Weihnachten mit den Wiener Sängerknaben',
|
||||
'btn_0': '[playlist] Weihnachten mit den Wiener Sängerknaben',
|
||||
'key_numeric_pound': '[playlist] SammlungGeorg',
|
||||
}
|
||||
},
|
||||
'first_floor_living_room': {
|
||||
'ir_host': 'musikserverWohnzimmerOben.fritz.box',
|
||||
'media_player': 'media_player.wohnzimmer',
|
||||
'mapping': {
|
||||
'btn_1': '[radio] Bayern 1',
|
||||
'btn_2': '[radio] Bayern 2',
|
||||
'btn_3': '[radio] BR Heimat',
|
||||
'btn_4': '[radio] Bayern+',
|
||||
'btn_5': '[radio] B 5 Aktuell',
|
||||
'btn_6': '[radio] BR-Klassik',
|
||||
'btn_7': '[playlist] Gesammelte Weihnachtslieder',
|
||||
'btn_8': '[playlist] Harmonic Brass Christmas',
|
||||
'btn_9': '[playlist] German Brass Christmas',
|
||||
'key_numeric_star': '[playlist] Weihnachten mit den Wiener Sängerknaben',
|
||||
'btn_0': '[playlist] Weihnachten mit den Wiener Sängerknaben',
|
||||
'key_numeric_pound': '[playlist] SammlungGeorg',
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
description_regex = re.compile(r'\[\s*(.*)\s*\](.*)')
|
||||
|
||||
|
||||
def split_description(d):
|
||||
res = description_regex.match(d)
|
||||
return res.group(1).strip(), res.group(2).strip()
|
||||
|
||||
|
||||
def default_music_settings(media_player):
|
||||
return [
|
||||
service('media_player.shuffle_set', media_player, shuffle=False),
|
||||
service('media_player.squeezebox_call_method', media_player, command='playlist repeat 0'),
|
||||
service('media_player.squeezebox_call_method', media_player, command="playerpref transitionType 0"),
|
||||
]
|
||||
|
||||
|
||||
def repeat_one_crossfade(media_player):
|
||||
return [
|
||||
service('media_player.repeat_set', media_player, repeat='one'),
|
||||
service('media_player.squeezebox_call_method', media_player, command="playerpref transitionType 1"),
|
||||
]
|
||||
|
||||
|
||||
def automation_from_config(ir_description):
|
||||
ir_host = ir_description['ir_host']
|
||||
|
||||
result = []
|
||||
for key, description in ir_description['mapping'].items():
|
||||
automation = {'alias': f'IR {ir_host} {key}',
|
||||
'trigger': ir_trigger(ir_host, key)}
|
||||
if isinstance(description, list):
|
||||
action = description
|
||||
elif isinstance(description, str):
|
||||
function, value = split_description(description)
|
||||
if function == 'playlist':
|
||||
media_player = ir_description['media_player']
|
||||
action = [*default_music_settings(media_player),
|
||||
service('media_player.play_media', media_player,
|
||||
media_content_id=value, media_content_type='music')]
|
||||
elif function == 'radio':
|
||||
media_player = ir_description['media_player']
|
||||
action = service('media_player.play_media', media_player,
|
||||
media_content_id=value, media_content_type='channel')
|
||||
elif function == 'scene':
|
||||
action = service('scene.turn_on', 'scene.' + value)
|
||||
elif function == 'timed_light_off':
|
||||
group = ir_description['group']
|
||||
action = service('light.turn_off', group, transition=str(60 * int(value)))
|
||||
else:
|
||||
raise ValueError("Invalid prefix " + function)
|
||||
else:
|
||||
raise ValueError("Invalid type for entry " + key)
|
||||
|
||||
automation['action'] = action
|
||||
result.append(automation)
|
||||
return result
|
||||
|
||||
|
||||
def ir_trigger(ir_host, button_name):
|
||||
return {
|
||||
'platform': 'event',
|
||||
'event_type': 'ir_command_received',
|
||||
'event_data': {
|
||||
'button_name': button_name,
|
||||
'repeat_counter': 0,
|
||||
'host': ir_host,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def service(service_name, entity_id, **kwargs):
|
||||
kwargs['entity_id'] = entity_id
|
||||
return {
|
||||
'service': service_name,
|
||||
'data': kwargs
|
||||
}
|
||||
|
||||
|
||||
def default_shutter_controls(device_group, ir_host):
|
||||
"""Default rules for Hauppauge IR for Shutter control with up, down, left, right buttons"""
|
||||
return [
|
||||
{
|
||||
'alias': f'IR {ir_host} Rollo auf',
|
||||
'trigger': ir_trigger(ir_host, 'key_up'),
|
||||
'action': service('cover.open_cover', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Rollo zu',
|
||||
'trigger': ir_trigger(ir_host, 'key_down'),
|
||||
'action': service('cover.close_cover', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Rollo halb',
|
||||
'trigger': [ir_trigger(ir_host, 'key_left'), ir_trigger(ir_host, 'key_right')],
|
||||
'action': service('cover_half.set_half', device_group),
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def default_light_controls(device_group, ir_host):
|
||||
"""Default light rules for Hauppauge IR for light dimming with channel up/down and light off with stop button"""
|
||||
return [
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht heller',
|
||||
'trigger': ir_trigger(ir_host, 'key_channelup'),
|
||||
'action': service('dimmer.dim', device_group, offset=30),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht dunkler',
|
||||
'trigger': ir_trigger(ir_host, 'key_channeldown'),
|
||||
'action': service('dimmer.dim', device_group, offset=-30),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht viel heller',
|
||||
'trigger': ir_trigger(ir_host, 'key_menu'),
|
||||
'action': service('dimmer.dim', device_group, offset=130),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht viel dunkler',
|
||||
'trigger': ir_trigger(ir_host, 'key_stop'),
|
||||
'action': service('dimmer.dim', device_group, offset=-130),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Licht aus',
|
||||
'trigger': ir_trigger(ir_host, 'key_goto'),
|
||||
'action': service('light.turn_off', device_group),
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def default_music_controls(device_group, ir_host):
|
||||
"""Default music control (play, pause, next) for Hauppauge IR"""
|
||||
return [
|
||||
{
|
||||
'alias': f'IR {ir_host} Musik Play',
|
||||
'trigger': ir_trigger(ir_host, 'key_play'),
|
||||
'action': service('media_player.media_play_pause', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Musik Pause',
|
||||
'trigger': ir_trigger(ir_host, 'key_pause'),
|
||||
'action': service('media_player.turn_off', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Musik Next',
|
||||
'trigger': [ir_trigger(ir_host, 'key_forward'), ir_trigger(ir_host, 'key_fastforward')],
|
||||
'action': service('media_player.media_next_track', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Musik Prev',
|
||||
'trigger': [ir_trigger(ir_host, 'key_previous'), ir_trigger(ir_host, 'key_rewind')],
|
||||
'action': service('media_player.media_next_track', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Vol Up',
|
||||
'trigger': ir_trigger(ir_host, 'key_volumeup'),
|
||||
'action': service('media_player.volume_up', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Vol Down',
|
||||
'trigger': ir_trigger(ir_host, 'key_volumedown'),
|
||||
'action': service('media_player.volume_down', device_group),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Shuffle On',
|
||||
'trigger': ir_trigger(ir_host, 'key_menu'),
|
||||
'action': service('media_player.shuffle_set', device_group, shuffle=True),
|
||||
},
|
||||
{
|
||||
'alias': f'IR {ir_host} Shuffle Off',
|
||||
'trigger': ir_trigger(ir_host, 'key_exit'),
|
||||
'action': service('media_player.shuffle_set', device_group, shuffle=False),
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def create_rules(folder):
|
||||
for name, data in get_config().items():
|
||||
rules = []
|
||||
rules += automation_from_config(data)
|
||||
|
||||
if 'group' in data:
|
||||
rules += default_shutter_controls(data['group'], data['ir_host'])
|
||||
rules += default_light_controls(data['group'], data['ir_host'])
|
||||
if 'media_player' in data:
|
||||
rules += default_music_controls(data['media_player'], data['ir_host'])
|
||||
|
||||
file_name = os.path.join(folder, "ir_" + name + '.yaml')
|
||||
with open(file_name, 'w') as f:
|
||||
f.write("# Dont' edit manually! this is generated!\n\n")
|
||||
yaml.dump(rules, f)
|
||||
@@ -3,7 +3,6 @@ import argparse
|
||||
from util import DeviceInfo, add_to_group, name_to_id
|
||||
from ruamel.yaml import YAML
|
||||
import knx_conf as knx
|
||||
from ir_automations import create_rules as create_automation_rules
|
||||
|
||||
script_path = os.path.dirname(os.path.realpath(__file__))
|
||||
yaml = YAML()
|
||||
@@ -13,8 +12,8 @@ yaml.preserve_quotes = True
|
||||
sensor_exclude_list = [
|
||||
'sensor.fritz_box_7490_bytes_received',
|
||||
'sensor.fritz_box_7490_bytes_sent',
|
||||
#'sensor.fritz_box_7490_kbyte_sec_received',
|
||||
#'sensor.fritz_box_7490_kbyte_sec_sent',
|
||||
# 'sensor.fritz_box_7490_kbyte_sec_received',
|
||||
# 'sensor.fritz_box_7490_kbyte_sec_sent',
|
||||
'sensor.fritz_box_7490_packets_received',
|
||||
'sensor.fritz_box_7490_packets_sec_received',
|
||||
'sensor.fritz_box_7490_packets_sec_sent',
|
||||
@@ -51,7 +50,7 @@ def add_knx_devices(devices, groups):
|
||||
DeviceInfo('AussenleuchteHaustüren', 'Haustür Licht', 'outside'),
|
||||
DeviceInfo('AussenleuchteObenNW', 'Haustür Licht NW', 'first_floor'),
|
||||
DeviceInfo('TreppenhausLicht', "Treppenhaus Licht", 'first_floor'),
|
||||
DeviceInfo('WCLicht', "WC Licht", 'other'),
|
||||
#DeviceInfo('WCLicht', "WC Licht", 'other'),
|
||||
DeviceInfo('LampeVorratsraum', "Vorratsraum Licht", 'other'),
|
||||
# Bewegungsmelder LEDs
|
||||
DeviceInfo("BewegungsmelderMitte LED", "Bewegungsmelder Mitte LED", 'hallway'),
|
||||
@@ -82,7 +81,8 @@ def add_knx_devices(devices, groups):
|
||||
switches += [DeviceInfo("AlarmLEDLinksNormal", "alarm_led_links_normal"),
|
||||
DeviceInfo("AlarmLEDLinksUeberlagert", "alarm_led_links_ueberlagert"),
|
||||
DeviceInfo("AlarmLEDRechtsNormal", "alarm_led_rechts_normal"),
|
||||
DeviceInfo("AlarmLEDRechtsUeberlagert", "alarm_led_rechts_ueberlagert"),]
|
||||
DeviceInfo("AlarmLEDRechtsUeberlagert", "alarm_led_rechts_ueberlagert"),
|
||||
DeviceInfo("WCLicht Schalten", "wc_licht_taster"), ]
|
||||
|
||||
power_plugs = [
|
||||
# Vorratsraum
|
||||
@@ -161,21 +161,7 @@ def add_knx_devices(devices, groups):
|
||||
for device_type, devices in [('light', lights), ('cover', shutters), ('switch', switches)]:
|
||||
for device in devices:
|
||||
add_to_group(groups, device.groups, device.display_name, device_type)
|
||||
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)
|
||||
return template_sensors
|
||||
|
||||
|
||||
def add_meta_groups(groups):
|
||||
@@ -268,22 +254,22 @@ def create_config(target_directory, development=False):
|
||||
manual_config_dict = yaml.load(open(manual_config_path, encoding="utf-8"))
|
||||
|
||||
knx_conf = {
|
||||
'rate_limit': 20,
|
||||
'tunneling': {
|
||||
'host': '192.168.178.65',
|
||||
'port': 3671
|
||||
}
|
||||
#'tunneling': {
|
||||
# 'host': '192.168.178.65',
|
||||
# 'port': 3671
|
||||
#}
|
||||
}
|
||||
template_sensors = add_knx_devices(knx_conf, group_dict)
|
||||
|
||||
|
||||
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)
|
||||
@@ -309,8 +295,6 @@ def create_config(target_directory, development=False):
|
||||
additional_file = 'secrets_development.yaml' if development else 'secrets_deploy.yaml'
|
||||
output.write(open(os.path.join(script_path, additional_file), 'r').read())
|
||||
|
||||
create_automation_rules(os.path.join(target_directory, 'automations'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
@@ -2,32 +2,34 @@
|
||||
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||
#default_config:
|
||||
frontend:
|
||||
themes: !include_dir_merge_named themes
|
||||
|
||||
mobile_app:
|
||||
person:
|
||||
sun:
|
||||
system_health:
|
||||
updater:
|
||||
#logbook:
|
||||
|
||||
#input_boolean:
|
||||
#input_datetime:
|
||||
#input_number:
|
||||
#input_select:
|
||||
#input_text:
|
||||
|
||||
|
||||
ondilo:
|
||||
username: customer_api
|
||||
password: !secret ondilo_pw
|
||||
input_boolean:
|
||||
input_datetime:
|
||||
input_number:
|
||||
input_select:
|
||||
input_text:
|
||||
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
|
||||
|
||||
|
||||
homeassistant:
|
||||
name: MyHome
|
||||
latitude: 49.369477
|
||||
longitude: 10.9831468
|
||||
country: DE
|
||||
currency: EUR
|
||||
external_url: https://ha.bauer.tech
|
||||
internal_url: https://ha.bauer.tech
|
||||
auth_mfa_modules:
|
||||
@@ -53,6 +55,8 @@ homeassistant:
|
||||
half_position: 25
|
||||
|
||||
|
||||
pyscript: !include pyscript/config.yaml
|
||||
|
||||
# enable configuration editor
|
||||
config:
|
||||
|
||||
@@ -106,9 +110,15 @@ influxdb:
|
||||
|
||||
|
||||
ios:
|
||||
shopping_list:
|
||||
|
||||
|
||||
octoprint:
|
||||
- host: 192.168.178.134
|
||||
api_key: !secret octopi_api_key
|
||||
name: PrusaPrinter
|
||||
number_of_tools: 1
|
||||
bed: true
|
||||
|
||||
telegram_bot:
|
||||
- platform: webhooks
|
||||
parse_mode: html
|
||||
@@ -146,94 +156,6 @@ switch:
|
||||
name: esszimmer_oben_radio_steckdose
|
||||
host: esszimmerradio.fritz.box
|
||||
num_power_plugs: 4
|
||||
- platform: mqtt
|
||||
name: PoolPumpeSteckdose
|
||||
state_topic: "stat/poolpumpesteckdose/POWER"
|
||||
command_topic: "cmnd/poolpumpesteckdose/POWER"
|
||||
availability_topic: "tele/poolpumpesteckdose/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota01
|
||||
state_topic: "stat/tasmota01/POWER"
|
||||
command_topic: "cmnd/tasmota01/POWER"
|
||||
availability_topic: "tele/tasmota01/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota02
|
||||
state_topic: "stat/tasmota02/POWER"
|
||||
command_topic: "cmnd/tasmota02/POWER"
|
||||
availability_topic: "tele/tasmota02/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota03
|
||||
state_topic: "stat/tasmota03/POWER"
|
||||
command_topic: "cmnd/tasmota03/POWER"
|
||||
availability_topic: "tele/tasmota03/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota04
|
||||
state_topic: "stat/tasmota04/POWER"
|
||||
command_topic: "cmnd/tasmota04/POWER"
|
||||
availability_topic: "tele/tasmota04/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota05
|
||||
state_topic: "stat/tasmota05/POWER"
|
||||
command_topic: "cmnd/tasmota05/POWER"
|
||||
availability_topic: "tele/tasmota05/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota06
|
||||
state_topic: "stat/tasmota06/POWER"
|
||||
command_topic: "cmnd/tasmota06/POWER"
|
||||
availability_topic: "tele/tasmota06/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
- platform: mqtt
|
||||
name: Tasmota07
|
||||
state_topic: "stat/tasmota07/POWER"
|
||||
command_topic: "cmnd/tasmota07/POWER"
|
||||
availability_topic: "tele/tasmota07/LWT"
|
||||
qos: 1
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
payload_available: "Online"
|
||||
payload_not_available: "Offline"
|
||||
retain: false
|
||||
|
||||
long_click:
|
||||
duration: 0.6
|
||||
@@ -250,6 +172,8 @@ long_click:
|
||||
- switch.wohnzimmer_szene_3
|
||||
- switch.wohnzimmer_szene_4
|
||||
- switch.wohnzimmer_szene_5
|
||||
- switch.wohnzimmer_terrassentur_szene_2
|
||||
- switch.wohnzimmer_terrassentur_szene_3
|
||||
- switch.eingang_szene_2
|
||||
- switch.eingang_szene_3
|
||||
- switch.eingang_szene_4
|
||||
@@ -258,10 +182,9 @@ long_click:
|
||||
logger:
|
||||
default: info
|
||||
logs:
|
||||
custom_components.fhem: debug
|
||||
#custom_components: debug
|
||||
#custom_components.reconnecting_client: debug
|
||||
|
||||
custom_components: info
|
||||
# #custom_components.reconnecting_client: debug
|
||||
#
|
||||
# Sensors
|
||||
#sensor:
|
||||
# Weather prediction
|
||||
@@ -436,14 +359,42 @@ google_assistant:
|
||||
|
||||
knx: !include knx_conf.yaml
|
||||
|
||||
fhem:
|
||||
host: localhost
|
||||
port: 7072
|
||||
cul_device_name: CUL_HM
|
||||
homematic:
|
||||
interfaces:
|
||||
rf:
|
||||
host: de838cd8-raspberrymatic
|
||||
port: 2001
|
||||
resolvenames: json
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
wired:
|
||||
host: de838cd8-raspberrymatic
|
||||
port: 2000
|
||||
resolvenames: json
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
hmip:
|
||||
host: de838cd8-raspberrymatic
|
||||
port: 2010
|
||||
resolvenames: json
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
groups:
|
||||
host: de838cd8-raspberrymatic
|
||||
port: 9292
|
||||
resolvenames: json
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
path: /groups
|
||||
hosts:
|
||||
raspberrymatic:
|
||||
host: de838cd8-raspberrymatic
|
||||
username: homeassistant
|
||||
password: !secret homematic_pw
|
||||
|
||||
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"
|
||||
#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"
|
||||
|
||||
|
||||
sysdweb:
|
||||
@@ -511,24 +462,19 @@ media_player:
|
||||
- platform: squeezebox_telnet
|
||||
host: musikserverWohnzimmerOben.fritz.box
|
||||
|
||||
# set up via frontend :(
|
||||
#vacuum:
|
||||
# - platform: xiaomi_miio
|
||||
# host: vacuum.fritz.box
|
||||
# token: !secret vacuum_token
|
||||
|
||||
#mqtt:
|
||||
# sensor:
|
||||
# - state_topic: 'monitor/kitchen/martin_handy'
|
||||
# value_template: '{{ value_json.confidence }}'
|
||||
# unit_of_measurement: '%'
|
||||
# name: 'bluetooth_martin_handy_kitchen'
|
||||
# - state_topic: 'monitor/kitchen/martin_ipad'
|
||||
# value_template: '{{ value_json.confidence }}'
|
||||
# unit_of_measurement: '%'
|
||||
# name: 'bluetooth_martin_ipad_kitchen'
|
||||
|
||||
sensor:
|
||||
- platform: mqtt
|
||||
state_topic: 'monitor/kitchen/martin_handy'
|
||||
value_template: '{{ value_json.confidence }}'
|
||||
unit_of_measurement: '%'
|
||||
name: 'bluetooth_martin_handy_kitchen'
|
||||
- platform: mqtt
|
||||
state_topic: 'monitor/kitchen/martin_ipad'
|
||||
value_template: '{{ value_json.confidence }}'
|
||||
unit_of_measurement: '%'
|
||||
name: 'bluetooth_martin_ipad_kitchen'
|
||||
- platform: template
|
||||
sensors:
|
||||
motion_combined:
|
||||
@@ -604,7 +550,7 @@ light:
|
||||
- platform: group
|
||||
name: Garten Lichter
|
||||
entities:
|
||||
- light.garten_spot_birke
|
||||
- light.garten_vorne
|
||||
- light.garten_spot_magnolie
|
||||
- light.garten_spot_beet
|
||||
- light.garten_stehleuchte
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
local_ip: 127.0.0.1
|
||||
knxd_host: 127.0.0.1 #directly the network bridge: 192.168.178.65
|
||||
homekit_name: BauerHome
|
||||
octopi_api_key: B5E3F837799448449BB5FF2E22116504
|
||||
homematic_pw: T3wKLzoGUzIX2yb2VEgH
|
||||
@@ -1,3 +1,5 @@
|
||||
local_ip: 192.168.178.78
|
||||
knxd_host: 192.168.178.80 #directly the network bridge: 192.168.178.65
|
||||
homekit_name: BauerHomeDev
|
||||
octopi_api_key: B5E3F837799448449BB5FF2E22116504
|
||||
homematic_pw: T3wKLzoGUzIX2yb2VEgH
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
import asyncio
|
||||
import logging
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_USERNAME, CONF_PASSWORD
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers import config_entry_oauth2_flow, config_validation as cv
|
||||
|
||||
from . import config_flow
|
||||
from .const import DOMAIN, OAUTH2_AUTHORIZE, OAUTH2_TOKEN
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
CONFIG_SCHEMA = vol.Schema(
|
||||
{
|
||||
DOMAIN: vol.Schema(
|
||||
{
|
||||
vol.Required(CONF_USERNAME): cv.string,
|
||||
vol.Required(CONF_PASSWORD): cv.string,
|
||||
}
|
||||
)
|
||||
},
|
||||
extra=vol.ALLOW_EXTRA,
|
||||
)
|
||||
|
||||
PLATFORMS = ["sensor"]
|
||||
|
||||
|
||||
async def async_setup(hass: HomeAssistant, config: dict):
|
||||
"""Set up the ondilo component."""
|
||||
hass.data[DOMAIN] = {}
|
||||
print("Init1")
|
||||
if DOMAIN not in config:
|
||||
print("Init early out")
|
||||
return True
|
||||
|
||||
config_flow.OndiloFlowHandler.async_register_implementation(
|
||||
hass,
|
||||
config_entry_oauth2_flow.LocalOAuth2Implementation(
|
||||
hass,
|
||||
DOMAIN,
|
||||
config[DOMAIN][CONF_USERNAME],
|
||||
config[DOMAIN][CONF_PASSWORD],
|
||||
OAUTH2_AUTHORIZE,
|
||||
OAUTH2_TOKEN,
|
||||
),
|
||||
)
|
||||
print("init finish")
|
||||
return True
|
||||
|
||||
|
||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry):
|
||||
"""Set up ondilo from a config entry."""
|
||||
implementation = await config_entry_oauth2_flow.async_get_config_entry_implementation(
|
||||
hass, entry
|
||||
)
|
||||
session = config_entry_oauth2_flow.OAuth2Session(hass, entry, implementation)
|
||||
hass.data[DOMAIN] = {"session": session}
|
||||
hass.async_create_task(hass.config_entries.async_forward_entry_setup(entry, "sensor"))
|
||||
return True
|
||||
|
||||
|
||||
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry):
|
||||
"""Unload a config entry."""
|
||||
unload_ok = all(
|
||||
await asyncio.gather(
|
||||
*[
|
||||
hass.config_entries.async_forward_entry_unload(entry, component)
|
||||
for component in PLATFORMS
|
||||
]
|
||||
)
|
||||
)
|
||||
if unload_ok:
|
||||
hass.data[DOMAIN] = {}
|
||||
|
||||
return unload_ok
|
||||
@@ -1,35 +0,0 @@
|
||||
"""Config flow for Ondilo."""
|
||||
import logging
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.helpers import config_entry_oauth2_flow
|
||||
|
||||
from .const import DOMAIN
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class OndiloFlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
|
||||
"""Config flow to handle Ondilo OAuth2 authentication."""
|
||||
|
||||
DOMAIN = DOMAIN
|
||||
CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL
|
||||
|
||||
@property
|
||||
def logger(self) -> logging.Logger:
|
||||
"""Return logger."""
|
||||
return logging.getLogger(__name__)
|
||||
|
||||
async def async_step_user(self, user_input=None):
|
||||
"""Handle a flow start."""
|
||||
print("async_step_user!!")
|
||||
if self.hass.config_entries.async_entries(DOMAIN):
|
||||
print("abort because already setup")
|
||||
return self.async_abort(reason="already_setup")
|
||||
print("works!")
|
||||
return await super().async_step_user(user_input)
|
||||
|
||||
async def async_step_homekit(self, homekit_info):
|
||||
"""Handle HomeKit discovery."""
|
||||
print("async_step_homekit!!")
|
||||
return await self.async_step_user()
|
||||
@@ -1,4 +0,0 @@
|
||||
DOMAIN = "ondilo"
|
||||
OAUTH2_AUTHORIZE = "https://interop.ondilo.com/oauth2/authorize"
|
||||
OAUTH2_TOKEN = "https://interop.ondilo.com/oauth2/token"
|
||||
URL_API_PREFIX = "https://interop.ondilo.com/api/customer/v1"
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"domain": "ondilo",
|
||||
"name": "Ondilo Pool Monitor",
|
||||
"documentation": "",
|
||||
"requirements": [],
|
||||
"dependencies": [],
|
||||
"codeowners": ["@mabau"],
|
||||
"config_flow": true,
|
||||
"version": "0.1"
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
|
||||
from .const import DOMAIN, URL_API_PREFIX
|
||||
from datetime import timedelta
|
||||
from homeassistant.helpers.entity import Entity
|
||||
from homeassistant.util import Throttle
|
||||
import logging
|
||||
|
||||
MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=5)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
async def api_call(session, url, data={}):
|
||||
return await session.async_request(method="GET",
|
||||
url=f"{URL_API_PREFIX}/{url}",
|
||||
json=data).json()
|
||||
|
||||
|
||||
class OndiloData:
|
||||
def __init__(self, session):
|
||||
self._session = session
|
||||
|
||||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
||||
async def async_update(self):
|
||||
pass
|
||||
|
||||
|
||||
class PHSensor(Entity):
|
||||
def __init__(self, data):
|
||||
self._data = data
|
||||
|
||||
async def async_update(self):
|
||||
self._data.async_update()
|
||||
|
||||
|
||||
class ORPSensor(Entity):
|
||||
def __init__(self, data):
|
||||
self._data = data
|
||||
|
||||
async def async_update(self):
|
||||
self._data.async_update()
|
||||
|
||||
|
||||
async def async_setup_entry(hass, entry, async_add_entities):
|
||||
session = hass.data[DOMAIN]['session']
|
||||
res = await api_call(session, "pools")
|
||||
print(res)
|
||||
_LOGGER.warn(res)
|
||||
# data = OndiloData(session)
|
||||
# get pools
|
||||
# sensors = [PHSensor(data), ORPSensor(data)]
|
||||
# async_add_entities(sensors)
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
{
|
||||
"domain": "sysdweb",
|
||||
"name": "sysdweg",
|
||||
"name": "sysdweb",
|
||||
"documentation": "",
|
||||
"dependencies": [],
|
||||
"codeowners": ["@mabau"],
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -87,10 +87,12 @@ export class RoomGlanceCard extends LitElement {
|
||||
return html`
|
||||
<ha-icon-button
|
||||
icon="${buttonCfg.icon || "mdi:checkbox-blank"}"
|
||||
style="color: ${buttonCfg.color || ""};"
|
||||
title="${buttonCfg.name}"
|
||||
@click=${this.serviceHandler("scene", "turn_on", {entity_id: buttonCfg.scene})}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon style="color: ${buttonCfg.color || ""};"
|
||||
icon="${buttonCfg.icon || "mdi:checkbox-blank"}"></ha-icon>
|
||||
</ha-icon-button>
|
||||
`;
|
||||
}
|
||||
|
||||
@@ -99,18 +101,24 @@ export class RoomGlanceCard extends LitElement {
|
||||
<ha-icon-button
|
||||
icon="mdi:close-circle"
|
||||
@click=${this.serviceHandler("light", "turn_off")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="mdi:close-circle"></ha-icon>
|
||||
</ha-icon-button>
|
||||
|
||||
<ha-icon-button
|
||||
icon="mdi:chevron-up"
|
||||
title="Heller"
|
||||
@click=${this.serviceHandler("dimmer", "dim", {offset: 30})}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="mdi:chevron-up"></ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="mdi:chevron-down"
|
||||
title="Dunkler"
|
||||
@click=${this.serviceHandler("dimmer", "dim", {offset: -30})}
|
||||
></ha-icon-button>`;
|
||||
>
|
||||
<ha-icon icon="mdi:chevron-down"></ha-icon>
|
||||
</ha-icon-button>`;
|
||||
}
|
||||
|
||||
private renderCoverControl() {
|
||||
@@ -118,19 +126,27 @@ export class RoomGlanceCard extends LitElement {
|
||||
<ha-icon-button
|
||||
icon="hass:menu"
|
||||
@click=${this.serviceHandler("cover_half", "set_half")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:menu"></ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-up"
|
||||
@click=${this.serviceHandler("cover", "open_cover")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-up"></ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:stop"
|
||||
@click=${this.serviceHandler("cover", "stop_cover")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:stop"></ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-down"
|
||||
@click=${this.serviceHandler("cover", "close_cover")}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-down"></ha-icon>
|
||||
</ha-icon-button>
|
||||
`;
|
||||
}
|
||||
|
||||
@@ -227,9 +243,7 @@ export class RoomGlanceCard extends LitElement {
|
||||
}
|
||||
|
||||
ha-icon {
|
||||
cursor: pointer;
|
||||
padding: 8px;
|
||||
color: #a9a9a9;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
ha-icon.state-on {
|
||||
|
||||
@@ -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}`),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=g.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=g.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(""),g=/([ \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.
|
||||
@@ -26,7 +26,7 @@ const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.custom
|
||||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=r?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],s=this.template.parts,i=document.createTreeWalker(t,133,null,!1);let n,o=0,a=0,l=i.nextNode();for(;o<s.length;)if(n=s[o],f(n)){for(;a<n.index;)a++,"TEMPLATE"===l.nodeName&&(e.push(l),i.currentNode=l.content),null===(l=i.nextNode())&&(i.currentNode=e.pop(),l=i.nextNode());if("node"===n.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(l.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,n.name,n.strings,this.options));o++}else this.__parts.push(void 0),o++;return r&&(document.adoptNode(t),customElements.upgrade(t)),t}}
|
||||
class y{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=r?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],s=this.template.parts,i=document.createTreeWalker(t,133,null,!1);let n,o=0,a=0,l=i.nextNode();for(;o<s.length;)if(n=s[o],f(n)){for(;a<n.index;)a++,"TEMPLATE"===l.nodeName&&(e.push(l),i.currentNode=l.content),null===(l=i.nextNode())&&(i.currentNode=e.pop(),l=i.nextNode());if("node"===n.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(l.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,n.name,n.strings,this.options));o++}else this.__parts.push(void 0),o++;return r&&(document.adoptNode(t),customElements.upgrade(t)),t}}
|
||||
/**
|
||||
* @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=g.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}}
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
@@ -53,7 +53,7 @@ class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this
|
||||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1;let s="";for(let i=0;i<e;i++){s+=t[i];const e=this.parts[i];if(void 0!==e){const t=e.value;if(S(t)||!b(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===a||S(t)&&t===this.value||(this.value=t,n(t)||(this.committer.dirty=!0))}commit(){for(;n(this.value);){const t=this.value;this.value=a,t(this)}this.value!==a&&this.committer.commit()}}class C{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(m()),this.endNode=t.appendChild(m())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=m()),t.__insert(this.endNode=m())}insertAfterPart(t){t.__insert(this.startNode=m()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}const t=this.__pendingValue;t!==a&&(S(t)?t!==this.value&&this.__commitText(t):t instanceof v?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===l?(this.value=l,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling;t=null==t?"":t,e===this.endNode.previousSibling&&3===e.nodeType?e.data=t:this.__commitNode(document.createTextNode("string"==typeof t?t:String(t))),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof g&&this.value.template===e)this.value.update(t.values);else{const s=new g(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)void 0===(s=e[i])&&(s=new C(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){o(this.startNode.parentNode,t.nextSibling,this.endNode)}}class x{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=a}}class O extends w{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new T(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class T extends P{}let N=!1;try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}class A{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=a}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);
|
||||
const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1;let s="";for(let i=0;i<e;i++){s+=t[i];const e=this.parts[i];if(void 0!==e){const t=e.value;if(S(t)||!b(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===a||S(t)&&t===this.value||(this.value=t,n(t)||(this.committer.dirty=!0))}commit(){for(;n(this.value);){const t=this.value;this.value=a,t(this)}this.value!==a&&this.committer.commit()}}class C{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(m()),this.endNode=t.appendChild(m())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=m()),t.__insert(this.endNode=m())}insertAfterPart(t){t.__insert(this.startNode=m()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}const t=this.__pendingValue;t!==a&&(S(t)?t!==this.value&&this.__commitText(t):t instanceof v?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===l?(this.value=l,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling;t=null==t?"":t,e===this.endNode.previousSibling&&3===e.nodeType?e.data=t:this.__commitNode(document.createTextNode("string"==typeof t?t:String(t))),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof y&&this.value.template===e)this.value.update(t.values);else{const s=new y(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)void 0===(s=e[i])&&(s=new C(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){o(this.startNode.parentNode,t.nextSibling,this.endNode)}}class x{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=a}}class O extends w{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new T(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class T extends P{}let N=!1;try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}class A{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=a}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);
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
@@ -162,7 +162,7 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
||||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const ot=t=>t.flat?t.flat(1/0):function t(e,s=[]){for(let i=0,n=e.length;i<n;i++){const n=e[i];Array.isArray(n)?t(n,s):s.push(n)}return s}(t);class at extends et{static finalize(){super.finalize(),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const t=this.styles,e=[];if(Array.isArray(t)){ot(t).reduceRight((t,e)=>(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),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?rt?this.renderRoot.adoptedStyleSheets=t.map(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){super.update(t);const e=this.render();e instanceof v&&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(){}}at.finalized=!0,at.render=(t,e,s)=>{const i=s.scopeName,n=M.has(e),r=I&&11===e.nodeType&&!!e.host&&t instanceof v,a=r&&!L.has(i),l=a?document.createDocumentFragment():e;if(((t,e,s)=>{let i=M.get(e);void 0===i&&(o(e,e.firstChild),M.set(e,i=new C(Object.assign({templateFactory:V},s))),i.appendInto(e)),i.setValue(t),i.commit()})(t,l,Object.assign({templateFactory:H(i)},s)),a){const t=M.get(l);M.delete(l),t.value instanceof g&&B(l,t.value.template,i),o(e,e.firstChild),e.appendChild(l),M.set(e,t)}!n&&r&&window.ShadyCSS.styleElement(e.host)};const lt=(t,e)=>0!=(t.attributes.supported_features&e);class ht{constructor(t,e){this.hass=t,this.stateObj=e,this._attr=e.attributes,this._feat=this._attr.supported_features}get isFullyOpen(){return void 0!==this._attr.current_position?100===this._attr.current_position:"open"===this.stateObj.state}get isFullyClosed(){return void 0!==this._attr.current_position?0===this._attr.current_position:"closed"===this.stateObj.state}get isFullyOpenTilt(){return 100===this._attr.current_tilt_position}get isFullyClosedTilt(){return 0===this._attr.current_tilt_position}get isOpening(){return"opening"===this.stateObj.state}get isClosing(){return"closing"===this.stateObj.state}get supportsOpen(){return lt(this.stateObj,1)}get supportsClose(){return lt(this.stateObj,2)}get supportsSetPosition(){return lt(this.stateObj,4)}get supportsStop(){return lt(this.stateObj,8)}get supportsOpenTilt(){return lt(this.stateObj,16)}get supportsCloseTilt(){return lt(this.stateObj,32)}get supportsStopTilt(){return lt(this.stateObj,64)}get supportsSetTiltPosition(){return lt(this.stateObj,128)}get isTiltOnly(){const t=this.supportsOpen||this.supportsClose||this.supportsStop;return(this.supportsOpenTilt||this.supportsCloseTilt||this.supportsStopTilt)&&!t}openCover(){this.callService("open_cover")}closeCover(){this.callService("close_cover")}stopCover(){this.callService("stop_cover")}openCoverTilt(){this.callService("open_cover_tilt")}closeCoverTilt(){this.callService("close_cover_tilt")}stopCoverTilt(){this.callService("stop_cover_tilt")}setCoverPosition(t){this.callService("set_cover_position",{position:t})}setCoverTiltPosition(t){this.callService("set_cover_tilt_position",{tilt_position:t})}callService(t,e={}){e.entity_id=this.stateObj.entity_id,this.hass.callService("cover",t,e)}}s.d(e,"StateCardCustomCover",function(){return pt});var ct=function(t,e,s,i){var n,r=arguments.length,o=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(e,s,o):n(e,s))||o);return r>3&&o&&Object.defineProperty(e,s,o),o};let pt=class extends at{constructor(){super(...arguments),this.inDialog=!1}get stateObj(){return this.hass&&this._config?this.hass.states[this._config.entity]:null}setConfig(t){if(!t||!t.entity)throw new Error("Invalid configuration");this._config=t}get entityObj(){if(this.hass&&this.stateObj)return new ht(this.hass,this.stateObj);throw new Error("Trying to get entityObj before setting hass & config")}static getCardSize(){return 1}stateInfoTemplate(){return R`
|
||||
(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const ot=t=>t.flat?t.flat(1/0):function t(e,s=[]){for(let i=0,n=e.length;i<n;i++){const n=e[i];Array.isArray(n)?t(n,s):s.push(n)}return s}(t);class at extends et{static finalize(){super.finalize(),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const t=this.styles,e=[];if(Array.isArray(t)){ot(t).reduceRight((t,e)=>(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),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?rt?this.renderRoot.adoptedStyleSheets=t.map(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){super.update(t);const e=this.render();e instanceof v&&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(){}}at.finalized=!0,at.render=(t,e,s)=>{const i=s.scopeName,n=M.has(e),r=I&&11===e.nodeType&&!!e.host&&t instanceof v,a=r&&!L.has(i),l=a?document.createDocumentFragment():e;if(((t,e,s)=>{let i=M.get(e);void 0===i&&(o(e,e.firstChild),M.set(e,i=new C(Object.assign({templateFactory:V},s))),i.appendInto(e)),i.setValue(t),i.commit()})(t,l,Object.assign({templateFactory:H(i)},s)),a){const t=M.get(l);M.delete(l),t.value instanceof y&&B(l,t.value.template,i),o(e,e.firstChild),e.appendChild(l),M.set(e,t)}!n&&r&&window.ShadyCSS.styleElement(e.host)};const lt=(t,e)=>0!=(t.attributes.supported_features&e);class ht{constructor(t,e){this.hass=t,this.stateObj=e,this._attr=e.attributes,this._feat=this._attr.supported_features}get isFullyOpen(){return void 0!==this._attr.current_position?100===this._attr.current_position:"open"===this.stateObj.state}get isFullyClosed(){return void 0!==this._attr.current_position?0===this._attr.current_position:"closed"===this.stateObj.state}get isFullyOpenTilt(){return 100===this._attr.current_tilt_position}get isFullyClosedTilt(){return 0===this._attr.current_tilt_position}get isOpening(){return"opening"===this.stateObj.state}get isClosing(){return"closing"===this.stateObj.state}get supportsOpen(){return lt(this.stateObj,1)}get supportsClose(){return lt(this.stateObj,2)}get supportsSetPosition(){return lt(this.stateObj,4)}get supportsStop(){return lt(this.stateObj,8)}get supportsOpenTilt(){return lt(this.stateObj,16)}get supportsCloseTilt(){return lt(this.stateObj,32)}get supportsStopTilt(){return lt(this.stateObj,64)}get supportsSetTiltPosition(){return lt(this.stateObj,128)}get isTiltOnly(){const t=this.supportsOpen||this.supportsClose||this.supportsStop;return(this.supportsOpenTilt||this.supportsCloseTilt||this.supportsStopTilt)&&!t}openCover(){this.callService("open_cover")}closeCover(){this.callService("close_cover")}stopCover(){this.callService("stop_cover")}openCoverTilt(){this.callService("open_cover_tilt")}closeCoverTilt(){this.callService("close_cover_tilt")}stopCoverTilt(){this.callService("stop_cover_tilt")}setCoverPosition(t){this.callService("set_cover_position",{position:t})}setCoverTiltPosition(t){this.callService("set_cover_tilt_position",{tilt_position:t})}callService(t,e={}){e.entity_id=this.stateObj.entity_id,this.hass.callService("cover",t,e)}}s.d(e,"StateCardCustomCover",function(){return pt});var ct=function(t,e,s,i){var n,r=arguments.length,o=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(e,s,o):n(e,s))||o);return r>3&&o&&Object.defineProperty(e,s,o),o};let pt=class extends at{constructor(){super(...arguments),this.inDialog=!1}get stateObj(){return this.hass&&this._config?this.hass.states[this._config.entity]:null}setConfig(t){if(!t||!t.entity)throw new Error("Invalid configuration");this._config=t}get entityObj(){if(this.hass&&this.stateObj)return new ht(this.hass,this.stateObj);throw new Error("Trying to get entityObj before setting hass & config")}static getCardSize(){return 1}stateInfoTemplate(){return R`
|
||||
State info template
|
||||
`}render(){if(!this._config||!this.hass)return R``;const t=this.entityObj,e=this.hass.states[this._config.entity];return e?R`
|
||||
<style include="iron-flex iron-flex-alignment"></style>
|
||||
@@ -173,6 +173,16 @@ 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;
|
||||
}
|
||||
|
||||
ha-icon {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[invisible] {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
@@ -183,21 +193,23 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
||||
<ha-icon-button
|
||||
icon="hass:menu"
|
||||
@click=${this.onHalfOpenTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:menu"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-up"
|
||||
@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 icon="hass:arrow-up"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-down"
|
||||
@click=${this.onCloseTap}
|
||||
.disabled="${this.computeClosedDisabled(e,t)}"
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
</div>
|
||||
</hui-generic-entity-row>
|
||||
`:R`
|
||||
|
||||
@@ -77,6 +77,16 @@ export class StateCardCustomCover extends LitElement {
|
||||
.state {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
ha-icon-button {
|
||||
width: 35px;
|
||||
--mdc-icon-size: 25px;
|
||||
}
|
||||
|
||||
ha-icon {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[invisible] {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
@@ -87,21 +97,23 @@ export class StateCardCustomCover extends LitElement {
|
||||
<ha-icon-button
|
||||
icon="hass:menu"
|
||||
@click=${this.onHalfOpenTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:menu"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-up"
|
||||
@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 icon="hass:arrow-up"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-down"
|
||||
@click=${this.onCloseTap}
|
||||
.disabled="${this.computeClosedDisabled(stateObj, entityObj)}"
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
</div>
|
||||
</hui-generic-entity-row>
|
||||
`;
|
||||
|
||||
8
known_devices.yaml
Normal file
8
known_devices.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
martins_ipad:
|
||||
hide_if_away: false
|
||||
icon:
|
||||
mac:
|
||||
name: Martin’s iPad
|
||||
picture:
|
||||
track: true
|
||||
416
knx_conf.yaml
Normal file
416
knx_conf.yaml
Normal file
@@ -0,0 +1,416 @@
|
||||
# Dont' edit manually! this is generated!
|
||||
|
||||
sensor:
|
||||
- name: Gang Bewegungsmelder West Helligkeit
|
||||
state_address: 0/0/42
|
||||
type: illuminance
|
||||
- name: Gang Bewegungsmelder Mitte Helligkeit
|
||||
state_address: 0/0/45
|
||||
type: illuminance
|
||||
- name: Gang Bewegungsmelder Ost Helligkeit
|
||||
state_address: 0/0/48
|
||||
type: illuminance
|
||||
- name: Esszimmer Temperatur
|
||||
state_address: 0/0/6
|
||||
type: temperature
|
||||
- name: Treppenhaus Oben Temperatur
|
||||
state_address: 0/0/5
|
||||
type: temperature
|
||||
- name: Eingangsbereich Temperatur
|
||||
state_address: 0/0/24
|
||||
type: temperature
|
||||
- name: Wohnzimmer Gang Temperatur
|
||||
state_address: 0/0/25
|
||||
type: temperature
|
||||
- name: Wohnzimmer Terassentür Temperatur
|
||||
state_address: 0/0/26
|
||||
type: temperature
|
||||
- name: Vorratsraum Steckdose 1 Betriebsstunden
|
||||
state_address: 0/5/62
|
||||
type: 2byte_unsigned
|
||||
- name: Vorratsraum Steckdose 1 Verbrauch mA
|
||||
state_address: 0/5/65
|
||||
type: DPT-9
|
||||
- name: Vorratsraum Steckdose 1 Verbrauch Summe
|
||||
state_address: 0/5/70
|
||||
type: 4byte_unsigned
|
||||
- name: Vorratsraum Steckdose 2 Betriebsstunden
|
||||
state_address: 0/5/80
|
||||
type: 2byte_unsigned
|
||||
- name: Vorratsraum Steckdose 2 Verbrauch mA
|
||||
state_address: 0/5/83
|
||||
type: DPT-9
|
||||
- name: Vorratsraum Steckdose 2 Verbrauch Summe
|
||||
state_address: 0/5/88
|
||||
type: 4byte_unsigned
|
||||
- name: Gefrierschrank Betriebsstunden
|
||||
state_address: 0/5/98
|
||||
type: 2byte_unsigned
|
||||
- name: Gefrierschrank Verbrauch mA
|
||||
state_address: 0/5/101
|
||||
type: DPT-9
|
||||
- name: Gefrierschrank Verbrauch Summe
|
||||
state_address: 0/5/106
|
||||
type: 4byte_unsigned
|
||||
- name: Trockner Betriebsstunden
|
||||
state_address: 0/5/26
|
||||
type: 2byte_unsigned
|
||||
- name: Trockner Verbrauch mA
|
||||
state_address: 0/5/29
|
||||
type: DPT-9
|
||||
- name: Trockner Verbrauch Summe
|
||||
state_address: 0/5/34
|
||||
type: 4byte_unsigned
|
||||
- name: Waschmaschine Betriebsstunden
|
||||
state_address: 0/5/8
|
||||
type: 2byte_unsigned
|
||||
- name: Waschmaschine Verbrauch mA
|
||||
state_address: 0/5/11
|
||||
type: DPT-9
|
||||
- name: Waschmaschine Verbrauch Summe
|
||||
state_address: 0/5/16
|
||||
type: 4byte_unsigned
|
||||
- name: Küche Steckdosen rechts Betriebsstunden
|
||||
state_address: 0/4/98
|
||||
type: 2byte_unsigned
|
||||
- name: Küche Steckdosen rechts Verbrauch mA
|
||||
state_address: 0/4/101
|
||||
type: DPT-9
|
||||
- name: Küche Steckdosen rechts Verbrauch Summe
|
||||
state_address: 0/4/106
|
||||
type: 4byte_unsigned
|
||||
- name: Dunstabzug Betriebsstunden
|
||||
state_address: 0/4/116
|
||||
type: 2byte_unsigned
|
||||
- name: Dunstabzug Verbrauch mA
|
||||
state_address: 0/4/119
|
||||
type: DPT-9
|
||||
- name: Dunstabzug Verbrauch Summe
|
||||
state_address: 0/4/124
|
||||
type: 4byte_unsigned
|
||||
- name: Spülmaschine Betriebsstunden
|
||||
state_address: 0/4/8
|
||||
type: 2byte_unsigned
|
||||
- name: Spülmaschine Verbrauch mA
|
||||
state_address: 0/4/11
|
||||
type: DPT-9
|
||||
- name: Backofen Betriebsstunden
|
||||
state_address: 0/4/26
|
||||
type: 2byte_unsigned
|
||||
- name: Backofen Verbrauch mA
|
||||
state_address: 0/4/29
|
||||
type: DPT-9
|
||||
- name: Backofen Verbrauch Summe
|
||||
state_address: 0/4/34
|
||||
type: 4byte_unsigned
|
||||
- name: Herd Phase 1 Betriebsstunden
|
||||
state_address: 0/4/44
|
||||
type: 2byte_unsigned
|
||||
- name: Herd Phase 1 Verbrauch mA
|
||||
state_address: 0/4/47
|
||||
type: DPT-9
|
||||
- name: Herd Phase 1 Verbrauch Summe
|
||||
state_address: 0/4/52
|
||||
type: 4byte_unsigned
|
||||
- name: Herd Phase 2 Betriebsstunden
|
||||
state_address: 0/4/62
|
||||
type: 2byte_unsigned
|
||||
- name: Herd Phase 2 Verbrauch mA
|
||||
state_address: 0/4/65
|
||||
type: DPT-9
|
||||
- name: Herd Phase 2 Verbrauch Summe
|
||||
state_address: 0/4/70
|
||||
type: 4byte_unsigned
|
||||
- name: Herd Phase 3 Betriebsstunden
|
||||
state_address: 0/4/80
|
||||
type: 2byte_unsigned
|
||||
- name: Herd Phase 3 Verbrauch mA
|
||||
state_address: 0/4/83
|
||||
type: DPT-9
|
||||
- name: Herd Phase 3 Verbrauch Summe
|
||||
state_address: 0/4/88
|
||||
type: 4byte_unsigned
|
||||
- name: Arbeitszimmer Steckdose Betriebsstunden
|
||||
state_address: 0/4/134
|
||||
type: 2byte_unsigned
|
||||
- name: Arbeitszimmer Steckdose Verbrauch mA
|
||||
state_address: 0/4/137
|
||||
type: DPT-9
|
||||
- name: Arbeitszimmer Steckdose Verbrauch Summe
|
||||
state_address: 0/4/142
|
||||
type: 4byte_unsigned
|
||||
- name: Wohnzimmer Steckdose 1 Betriebsstunden
|
||||
state_address: 0/4/152
|
||||
type: 2byte_unsigned
|
||||
- name: Wohnzimmer Steckdose 1 Verbrauch mA
|
||||
state_address: 0/4/155
|
||||
type: DPT-9
|
||||
- name: Wohnzimmer Steckdose 1 Verbrauch Summe
|
||||
state_address: 0/4/160
|
||||
type: 4byte_unsigned
|
||||
- name: Wohnzimmer Steckdose 2 Betriebsstunden
|
||||
state_address: 0/4/170
|
||||
type: 2byte_unsigned
|
||||
- name: Wohnzimmer Steckdose 2 Verbrauch mA
|
||||
state_address: 0/4/173
|
||||
type: DPT-9
|
||||
- name: Wohnzimmer Steckdose 2 Verbrauch Summe
|
||||
state_address: 0/4/178
|
||||
type: 4byte_unsigned
|
||||
binary_sensor:
|
||||
- name: Gang Bewegungsmelder Schlafzimmer
|
||||
state_address: 0/0/40
|
||||
device_class: motion
|
||||
- name: Gang Bewegungsmelder Wohnzimmer
|
||||
state_address: 0/0/41
|
||||
device_class: motion
|
||||
- name: Gang Bewegungsmelder Mitte
|
||||
state_address: 0/0/44
|
||||
device_class: motion
|
||||
- name: Gang Bewegungsmelder Ost
|
||||
state_address: 0/0/47
|
||||
device_class: motion
|
||||
light:
|
||||
- name: Wohnzimmer Deckenlampe
|
||||
address: 0/1/3
|
||||
state_address: 0/1/8
|
||||
brightness_address: 0/1/7
|
||||
brightness_state_address: 0/1/9
|
||||
- name: Esszimmer Deckenlampe West
|
||||
address: 0/1/21
|
||||
state_address: 0/1/26
|
||||
brightness_address: 0/1/25
|
||||
brightness_state_address: 0/1/27
|
||||
- name: Esszimmer Deckenlampe Mitte
|
||||
address: 0/1/39
|
||||
state_address: 0/1/44
|
||||
brightness_address: 0/1/43
|
||||
brightness_state_address: 0/1/45
|
||||
- name: Esszimmer Schrankleuchte
|
||||
address: 0/2/39
|
||||
state_address: 0/2/44
|
||||
brightness_address: 0/2/43
|
||||
brightness_state_address: 0/2/45
|
||||
- name: Küche Deckenlampe
|
||||
address: 0/1/57
|
||||
state_address: 0/1/62
|
||||
brightness_address: 0/1/61
|
||||
brightness_state_address: 0/1/63
|
||||
- name: Aussen Terassenlicht
|
||||
address: 0/2/21
|
||||
state_address: 0/2/26
|
||||
brightness_address: 0/2/25
|
||||
brightness_state_address: 0/2/27
|
||||
- name: Gang Licht
|
||||
address: 0/3/3
|
||||
state_address: 0/3/8
|
||||
brightness_address: 0/3/7
|
||||
brightness_state_address: 0/3/9
|
||||
- name: Bad Licht
|
||||
address: 0/3/21
|
||||
state_address: 0/3/26
|
||||
brightness_address: 0/3/25
|
||||
brightness_state_address: 0/3/27
|
||||
- name: Gang Einganglicht
|
||||
address: 0/3/39
|
||||
state_address: 0/3/44
|
||||
brightness_address: 0/3/43
|
||||
brightness_state_address: 0/3/45
|
||||
- name: Waschküche Licht
|
||||
address: 0/3/57
|
||||
state_address: 0/3/62
|
||||
brightness_address: 0/3/61
|
||||
brightness_state_address: 0/3/63
|
||||
- name: Haustür Licht
|
||||
address: 0/0/1
|
||||
state_address: 0/0/2
|
||||
- name: Haustür Licht NW
|
||||
address: 0/0/3
|
||||
state_address: 0/0/4
|
||||
- name: Treppenhaus Licht
|
||||
address: 0/5/180
|
||||
state_address: 0/5/185
|
||||
- name: Vorratsraum Licht
|
||||
address: 0/5/36
|
||||
state_address: 0/5/41
|
||||
- name: Bewegungsmelder Mitte LED
|
||||
address: 0/0/46
|
||||
- name: Bewegungsmelder West LED
|
||||
address: 0/0/43
|
||||
- name: Bewegungsmelder Ost LED
|
||||
address: 0/0/49
|
||||
cover:
|
||||
- name: Wohnzimmer Fenster Rollo
|
||||
move_long_address: 0/7/10
|
||||
move_short_address: 0/7/11
|
||||
position_address: 0/7/28
|
||||
position_state_address: 0/7/24
|
||||
- name: Wohnzimmer Terrassentür Rollo
|
||||
move_long_address: 0/7/36
|
||||
move_short_address: 0/7/37
|
||||
position_address: 0/7/54
|
||||
position_state_address: 0/7/50
|
||||
- name: Küche Fenster Rollo
|
||||
move_long_address: 0/7/62
|
||||
move_short_address: 0/7/63
|
||||
position_address: 0/7/80
|
||||
position_state_address: 0/7/76
|
||||
- name: Esszimmer Fenster Rollo
|
||||
move_long_address: 0/7/88
|
||||
move_short_address: 0/7/89
|
||||
position_address: 0/7/106
|
||||
position_state_address: 0/7/102
|
||||
switch:
|
||||
- name: Klingel Oben
|
||||
address: 0/0/15
|
||||
state_address: 0/0/15
|
||||
- name: Klingel Innentür
|
||||
address: 0/5/108
|
||||
state_address: 0/5/113
|
||||
- name: Klingel Außentür
|
||||
address: 0/5/126
|
||||
state_address: 0/5/131
|
||||
- name: Esszimmer Szene 0
|
||||
address: 0/0/11
|
||||
state_address: 0/0/11
|
||||
- name: Esszimmer Szene 1
|
||||
address: 0/0/12
|
||||
state_address: 0/0/12
|
||||
- name: Esszimmer Szene 2
|
||||
address: 0/0/9
|
||||
state_address: 0/0/9
|
||||
- name: Esszimmer Szene 3
|
||||
address: 0/0/10
|
||||
state_address: 0/0/10
|
||||
- name: Esszimmer Szene 4
|
||||
address: 0/0/8
|
||||
state_address: 0/0/8
|
||||
- name: Esszimmer Szene 5
|
||||
address: 0/0/19
|
||||
state_address: 0/0/19
|
||||
- name: Wohnzimmer Szene 0
|
||||
address: 0/0/27
|
||||
state_address: 0/0/27
|
||||
- name: Wohnzimmer Szene 1
|
||||
address: 0/0/28
|
||||
state_address: 0/0/28
|
||||
- name: Wohnzimmer Szene 2
|
||||
address: 0/0/29
|
||||
state_address: 0/0/29
|
||||
- name: Wohnzimmer Szene 3
|
||||
address: 0/0/30
|
||||
state_address: 0/0/30
|
||||
- name: Wohnzimmer Szene 4
|
||||
address: 0/0/31
|
||||
state_address: 0/0/31
|
||||
- name: Wohnzimmer Szene 5
|
||||
address: 0/0/32
|
||||
state_address: 0/0/32
|
||||
- name: Eingang Szene 2
|
||||
address: 0/0/20
|
||||
state_address: 0/0/20
|
||||
- name: Eingang Szene 3
|
||||
address: 0/0/21
|
||||
state_address: 0/0/21
|
||||
- name: Eingang Szene 4
|
||||
address: 0/0/22
|
||||
state_address: 0/0/22
|
||||
- name: Eingang Szene 5
|
||||
address: 0/0/23
|
||||
state_address: 0/0/23
|
||||
- name: Wohnzimmer Terrassentür Szene 2
|
||||
address: 0/0/17
|
||||
state_address: 0/0/17
|
||||
- name: Wohnzimmer Terrassentür Szene 3
|
||||
address: 0/0/18
|
||||
state_address: 0/0/18
|
||||
- name: alarm_led_links_normal
|
||||
address: 0/0/7
|
||||
state_address: 0/0/7
|
||||
- name: alarm_led_links_ueberlagert
|
||||
address: 0/0/13
|
||||
state_address: 0/0/13
|
||||
- name: alarm_led_rechts_normal
|
||||
address: 0/0/14
|
||||
state_address: 0/0/14
|
||||
- name: alarm_led_rechts_ueberlagert
|
||||
address: 0/0/16
|
||||
state_address: 0/0/16
|
||||
- name: wc_licht_taster
|
||||
address: 0/5/198
|
||||
state_address: 0/5/198
|
||||
- name: Vorratsraum Steckdose 1
|
||||
address: 0/5/54
|
||||
state_address: 0/5/59
|
||||
- name: Vorratsraum Steckdose 1 Betriebsstunden Reset
|
||||
address: 0/5/63
|
||||
- name: Vorratsraum Steckdose 2
|
||||
address: 0/5/72
|
||||
state_address: 0/5/77
|
||||
- name: Vorratsraum Steckdose 2 Betriebsstunden Reset
|
||||
address: 0/5/81
|
||||
- name: Gefrierschrank
|
||||
address: 0/5/90
|
||||
state_address: 0/5/95
|
||||
- name: Gefrierschrank Betriebsstunden Reset
|
||||
address: 0/5/99
|
||||
- name: Trockner
|
||||
address: 0/5/18
|
||||
state_address: 0/5/23
|
||||
- name: Trockner Betriebsstunden Reset
|
||||
address: 0/5/27
|
||||
- name: Waschmaschine
|
||||
address: 0/5/0
|
||||
state_address: 0/5/5
|
||||
- name: Waschmaschine Betriebsstunden Reset
|
||||
address: 0/5/9
|
||||
- name: Küche Steckdosen rechts
|
||||
address: 0/4/90
|
||||
state_address: 0/4/95
|
||||
- name: Küche Steckdosen rechts Betriebsstunden Reset
|
||||
address: 0/4/99
|
||||
- name: Dunstabzug
|
||||
address: 0/4/108
|
||||
state_address: 0/4/113
|
||||
- name: Dunstabzug Betriebsstunden Reset
|
||||
address: 0/4/117
|
||||
- name: Spülmaschine
|
||||
address: 0/4/0
|
||||
state_address: 0/4/5
|
||||
- name: Spülmaschine Betriebsstunden Reset
|
||||
address: 0/4/9
|
||||
- name: Backofen
|
||||
address: 0/4/18
|
||||
state_address: 0/4/23
|
||||
- name: Backofen Betriebsstunden Reset
|
||||
address: 0/4/27
|
||||
- name: Herd Phase 1
|
||||
address: 0/4/36
|
||||
state_address: 0/4/41
|
||||
- name: Herd Phase 1 Betriebsstunden Reset
|
||||
address: 0/4/45
|
||||
- name: Herd Phase 2
|
||||
address: 0/4/54
|
||||
state_address: 0/4/59
|
||||
- name: Herd Phase 2 Betriebsstunden Reset
|
||||
address: 0/4/63
|
||||
- name: Herd Phase 3
|
||||
address: 0/4/72
|
||||
state_address: 0/4/77
|
||||
- name: Herd Phase 3 Betriebsstunden Reset
|
||||
address: 0/4/81
|
||||
- name: Arbeitszimmer Steckdose
|
||||
address: 0/4/126
|
||||
state_address: 0/4/131
|
||||
- name: Arbeitszimmer Steckdose Betriebsstunden Reset
|
||||
address: 0/4/135
|
||||
- name: Wohnzimmer Steckdose 1
|
||||
address: 0/4/144
|
||||
state_address: 0/4/149
|
||||
- name: Wohnzimmer Steckdose 1 Betriebsstunden Reset
|
||||
address: 0/4/153
|
||||
- name: Wohnzimmer Steckdose 2
|
||||
address: 0/4/162
|
||||
state_address: 0/4/167
|
||||
- name: Wohnzimmer Steckdose 2 Betriebsstunden Reset
|
||||
address: 0/4/171
|
||||
BIN
pyozw.sqlite
Normal file
BIN
pyozw.sqlite
Normal file
Binary file not shown.
3
pyscript/bad_luefter.py
Normal file
3
pyscript/bad_luefter.py
Normal file
@@ -0,0 +1,3 @@
|
||||
@state_trigger("switch.bad_luefter == 'on'", state_hold=60 * 15)
|
||||
def luefter_auto_off():
|
||||
switch.bad_luefter.turn_off()
|
||||
10
pyscript/config.yaml
Normal file
10
pyscript/config.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
apps:
|
||||
bad_luefter
|
||||
ir_remote_kitchenpi
|
||||
ir_remote_oben
|
||||
ir_remote_schlafzimmer
|
||||
herd
|
||||
knx_buttons
|
||||
licht_schlafzimmer
|
||||
licht_gang_bogen
|
||||
licht_wc
|
||||
14
pyscript/herd.py
Normal file
14
pyscript/herd.py
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
|
||||
@state_trigger("switch.esszimmer_szene_4")
|
||||
def esszimmer_gangtuer_herd(value=None):
|
||||
entity_id = [f"switch.herd_phase_{i}" for i in range(1, 4)]
|
||||
if value == "on":
|
||||
switch.turn_on(entity_id=entity_id)
|
||||
elif value == "off":
|
||||
switch.turn_off(entity_id=entity_id)
|
||||
|
||||
|
||||
@state_trigger("float(sensor.herd_phase_1_verbrauch) + float(sensor.herd_phase_2_verbrauch) + float(sensor.herd_phase_3_verbrauch) < 100", state_hold=30 * 60)
|
||||
def herd_auto_aus():
|
||||
switch.esszimmer_szene_4.turn_off()
|
||||
44
pyscript/ir_remote_kinderzimmer.py
Normal file
44
pyscript/ir_remote_kinderzimmer.py
Normal file
@@ -0,0 +1,44 @@
|
||||
from ir_helpers import *
|
||||
|
||||
async def regal_licht_f(**kwargs):
|
||||
async def f():
|
||||
await hass.services.async_call('light', 'turn_on', {'entity_id': "light.music_mouse_regal_licht", 'effect': 'static', **kwargs})
|
||||
return f
|
||||
|
||||
@event_trigger("ir_command_received", "host == 'musicmouse.fritz.box' and repeat_counter == 0 and remote == 'ir_led3'")
|
||||
def ir_remote_kinderzimmer(button_name=None, **kwargs):
|
||||
mapping = {
|
||||
'key_on': scene_f('kinderzimmer_hell'),
|
||||
'key_off': light_f("turn_off", entity_id="group.kids_room"),
|
||||
'key_brightnessup': cover_f('open_cover', 'cover.kinderzimmer_rollo'),
|
||||
'key_brightnessdown': cover_f('close_cover', 'cover.kinderzimmer_rollo'),
|
||||
'key_white': scene_f('kinderzimmer_hell'),
|
||||
'key_red': scene_f('kinderzimmer_wickeln_nachts'),
|
||||
'key_pound': regal_licht_f(rgbw_color=[255, 30, 60, 0]),
|
||||
'key_1': regal_licht_f(rgbw_color=[255, 30, 60, 0]),
|
||||
'key_2': regal_licht_f(rgbw_color=[28, 255, 35, 0]),
|
||||
'key_3': regal_licht_f(rgbw_color=[0, 0, 255, 0]),
|
||||
'key_4': regal_licht_f(rgbw_color=[255, 156, 17, 0]),
|
||||
'key_5': regal_licht_f(rgbw_color=[12, 166, 255, 0]),
|
||||
'key_6': regal_licht_f(rgbw_color=[185, 10, 255, 0]),
|
||||
'key_7': regal_licht_f(rgbw_color=[255, 156, 17, 0], brightness=50, effect="side_0.2_inc8"),
|
||||
'key_8': regal_licht_f(rgbw_color=[0, 0, 255, 0], brightness=50, effect="side_0.2_inc8"),
|
||||
'key_9': regal_licht_f(rgbw_color=[255, 30, 60, 0], brightness=50, effect="side_0.2_inc8"),
|
||||
}
|
||||
if button_name in mapping:
|
||||
mapping[button_name]()
|
||||
elif button_name == 'key_smooth':
|
||||
dimmer.dim(entity_id="light.music_mouse_regal_licht", offset=-30)
|
||||
elif button_name == 'key_fade':
|
||||
dimmer.dim(entity_id="light.music_mouse_regal_licht", offset=+30)
|
||||
|
||||
@event_trigger("ir_command_received", "host == 'musicmouse.fritz.box' and repeat_counter == 0 and remote == 'Hauppauge'")
|
||||
def ir_remote_hauppauge_kinderzimmer(button_name=None, **kwargs):
|
||||
p = {'player': 'media_player.musicmouse'}
|
||||
mapping = {
|
||||
**default_ir_light_control('group.kids_room'),
|
||||
**default_ir_cover_control('group.kids_room'),
|
||||
**default_ir_music_control(**p),
|
||||
}
|
||||
if button_name in mapping:
|
||||
mapping[button_name]()
|
||||
33
pyscript/ir_remote_kitchenpi.py
Normal file
33
pyscript/ir_remote_kitchenpi.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from ir_helpers import *
|
||||
|
||||
|
||||
@event_trigger("ir_command_received", "host == 'kitchenpi.fritz.box' and repeat_counter == 0")
|
||||
def ir_remote_kitchenpi(button_name=None, **kwargs):
|
||||
player = {'player': 'media_player.kitchenpi'}
|
||||
mapping = {
|
||||
**default_ir_light_control('group.living_area'),
|
||||
**default_ir_cover_control('group.living_area'),
|
||||
**default_ir_music_control(**player),
|
||||
'btn_1': playlist_f('Fast Jazz', shuffle=True, **player),
|
||||
'btn_2': playlist_f('Favorite Brass', shuffle=True, **player),
|
||||
'btn_3': playlist_f("Pop", shuffle=True, **player),
|
||||
|
||||
'btn_4': playlist_f('Bar Classics', **player),
|
||||
'btn_5': playlist_f('Sentimental Moods', **player),
|
||||
'btn_6': playlist_f(URLS['spotify_merkliste'], **player),
|
||||
|
||||
'btn_7': radio_f('BR24', **player),
|
||||
'btn_8': radio_f('BR-Klassik', **player),
|
||||
'btn_9': playlist_f(URLS['klassik_radio'], **player),
|
||||
|
||||
'btn_0': radio_f('Bayern 3', **player),
|
||||
'key_numeric_pound': radio_f('Bayern 2', **player),
|
||||
'key_numeric_star': radio_f('Antenne Bayern', **player),
|
||||
|
||||
'key_red': scene_f('wohnbereich_orange'),
|
||||
'key_green': scene_f('wohnbereich_grun'),
|
||||
'key_yellow': scene_f('wohnbereich_hell'),
|
||||
'key_blue': scene_f('wohnbereich_blau_grun'),
|
||||
}
|
||||
if button_name in mapping:
|
||||
mapping[button_name]()
|
||||
77
pyscript/ir_remote_oben.py
Normal file
77
pyscript/ir_remote_oben.py
Normal file
@@ -0,0 +1,77 @@
|
||||
from ir_helpers import *
|
||||
|
||||
light_counter = CyclicCounter(
|
||||
lambda v: light.lampe_ersterstock.turn_on(**v),
|
||||
[
|
||||
{'color_temp': 492},
|
||||
{'xy_color': [0.5794, 0.3752]},
|
||||
{'xy_color': [0.5535, 0.4104]},
|
||||
{'xy_color': [0.4662, 0.3252]},
|
||||
{'xy_color': [0.3423, 0.2252]},
|
||||
{'xy_color': [0.346, 0.394]},
|
||||
{'xy_color': [0.4119, 0.3671]},
|
||||
{'xy_color': [0.408, 0.517]},
|
||||
{'color_temp': 202},
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
def music_mapping(player):
|
||||
player = {'player': player}
|
||||
return {
|
||||
'btn_1': radio_f('Bayern 1', **player),
|
||||
'btn_2': radio_f('Bayern 2', **player),
|
||||
'btn_3': radio_f('BR Heimat', **player),
|
||||
'btn_4': radio_f('Bayern+', **player),
|
||||
'btn_5': radio_f('BR24', **player),
|
||||
'btn_6': radio_f('BR-Klassik', **player),
|
||||
'btn_7': playlist_f('Gesammelte Weihnachtslieder', **player),
|
||||
'btn_8': playlist_f('Harmonic Brass Christmas', **player),
|
||||
'btn_9': playlist_f('German Brass Christmas', **player),
|
||||
'key_numeric_star': playlist_f('Weihnachten mit den Wiener Sängerknaben', **player),
|
||||
'btn_0': playlist_f('Weihnachten mit den Wiener Sängerknaben', **player),
|
||||
'key_numeric_pound': playlist_f('SammlungGeorg', **player),
|
||||
}
|
||||
|
||||
|
||||
def light_mapping():
|
||||
return {
|
||||
'key_red': light_counter.next,
|
||||
'key_green': light_counter.prev,
|
||||
'key_blue': light.lampe_ersterstock.turn_off,
|
||||
'key_yellow': light.lampe_ersterstock.turn_off,
|
||||
'key_channelup': lambda: dimmer.dim(entity_id='light.lampe_ersterstock', offset=+30),
|
||||
'key_channeldown': lambda: dimmer.dim(entity_id='light.lampe_ersterstock', offset=-30),
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@event_trigger("ir_command_received", "host == 'esszimmerradio.fritz.box' and repeat_counter == 0")
|
||||
def ir_remote_esszimmer_oben(button_name=None, **kwargs):
|
||||
mapping = {
|
||||
**music_mapping('media_player.esszimmer'),
|
||||
**light_mapping(),
|
||||
}
|
||||
|
||||
buttons_to_switch_on = ['key_play', 'key_power'] + [f'btn_{i}' for i in range(10)]
|
||||
buttons_to_switch_off = ['key_goto', 'key_pause']
|
||||
if button_name in buttons_to_switch_on:
|
||||
switch.esszimmer_oben_radio_steckdose1.turn_on()
|
||||
elif button_name in buttons_to_switch_off:
|
||||
switch.esszimmer_oben_radio_steckdose1.turn_off()
|
||||
elif button_name == 'key_record':
|
||||
sysdweb.restart(service_name="squeezelite", hostname="esszimmerradio.fritz.box")
|
||||
|
||||
if button_name in mapping:
|
||||
mapping[button_name]()
|
||||
|
||||
|
||||
@event_trigger("ir_command_received", "host == 'musikserverWohnzimmerOben.fritz.box' and repeat_counter==0")
|
||||
def ir_remote_wohnzimmer_oben(button_name=None, **kwargs):
|
||||
mapping = {
|
||||
**music_mapping('media_player.wohnzimmer'),
|
||||
**light_mapping(),
|
||||
}
|
||||
if button_name in mapping:
|
||||
mapping[button_name]()
|
||||
72
pyscript/ir_remote_schlafzimmer.py
Normal file
72
pyscript/ir_remote_schlafzimmer.py
Normal file
@@ -0,0 +1,72 @@
|
||||
from ir_helpers import *
|
||||
|
||||
|
||||
@pyscript_compile
|
||||
def timed_sleep_f(content, light_off_mins, music_off_mins, shuffle):
|
||||
variables = {
|
||||
'media_content_id': content,
|
||||
'light_off_secs': light_off_mins * 60,
|
||||
'music_off_secs': music_off_mins * 60,
|
||||
'shuffle': shuffle,
|
||||
}
|
||||
|
||||
async def f():
|
||||
await hass.services.async_call('script', 'timed_sleep', variables)
|
||||
return f
|
||||
|
||||
|
||||
@state_trigger("switch.tasmota07 == 'on'")
|
||||
def foen_auto_off():
|
||||
timer.fon_timer.start(duration="00:45:00")
|
||||
|
||||
|
||||
@event_trigger("ir_command_received", "host == 'bedroompi.fritz.box' and repeat_counter == 0")
|
||||
def ir_remote_schlafzimmer(button_name=None, **kwargs):
|
||||
p = {'player': 'media_player.bedroompi'}
|
||||
mapping = {
|
||||
**default_ir_light_control('group.bedroom'),
|
||||
**default_ir_cover_control('group.bedroom'),
|
||||
**default_ir_music_control(**p),
|
||||
'btn_1': playlist_f('Good Morning', **p),
|
||||
'btn_2': playlist_f('Good Night Long', **p),
|
||||
'btn_3': playlist_f('Good Night', **p),
|
||||
|
||||
'btn_4': playlist_f('Bar Classics', **p),
|
||||
'btn_5': playlist_f('Sentimental Moods', **p),
|
||||
'btn_6': playlist_f(URLS['spotify_merkliste'], **p),
|
||||
|
||||
'btn_7': radio_f('BR24', **p),
|
||||
'btn_8': radio_f('BR-Klassik', **p),
|
||||
'btn_9': playlist_f(URLS['klassik_radio'], **p),
|
||||
|
||||
'btn_0': radio_f('Bayern 3', **p),
|
||||
'key_numeric_pound': radio_f('Bayern 2', **p),
|
||||
#'key_numeric_star': lambda: timer.fon_timer.start(duration="00:10:00"),
|
||||
|
||||
'key_red': scene_f('schlafzimmer_stillen'),
|
||||
'key_green': scene_f('schlafzimmer_orange'),
|
||||
'key_yellow': scene_f('schlafzimmer_ganz_hell'),
|
||||
'key_blue': scene_f('nachtswennallelieberschlafen'),
|
||||
|
||||
'key_tv': timed_sleep_f(URLS['spotify_rain'], light_off_mins=15, music_off_mins=45, shuffle=True),
|
||||
'key_video': timed_sleep_f('Good Night', light_off_mins=15, music_off_mins=45, shuffle=False),
|
||||
'key_music': timed_sleep_f(URLS['spotify_rain'], light_off_mins=5, music_off_mins=20, shuffle=True),
|
||||
'key_picture': timed_sleep_f('Good Night', light_off_mins=5, music_off_mins=20, shuffle=False)
|
||||
}
|
||||
if button_name in mapping:
|
||||
mapping[button_name]()
|
||||
elif button_name == "key_numeric_star": # Foen
|
||||
#repeat_one_crossfade(**p)
|
||||
#media_player.play_media(media_content_id='Foen', media_content_type='music', entity_id=p['player'])
|
||||
#media_player.volume_set(volume_level=60, entity_id=p['player'])
|
||||
timer.fon_timer.start(duration="00:10:00")
|
||||
elif button_name == 'key_power': # Music & Lights off
|
||||
media_player.media_pause(entity_id=p['player'])
|
||||
light.turn_off(entity_id='group.bedroom')
|
||||
elif button_name == 'key_ok': # Grosser Rollo zu, kleiner halb zu
|
||||
cover.schlafzimmer_rollo_gross.close_cover()
|
||||
cover_half.set_half(entity_id="cover.schlafzimmer_rollo_klein")
|
||||
elif button_name == 'key_mute': # Alles aus ohne draussen & schlafzimmer
|
||||
light.turn_off(entity_id='group.all_downstairs_but_bedroom_and_outside')
|
||||
elif button_name == 'key_channel': # alles aus ausser schlafzimmer
|
||||
light.turn_off(entity_id='group.all_downstairs_but_bedroom')
|
||||
119
pyscript/knx_buttons.py
Normal file
119
pyscript/knx_buttons.py
Normal file
@@ -0,0 +1,119 @@
|
||||
@pyscript_compile
|
||||
def in_room(room):
|
||||
return f"entity_id.startswith('switch.{room}_szene_')"
|
||||
|
||||
|
||||
@event_trigger("short_click", in_room("eingang"))
|
||||
@event_trigger("long_click", in_room("eingang"))
|
||||
def eingang(entity_id=None, event_type=None):
|
||||
long_click = (event_type == "long_click")
|
||||
key = {'switch.eingang_szene_2': 'bulb_orange',
|
||||
'switch.eingang_szene_3': 'bulb_black',
|
||||
'switch.eingang_szene_4': 'key',
|
||||
'switch.eingang_szene_5': 'dog'}[entity_id]
|
||||
|
||||
if key == "bulb_orange":
|
||||
light.gang_licht.turn_on()
|
||||
light.gang_einganglicht.turn_on()
|
||||
if long_click:
|
||||
scene.wohnbereich_hell.turn_on()
|
||||
elif key == "bulb_black":
|
||||
if long_click:
|
||||
light.turn_off(entity_id="group.all_downstairs")
|
||||
else:
|
||||
light.turn_off(entity_id="group.all_downstairs_but_outside")
|
||||
|
||||
|
||||
@event_trigger("short_click", in_room("esszimmer"))
|
||||
@event_trigger("long_click", in_room("esszimmer"))
|
||||
def esszimmer_gangtuer(entity_id=None, event_type=None):
|
||||
key = {'switch.esszimmer_szene_0': 'arrow_down',
|
||||
'switch.esszimmer_szene_1': 'arrow_up',
|
||||
'switch.esszimmer_szene_2': 'bulb_orange',
|
||||
'switch.esszimmer_szene_3': 'bulb_yellow',
|
||||
'switch.esszimmer_szene_4': 'cooking_pot', # Herd an/aus in separater Datei
|
||||
'switch.esszimmer_szene_5': 'bulb_black'}[entity_id]
|
||||
long_click = (event_type == "long_click")
|
||||
|
||||
if long_click:
|
||||
covers = ['cover.kuche_fenster_rollo', 'cover.esszimmer_fenster_rollo']
|
||||
else:
|
||||
covers = ['group.living_area']
|
||||
|
||||
if key == "arrow_down":
|
||||
cover_half.set_half(entity_id=covers)
|
||||
elif key == "arrow_up":
|
||||
cover.open_cover(entity_id=covers)
|
||||
elif key == "bulb_orange":
|
||||
if long_click:
|
||||
scene.kuche_essbereich_orange.turn_on()
|
||||
else:
|
||||
scene.wohnbereich_orange.turn_on()
|
||||
elif key == "bulb_yellow":
|
||||
if long_click:
|
||||
scene.kuche_essbereich_hell.turn_on()
|
||||
else:
|
||||
scene.wohnbereich_hell.turn_on()
|
||||
elif key == "bulb_black":
|
||||
if long_click:
|
||||
light.essbereich_lichter.turn_off()
|
||||
else:
|
||||
light.turn_off(entity_id="group.living_area")
|
||||
|
||||
|
||||
@event_trigger("short_click", in_room("wohnzimmer"))
|
||||
@event_trigger("long_click", in_room("wohnzimmer"))
|
||||
def wohnzimmer_gangtur(entity_id=None, event_type=None):
|
||||
long_click = (event_type == "long_click")
|
||||
key = {'switch.wohnzimmer_szene_0': 'arrow_down',
|
||||
'switch.wohnzimmer_szene_1': 'arrow_up',
|
||||
'switch.wohnzimmer_szene_2': 'bulb_orange',
|
||||
'switch.wohnzimmer_szene_3': 'bulb_yellow',
|
||||
'switch.wohnzimmer_szene_4': 'bulb_blue',
|
||||
'switch.wohnzimmer_szene_5': 'bulb_black'}[entity_id]
|
||||
|
||||
if long_click:
|
||||
covers = ['cover.wohnzimmer_fenster_rollo', 'cover.wohnzimmer_terrassentur_rollo']
|
||||
else:
|
||||
covers = ['group.living_area']
|
||||
|
||||
if key == "arrow_down":
|
||||
cover_half.set_half(entity_id=covers)
|
||||
elif key == "arrow_up":
|
||||
cover.open_cover(entity_id=covers)
|
||||
elif key == "bulb_orange":
|
||||
if long_click:
|
||||
scene.wohnzimmer_orange.turn_on()
|
||||
else:
|
||||
scene.wohnbereich_orange.turn_on()
|
||||
elif key == "bulb_yellow":
|
||||
if long_click:
|
||||
scene.wohnzimmer_hell.turn_on()
|
||||
else:
|
||||
scene.wohnbereich_hell.turn_on()
|
||||
elif key == "bulb_blue":
|
||||
if long_click:
|
||||
scene.wohnzimmer_dunkel.turn_on()
|
||||
else:
|
||||
scene.wohnbereich_blau_grun.turn_on()
|
||||
elif key == "bulb_black":
|
||||
if long_click:
|
||||
light.wohnzimmer_lichter.turn_off()
|
||||
else:
|
||||
light.turn_off(entity_id="group.living_area")
|
||||
|
||||
|
||||
@event_trigger("short_click", in_room("wohnzimmer_terrassentur"))
|
||||
@event_trigger("long_click", in_room("wohnzimmer_terrassentur"))
|
||||
def wohnzimmer_terassentuer(entity_id=None, event_type=None):
|
||||
long_click = (event_type == "long_click")
|
||||
key = {'switch.wohnzimmer_terrassentur_szene_2': 'teddy',
|
||||
'switch.wohnzimmer_terrassentur_szene_3': 'flowers'}[entity_id]
|
||||
if key == "teddy":
|
||||
if long_click:
|
||||
scene.wohnbereich_kuscheln.turn_on()
|
||||
elif key == "flowers":
|
||||
if long_click:
|
||||
light.turn_off(entity_id="light.garten_lichter")
|
||||
else:
|
||||
scene.garten_savanna.turn_on()
|
||||
0
pyscript/licht_gang_bogen.py
Normal file
0
pyscript/licht_gang_bogen.py
Normal file
30
pyscript/licht_schlafzimmer.py
Normal file
30
pyscript/licht_schlafzimmer.py
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
# oben: kurz: orange szene
|
||||
# lang: helle szene
|
||||
# unten: kurz: off, but 1 min bedlight
|
||||
# lang: rollos zu: nur tagsueber wenn komplett offen
|
||||
@event_trigger("homematic.keypress", "name == 'schlafzimmer_deckenlampe'")
|
||||
def schlafzimmer_licht(channel=None, param=None, **kwargs):
|
||||
up = (channel == 2)
|
||||
down = (channel == 1)
|
||||
long = (param == "PRESS_LONG")
|
||||
short = not long
|
||||
log.info(f"Schlafzimmer knopf up {up}, long {long}")
|
||||
|
||||
if up and short:
|
||||
scene.schlafzimmer_orange.turn_on()
|
||||
elif up and long:
|
||||
scene.schlafzimmer_ganz_hell.turn_on()
|
||||
elif down and short:
|
||||
light.turn_off(entity_id='group.bedroom')
|
||||
scene.schlafzimmer_bettlicht_dunkel.turn_on()
|
||||
task.wait_until(timeout=60)
|
||||
light.bett_martin.turn_off()
|
||||
light.bett_rebecca.turn_off()
|
||||
elif down and long:
|
||||
during_day = float(sun.sun.elevation) > 5
|
||||
covers_fully_open = (int(cover.schlafzimmer_rollo_gross.current_position) > 95 or
|
||||
int(cover.schlafzimmer_rollo_klein.current_position) > 95)
|
||||
if during_day and covers_fully_open:
|
||||
cover.schlafzimmer_rollo_gross.close_cover()
|
||||
cover_half.set_half(entity_id="cover.schlafzimmer_rollo_klein")
|
||||
4
pyscript/licht_wc.py
Normal file
4
pyscript/licht_wc.py
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
@state_trigger("switch.wc_licht_taster == 'on'")
|
||||
def wc_licht():
|
||||
switch.wc_licht.toggle()
|
||||
126
pyscript/modules/ir_helpers.py
Normal file
126
pyscript/modules/ir_helpers.py
Normal file
@@ -0,0 +1,126 @@
|
||||
# ---------------------------------- Music ---------------------------------------------
|
||||
|
||||
URLS = {
|
||||
'klassik_radio': "http://opml.radiotime.com/Tune.ashx?id=s25028&formats=aac,ogg,mp3",
|
||||
'spotify_rain': "spotify:playlist:37i9dQZF1DXbcPC6Vvqudd",
|
||||
'spotify_merkliste': "spotify:playlist:43wCckw3P4WKdy06Rd7eYO",
|
||||
}
|
||||
|
||||
|
||||
async def media_player_s(service_name, entity_id, **kwargs):
|
||||
await hass.services.async_call('media_player', service_name, {'entity_id': entity_id, **kwargs})
|
||||
|
||||
|
||||
async def media_player_f(service_name, entity_id, **kwargs):
|
||||
async def f():
|
||||
hass.services.async_call('media_player', service_name, {'entity_id': entity_id, **kwargs})
|
||||
return f
|
||||
|
||||
|
||||
async def default_music_settings(player, shuffle=False):
|
||||
await media_player_s('shuffle_set', player, shuffle=shuffle)
|
||||
await media_player_s('squeezebox_call_method', player, command="playlist repeat 0")
|
||||
await media_player_s('squeezebox_call_method', player, command="playerpref transitionType 0")
|
||||
|
||||
|
||||
async def repeat_one_crossfade(player):
|
||||
await media_player_s('repeat_set', player, repeat='one')
|
||||
await media_player_s('squeezebox_call_method', player, command='playerpref transitionType 1')
|
||||
|
||||
|
||||
def playlist_f(name, player, shuffle=False):
|
||||
async def f():
|
||||
await default_music_settings(player, shuffle=shuffle)
|
||||
await media_player_s('play_media', player, media_content_id=name, media_content_type='music')
|
||||
return f
|
||||
|
||||
|
||||
def radio_f(name, player):
|
||||
async def f():
|
||||
await media_player_s('play_media', player, media_content_id=name, media_content_type='channel')
|
||||
return f
|
||||
|
||||
|
||||
def scene_f(name):
|
||||
async def f():
|
||||
await hass.services.async_call('scene', 'turn_on', {'entity_id': 'scene.' + name})
|
||||
return f
|
||||
|
||||
|
||||
def cover_f(name, entity_id, **kwargs):
|
||||
async def f():
|
||||
await hass.services.async_call('cover', name, {'entity_id': entity_id, **kwargs})
|
||||
return f
|
||||
|
||||
|
||||
def cover_half_f(entity_id):
|
||||
async def f():
|
||||
await hass.services.async_call('cover_half', 'set_half', {'entity_id': entity_id})
|
||||
return f
|
||||
|
||||
|
||||
def light_f(name, entity_id, **kwargs):
|
||||
async def f():
|
||||
await hass.services.async_call('light', name, {'entity_id': entity_id, **kwargs})
|
||||
return f
|
||||
|
||||
|
||||
def default_ir_music_control(player):
|
||||
return {
|
||||
'key_play': media_player_f("media_play_pause", player),
|
||||
'key_pause': media_player_f("turn_off", player),
|
||||
|
||||
'key_forward': media_player_f('media_next_track', player),
|
||||
'key_fastforward': media_player_f('media_next_track', player),
|
||||
'key_previous': media_player_f('media_previous_track', player),
|
||||
'key_rewind': media_player_f('media_previous_track', player),
|
||||
|
||||
'key_volumeup': media_player_f('volume_up', player),
|
||||
'key_volumedown': media_player_f('volume_down', player),
|
||||
|
||||
'key_menu': media_player_f('shuffle_set', player, shuffle=True),
|
||||
'key_exit': media_player_f('shuffle_set', player, shuffle=False),
|
||||
}
|
||||
|
||||
# ---------------------------------- Covers --------------------------------------------
|
||||
|
||||
|
||||
def default_ir_cover_control(device_group):
|
||||
return {
|
||||
'key_up': cover_f('open_cover', device_group),
|
||||
'key_down': cover_f('close_cover', device_group),
|
||||
'key_left': cover_half_f(device_group),
|
||||
'key_right': cover_half_f(device_group),
|
||||
}
|
||||
|
||||
|
||||
# ---------------------------------- Lights ---------------------------------------------
|
||||
|
||||
def default_ir_light_control(device_group):
|
||||
def dim_offset_f(offset):
|
||||
async def f():
|
||||
await hass.services.async_call('dimmer', 'dim', {'entity_id': device_group, 'offset': offset})
|
||||
return f
|
||||
|
||||
return {
|
||||
'key_channelup': dim_offset_f(+30),
|
||||
'key_channeldown': dim_offset_f(-30),
|
||||
'key_menu': dim_offset_f(130),
|
||||
'key_stop': dim_offset_f(-130),
|
||||
'key_goto': light_f('turn_off', device_group)
|
||||
}
|
||||
|
||||
|
||||
class CyclicCounter:
|
||||
def __init__(self, func, values):
|
||||
self.idx = 0
|
||||
self.values = values
|
||||
self.func = func
|
||||
|
||||
def next(self):
|
||||
self.idx = (self.idx + 1) % len(self.values)
|
||||
self.func(self.values[self.idx])
|
||||
|
||||
def prev(self):
|
||||
self.idx = (self.idx - 1) % len(self.values)
|
||||
self.func(self.values[self.idx])
|
||||
@@ -3,13 +3,12 @@
|
||||
entities:
|
||||
light.kuche_deckenlampe:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.esszimmer_deckenlampe_west:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 38
|
||||
state: false
|
||||
light.esszimmer_schrankleuchte:
|
||||
state: false
|
||||
light.kuche_links:
|
||||
@@ -92,6 +91,9 @@
|
||||
- name: Küche Essbereich Hell
|
||||
id: kueche_essbereich_hell
|
||||
entities:
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 255
|
||||
light.esszimmer_deckenlampe_west:
|
||||
state: true
|
||||
brightness: 255
|
||||
|
||||
@@ -3,16 +3,15 @@
|
||||
entities:
|
||||
light.kuche_deckenlampe:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.wohnzimmer_deckenlampe:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.esszimmer_deckenlampe_west:
|
||||
state: true
|
||||
brightness: 38
|
||||
brightness: 10
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 38
|
||||
state: false
|
||||
light.esszimmer_schrankleuchte:
|
||||
state: false
|
||||
light.kuche_links:
|
||||
@@ -68,8 +67,7 @@
|
||||
state: true
|
||||
brightness: 38
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 38
|
||||
state: false
|
||||
light.esszimmer_schrankleuchte:
|
||||
state: false
|
||||
light.kuche_links:
|
||||
@@ -184,6 +182,9 @@
|
||||
- name: Wohnbereich Hell
|
||||
id: wohnbereich_hell
|
||||
entities:
|
||||
light.esszimmer_deckenlampe_mitte:
|
||||
state: true
|
||||
brightness: 255
|
||||
light.esszimmer_deckenlampe_west:
|
||||
state: true
|
||||
brightness: 255
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -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}`),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=g.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=g.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(""),g=/([ \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.
|
||||
@@ -26,7 +26,7 @@ const i=new WeakMap,n=t=>"function"==typeof t&&i.has(t),r=void 0!==window.custom
|
||||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=r?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],s=this.template.parts,i=document.createTreeWalker(t,133,null,!1);let n,o=0,a=0,l=i.nextNode();for(;o<s.length;)if(n=s[o],f(n)){for(;a<n.index;)a++,"TEMPLATE"===l.nodeName&&(e.push(l),i.currentNode=l.content),null===(l=i.nextNode())&&(i.currentNode=e.pop(),l=i.nextNode());if("node"===n.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(l.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,n.name,n.strings,this.options));o++}else this.__parts.push(void 0),o++;return r&&(document.adoptNode(t),customElements.upgrade(t)),t}}
|
||||
class y{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this.options=s}update(t){let e=0;for(const s of this.__parts)void 0!==s&&s.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=r?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],s=this.template.parts,i=document.createTreeWalker(t,133,null,!1);let n,o=0,a=0,l=i.nextNode();for(;o<s.length;)if(n=s[o],f(n)){for(;a<n.index;)a++,"TEMPLATE"===l.nodeName&&(e.push(l),i.currentNode=l.content),null===(l=i.nextNode())&&(i.currentNode=e.pop(),l=i.nextNode());if("node"===n.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(l.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,n.name,n.strings,this.options));o++}else this.__parts.push(void 0),o++;return r&&(document.adoptNode(t),customElements.upgrade(t)),t}}
|
||||
/**
|
||||
* @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=g.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}}
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
@@ -53,7 +53,7 @@ class g{constructor(t,e,s){this.__parts=[],this.template=t,this.processor=e,this
|
||||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1;let s="";for(let i=0;i<e;i++){s+=t[i];const e=this.parts[i];if(void 0!==e){const t=e.value;if(S(t)||!b(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===a||S(t)&&t===this.value||(this.value=t,n(t)||(this.committer.dirty=!0))}commit(){for(;n(this.value);){const t=this.value;this.value=a,t(this)}this.value!==a&&this.committer.commit()}}class C{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(m()),this.endNode=t.appendChild(m())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=m()),t.__insert(this.endNode=m())}insertAfterPart(t){t.__insert(this.startNode=m()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}const t=this.__pendingValue;t!==a&&(S(t)?t!==this.value&&this.__commitText(t):t instanceof v?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===l?(this.value=l,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling;t=null==t?"":t,e===this.endNode.previousSibling&&3===e.nodeType?e.data=t:this.__commitNode(document.createTextNode("string"==typeof t?t:String(t))),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof g&&this.value.template===e)this.value.update(t.values);else{const s=new g(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)void 0===(s=e[i])&&(s=new C(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){o(this.startNode.parentNode,t.nextSibling,this.endNode)}}class x{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=a}}class O extends w{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new T(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class T extends P{}let N=!1;try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}class A{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=a}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);
|
||||
const S=t=>null===t||!("object"==typeof t||"function"==typeof t),b=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,s){this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(let t=0;t<s.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new P(this)}_getValue(){const t=this.strings,e=t.length-1;let s="";for(let i=0;i<e;i++){s+=t[i];const e=this.parts[i];if(void 0!==e){const t=e.value;if(S(t)||!b(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e]}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class P{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===a||S(t)&&t===this.value||(this.value=t,n(t)||(this.committer.dirty=!0))}commit(){for(;n(this.value);){const t=this.value;this.value=a,t(this)}this.value!==a&&this.committer.commit()}}class C{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(m()),this.endNode=t.appendChild(m())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=m()),t.__insert(this.endNode=m())}insertAfterPart(t){t.__insert(this.startNode=m()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}const t=this.__pendingValue;t!==a&&(S(t)?t!==this.value&&this.__commitText(t):t instanceof v?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):b(t)?this.__commitIterable(t):t===l?(this.value=l,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling;t=null==t?"":t,e===this.endNode.previousSibling&&3===e.nodeType?e.data=t:this.__commitNode(document.createTextNode("string"==typeof t?t:String(t))),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof y&&this.value.template===e)this.value.update(t.values);else{const s=new y(e,t.processor,this.options),i=s._clone();s.update(t.values),this.__commitNode(i),this.value=s}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let s,i=0;for(const n of t)void 0===(s=e[i])&&(s=new C(this.options),e.push(s),0===i?s.appendIntoPart(this):s.insertAfterPart(e[i-1])),s.setValue(n),s.commit(),i++;i<e.length&&(e.length=i,this.clear(s&&s.endNode))}clear(t=this.startNode){o(this.startNode.parentNode,t.nextSibling,this.endNode)}}class x{constructor(t,e,s){if(this.value=void 0,this.__pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=a}}class O extends w{constructor(t,e,s){super(t,e,s),this.single=2===s.length&&""===s[0]&&""===s[1]}_createPart(){return new T(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class T extends P{}let N=!1;try{const t={get capture(){return N=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}class A{constructor(t,e,s){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;n(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=a,t(this)}if(this.__pendingValue===a)return;const t=this.__pendingValue,e=this.value,s=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),i=null!=t&&(null==e||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=j(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=a}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);
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
||||
@@ -162,7 +162,7 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
||||
* subject to an additional IP rights grant found at
|
||||
* http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const ot=t=>t.flat?t.flat(1/0):function t(e,s=[]){for(let i=0,n=e.length;i<n;i++){const n=e[i];Array.isArray(n)?t(n,s):s.push(n)}return s}(t);class at extends et{static finalize(){super.finalize(),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const t=this.styles,e=[];if(Array.isArray(t)){ot(t).reduceRight((t,e)=>(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),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?rt?this.renderRoot.adoptedStyleSheets=t.map(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){super.update(t);const e=this.render();e instanceof v&&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(){}}at.finalized=!0,at.render=(t,e,s)=>{const i=s.scopeName,n=M.has(e),r=I&&11===e.nodeType&&!!e.host&&t instanceof v,a=r&&!L.has(i),l=a?document.createDocumentFragment():e;if(((t,e,s)=>{let i=M.get(e);void 0===i&&(o(e,e.firstChild),M.set(e,i=new C(Object.assign({templateFactory:V},s))),i.appendInto(e)),i.setValue(t),i.commit()})(t,l,Object.assign({templateFactory:H(i)},s)),a){const t=M.get(l);M.delete(l),t.value instanceof g&&B(l,t.value.template,i),o(e,e.firstChild),e.appendChild(l),M.set(e,t)}!n&&r&&window.ShadyCSS.styleElement(e.host)};const lt=(t,e)=>0!=(t.attributes.supported_features&e);class ht{constructor(t,e){this.hass=t,this.stateObj=e,this._attr=e.attributes,this._feat=this._attr.supported_features}get isFullyOpen(){return void 0!==this._attr.current_position?100===this._attr.current_position:"open"===this.stateObj.state}get isFullyClosed(){return void 0!==this._attr.current_position?0===this._attr.current_position:"closed"===this.stateObj.state}get isFullyOpenTilt(){return 100===this._attr.current_tilt_position}get isFullyClosedTilt(){return 0===this._attr.current_tilt_position}get isOpening(){return"opening"===this.stateObj.state}get isClosing(){return"closing"===this.stateObj.state}get supportsOpen(){return lt(this.stateObj,1)}get supportsClose(){return lt(this.stateObj,2)}get supportsSetPosition(){return lt(this.stateObj,4)}get supportsStop(){return lt(this.stateObj,8)}get supportsOpenTilt(){return lt(this.stateObj,16)}get supportsCloseTilt(){return lt(this.stateObj,32)}get supportsStopTilt(){return lt(this.stateObj,64)}get supportsSetTiltPosition(){return lt(this.stateObj,128)}get isTiltOnly(){const t=this.supportsOpen||this.supportsClose||this.supportsStop;return(this.supportsOpenTilt||this.supportsCloseTilt||this.supportsStopTilt)&&!t}openCover(){this.callService("open_cover")}closeCover(){this.callService("close_cover")}stopCover(){this.callService("stop_cover")}openCoverTilt(){this.callService("open_cover_tilt")}closeCoverTilt(){this.callService("close_cover_tilt")}stopCoverTilt(){this.callService("stop_cover_tilt")}setCoverPosition(t){this.callService("set_cover_position",{position:t})}setCoverTiltPosition(t){this.callService("set_cover_tilt_position",{tilt_position:t})}callService(t,e={}){e.entity_id=this.stateObj.entity_id,this.hass.callService("cover",t,e)}}s.d(e,"StateCardCustomCover",function(){return pt});var ct=function(t,e,s,i){var n,r=arguments.length,o=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(e,s,o):n(e,s))||o);return r>3&&o&&Object.defineProperty(e,s,o),o};let pt=class extends at{constructor(){super(...arguments),this.inDialog=!1}get stateObj(){return this.hass&&this._config?this.hass.states[this._config.entity]:null}setConfig(t){if(!t||!t.entity)throw new Error("Invalid configuration");this._config=t}get entityObj(){if(this.hass&&this.stateObj)return new ht(this.hass,this.stateObj);throw new Error("Trying to get entityObj before setting hass & config")}static getCardSize(){return 1}stateInfoTemplate(){return R`
|
||||
(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const ot=t=>t.flat?t.flat(1/0):function t(e,s=[]){for(let i=0,n=e.length;i<n;i++){const n=e[i];Array.isArray(n)?t(n,s):s.push(n)}return s}(t);class at extends et{static finalize(){super.finalize(),this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}static _getUniqueStyles(){const t=this.styles,e=[];if(Array.isArray(t)){ot(t).reduceRight((t,e)=>(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),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?rt?this.renderRoot.adoptedStyleSheets=t.map(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){super.update(t);const e=this.render();e instanceof v&&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(){}}at.finalized=!0,at.render=(t,e,s)=>{const i=s.scopeName,n=M.has(e),r=I&&11===e.nodeType&&!!e.host&&t instanceof v,a=r&&!L.has(i),l=a?document.createDocumentFragment():e;if(((t,e,s)=>{let i=M.get(e);void 0===i&&(o(e,e.firstChild),M.set(e,i=new C(Object.assign({templateFactory:V},s))),i.appendInto(e)),i.setValue(t),i.commit()})(t,l,Object.assign({templateFactory:H(i)},s)),a){const t=M.get(l);M.delete(l),t.value instanceof y&&B(l,t.value.template,i),o(e,e.firstChild),e.appendChild(l),M.set(e,t)}!n&&r&&window.ShadyCSS.styleElement(e.host)};const lt=(t,e)=>0!=(t.attributes.supported_features&e);class ht{constructor(t,e){this.hass=t,this.stateObj=e,this._attr=e.attributes,this._feat=this._attr.supported_features}get isFullyOpen(){return void 0!==this._attr.current_position?100===this._attr.current_position:"open"===this.stateObj.state}get isFullyClosed(){return void 0!==this._attr.current_position?0===this._attr.current_position:"closed"===this.stateObj.state}get isFullyOpenTilt(){return 100===this._attr.current_tilt_position}get isFullyClosedTilt(){return 0===this._attr.current_tilt_position}get isOpening(){return"opening"===this.stateObj.state}get isClosing(){return"closing"===this.stateObj.state}get supportsOpen(){return lt(this.stateObj,1)}get supportsClose(){return lt(this.stateObj,2)}get supportsSetPosition(){return lt(this.stateObj,4)}get supportsStop(){return lt(this.stateObj,8)}get supportsOpenTilt(){return lt(this.stateObj,16)}get supportsCloseTilt(){return lt(this.stateObj,32)}get supportsStopTilt(){return lt(this.stateObj,64)}get supportsSetTiltPosition(){return lt(this.stateObj,128)}get isTiltOnly(){const t=this.supportsOpen||this.supportsClose||this.supportsStop;return(this.supportsOpenTilt||this.supportsCloseTilt||this.supportsStopTilt)&&!t}openCover(){this.callService("open_cover")}closeCover(){this.callService("close_cover")}stopCover(){this.callService("stop_cover")}openCoverTilt(){this.callService("open_cover_tilt")}closeCoverTilt(){this.callService("close_cover_tilt")}stopCoverTilt(){this.callService("stop_cover_tilt")}setCoverPosition(t){this.callService("set_cover_position",{position:t})}setCoverTiltPosition(t){this.callService("set_cover_tilt_position",{tilt_position:t})}callService(t,e={}){e.entity_id=this.stateObj.entity_id,this.hass.callService("cover",t,e)}}s.d(e,"StateCardCustomCover",function(){return pt});var ct=function(t,e,s,i){var n,r=arguments.length,o=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(e,s,o):n(e,s))||o);return r>3&&o&&Object.defineProperty(e,s,o),o};let pt=class extends at{constructor(){super(...arguments),this.inDialog=!1}get stateObj(){return this.hass&&this._config?this.hass.states[this._config.entity]:null}setConfig(t){if(!t||!t.entity)throw new Error("Invalid configuration");this._config=t}get entityObj(){if(this.hass&&this.stateObj)return new ht(this.hass,this.stateObj);throw new Error("Trying to get entityObj before setting hass & config")}static getCardSize(){return 1}stateInfoTemplate(){return R`
|
||||
State info template
|
||||
`}render(){if(!this._config||!this.hass)return R``;const t=this.entityObj,e=this.hass.states[this._config.entity];return e?R`
|
||||
<style include="iron-flex iron-flex-alignment"></style>
|
||||
@@ -173,6 +173,16 @@ 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;
|
||||
}
|
||||
|
||||
ha-icon {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[invisible] {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
@@ -183,21 +193,23 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
||||
<ha-icon-button
|
||||
icon="hass:menu"
|
||||
@click=${this.onHalfOpenTap}
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:menu"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-up"
|
||||
@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 icon="hass:arrow-up"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
<ha-icon-button
|
||||
icon="hass:arrow-down"
|
||||
@click=${this.onCloseTap}
|
||||
.disabled="${this.computeClosedDisabled(e,t)}"
|
||||
></ha-icon-button>
|
||||
>
|
||||
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||
</ha-icon-button>
|
||||
</div>
|
||||
</hui-generic-entity-row>
|
||||
`:R`
|
||||
|
||||
2
zwscene.xml
Normal file
2
zwscene.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Scenes xmlns="http://code.google.com/p/open-zwave/" version="1" />
|
||||
Reference in New Issue
Block a user