Compare commits
10 Commits
f6379fe687
...
a8b5c425a9
Author | SHA1 | Date |
---|---|---|
Martin Bauer | a8b5c425a9 | |
Martin Bauer | 4eb59dd8bc | |
Martin Bauer | 7f7bb30c3d | |
Martin Bauer | 0cf621214f | |
Martin Bauer | f261b582b0 | |
Martin Bauer | 91fc9c38ff | |
Martin Bauer | ab2ab9f9d7 | |
Martin Bauer | a0e498edeb | |
Martin Bauer | 33356fa8ca | |
Martin Bauer | e063a1303f |
|
@ -1 +1 @@
|
||||||
2021.1.5
|
2022.12.8
|
|
@ -3,9 +3,16 @@ __pycache__
|
||||||
node_modules
|
node_modules
|
||||||
/tts
|
/tts
|
||||||
/deps
|
/deps
|
||||||
|
/blueprints
|
||||||
/home-assistant.log
|
/home-assistant.log
|
||||||
# Generated files
|
# Generated files
|
||||||
/groups.yaml
|
/groups.yaml
|
||||||
/configuration.yaml
|
/configuration.yaml
|
||||||
/home-assistant_v2.db
|
/home-assistant_v2.db
|
||||||
/secrets.yaml
|
/secrets.yaml
|
||||||
|
/www/community/
|
||||||
|
/custom_components/hacs
|
||||||
|
/custom_components/scheduler
|
||||||
|
/custom_components/pyscript
|
||||||
|
/themes
|
||||||
|
/.storage/hacs/*.hacs
|
|
@ -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
|
||||||
|
}
|
||||||
|
]
|
|
@ -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": {
|
"data": {
|
||||||
"users": {
|
"users": {
|
||||||
"2ffcb10d3db745b396789364fdef72ec": "VSSLF24TFVBBITYM"
|
"2ffcb10d3db745b396789364fdef72ec": "VSSLF24TFVBBITYM",
|
||||||
|
"bd0f10a32b324e85998881cb5b748d0f": "BUFHT7N5LWOYLARK2NPWFPTFN6FP6Z2D"
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"key": "auth_module.totp",
|
|
||||||
"version": 1
|
|
||||||
}
|
}
|
|
@ -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": {
|
"version": 1,
|
||||||
"areas": [
|
"minor_version": 1,
|
||||||
{
|
"key": "core.area_registry",
|
||||||
"id": "46ebd507f8f348508653f61054f67eb0",
|
"data": {
|
||||||
"name": "Arbeitszimmer Martin"
|
"areas": [
|
||||||
},
|
{
|
||||||
{
|
"name": "Arbeitszimmer",
|
||||||
"id": "93728f2df4d94517803b87de4d4028bb",
|
"id": "46ebd507f8f348508653f61054f67eb0",
|
||||||
"name": "Wohnbereich"
|
"picture": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "e58ae8bf5c7847af89a727d7949016f0",
|
"name": "Wohnbereich",
|
||||||
"name": "K\u00fcche"
|
"id": "93728f2df4d94517803b87de4d4028bb",
|
||||||
}
|
"picture": null
|
||||||
]
|
},
|
||||||
},
|
{
|
||||||
"key": "core.area_registry",
|
"name": "Küche",
|
||||||
"version": 1
|
"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": {
|
"version": 1,
|
||||||
"elevation": 368,
|
"minor_version": 3,
|
||||||
"external_url": "https://ha.bauer.tech",
|
"key": "core.config",
|
||||||
"internal_url": null,
|
"data": {
|
||||||
"latitude": 49.369477,
|
"elevation": 368,
|
||||||
"location_name": "MyHome",
|
"external_url": "https://ha.bauer.tech",
|
||||||
"longitude": 10.9831468,
|
"internal_url": null,
|
||||||
"time_zone": "Europe/Berlin",
|
"latitude": 49.369477,
|
||||||
"unit_system": "metric"
|
"location_name": "MyHome",
|
||||||
},
|
"longitude": 10.9831468,
|
||||||
"key": "core.config",
|
"time_zone": "Europe/Berlin",
|
||||||
"version": 1
|
"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
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"uuid": "dbfa2dc8b3aa4f03a3230c64d4faa7a4"
|
||||||
|
},
|
||||||
|
"key": "core.uuid",
|
||||||
|
"version": 1
|
||||||
|
}
|
|
@ -1,12 +1,16 @@
|
||||||
{
|
{
|
||||||
"data": {
|
"version": 1,
|
||||||
"core": {
|
"minor_version": 1,
|
||||||
"showAdvanced": true
|
"key": "frontend.user_data_2ffcb10d3db745b396789364fdef72ec",
|
||||||
},
|
"data": {
|
||||||
"language": {
|
"core": {
|
||||||
"language": "de"
|
"showAdvanced": true
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"key": "frontend.user_data_2ffcb10d3db745b396789364fdef72ec",
|
"language": {
|
||||||
"version": 1
|
"language": "de",
|
||||||
|
"number_format": "language",
|
||||||
|
"time_format": "language",
|
||||||
|
"first_weekday": "language"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"minor_version": 1,
|
||||||
|
"key": "google_assistant",
|
||||||
|
"data": {
|
||||||
|
"agent_user_ids": {
|
||||||
|
"2ffcb10d3db745b396789364fdef72ec": {
|
||||||
|
"local_webhook_id": "7f9f90ea0609767552e3c86e6b4629b30ccf378e57084c5d3a3d461c909102f5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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": []
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"hassio_user": "508c7e7c70da41dcb39e2a6e23d6fac1"
|
||||||
|
},
|
||||||
|
"key": "hassio",
|
||||||
|
"version": 1
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"minor_version": 1,
|
||||||
|
"key": "http.auth",
|
||||||
|
"data": {
|
||||||
|
"content_user": "66ee14e588ef4a7bbd019a46eb9a3e29"
|
||||||
|
}
|
||||||
|
}
|
|
@ -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,
|
"version": 1,
|
||||||
"key": "lovelace",
|
"minor_version": 1,
|
||||||
"data": {
|
"key": "lovelace",
|
||||||
"config": {
|
"data": {
|
||||||
"title": "\u00dcbersicht",
|
"config": {
|
||||||
"views": [
|
"kiosk_mode": {
|
||||||
{
|
"mobile_settings": {
|
||||||
"badges": [],
|
"hide_overflow": true
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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": {
|
"data": {
|
||||||
"config": {
|
"config": {
|
||||||
"title": "Alt",
|
"title": "Alt",
|
||||||
"views": [
|
"views": [
|
||||||
{
|
{
|
||||||
"badges": [],
|
|
||||||
"cards": [
|
"cards": [
|
||||||
{
|
{
|
||||||
|
"aspect_ratio": "16x9",
|
||||||
"entities": [
|
"entities": [
|
||||||
|
"group.bathroom"
|
||||||
|
],
|
||||||
|
"image": "/local/img/bathroom2.jpg",
|
||||||
|
"scenes": [
|
||||||
{
|
{
|
||||||
"entity": "light.haustur_licht",
|
"color": "#f07a1d",
|
||||||
"icon": "mdi:book",
|
"name": "Normal",
|
||||||
"name": "Haust\u00fcr"
|
"scene": "scene.bad_normal"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"entity": "light.garten_spot_birke",
|
"color": "#fdef56",
|
||||||
"icon": "mdi:flower",
|
"name": "Hell",
|
||||||
"name": "Birke"
|
"scene": "scene.bad_hell"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"entity": "light.garten_spot_magnolie",
|
"icon": "mdi:duck",
|
||||||
"icon": "mdi:flower",
|
"name": "Baden",
|
||||||
"name": "Magnolie"
|
"scene": "scene.bad_baden"
|
||||||
},
|
|
||||||
{
|
|
||||||
"entity": "light.garten_stehleuchte",
|
|
||||||
"icon": "mdi:flower",
|
|
||||||
"name": "Stehleuchte"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"title": "Au\u00dfen",
|
"type": "custom:room-glance-card"
|
||||||
"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"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"icon": "mdi:more",
|
"icon": "mdi:more",
|
||||||
|
@ -708,7 +38,5 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"key": "lovelace.lovelace_rebecca",
|
|
||||||
"version": 1
|
|
||||||
}
|
}
|
|
@ -1,17 +1,35 @@
|
||||||
{
|
{
|
||||||
|
"version": 1,
|
||||||
|
"key": "lovelace_dashboards",
|
||||||
"data": {
|
"data": {
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
"icon": "mdi:account",
|
"icon": "mdi:account",
|
||||||
"id": "lovelace_rebecca",
|
"id": "lovelace_rebecca",
|
||||||
"mode": "storage",
|
"mode": "storage",
|
||||||
"require_admin": false,
|
"require_admin": true,
|
||||||
"show_in_sidebar": true,
|
"show_in_sidebar": false,
|
||||||
"title": "Alt",
|
"title": "Alt",
|
||||||
"url_path": "lovelace-rebecca"
|
"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,
|
"version": 1,
|
||||||
"key": "lovelace_resources",
|
"minor_version": 1,
|
||||||
"data": {
|
"key": "lovelace_resources",
|
||||||
"items": [
|
"data": {
|
||||||
{
|
"items": [
|
||||||
"id": "2dd231ecf4fa46d1b9ba696f28da7731",
|
{
|
||||||
"type": "module",
|
"id": "2dd231ecf4fa46d1b9ba696f28da7731",
|
||||||
"url": "/local/custom_ui/state-card-custom-cover.js"
|
"type": "module",
|
||||||
},
|
"url": "/local/custom_ui/state-card-custom-cover.js?v=1.09"
|
||||||
{
|
},
|
||||||
"id": "526c1c7115cd4bb396cf02a83b884365",
|
{
|
||||||
"type": "js",
|
"id": "526c1c7115cd4bb396cf02a83b884365",
|
||||||
"url": "/local/custom_ui/toggle-lock-entity-row.js"
|
"type": "js",
|
||||||
},
|
"url": "/local/custom_ui/toggle-lock-entity-row.js"
|
||||||
{
|
},
|
||||||
"id": "7a6c43fa1538436da6459843fd217667",
|
{
|
||||||
"type": "module",
|
"id": "55ef5e325ab444d19e15a1183a97fb35",
|
||||||
"url": "/local/custom_ui/mini-graph-card-bundle.js?v=0.4.3"
|
"type": "module",
|
||||||
},
|
"url": "/local/custom_ui/room-glance-card.js?v=1.09"
|
||||||
{
|
},
|
||||||
"id": "3527ae66772544dfb09c5246ba4882c0",
|
{
|
||||||
"type": "module",
|
"url": "/hacsfiles/scheduler-card/scheduler-card.js?hacstag=286270157239",
|
||||||
"url": "/local/custom_ui/mini-media-player-bundle.js?v=1.5.1"
|
"type": "module",
|
||||||
},
|
"id": "af379618bd83489a9f2f15a0be498eaf"
|
||||||
{
|
},
|
||||||
"id": "55ef5e325ab444d19e15a1183a97fb35",
|
{
|
||||||
"type": "module",
|
"url": "/hacsfiles/lovelace-slider-entity-row/slider-entity-row.js?hacstag=1448997001721",
|
||||||
"url": "/local/custom_ui/room-glance-card.js?v=1.0"
|
"type": "module",
|
||||||
},
|
"id": "7067680a3f314af285c5ebe1605e0451"
|
||||||
{
|
},
|
||||||
"id": "02ac97946bb44092a5f073752a8b6deb",
|
{
|
||||||
"type": "module",
|
"url": "/hacsfiles/lovelace-template-entity-row/template-entity-row.js?hacstag=231674882130",
|
||||||
"url": "/local/custom_ui/multiple-entity-row.js?v=3.5.1"
|
"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",
|
"device_class": "battery",
|
||||||
"icon": "mdi:battery-70",
|
"icon": "mdi:battery-70",
|
||||||
"name": "Battery Level",
|
"name": "Battery Level",
|
||||||
"state": 74,
|
"state": 73,
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
"unique_id": "battery_level",
|
"unique_id": "battery_level",
|
||||||
"unit_of_measurement": "%",
|
"unit_of_measurement": "%",
|
||||||
|
@ -647,7 +647,9 @@
|
||||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_detected_activity": {
|
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_detected_activity": {
|
||||||
"added": true,
|
"added": true,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"still": 100
|
"in_vehicle": 2,
|
||||||
|
"still": 97,
|
||||||
|
"unknown": 1
|
||||||
},
|
},
|
||||||
"icon": "mdi:sleep",
|
"icon": "mdi:sleep",
|
||||||
"name": "Erkannte Aktivit\u00e4t",
|
"name": "Erkannte Aktivit\u00e4t",
|
||||||
|
@ -691,13 +693,13 @@
|
||||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_last_reboot": {
|
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_last_reboot": {
|
||||||
"added": true,
|
"added": true,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"Local Time": "Mon Jan 25 02:51:06 GMT+01:00 2021",
|
"Local Time": "Wed Mar 03 14:23:12 GMT+01:00 2021",
|
||||||
"Time in Milliseconds": 1611539466409
|
"Time in Milliseconds": 1614777792390
|
||||||
},
|
},
|
||||||
"device_class": "timestamp",
|
"device_class": "timestamp",
|
||||||
"icon": "mdi:restart",
|
"icon": "mdi:restart",
|
||||||
"name": "Last Reboot",
|
"name": "Last Reboot",
|
||||||
"state": "2021-01-25T01:51:06Z",
|
"state": "2021-03-03T13:23:12Z",
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
"unique_id": "last_reboot",
|
"unique_id": "last_reboot",
|
||||||
"webhook_id": "cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e"
|
"webhook_id": "cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e"
|
||||||
|
@ -717,14 +719,14 @@
|
||||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_next_alarm": {
|
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_next_alarm": {
|
||||||
"added": true,
|
"added": true,
|
||||||
"attributes": {
|
"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",
|
"Package": "Unknown",
|
||||||
"Time in Milliseconds": 1612244700000
|
"Time in Milliseconds": 1617341400000
|
||||||
},
|
},
|
||||||
"device_class": "timestamp",
|
"device_class": "timestamp",
|
||||||
"icon": "mdi:alarm",
|
"icon": "mdi:alarm",
|
||||||
"name": "Next Alarm",
|
"name": "Next Alarm",
|
||||||
"state": "2021-02-02T05:45:00.000Z",
|
"state": "2021-04-02T05:30:00.000Z",
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
"unique_id": "next_alarm",
|
"unique_id": "next_alarm",
|
||||||
"webhook_id": "cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e"
|
"webhook_id": "cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e"
|
||||||
|
@ -754,7 +756,7 @@
|
||||||
"attributes": {},
|
"attributes": {},
|
||||||
"icon": "mdi:walk",
|
"icon": "mdi:walk",
|
||||||
"name": "Schrittsensor",
|
"name": "Schrittsensor",
|
||||||
"state": "19916",
|
"state": "106021",
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
"unique_id": "steps_sensor",
|
"unique_id": "steps_sensor",
|
||||||
"unit_of_measurement": "steps",
|
"unit_of_measurement": "steps",
|
||||||
|
@ -762,10 +764,13 @@
|
||||||
},
|
},
|
||||||
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_storage_sensor": {
|
"cf6ed33d60ed7470befdf2ec4bd12feecf0be745491431fe61cf57fe91cf400e_storage_sensor": {
|
||||||
"added": true,
|
"added": true,
|
||||||
"attributes": {},
|
"attributes": {
|
||||||
|
"Free internal storage": "84GB",
|
||||||
|
"Total internal storage": "110GB"
|
||||||
|
},
|
||||||
"icon": "mdi:harddisk",
|
"icon": "mdi:harddisk",
|
||||||
"name": "Storage Sensor",
|
"name": "Storage Sensor",
|
||||||
"state": 78,
|
"state": 76,
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
"unique_id": "storage_sensor",
|
"unique_id": "storage_sensor",
|
||||||
"unit_of_measurement": "%",
|
"unit_of_measurement": "%",
|
||||||
|
@ -810,14 +815,14 @@
|
||||||
},
|
},
|
||||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_storage": {
|
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_storage": {
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"Available": "109,76 GB",
|
"Available": "103,52 GB",
|
||||||
"Available (Important)": "119,30 GB",
|
"Available (Important)": "113,35 GB",
|
||||||
"Available (Opportunistic)": "118,01 GB",
|
"Available (Opportunistic)": "112,07 GB",
|
||||||
"Total": "255,98 GB"
|
"Total": "255,98 GB"
|
||||||
},
|
},
|
||||||
"icon": "mdi:database",
|
"icon": "mdi:database",
|
||||||
"name": "Storage",
|
"name": "Storage",
|
||||||
"state": "46.10",
|
"state": "43.78",
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
"unique_id": "storage",
|
"unique_id": "storage",
|
||||||
"unit_of_measurement": "% available",
|
"unit_of_measurement": "% available",
|
||||||
|
@ -825,14 +830,11 @@
|
||||||
"added": true
|
"added": true
|
||||||
},
|
},
|
||||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_battery_level": {
|
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_battery_level": {
|
||||||
"attributes": {
|
"attributes": {},
|
||||||
"Battery State": "Not Charging",
|
|
||||||
"Low Power Mode": false
|
|
||||||
},
|
|
||||||
"device_class": "battery",
|
"device_class": "battery",
|
||||||
"icon": "mdi:battery-50",
|
"icon": "mdi:battery-90",
|
||||||
"name": "Battery Level",
|
"name": "Battery Level",
|
||||||
"state": 58,
|
"state": 96,
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
"unique_id": "battery_level",
|
"unique_id": "battery_level",
|
||||||
"unit_of_measurement": "%",
|
"unit_of_measurement": "%",
|
||||||
|
@ -841,11 +843,10 @@
|
||||||
},
|
},
|
||||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_battery_state": {
|
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_battery_state": {
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"Battery Level": 58,
|
|
||||||
"Low Power Mode": false
|
"Low Power Mode": false
|
||||||
},
|
},
|
||||||
"device_class": "battery",
|
"device_class": "battery",
|
||||||
"icon": "mdi:battery-50",
|
"icon": "mdi:battery-90",
|
||||||
"name": "Battery State",
|
"name": "Battery State",
|
||||||
"state": "Not Charging",
|
"state": "Not Charging",
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
|
@ -856,7 +857,7 @@
|
||||||
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_connectivity_bssid": {
|
"2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a_connectivity_bssid": {
|
||||||
"icon": "mdi:wifi-star",
|
"icon": "mdi:wifi-star",
|
||||||
"name": "BSSID",
|
"name": "BSSID",
|
||||||
"state": "7c:ff:4d:4:d7:a6",
|
"state": "7c:ff:4d:4:d7:a7",
|
||||||
"type": "sensor",
|
"type": "sensor",
|
||||||
"unique_id": "connectivity_bssid",
|
"unique_id": "connectivity_bssid",
|
||||||
"attributes": {},
|
"attributes": {},
|
||||||
|
@ -898,7 +899,7 @@
|
||||||
"Locality": "Rohr",
|
"Locality": "Rohr",
|
||||||
"Location": [
|
"Location": [
|
||||||
49.369293212890625,
|
49.369293212890625,
|
||||||
10.983685522613598
|
10.983692880866485
|
||||||
],
|
],
|
||||||
"Name": "Dietersdorfer Stra\u00dfe 19",
|
"Name": "Dietersdorfer Stra\u00dfe 19",
|
||||||
"Ocean": "N/A",
|
"Ocean": "N/A",
|
||||||
|
@ -909,7 +910,7 @@
|
||||||
"Thoroughfare": "Dietersdorfer Stra\u00dfe",
|
"Thoroughfare": "Dietersdorfer Stra\u00dfe",
|
||||||
"Time Zone": "Europe/Berlin",
|
"Time Zone": "Europe/Berlin",
|
||||||
"Zones": [
|
"Zones": [
|
||||||
"Home"
|
"MyHome"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"webhook_id": "2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a",
|
"webhook_id": "2c1e087aa21f2de29ea717b0af4d5de61621ba42229d570cb93181e61c6dc72a",
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
{
|
{
|
||||||
"data": {
|
"version": 4,
|
||||||
"done": [
|
"minor_version": 1,
|
||||||
"user",
|
"key": "onboarding",
|
||||||
"core_config",
|
"data": {
|
||||||
"integration"
|
"done": [
|
||||||
]
|
"user",
|
||||||
},
|
"core_config",
|
||||||
"key": "onboarding",
|
"integration",
|
||||||
"version": 3
|
"analytics"
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -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'
|
- id: '1575130335468'
|
||||||
alias: FernbedienungWeihnachtslichterOben
|
alias: Fernbedienung Weihnachtslichter Oben
|
||||||
description: ''
|
description: ''
|
||||||
trigger:
|
trigger:
|
||||||
- event_data:
|
- event_data:
|
||||||
|
@ -13,6 +13,7 @@
|
||||||
- data:
|
- data:
|
||||||
entity_id: switch.mobile_steckdose_schalter_2
|
entity_id: switch.mobile_steckdose_schalter_2
|
||||||
service: switch.toggle
|
service: switch.toggle
|
||||||
|
mode: single
|
||||||
- id: '1575202743482'
|
- id: '1575202743482'
|
||||||
alias: Wecker Licht an
|
alias: Wecker Licht an
|
||||||
description: ''
|
description: ''
|
||||||
|
@ -44,7 +45,7 @@
|
||||||
- 0.414
|
- 0.414
|
||||||
service: light.turn_on
|
service: light.turn_on
|
||||||
- id: '1589377976830'
|
- id: '1589377976830'
|
||||||
alias: AlarmMartinHandy
|
alias: Alarm Martin Handy
|
||||||
description: ''
|
description: ''
|
||||||
trigger:
|
trigger:
|
||||||
- entity_id: binary_sensor.gang_bewegungsmelder_schlafzimmer, binary_sensor.gang_bewegungsmelder_ost,
|
- entity_id: binary_sensor.gang_bewegungsmelder_schlafzimmer, binary_sensor.gang_bewegungsmelder_ost,
|
||||||
|
@ -65,7 +66,7 @@
|
||||||
- delay: '30'
|
- delay: '30'
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1598594894559'
|
- id: '1598594894559'
|
||||||
alias: KlingelAufHandy
|
alias: Klingel Auf Handy
|
||||||
description: ''
|
description: ''
|
||||||
trigger:
|
trigger:
|
||||||
- entity_id: switch.klingel_aussentur
|
- entity_id: switch.klingel_aussentur
|
||||||
|
@ -84,7 +85,7 @@
|
||||||
service: notify.ios_martins_ipad
|
service: notify.ios_martins_ipad
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1606655282153'
|
- id: '1606655282153'
|
||||||
alias: _WeihnachtslichterAnUm6
|
alias: Weihnachtslichter an morgens um 6
|
||||||
description: ''
|
description: ''
|
||||||
trigger:
|
trigger:
|
||||||
- platform: time
|
- platform: time
|
||||||
|
@ -96,10 +97,12 @@
|
||||||
entity_id:
|
entity_id:
|
||||||
- switch.tasmota01
|
- switch.tasmota01
|
||||||
- switch.tasmota02
|
- switch.tasmota02
|
||||||
- switch.tasmota03
|
- switch.tasmota04
|
||||||
|
- switch.tasmota05
|
||||||
|
- switch.tasmota07
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1607412098745'
|
- id: '1607412098745'
|
||||||
alias: _WeihnachtslichterAusMorgens
|
alias: Weihnachtslichter aus morgens
|
||||||
description: ''
|
description: ''
|
||||||
trigger:
|
trigger:
|
||||||
- platform: sun
|
- platform: sun
|
||||||
|
@ -112,16 +115,18 @@
|
||||||
entity_id:
|
entity_id:
|
||||||
- switch.tasmota01
|
- switch.tasmota01
|
||||||
- switch.tasmota02
|
- switch.tasmota02
|
||||||
- switch.tasmota03
|
- switch.tasmota04
|
||||||
- switch.mobile_steckdose_schalter_1
|
- switch.tasmota05
|
||||||
- switch.mobile_steckdose_schalter_2
|
- switch.tasmota07
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1607412144113'
|
- id: '1607412144113'
|
||||||
alias: _Weihnachtslichter An Abends
|
alias: Weihnachtslichter An Abends
|
||||||
description: ''
|
description: ''
|
||||||
trigger:
|
trigger:
|
||||||
- platform: sun
|
- platform: sun
|
||||||
event: sunset
|
event: sunset
|
||||||
|
- platform: time
|
||||||
|
at: '15:30:00'
|
||||||
condition: []
|
condition: []
|
||||||
action:
|
action:
|
||||||
- service: switch.turn_on
|
- service: switch.turn_on
|
||||||
|
@ -129,12 +134,12 @@
|
||||||
entity_id:
|
entity_id:
|
||||||
- switch.tasmota01
|
- switch.tasmota01
|
||||||
- switch.tasmota02
|
- switch.tasmota02
|
||||||
- switch.tasmota03
|
- switch.tasmota04
|
||||||
- switch.mobile_steckdose_schalter_1
|
- switch.tasmota05
|
||||||
- switch.mobile_steckdose_schalter_2
|
- switch.tasmota07
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1607412210097'
|
- id: '1607412210097'
|
||||||
alias: _Weihnachtslichter Aus Abends
|
alias: Weihnachtslichter Aus Abends
|
||||||
description: ''
|
description: ''
|
||||||
trigger:
|
trigger:
|
||||||
- platform: time
|
- platform: time
|
||||||
|
@ -146,12 +151,12 @@
|
||||||
entity_id:
|
entity_id:
|
||||||
- switch.tasmota01
|
- switch.tasmota01
|
||||||
- switch.tasmota02
|
- switch.tasmota02
|
||||||
- switch.tasmota03
|
- switch.tasmota04
|
||||||
- switch.mobile_steckdose_schalter_1
|
- switch.tasmota05
|
||||||
- switch.mobile_steckdose_schalter_2
|
- switch.tasmota07
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1612028092169'
|
- id: '1612028092169'
|
||||||
alias: 0_BewegungsmelderSchlafzimmerNacht
|
alias: Bewegungsmelder Schlafzimmer Nacht
|
||||||
description: ''
|
description: ''
|
||||||
trigger:
|
trigger:
|
||||||
- platform: state
|
- platform: state
|
||||||
|
@ -181,8 +186,152 @@
|
||||||
brightness: 6
|
brightness: 6
|
||||||
entity_id: light.bett_martin, light.bett_rebecca
|
entity_id: light.bett_martin, light.bett_rebecca
|
||||||
- delay: '1'
|
- delay: '1'
|
||||||
- service: light.turn_on
|
- service: light.turn_off
|
||||||
data:
|
data:
|
||||||
transition: 120
|
transition: 120
|
||||||
entity_id: light.bett_martin, light.bett_rebecca
|
entity_id: light.bett_martin, light.bett_rebecca
|
||||||
mode: single
|
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)
|
# Add only entities here that are auto-discovered (not KNX devices)
|
||||||
|
|
||||||
#default_view:
|
|
||||||
# view: true
|
|
||||||
# icon: mdi:home
|
|
||||||
|
|
||||||
living_area:
|
living_area:
|
||||||
name: Wohnbereich
|
name: Wohnbereich
|
||||||
|
@ -19,10 +15,13 @@ living_area:
|
||||||
bedroom:
|
bedroom:
|
||||||
name: Schlafzimmer
|
name: Schlafzimmer
|
||||||
entities:
|
entities:
|
||||||
|
- light.schlafzimmer_deckenlampe
|
||||||
- light.schlafzimmer_fluter
|
- light.schlafzimmer_fluter
|
||||||
- light.bett_martin
|
- light.bett_martin
|
||||||
- light.bett_rebecca
|
- light.bett_rebecca
|
||||||
- light.schlafzimmer_schrank
|
- light.schlafzimmer_schrank
|
||||||
|
- cover.schlafzimmer_rollo_gross
|
||||||
|
- cover.schlafzimmer_rollo_klein
|
||||||
|
|
||||||
hallway:
|
hallway:
|
||||||
name: Gang
|
name: Gang
|
||||||
|
@ -45,21 +44,24 @@ outside:
|
||||||
office:
|
office:
|
||||||
name: Arbeitszimmer
|
name: Arbeitszimmer
|
||||||
entities:
|
entities:
|
||||||
|
- light.arbeitszimmer_deckenlampe
|
||||||
- light.arbeitszimmer_stehlampe_oben
|
- light.arbeitszimmer_stehlampe_oben
|
||||||
- light.arbeitszimmer_stehlampe_unten
|
- light.arbeitszimmer_stehlampe_unten
|
||||||
- light.arbeitszimmer_fluter
|
- light.arbeitszimmer_fluter
|
||||||
|
- cover.arbeitszimmer_rollo
|
||||||
|
|
||||||
kids_room:
|
kids_room:
|
||||||
name: Kinderzimmer
|
name: Kinderzimmer
|
||||||
entities:
|
entities:
|
||||||
- light.kinderzimmer_fluter
|
- light.kinderzimmer_fluter
|
||||||
|
- cover.kinderzimmer_rollo
|
||||||
|
|
||||||
|
|
||||||
bathroom:
|
bathroom:
|
||||||
name: Bad
|
name: Bad
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
other:
|
other:
|
||||||
name: Rest
|
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 util import DeviceInfo, add_to_group, name_to_id
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
import knx_conf as knx
|
import knx_conf as knx
|
||||||
from ir_automations import create_rules as create_automation_rules
|
|
||||||
|
|
||||||
script_path = os.path.dirname(os.path.realpath(__file__))
|
script_path = os.path.dirname(os.path.realpath(__file__))
|
||||||
yaml = YAML()
|
yaml = YAML()
|
||||||
|
@ -13,8 +12,8 @@ yaml.preserve_quotes = True
|
||||||
sensor_exclude_list = [
|
sensor_exclude_list = [
|
||||||
'sensor.fritz_box_7490_bytes_received',
|
'sensor.fritz_box_7490_bytes_received',
|
||||||
'sensor.fritz_box_7490_bytes_sent',
|
'sensor.fritz_box_7490_bytes_sent',
|
||||||
#'sensor.fritz_box_7490_kbyte_sec_received',
|
# 'sensor.fritz_box_7490_kbyte_sec_received',
|
||||||
#'sensor.fritz_box_7490_kbyte_sec_sent',
|
# 'sensor.fritz_box_7490_kbyte_sec_sent',
|
||||||
'sensor.fritz_box_7490_packets_received',
|
'sensor.fritz_box_7490_packets_received',
|
||||||
'sensor.fritz_box_7490_packets_sec_received',
|
'sensor.fritz_box_7490_packets_sec_received',
|
||||||
'sensor.fritz_box_7490_packets_sec_sent',
|
'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('AussenleuchteHaustüren', 'Haustür Licht', 'outside'),
|
||||||
DeviceInfo('AussenleuchteObenNW', 'Haustür Licht NW', 'first_floor'),
|
DeviceInfo('AussenleuchteObenNW', 'Haustür Licht NW', 'first_floor'),
|
||||||
DeviceInfo('TreppenhausLicht', "Treppenhaus Licht", 'first_floor'),
|
DeviceInfo('TreppenhausLicht', "Treppenhaus Licht", 'first_floor'),
|
||||||
DeviceInfo('WCLicht', "WC Licht", 'other'),
|
#DeviceInfo('WCLicht', "WC Licht", 'other'),
|
||||||
DeviceInfo('LampeVorratsraum', "Vorratsraum Licht", 'other'),
|
DeviceInfo('LampeVorratsraum', "Vorratsraum Licht", 'other'),
|
||||||
# Bewegungsmelder LEDs
|
# Bewegungsmelder LEDs
|
||||||
DeviceInfo("BewegungsmelderMitte LED", "Bewegungsmelder Mitte LED", 'hallway'),
|
DeviceInfo("BewegungsmelderMitte LED", "Bewegungsmelder Mitte LED", 'hallway'),
|
||||||
|
@ -82,7 +81,8 @@ def add_knx_devices(devices, groups):
|
||||||
switches += [DeviceInfo("AlarmLEDLinksNormal", "alarm_led_links_normal"),
|
switches += [DeviceInfo("AlarmLEDLinksNormal", "alarm_led_links_normal"),
|
||||||
DeviceInfo("AlarmLEDLinksUeberlagert", "alarm_led_links_ueberlagert"),
|
DeviceInfo("AlarmLEDLinksUeberlagert", "alarm_led_links_ueberlagert"),
|
||||||
DeviceInfo("AlarmLEDRechtsNormal", "alarm_led_rechts_normal"),
|
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 = [
|
power_plugs = [
|
||||||
# Vorratsraum
|
# Vorratsraum
|
||||||
|
@ -161,21 +161,7 @@ def add_knx_devices(devices, groups):
|
||||||
for device_type, devices in [('light', lights), ('cover', shutters), ('switch', switches)]:
|
for device_type, devices in [('light', lights), ('cover', shutters), ('switch', switches)]:
|
||||||
for device in devices:
|
for device in devices:
|
||||||
add_to_group(groups, device.groups, device.display_name, device_type)
|
add_to_group(groups, device.groups, device.display_name, device_type)
|
||||||
return template_sensors
|
return template_sensors
|
||||||
|
|
||||||
|
|
||||||
def add_fhem_devices(devices, groups):
|
|
||||||
fhem_yaml_path = os.path.join(script_path, 'fhem.yaml')
|
|
||||||
fhem_yaml = yaml.load(open(fhem_yaml_path, encoding="utf-8"))
|
|
||||||
for device_type, device_list in fhem_yaml.items():
|
|
||||||
if device_type not in devices:
|
|
||||||
devices[device_type] = []
|
|
||||||
for device in device_list:
|
|
||||||
device['platform'] = 'fhem'
|
|
||||||
if 'groups' in device:
|
|
||||||
add_to_group(groups, device['groups'], device['name'], device_type)
|
|
||||||
del device['groups']
|
|
||||||
devices[device_type].append(device)
|
|
||||||
|
|
||||||
|
|
||||||
def add_meta_groups(groups):
|
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"))
|
manual_config_dict = yaml.load(open(manual_config_path, encoding="utf-8"))
|
||||||
|
|
||||||
knx_conf = {
|
knx_conf = {
|
||||||
'rate_limit': 20,
|
#'tunneling': {
|
||||||
'tunneling': {
|
# 'host': '192.168.178.65',
|
||||||
'host': '192.168.178.65',
|
# 'port': 3671
|
||||||
'port': 3671
|
#}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
template_sensors = add_knx_devices(knx_conf, group_dict)
|
template_sensors = add_knx_devices(knx_conf, group_dict)
|
||||||
|
|
||||||
all_devices = {}
|
all_devices = {}
|
||||||
all_devices.update(template_sensors)
|
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:
|
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")
|
output.write("# Dont' edit manually! this is generated!\n\n")
|
||||||
for key in ['sensor', 'switch', 'light', 'cover', 'binary_sensor']:
|
for key in ['sensor', 'switch', 'light', 'cover', 'binary_sensor']:
|
||||||
if key in manual_config_dict:
|
if key in manual_config_dict:
|
||||||
|
if key not in all_devices:
|
||||||
|
all_devices[key] = []
|
||||||
all_devices[key].extend(manual_config_dict[key])
|
all_devices[key].extend(manual_config_dict[key])
|
||||||
del manual_config_dict[key]
|
del manual_config_dict[key]
|
||||||
yaml.dump(manual_config_dict, output)
|
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'
|
additional_file = 'secrets_development.yaml' if development else 'secrets_deploy.yaml'
|
||||||
output.write(open(os.path.join(script_path, additional_file), 'r').read())
|
output.write(open(os.path.join(script_path, additional_file), 'r').read())
|
||||||
|
|
||||||
create_automation_rules(os.path.join(target_directory, 'automations'))
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|
|
@ -2,32 +2,34 @@
|
||||||
# Configure a default setup of Home Assistant (frontend, api, etc)
|
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||||
#default_config:
|
#default_config:
|
||||||
frontend:
|
frontend:
|
||||||
|
themes: !include_dir_merge_named themes
|
||||||
|
|
||||||
mobile_app:
|
mobile_app:
|
||||||
person:
|
person:
|
||||||
sun:
|
sun:
|
||||||
system_health:
|
system_health:
|
||||||
updater:
|
|
||||||
#logbook:
|
#logbook:
|
||||||
|
|
||||||
#input_boolean:
|
input_boolean:
|
||||||
#input_datetime:
|
input_datetime:
|
||||||
#input_number:
|
input_number:
|
||||||
#input_select:
|
input_select:
|
||||||
#input_text:
|
input_text:
|
||||||
|
timer:
|
||||||
|
|
||||||
ondilo:
|
|
||||||
username: customer_api
|
|
||||||
password: !secret ondilo_pw
|
|
||||||
|
|
||||||
# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
|
# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
|
||||||
http:
|
http:
|
||||||
base_url: https://ha.bauer.tech
|
use_x_forwarded_for: true
|
||||||
|
trusted_proxies:
|
||||||
|
192.168.178.80
|
||||||
|
|
||||||
|
|
||||||
homeassistant:
|
homeassistant:
|
||||||
name: MyHome
|
name: MyHome
|
||||||
latitude: 49.369477
|
latitude: 49.369477
|
||||||
longitude: 10.9831468
|
longitude: 10.9831468
|
||||||
|
country: DE
|
||||||
|
currency: EUR
|
||||||
external_url: https://ha.bauer.tech
|
external_url: https://ha.bauer.tech
|
||||||
internal_url: https://ha.bauer.tech
|
internal_url: https://ha.bauer.tech
|
||||||
auth_mfa_modules:
|
auth_mfa_modules:
|
||||||
|
@ -53,6 +55,8 @@ homeassistant:
|
||||||
half_position: 25
|
half_position: 25
|
||||||
|
|
||||||
|
|
||||||
|
pyscript: !include pyscript/config.yaml
|
||||||
|
|
||||||
# enable configuration editor
|
# enable configuration editor
|
||||||
config:
|
config:
|
||||||
|
|
||||||
|
@ -106,9 +110,15 @@ influxdb:
|
||||||
|
|
||||||
|
|
||||||
ios:
|
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:
|
telegram_bot:
|
||||||
- platform: webhooks
|
- platform: webhooks
|
||||||
parse_mode: html
|
parse_mode: html
|
||||||
|
@ -146,94 +156,6 @@ switch:
|
||||||
name: esszimmer_oben_radio_steckdose
|
name: esszimmer_oben_radio_steckdose
|
||||||
host: esszimmerradio.fritz.box
|
host: esszimmerradio.fritz.box
|
||||||
num_power_plugs: 4
|
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:
|
long_click:
|
||||||
duration: 0.6
|
duration: 0.6
|
||||||
|
@ -250,6 +172,8 @@ long_click:
|
||||||
- switch.wohnzimmer_szene_3
|
- switch.wohnzimmer_szene_3
|
||||||
- switch.wohnzimmer_szene_4
|
- switch.wohnzimmer_szene_4
|
||||||
- switch.wohnzimmer_szene_5
|
- switch.wohnzimmer_szene_5
|
||||||
|
- switch.wohnzimmer_terrassentur_szene_2
|
||||||
|
- switch.wohnzimmer_terrassentur_szene_3
|
||||||
- switch.eingang_szene_2
|
- switch.eingang_szene_2
|
||||||
- switch.eingang_szene_3
|
- switch.eingang_szene_3
|
||||||
- switch.eingang_szene_4
|
- switch.eingang_szene_4
|
||||||
|
@ -258,10 +182,9 @@ long_click:
|
||||||
logger:
|
logger:
|
||||||
default: info
|
default: info
|
||||||
logs:
|
logs:
|
||||||
custom_components.fhem: debug
|
custom_components: info
|
||||||
#custom_components: debug
|
# #custom_components.reconnecting_client: debug
|
||||||
#custom_components.reconnecting_client: debug
|
#
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
#sensor:
|
#sensor:
|
||||||
# Weather prediction
|
# Weather prediction
|
||||||
|
@ -436,14 +359,42 @@ google_assistant:
|
||||||
|
|
||||||
knx: !include knx_conf.yaml
|
knx: !include knx_conf.yaml
|
||||||
|
|
||||||
fhem:
|
homematic:
|
||||||
host: localhost
|
interfaces:
|
||||||
port: 7072
|
rf:
|
||||||
cul_device_name: CUL_HM
|
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:
|
#zwave:
|
||||||
usb_path: /dev/serial/by-id/usb-0658_0200-if00
|
# 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"
|
# network_key: "0xE0, 0x64, 0x50, 0x55, 0x20, 0x63, 0xC7, 0x05, 0x62, 0xD3, 0xEA, 0x91, 0x87, 0xE0, 0x1E, 0x74"
|
||||||
|
|
||||||
|
|
||||||
sysdweb:
|
sysdweb:
|
||||||
|
@ -511,24 +462,19 @@ media_player:
|
||||||
- platform: squeezebox_telnet
|
- platform: squeezebox_telnet
|
||||||
host: musikserverWohnzimmerOben.fritz.box
|
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:
|
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
|
- platform: template
|
||||||
sensors:
|
sensors:
|
||||||
motion_combined:
|
motion_combined:
|
||||||
|
@ -604,7 +550,7 @@ light:
|
||||||
- platform: group
|
- platform: group
|
||||||
name: Garten Lichter
|
name: Garten Lichter
|
||||||
entities:
|
entities:
|
||||||
- light.garten_spot_birke
|
- light.garten_vorne
|
||||||
- light.garten_spot_magnolie
|
- light.garten_spot_magnolie
|
||||||
- light.garten_spot_beet
|
- light.garten_spot_beet
|
||||||
- light.garten_stehleuchte
|
- light.garten_stehleuchte
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
local_ip: 127.0.0.1
|
local_ip: 127.0.0.1
|
||||||
knxd_host: 127.0.0.1 #directly the network bridge: 192.168.178.65
|
knxd_host: 127.0.0.1 #directly the network bridge: 192.168.178.65
|
||||||
homekit_name: BauerHome
|
homekit_name: BauerHome
|
||||||
|
octopi_api_key: B5E3F837799448449BB5FF2E22116504
|
||||||
|
homematic_pw: T3wKLzoGUzIX2yb2VEgH
|
|
@ -1,3 +1,5 @@
|
||||||
local_ip: 192.168.178.78
|
local_ip: 192.168.178.78
|
||||||
knxd_host: 192.168.178.80 #directly the network bridge: 192.168.178.65
|
knxd_host: 192.168.178.80 #directly the network bridge: 192.168.178.65
|
||||||
homekit_name: BauerHomeDev
|
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",
|
"domain": "sysdweb",
|
||||||
"name": "sysdweg",
|
"name": "sysdweb",
|
||||||
"documentation": "",
|
"documentation": "",
|
||||||
"dependencies": [],
|
"dependencies": [],
|
||||||
"codeowners": ["@mabau"],
|
"codeowners": ["@mabau"],
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -87,10 +87,12 @@ export class RoomGlanceCard extends LitElement {
|
||||||
return html`
|
return html`
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="${buttonCfg.icon || "mdi:checkbox-blank"}"
|
icon="${buttonCfg.icon || "mdi:checkbox-blank"}"
|
||||||
style="color: ${buttonCfg.color || ""};"
|
|
||||||
title="${buttonCfg.name}"
|
title="${buttonCfg.name}"
|
||||||
@click=${this.serviceHandler("scene", "turn_on", {entity_id: buttonCfg.scene})}
|
@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
|
<ha-icon-button
|
||||||
icon="mdi:close-circle"
|
icon="mdi:close-circle"
|
||||||
@click=${this.serviceHandler("light", "turn_off")}
|
@click=${this.serviceHandler("light", "turn_off")}
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="mdi:close-circle"></ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
|
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="mdi:chevron-up"
|
icon="mdi:chevron-up"
|
||||||
title="Heller"
|
title="Heller"
|
||||||
@click=${this.serviceHandler("dimmer", "dim", {offset: 30})}
|
@click=${this.serviceHandler("dimmer", "dim", {offset: 30})}
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="mdi:chevron-up"></ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="mdi:chevron-down"
|
icon="mdi:chevron-down"
|
||||||
title="Dunkler"
|
title="Dunkler"
|
||||||
@click=${this.serviceHandler("dimmer", "dim", {offset: -30})}
|
@click=${this.serviceHandler("dimmer", "dim", {offset: -30})}
|
||||||
></ha-icon-button>`;
|
>
|
||||||
|
<ha-icon icon="mdi:chevron-down"></ha-icon>
|
||||||
|
</ha-icon-button>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
private renderCoverControl() {
|
private renderCoverControl() {
|
||||||
|
@ -118,19 +126,27 @@ export class RoomGlanceCard extends LitElement {
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:menu"
|
icon="hass:menu"
|
||||||
@click=${this.serviceHandler("cover_half", "set_half")}
|
@click=${this.serviceHandler("cover_half", "set_half")}
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:menu"></ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:arrow-up"
|
icon="hass:arrow-up"
|
||||||
@click=${this.serviceHandler("cover", "open_cover")}
|
@click=${this.serviceHandler("cover", "open_cover")}
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:arrow-up"></ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:stop"
|
icon="hass:stop"
|
||||||
@click=${this.serviceHandler("cover", "stop_cover")}
|
@click=${this.serviceHandler("cover", "stop_cover")}
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:stop"></ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:arrow-down"
|
icon="hass:arrow-down"
|
||||||
@click=${this.serviceHandler("cover", "close_cover")}
|
@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 {
|
ha-icon {
|
||||||
cursor: pointer;
|
height: auto;
|
||||||
padding: 8px;
|
|
||||||
color: #a9a9a9;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ha-icon.state-on {
|
ha-icon.state-on {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* subject to an additional IP rights grant found at
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
* @license
|
||||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
* 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
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
* @license
|
||||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
* 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
|
* Code distributed by Google as part of the polymer project is also
|
||||||
* subject to an additional IP rights grant found at
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
* @license
|
||||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
* 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
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
* @license
|
||||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
* 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
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
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`
|
`}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>
|
<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 {
|
.state {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ha-icon-button {
|
||||||
|
width: 35px;
|
||||||
|
--mdc-icon-size: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ha-icon {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
[invisible] {
|
[invisible] {
|
||||||
visibility: hidden !important;
|
visibility: hidden !important;
|
||||||
}
|
}
|
||||||
|
@ -183,21 +193,23 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:menu"
|
icon="hass:menu"
|
||||||
@click=${this.onHalfOpenTap}
|
@click=${this.onHalfOpenTap}
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:menu"> </ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:arrow-up"
|
icon="hass:arrow-up"
|
||||||
@click=${this.onOpenTap}
|
@click=${this.onOpenTap}
|
||||||
.disabled="${this.computeOpenDisabled(e,this.entityObj)}"
|
.disabled="${this.computeOpenDisabled(e,this.entityObj)}"
|
||||||
></ha-icon-button>
|
>
|
||||||
<ha-icon-button
|
<ha-icon icon="hass:arrow-up"> </ha-icon>
|
||||||
icon="hass:stop"
|
</ha-icon-button>
|
||||||
@click=${this.onStopTap}
|
|
||||||
></ha-icon-button>
|
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:arrow-down"
|
icon="hass:arrow-down"
|
||||||
@click=${this.onCloseTap}
|
@click=${this.onCloseTap}
|
||||||
.disabled="${this.computeClosedDisabled(e,t)}"
|
.disabled="${this.computeClosedDisabled(e,t)}"
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
</div>
|
</div>
|
||||||
</hui-generic-entity-row>
|
</hui-generic-entity-row>
|
||||||
`:R`
|
`:R`
|
||||||
|
|
|
@ -77,6 +77,16 @@ export class StateCardCustomCover extends LitElement {
|
||||||
.state {
|
.state {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ha-icon-button {
|
||||||
|
width: 35px;
|
||||||
|
--mdc-icon-size: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ha-icon {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
[invisible] {
|
[invisible] {
|
||||||
visibility: hidden !important;
|
visibility: hidden !important;
|
||||||
}
|
}
|
||||||
|
@ -87,21 +97,23 @@ export class StateCardCustomCover extends LitElement {
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:menu"
|
icon="hass:menu"
|
||||||
@click=${this.onHalfOpenTap}
|
@click=${this.onHalfOpenTap}
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:menu"> </ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:arrow-up"
|
icon="hass:arrow-up"
|
||||||
@click=${this.onOpenTap}
|
@click=${this.onOpenTap}
|
||||||
.disabled="${this.computeOpenDisabled(stateObj, this.entityObj)}"
|
.disabled="${this.computeOpenDisabled(stateObj, this.entityObj)}"
|
||||||
></ha-icon-button>
|
>
|
||||||
<ha-icon-button
|
<ha-icon icon="hass:arrow-up"> </ha-icon>
|
||||||
icon="hass:stop"
|
</ha-icon-button>
|
||||||
@click=${this.onStopTap}
|
|
||||||
></ha-icon-button>
|
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:arrow-down"
|
icon="hass:arrow-down"
|
||||||
@click=${this.onCloseTap}
|
@click=${this.onCloseTap}
|
||||||
.disabled="${this.computeClosedDisabled(stateObj, entityObj)}"
|
.disabled="${this.computeClosedDisabled(stateObj, entityObj)}"
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
</div>
|
</div>
|
||||||
</hui-generic-entity-row>
|
</hui-generic-entity-row>
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
martins_ipad:
|
||||||
|
hide_if_away: false
|
||||||
|
icon:
|
||||||
|
mac:
|
||||||
|
name: Martin’s iPad
|
||||||
|
picture:
|
||||||
|
track: true
|
|
@ -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
|
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
@state_trigger("switch.bad_luefter == 'on'", state_hold=60 * 15)
|
||||||
|
def luefter_auto_off():
|
||||||
|
switch.bad_luefter.turn_off()
|
|
@ -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
|
|
@ -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()
|
|
@ -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]()
|
|
@ -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]()
|
|
@ -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]()
|
|
@ -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')
|
|
@ -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,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")
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
@state_trigger("switch.wc_licht_taster == 'on'")
|
||||||
|
def wc_licht():
|
||||||
|
switch.wc_licht.toggle()
|
|
@ -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:
|
entities:
|
||||||
light.kuche_deckenlampe:
|
light.kuche_deckenlampe:
|
||||||
state: true
|
state: true
|
||||||
brightness: 38
|
brightness: 10
|
||||||
light.esszimmer_deckenlampe_west:
|
light.esszimmer_deckenlampe_west:
|
||||||
state: true
|
state: true
|
||||||
brightness: 38
|
brightness: 10
|
||||||
light.esszimmer_deckenlampe_mitte:
|
light.esszimmer_deckenlampe_mitte:
|
||||||
state: true
|
state: false
|
||||||
brightness: 38
|
|
||||||
light.esszimmer_schrankleuchte:
|
light.esszimmer_schrankleuchte:
|
||||||
state: false
|
state: false
|
||||||
light.kuche_links:
|
light.kuche_links:
|
||||||
|
@ -92,6 +91,9 @@
|
||||||
- name: Küche Essbereich Hell
|
- name: Küche Essbereich Hell
|
||||||
id: kueche_essbereich_hell
|
id: kueche_essbereich_hell
|
||||||
entities:
|
entities:
|
||||||
|
light.esszimmer_deckenlampe_mitte:
|
||||||
|
state: true
|
||||||
|
brightness: 255
|
||||||
light.esszimmer_deckenlampe_west:
|
light.esszimmer_deckenlampe_west:
|
||||||
state: true
|
state: true
|
||||||
brightness: 255
|
brightness: 255
|
||||||
|
|
|
@ -3,16 +3,15 @@
|
||||||
entities:
|
entities:
|
||||||
light.kuche_deckenlampe:
|
light.kuche_deckenlampe:
|
||||||
state: true
|
state: true
|
||||||
brightness: 38
|
brightness: 10
|
||||||
light.wohnzimmer_deckenlampe:
|
light.wohnzimmer_deckenlampe:
|
||||||
state: true
|
state: true
|
||||||
brightness: 38
|
brightness: 10
|
||||||
light.esszimmer_deckenlampe_west:
|
light.esszimmer_deckenlampe_west:
|
||||||
state: true
|
state: true
|
||||||
brightness: 38
|
brightness: 10
|
||||||
light.esszimmer_deckenlampe_mitte:
|
light.esszimmer_deckenlampe_mitte:
|
||||||
state: true
|
state: false
|
||||||
brightness: 38
|
|
||||||
light.esszimmer_schrankleuchte:
|
light.esszimmer_schrankleuchte:
|
||||||
state: false
|
state: false
|
||||||
light.kuche_links:
|
light.kuche_links:
|
||||||
|
@ -68,8 +67,7 @@
|
||||||
state: true
|
state: true
|
||||||
brightness: 38
|
brightness: 38
|
||||||
light.esszimmer_deckenlampe_mitte:
|
light.esszimmer_deckenlampe_mitte:
|
||||||
state: true
|
state: false
|
||||||
brightness: 38
|
|
||||||
light.esszimmer_schrankleuchte:
|
light.esszimmer_schrankleuchte:
|
||||||
state: false
|
state: false
|
||||||
light.kuche_links:
|
light.kuche_links:
|
||||||
|
@ -184,6 +182,9 @@
|
||||||
- name: Wohnbereich Hell
|
- name: Wohnbereich Hell
|
||||||
id: wohnbereich_hell
|
id: wohnbereich_hell
|
||||||
entities:
|
entities:
|
||||||
|
light.esszimmer_deckenlampe_mitte:
|
||||||
|
state: true
|
||||||
|
brightness: 255
|
||||||
light.esszimmer_deckenlampe_west:
|
light.esszimmer_deckenlampe_west:
|
||||||
state: true
|
state: true
|
||||||
brightness: 255
|
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
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
* @license
|
||||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
* 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
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
* @license
|
||||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
* 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
|
* Code distributed by Google as part of the polymer project is also
|
||||||
* subject to an additional IP rights grant found at
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
* @license
|
||||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
* 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
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
* @license
|
||||||
* Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
* 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
|
* subject to an additional IP rights grant found at
|
||||||
* http://polymer.github.io/PATENTS.txt
|
* 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
|
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`
|
`}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>
|
<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 {
|
.state {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ha-icon-button {
|
||||||
|
width: 35px;
|
||||||
|
--mdc-icon-size: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ha-icon {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
[invisible] {
|
[invisible] {
|
||||||
visibility: hidden !important;
|
visibility: hidden !important;
|
||||||
}
|
}
|
||||||
|
@ -183,21 +193,23 @@ const st=(t,e)=>"method"!==e.kind||!e.descriptor||"value"in e.descriptor?{kind:"
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:menu"
|
icon="hass:menu"
|
||||||
@click=${this.onHalfOpenTap}
|
@click=${this.onHalfOpenTap}
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:menu"> </ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:arrow-up"
|
icon="hass:arrow-up"
|
||||||
@click=${this.onOpenTap}
|
@click=${this.onOpenTap}
|
||||||
.disabled="${this.computeOpenDisabled(e,this.entityObj)}"
|
.disabled="${this.computeOpenDisabled(e,this.entityObj)}"
|
||||||
></ha-icon-button>
|
>
|
||||||
<ha-icon-button
|
<ha-icon icon="hass:arrow-up"> </ha-icon>
|
||||||
icon="hass:stop"
|
</ha-icon-button>
|
||||||
@click=${this.onStopTap}
|
|
||||||
></ha-icon-button>
|
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
icon="hass:arrow-down"
|
icon="hass:arrow-down"
|
||||||
@click=${this.onCloseTap}
|
@click=${this.onCloseTap}
|
||||||
.disabled="${this.computeClosedDisabled(e,t)}"
|
.disabled="${this.computeClosedDisabled(e,t)}"
|
||||||
></ha-icon-button>
|
>
|
||||||
|
<ha-icon icon="hass:arrow-down"> </ha-icon>
|
||||||
|
</ha-icon-button>
|
||||||
</div>
|
</div>
|
||||||
</hui-generic-entity-row>
|
</hui-generic-entity-row>
|
||||||
`:R`
|
`:R`
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<Scenes xmlns="http://code.google.com/p/open-zwave/" version="1" />
|
Loading…
Reference in New Issue